diff --git a/doc/stdenv.xml b/doc/stdenv.xml index 3da3dd8df96..2e88d6b4154 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -27,7 +27,7 @@ stdenv.mkDerivation { name = "libfoo-1.2.3"; src = fetchurl { url = http://example.org/libfoo-1.2.3.tar.bz2; - md5 = "e1ec107956b6ddcb0b8b0679367e9ac9"; + sha256 = "0x2g1jqygyr5wiwg4ma1nd7w4ydpy82z9gkcv8vh2v8dn3y58v5m"; }; } diff --git a/lib/licenses.nix b/lib/licenses.nix index 9c93efa5b18..b62f4f0a5bb 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -110,6 +110,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0"; }; + cc-by-nd-30 = spdx { + spdxId = "CC-BY-ND-3.0"; + fullName = "Creative Commons Attribution-No Derivative Works v3.00"; + }; + cc-by-sa-25 = spdx { spdxId = "CC-BY-SA-2.5"; fullName = "Creative Commons Attribution Share Alike 2.5"; diff --git a/lib/maintainers.nix b/lib/maintainers.nix index d568d9a0dba..253980f4f74 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -169,6 +169,7 @@ globin = "Robin Gloster "; gnidorah = "Alex Ivanov "; goibhniu = "Cillian de Róiste "; + goodrone = "Andrew Trachenko "; Gonzih = "Max Gonzih "; gpyh = "Yacine Hmito "; grahamc = "Graham Christensen "; @@ -239,7 +240,7 @@ lucas8 = "Luc Chabassier "; ludo = "Ludovic Courtès "; luispedro = "Luis Pedro Coelho "; - lukasepple = "Lukas Epple "; + sternenseemann = "Lukas Epple "; lukego = "Luke Gorrie "; lw = "Sergey Sofeychuk "; madjar = "Georges Dubus "; @@ -272,6 +273,7 @@ mingchuan = "Ming Chuan "; mirdhyn = "Merlin Gaillard "; mirrexagon = "Andrew Abbott "; + mlieberman85 = "Michael Lieberman "; modulistic = "Pablo Costa "; mog = "Matthew O'Gorman "; moosingin3space = "Nathan Moos "; @@ -334,6 +336,7 @@ pmahoney = "Patrick Mahoney "; pmiddend = "Philipp Middendorf "; prikhi = "Pavan Rikhi "; + primeos = "Michael Weiss "; profpatsch = "Profpatsch "; proglodyte = "Proglodyte "; pshendry = "Paul Hendry "; @@ -365,6 +368,7 @@ roblabla = "Robin Lambertz "; roconnor = "Russell O'Connor "; romildo = "José Romildo Malaquias "; + ronny = "Ronny Pfannschmidt "; rszibele = "Richard Szibele "; rushmorem = "Rushmore Mushambi "; rvl = "Rodney Lorrimar "; diff --git a/lib/trivial.nix b/lib/trivial.nix index 25ce35570fd..3e606f0df48 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -113,4 +113,7 @@ rec { */ warn = msg: builtins.trace "WARNING: ${msg}"; info = msg: builtins.trace "INFO: ${msg}"; + + fetchMD5warn = name: context : data : warn + "Deprecated use of MD5 hash in ${name} to fetch ${context}" data; } diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml index caf72bc776a..b0364b34657 100644 --- a/nixos/doc/manual/development/development.xml +++ b/nixos/doc/manual/development/development.xml @@ -14,9 +14,11 @@ NixOS. + + diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml new file mode 100755 index 00000000000..01c3dbc22f1 --- /dev/null +++ b/nixos/doc/manual/development/releases.xml @@ -0,0 +1,241 @@ + + +Releases + +
+ Release process + + + Going through an example of releasing NixOS 15.09: + + +
+ One month before the beta + + + + Send an email to nix-dev mailinglist as a warning about upcoming beta "feature freeze" in a month. + + + + + Discuss with Eelco Dolstra and the community (via IRC, ML) about what will reach the deadline. + Any issue or Pull Request targeting the release should have assigned milestone. + + + +
+
+ At beta release time + + + + Rename rl-unstable.xml -> + rl-1509.xml. + + + + + git tag -a -m "Release 15.09-beta" 15.09-beta && git push --tags + + + + + From the master branch run git checkout -B release-15.09. + + + + + + Make sure channel is created at http://nixos.org/channels/. + + + + + + + Lock the branch on github (so developers can’t force push) + + + + + + bump + system.defaultChannel attribute in + nixos/modules/misc/version.nix + + + + + update + versionSuffix in + nixos/release.nix, use + git log --format=%an|wc -l to get commit + count + + + + + echo -n "16.03" > .version in + master. + + + + + pick + a new name for unstable branch. + + + + + Create + an issue for tracking Zero Hydra Failures progress. ZHF is an effort + to get build failures down to zero. + + + + + Use https://lwn.net/Vulnerabilities/ and + triage vulnerabilities in an issue. + + + + + Create two Hydra jobsets: release-15.09 and release-15.09-small with stableBranch set to false + + + + + Edit changelog at + nixos/doc/manual/release-notes/rl-1509.xml + (double check desktop versions are noted) + + + + + Get all new NixOS modules + git diff release-14.12..release-15.09 nixos/modules/module-list.nix|grep ^+ + + + + + Note systemd, kernel, glibc and Nix upgrades. + + + + + +
+
+ Before the final release + + + + Release Nix (currently only Eelco Dolstra can do that). + + Make sure fallback is updated. + + + + + + + Update README.md with new stable NixOS version information. + + + + + + Change stableBranch to true and wait for channel to update. + + + +
+
+ At final release time + + + + git tag -s -a -m "Release 15.09" 15.09 + + + + + Update http://nixos.org/nixos/download.html and http://nixos.org/nixos/manual in https://github.com/NixOS/nixos-org-configurations + + + + + Get number of commits for the release: + git log release-14.04..release-14.12 --format=%an|wc -l + + + + + Commits by contributor: + git log release-14.04..release-14.12 --format=%an|sort|uniq -c|sort -rn + + + + + Send an email to nix-dev to announce the release with above information. Best to check how previous email was formulated + to see what needs to be included. + + + +
+
+ +
+ Release schedule + + + + + + + + + Date + + + Event + + + + + + + 2016-07-25 + + + Send email to nix-dev about upcoming branch-off + + + + + 2016-09-01 + + + release-16.09 branch and corresponding jobsets are created, + change freeze + + + + + 2016-09-30 + + + NixOS 16.09 released + + + + + +
+ +
diff --git a/nixos/doc/manual/development/writing-documentation.xml b/nixos/doc/manual/development/writing-documentation.xml new file mode 100644 index 00000000000..59a287717ac --- /dev/null +++ b/nixos/doc/manual/development/writing-documentation.xml @@ -0,0 +1,147 @@ + + +Writing NixOS Documentation + + + As NixOS grows, so too does the need for a catalogue and explanation + of its extensive functionality. Collecting pertinent information + from disparate sources and presenting it in an accessible style + would be a worthy contribution to the project. + + +
+Building the Manual + + The DocBook sources of the are in the + nixos/doc/manual + subdirectory of the Nixpkgs repository. If you make modifications to + the manual, it's important to build it before committing. You can do + that as follows: + + nix-build nixos/release.nix -A manual.x86_64-linux + + + + When this command successfully finishes, it will tell you where the + manual got generated. The HTML will be accessible through the + result symlink at + ./result/share/doc/nixos/index.html. + +
+ +
+Editing DocBook XML + + + For general information on how to write in DocBook, see + + DocBook 5: The Definitive Guide. + + + + Emacs nXML Mode is very helpful for editing DocBook XML because it + validates the document as you write, and precisely locates + errors. To use it, see . + + + + Pandoc can generate + DocBook XML from a multitude of formats, which makes a good starting + point. + + + Pandoc invocation to convert GitHub-Flavoured MarkDown to DocBook 5 XML + pandoc -f markdown_github -t docbook5 docs.md -o my-section.md + + + Pandoc can also quickly convert a single + section.xml to HTML, which is helpful when + drafting. + + + + Sometimes writing valid DocBook is simply too difficult. In this + case, submit your documentation updates in a GitHub + Issue and someone will handle the conversion to XML for you. + +
+ +
+Creating a Topic + + + You can use an existing topic as a basis for the new topic or create a topic from scratch. + + + +Keep the following guidelines in mind when you create and add a topic: + + + + The NixOS book + element is in nixos/doc/manual/manual.xml. + It includes several + parts + which are in subdirectories. + + + + Store the topic file in the same directory as the part + to which it belongs. If your topic is about configuring a NixOS + module, then the XML file can be stored alongside the module + definition nix file. + + + + If you include multiple words in the file name, separate the words + with a dash. For example: ipv6-config.xml. + + + + Make sure that the xml:id value is unique. You can use + abbreviations if the ID is too long. For example: + nixos-config. + + + + Determine whether your topic is a chapter or a section. If you are + unsure, open an existing topic file and check whether the main + element is chapter or section. + + + + + +
+ +
+Adding a Topic to the Book + + + Open the parent XML file and add an xi:include + element to the list of chapters with the file name of the topic that + you created. If you created a section, you add the file to + the chapter file. If you created a chapter, you + add the file to the part file. + + + + If the topic is about configuring a NixOS module, it can be + automatically included in the manual by using the + meta.doc attribute. See for an explanation. + + +
+ + + + + + +
diff --git a/nixos/doc/manual/release-notes/rl-1609.xml b/nixos/doc/manual/release-notes/rl-1609.xml index 56d08bf1c2d..18b9a333e23 100644 --- a/nixos/doc/manual/release-notes/rl-1609.xml +++ b/nixos/doc/manual/release-notes/rl-1609.xml @@ -165,6 +165,13 @@ following incompatible changes: + + PHP now scans for extra configuration .ini files in /etc/php.d + instead of /etc. This prevents accidentally loading non-PHP .ini files + that may be in /etc. + + + diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml index 9bc42edb49b..c1107977db7 100644 --- a/nixos/doc/manual/release-notes/rl-1703.xml +++ b/nixos/doc/manual/release-notes/rl-1703.xml @@ -43,6 +43,15 @@ following incompatible changes: radicale. + + + + The Yama LSM is now enabled by default in the kernel, + which prevents ptracing non-child processes. + This means you will not be able to attach gdb to an existing process, + but will need to start that process from gdb (so it is a child). + + diff --git a/nixos/modules/config/debug-info.nix b/nixos/modules/config/debug-info.nix index 17cb862d291..671a59f52f6 100644 --- a/nixos/modules/config/debug-info.nix +++ b/nixos/modules/config/debug-info.nix @@ -20,7 +20,7 @@ with lib; nixpkgs.config.packageOverrides = pkgs: { - hello = overrideDerivation pkgs.hello (attrs: { + hello = pkgs.lib.overrideDerivation pkgs.hello (attrs: { outputs = attrs.outputs or ["out"] ++ ["debug"]; buildInputs = attrs.buildInputs ++ [<nixpkgs/pkgs/build-support/setup-hooks/separate-debug-info.sh>]; }); diff --git a/nixos/modules/config/timezone.nix b/nixos/modules/config/timezone.nix index b9844b4adad..39a45042c6c 100644 --- a/nixos/modules/config/timezone.nix +++ b/nixos/modules/config/timezone.nix @@ -37,14 +37,15 @@ in environment.sessionVariables.TZDIR = "/etc/zoneinfo"; + # This way services are restarted when tzdata changes. systemd.globalEnvironment.TZDIR = tzdir; environment.etc.localtime = - { source = "${tzdir}/${config.time.timeZone}"; + { source = "/etc/zoneinfo/${config.time.timeZone}"; mode = "direct-symlink"; }; - environment.etc.zoneinfo.source = "${pkgs.tzdata}/share/zoneinfo"; + environment.etc.zoneinfo.source = tzdir; }; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index d1a786d8f62..26e5d625848 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -437,6 +437,7 @@ ./services/networking/wakeonlan.nix ./services/networking/websockify.nix ./services/networking/wicd.nix + ./services/networking/wireguard.nix ./services/networking/wpa_supplicant.nix ./services/networking/xinetd.nix ./services/networking/xl2tpd.nix @@ -480,6 +481,7 @@ ./services/ttys/gpm.nix ./services/ttys/kmscon.nix ./services/web-apps/mattermost.nix + ./services/web-apps/nixbot.nix ./services/web-apps/pump.io.nix ./services/web-apps/tt-rss.nix ./services/web-apps/selfoss.nix @@ -515,6 +517,7 @@ ./services/x11/hardware/synaptics.nix ./services/x11/hardware/wacom.nix ./services/x11/redshift.nix + ./services/x11/urxvtd.nix ./services/x11/window-managers/awesome.nix #./services/x11/window-managers/compiz.nix ./services/x11/window-managers/default.nix @@ -557,6 +560,7 @@ ./system/boot/stage-1.nix ./system/boot/stage-2.nix ./system/boot/systemd.nix + ./system/boot/systemd-nspawn.nix ./system/boot/timesyncd.nix ./system/boot/tmp.nix ./system/etc/etc.nix diff --git a/nixos/modules/security/ca.nix b/nixos/modules/security/ca.nix index 849530238e7..67469be18b4 100644 --- a/nixos/modules/security/ca.nix +++ b/nixos/modules/security/ca.nix @@ -4,10 +4,16 @@ with lib; let + cfg = config.security.pki; + + cacertPackage = pkgs.cacert.override { + blacklist = cfg.caCertificateBlacklist; + }; + caCertificates = pkgs.runCommand "ca-certificates.crt" { files = - config.security.pki.certificateFiles ++ - [ (builtins.toFile "extra.crt" (concatStringsSep "\n" config.security.pki.certificates)) ]; + cfg.certificateFiles ++ + [ (builtins.toFile "extra.crt" (concatStringsSep "\n" cfg.certificates)) ]; } '' cat $files > $out @@ -52,11 +58,27 @@ in ''; }; + security.pki.caCertificateBlacklist = mkOption { + type = types.listOf types.str; + default = []; + example = [ + "WoSign" "WoSign China" + "CA WoSign ECC Root" + "Certification Authority of WoSign G2" + ]; + description = '' + A list of blacklisted CA certificate names that won't be imported from + the Mozilla Trust Store into + /etc/ssl/certs/ca-certificates.crt. Use the + names from that file. + ''; + }; + }; config = { - security.pki.certificateFiles = [ "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt" ]; + security.pki.certificateFiles = [ "${cacertPackage}/etc/ssl/certs/ca-bundle.crt" ]; # NixOS canonical location + Debian/Ubuntu/Arch/Gentoo compatibility. environment.etc."ssl/certs/ca-certificates.crt".source = caCertificates; diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index e5e8a57f4b0..1180531248f 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -53,7 +53,8 @@ in package = mkOption { type = types.package; default = pkgs.mysql; - example = literalExample "pkgs.mysql"; + defaultText = "pkgs.mysql"; + example = literalExample "pkgs.mysql55"; description = " Which MySQL derivation to use. "; diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml index 544e4a1076f..bcaa8b8df3d 100644 --- a/nixos/modules/services/editors/emacs.xml +++ b/nixos/modules/services/editors/emacs.xml @@ -43,9 +43,10 @@ Installing <application>Emacs</application> - Emacs can installed in the normal way for Nix (see ). In addition, a NixOS - service can be enabled. + Emacs can be installed in the normal way for Nix (see + ). + In addition, a NixOS service + can be enabled.
@@ -564,6 +565,55 @@ services.emacs.install = true; <RET> nixos-rebuild <RET>.
+ +
+ Editing DocBook 5 XML Documents + + Emacs includes nXML, + a major-mode for validating and editing XML documents. + When editing DocBook 5.0 documents, such as + this one, + nXML needs to be configured with the relevant schema, which is + not included. + + + + To install the DocBook 5.0 schemas, either add + pkgs.docbook5 to + environment.systemPackages (NixOS), or run + nix-env -i pkgs.docbook5 + (Nix). + + + + Then customize the variable rng-schema-locating-files to include ~/.emacs.d/schemas.xml and put the following text into that file: + + nXML Schema Configuration (<filename>~/.emacs.d/schemas.xml</filename>) + + + + + + + +]]> + + + +
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix index e6817ee227a..82b97bd92f8 100644 --- a/nixos/modules/services/monitoring/prometheus/default.nix +++ b/nixos/modules/services/monitoring/prometheus/default.nix @@ -300,13 +300,14 @@ let }; regex = mkOption { type = types.str; + default = "(.*)"; description = '' Regular expression against which the extracted value is matched. ''; }; replacement = mkOption { type = types.str; - default = ""; + default = "$1"; description = '' Replacement value against which a regex replace is performed if the regular expression matches. @@ -314,6 +315,7 @@ let }; action = mkOption { type = types.enum ["replace" "keep" "drop"]; + default = "replace"; description = '' Action to perform based on regex matching. ''; diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix index 900df67b53a..36b4c5d5c1e 100644 --- a/nixos/modules/services/networking/dhcpd.nix +++ b/nixos/modules/services/networking/dhcpd.nix @@ -66,6 +66,14 @@ in "; }; + extraFlags = mkOption { + default = ""; + example = "-6"; + description = " + Additional command line flags to be passed to the dhcpd daemon. + "; + }; + configFile = mkOption { default = null; description = " @@ -138,6 +146,7 @@ in { ExecStart = "@${pkgs.dhcp}/sbin/dhcpd dhcpd" + " -pf /run/dhcpd/dhcpd.pid -cf ${configFile}" + " -lf ${stateDir}/dhcpd.leases -user dhcpd -group nogroup" + + " ${cfg.extraFlags}" + " ${toString cfg.interfaces}"; Restart = "always"; Type = "forking"; diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index 942fcc03f59..1c0ea5034df 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -100,13 +100,13 @@ let # Perform a reverse-path test to refuse spoofers # For now, we just drop, as the raw table doesn't have a log-refuse yet - ${optionalString (kernelHasRPFilter && cfg.checkReversePath) '' + ${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) '' # Clean up rpfilter rules ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2> /dev/null || true ip46tables -t raw -F nixos-fw-rpfilter 2> /dev/null || true ip46tables -t raw -N nixos-fw-rpfilter 2> /dev/null || true - ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter -j RETURN + ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN # Allows this host to act as a DHCPv4 server iptables -t raw -A nixos-fw-rpfilter -s 0.0.0.0 -d 255.255.255.255 -p udp --sport 68 --dport 67 -j RETURN @@ -200,7 +200,7 @@ let # Clean up after added ruleset ip46tables -D INPUT -j nixos-fw 2>/dev/null || true - ${optionalString (kernelHasRPFilter && cfg.checkReversePath) '' + ${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) '' ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2>/dev/null || true ''} @@ -373,7 +373,7 @@ in networking.firewall.checkReversePath = mkOption { default = kernelHasRPFilter; - type = types.bool; + type = types.either types.bool (types.enum ["strict" "loose"]); description = '' Performs a reverse path filter test on a packet. @@ -381,7 +381,8 @@ in that the packet arrived on, it is refused. If using asymmetric routing or other complicated routing, - disable this setting and setup your own counter-measures. + set this option to loose mode or disable it and setup your + own counter-measures. (needs kernel 3.3+) ''; @@ -482,7 +483,7 @@ in options nf_conntrack nf_conntrack_helper=0 ''; - assertions = [ { assertion = ! cfg.checkReversePath || kernelHasRPFilter; + assertions = [ { assertion = (cfg.checkReversePath != false) || kernelHasRPFilter; message = "This kernel does not support rpfilter"; } { assertion = cfg.autoLoadConntrackHelpers || kernelCanDisableHelpers; message = "This kernel does not support disabling conntrack helpers"; } diff --git a/nixos/modules/services/networking/kippo.nix b/nixos/modules/services/networking/kippo.nix index 5f3efcd133a..1e7f7437b8a 100644 --- a/nixos/modules/services/networking/kippo.nix +++ b/nixos/modules/services/networking/kippo.nix @@ -54,7 +54,7 @@ rec { }; config = mkIf cfg.enable { environment.systemPackages = with pkgs.pythonPackages; [ - python twisted_11 pycrypto pyasn1 ]; + python pkgs.kippo.twisted pycrypto pyasn1 ]; environment.etc."kippo.cfg".text = '' # Automatically generated by NixOS. @@ -84,7 +84,7 @@ rec { description = "Kippo Web Server"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - environment.PYTHONPATH = "${pkgs.kippo}/src/:${pkgs.pythonPackages.pycrypto}/lib/python2.7/site-packages/:${pkgs.pythonPackages.pyasn1}/lib/python2.7/site-packages/:${pkgs.pythonPackages.python}/lib/python2.7/site-packages/:${pkgs.pythonPackages.twisted_11}/lib/python2.7/site-packages/:."; + environment.PYTHONPATH = "${pkgs.kippo}/src/:${pkgs.pythonPackages.pycrypto}/lib/python2.7/site-packages/:${pkgs.pythonPackages.pyasn1}/lib/python2.7/site-packages/:${pkgs.pythonPackages.python}/lib/python2.7/site-packages/:${pkgs.kippo.twisted}/lib/python2.7/site-packages/:."; preStart = '' if [ ! -d ${cfg.varPath}/ ] ; then mkdir -p ${cfg.logPath}/tty @@ -107,7 +107,7 @@ rec { fi ''; - serviceConfig.ExecStart = "${pkgs.pythonPackages.twisted_11}/bin/twistd -y ${pkgs.kippo}/src/kippo.tac --syslog --rundir=${cfg.varPath}/ --pidfile=${cfg.pidPath}/kippo.pid --prefix=kippo -n"; + serviceConfig.ExecStart = "${pkgs.kippo.twisted}/bin/twistd -y ${pkgs.kippo}/src/kippo.tac --syslog --rundir=${cfg.varPath}/ --pidfile=${cfg.pidPath}/kippo.pid --prefix=kippo -n"; serviceConfig.PermissionsStartOnly = true; serviceConfig.User = "kippo"; serviceConfig.Group = "kippo"; diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix index f7a5926dc64..cc373ae892a 100644 --- a/nixos/modules/services/networking/smokeping.nix +++ b/nixos/modules/services/networking/smokeping.nix @@ -6,31 +6,39 @@ let cfg = config.services.smokeping; smokepingHome = "/var/lib/smokeping"; smokepingPidDir = "/run"; - configFile = '' - *** General *** - owner = ${cfg.owner} - contact = ${cfg.ownerEmail} - mailhost = ${cfg.mailHost} - #sendmail = /var/setuid-wrappers/sendmail - imgcache = ${smokepingHome}/cache - imgurl = http://${cfg.hostName}:${builtins.toString cfg.port}/cache - datadir = ${smokepingHome}/data - piddir = ${smokepingPidDir} - cgiurl = http://${cfg.hostName}:${builtins.toString cfg.port}/smokeping.cgi - smokemail = ${cfg.smokeMailTemplate} - *** Presentation *** - template = ${cfg.presentationTemplate} - ${cfg.presentationConfig} - #*** Alerts *** - #${cfg.alertConfig} - *** Database *** - ${cfg.databaseConfig} - *** Probes *** - ${cfg.probeConfig} - *** Targets *** - ${cfg.targetConfig} - ${cfg.extraConfig} - ''; + configFile = + if cfg.config == null + then + '' + *** General *** + owner = ${cfg.owner} + contact = ${cfg.ownerEmail} + ${lib.optionalString (cfg.mailHost != "") "mailhost = ${cfg.mailHost}"} + ${lib.optionalString (cfg.sendmail != null) "sendmail = ${cfg.sendmail}"} + imgcache = ${smokepingHome}/cache + imgurl = http://${cfg.hostName}:${builtins.toString cfg.port}/cache + datadir = ${smokepingHome}/data + pagedir = ${smokepingHome}/cache + piddir = ${smokepingPidDir} + cgiurl = http://${cfg.hostName}:${builtins.toString cfg.port}/smokeping.cgi + linkstyle = ${cfg.linkStyle} + smokemail = ${cfg.smokeMailTemplate} + *** Presentation *** + template = ${cfg.presentationTemplate} + ${cfg.presentationConfig} + *** Alerts *** + ${cfg.alertConfig} + *** Database *** + ${cfg.databaseConfig} + *** Probes *** + ${cfg.probeConfig} + *** Targets *** + ${cfg.targetConfig} + ${cfg.extraConfig} + '' + else + cfg.config; + configPath = pkgs.writeText "smokeping.conf" configFile; cgiHome = pkgs.writeScript "smokeping.fcgi" '' #!${pkgs.bash}/bin/bash @@ -59,8 +67,15 @@ in }; mailHost = mkOption { type = types.string; - default = "127.0.0.1"; - description = "Use this SMTP server rather than localhost"; + default = ""; + example = "localhost"; + description = "Use this SMTP server to send alerts"; + }; + sendmail = mkOption { + type = types.nullOr types.path; + default = null; + example = "/var/setuid-wrappers/sendmail"; + description = "Use this sendmail compatible script to deliver alerts"; }; smokeMailTemplate = mkOption { type = types.string; @@ -71,6 +86,7 @@ in package = mkOption { type = types.package; default = pkgs.smokeping; + defaultText = "pkgs.smokeping"; description = "Specify a custom smokeping package"; }; owner = mkOption { @@ -85,6 +101,12 @@ in example = "somewhere.example.com"; description = "DNS name for the urls generated in the cgi."; }; + linkStyle = mkOption { + type = types.enum ["original" "absolute" "relative"]; + default = "relative"; + example = "absolute"; + description = "DNS name for the urls generated in the cgi."; + }; port = mkOption { type = types.int; default = 8081; @@ -132,7 +154,10 @@ in }; alertConfig = mkOption { type = types.string; - default = ""; + default = '' + to = root@localhost + from = smokeping@localhost + ''; example = literalExample '' to = alertee@address.somewhere from = smokealert@company.xy @@ -223,12 +248,26 @@ in default = ""; description = "Any additional customization not already included."; }; + config = mkOption { + type = types.nullOr types.string; + default = null; + description = "Full smokeping config supplied by the user. Overrides " + + "and replaces any other configuration supplied."; + }; }; }; config = mkIf cfg.enable { + assertions = [ + { + assertion = !(cfg.sendmail != null && cfg.mailHost != ""); + message = "services.smokeping: sendmail and Mailhost cannot both be enabled."; + } + ]; + security.setuidPrograms = [ "fping" ]; + environment.systemPackages = [ pkgs.fping ]; users.extraUsers = singleton { name = cfg.user; isNormalUser = false; @@ -243,9 +282,12 @@ in serviceConfig.PermissionsStartOnly = true; preStart = '' mkdir -m 0755 -p ${smokepingHome}/cache ${smokepingHome}/data + rm -f ${smokepingHome}/cropper + ln -s ${cfg.package}/htdocs/cropper ${smokepingHome}/cropper chown -R ${cfg.user} ${smokepingHome} cp ${cgiHome} ${smokepingHome}/smokeping.fcgi ${cfg.package}/bin/smokeping --check --config=${configPath} + ${cfg.package}/bin/smokeping --static --config=${configPath} ''; script = ''${cfg.package}/bin/smokeping --config=${configPath} --nodaemon''; }; @@ -253,8 +295,9 @@ in wantedBy = [ "multi-user.target"]; requires = [ "smokeping.service"]; partOf = [ "smokeping.service"]; - path = with pkgs; [ bash rrdtool smokeping ]; - script = ''${pkgs.thttpd}/bin/thttpd -u ${cfg.user} -c "**.fcgi" -d ${smokepingHome} -p ${builtins.toString cfg.port} -D''; + path = with pkgs; [ bash rrdtool smokeping thttpd ]; + script = ''thttpd -u ${cfg.user} -c "**.fcgi" -d ${smokepingHome} -p ${builtins.toString cfg.port} -D -nos''; + serviceConfig.Restart = "always"; }; }; } diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix new file mode 100644 index 00000000000..35918e42b40 --- /dev/null +++ b/nixos/modules/services/networking/wireguard.nix @@ -0,0 +1,225 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.networking.wireguard; + + kernel = config.boot.kernelPackages; + + # interface options + + interfaceOpts = { name, ... }: { + + options = { + + ips = mkOption { + example = [ "192.168.2.1/24" ]; + default = []; + type = with types; listOf str; + description = "The IP addresses of the interface."; + }; + + privateKey = mkOption { + example = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk="; + type = types.str; + description = "Base64 private key generated by wg genkey."; + }; + + presharedKey = mkOption { + default = null; + example = "rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I="; + type = with types; nullOr str; + description = ''base64 preshared key generated by wg genpsk. Optional, + and may be omitted. This option adds an additional layer of + symmetric-key cryptography to be mixed into the already existing + public-key cryptography, for post-quantum resistance.''; + }; + + listenPort = mkOption { + default = null; + type = with types; nullOr int; + example = 51820; + description = ''16-bit port for listening. Optional; if not specified, + automatically generated based on interface name.''; + }; + + preSetup = mkOption { + example = literalExample ['' + ${pkgs.iproute}/bin/ip netns add foo + '']; + default = []; + type = with types; listOf str; + description = ''A list of commands called at the start of the interface + setup.''; + }; + + postSetup = mkOption { + example = literalExample ['' + ${pkgs.bash} -c 'printf "nameserver 10.200.100.1" | ${pkgs.openresolv}/bin/resolvconf -a wg0 -m 0' + '']; + default = []; + type = with types; listOf str; + description = "A list of commands called at the end of the interface setup."; + }; + + postShutdown = mkOption { + example = literalExample ["${pkgs.openresolv}/bin/resolvconf -d wg0"]; + default = []; + type = with types; listOf str; + description = "A list of commands called after shutting down the interface."; + }; + + peers = mkOption { + default = []; + description = "Peers linked to the interface."; + type = with types; listOf (submodule peerOpts); + }; + + }; + + }; + + # peer options + + peerOpts = { + + options = { + + publicKey = mkOption { + example = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="; + type = types.str; + description = "The base64 public key the peer."; + }; + + allowedIPs = mkOption { + example = [ "10.192.122.3/32" "10.192.124.1/24" ]; + type = with types; listOf str; + description = ''List of IP (v4 or v6) addresses with CIDR masks from + which this peer is allowed to send incoming traffic and to which + outgoing traffic for this peer is directed. The catch-all 0.0.0.0/0 may + be specified for matching all IPv4 addresses, and ::/0 may be specified + for matching all IPv6 addresses.''; + }; + + endpoint = mkOption { + default = null; + example = "demo.wireguard.io:12913"; + type = with types; nullOr str; + description = ''Endpoint IP or hostname of the peer, followed by a colon, + and then a port number of the peer.''; + }; + + persistentKeepalive = mkOption { + default = null; + type = with types; nullOr int; + example = 25; + description = ''This is optional and is by default off, because most + users will not need it. It represents, in seconds, between 1 and 65535 + inclusive, how often to send an authenticated empty packet to the peer, + for the purpose of keeping a stateful firewall or NAT mapping valid + persistently. For example, if the interface very rarely sends traffic, + but it might at anytime receive traffic from a peer, and it is behind + NAT, the interface might benefit from having a persistent keepalive + interval of 25 seconds; however, most users will not need this.''; + }; + + }; + + }; + + generateConf = name: values: pkgs.writeText "wireguard-${name}.conf" '' + [Interface] + PrivateKey = ${values.privateKey} + ${optionalString (values.presharedKey != null) "PresharedKey = ${values.presharedKey}"} + ${optionalString (values.listenPort != null) "ListenPort = ${toString values.listenPort}"} + + ${concatStringsSep "\n\n" (map (peer: '' + [Peer] + PublicKey = ${peer.publicKey} + ${optionalString (peer.allowedIPs != []) "AllowedIPs = ${concatStringsSep ", " peer.allowedIPs}"} + ${optionalString (peer.endpoint != null) "Endpoint = ${peer.endpoint}"} + ${optionalString (peer.persistentKeepalive != null) "PersistentKeepalive = ${toString peer.persistentKeepalive}"} + '') values.peers)} + ''; + + ipCommand = "${pkgs.iproute}/bin/ip"; + wgCommand = "${pkgs.wireguard}/bin/wg"; + + generateUnit = name: values: + nameValuePair "wireguard-${name}" + { + description = "WireGuard Tunnel - ${name}"; + wantedBy = [ "ip-up.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = lib.flatten([ + values.preSetup + + "-${ipCommand} link del dev ${name}" + "${ipCommand} link add dev ${name} type wireguard" + "${wgCommand} setconf ${name} ${generateConf name values}" + + (map (ip: + ''${ipCommand} address add ${ip} dev ${name}'' + ) values.ips) + + "${ipCommand} link set up dev ${name}" + + (flatten (map (peer: (map (ip: + "${ipCommand} route add ${ip} dev ${name}" + ) peer.allowedIPs)) values.peers)) + + values.postSetup + ]); + + ExecStop = [ ''${ipCommand} link del dev "${name}"'' ] ++ values.postShutdown; + }; + }; + +in + +{ + + ###### interface + + options = { + + networking.wireguard = { + + interfaces = mkOption { + description = "Wireguard interfaces."; + default = {}; + example = { + wg0 = { + ips = [ "192.168.20.4/24" ]; + privateKey = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk="; + peers = [ + { allowedIPs = [ "192.168.20.1/32" ]; + publicKey = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="; + endpoint = "demo.wireguard.io:12913"; } + ]; + }; + }; + type = with types; attrsOf (submodule interfaceOpts); + }; + + }; + + }; + + + ###### implementation + + config = mkIf (cfg.interfaces != {}) { + + boot.extraModulePackages = [ kernel.wireguard ]; + environment.systemPackages = [ pkgs.wireguard ]; + + systemd.services = mapAttrs' generateUnit cfg.interfaces; + + }; + +} diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix index becd57055d4..a9c08b66eb8 100644 --- a/nixos/modules/services/torrent/deluge.nix +++ b/nixos/modules/services/torrent/deluge.nix @@ -5,26 +5,36 @@ with lib; let cfg = config.services.deluge; cfg_web = config.services.deluge.web; + openFilesLimit = 4096; + in { options = { - services.deluge = { - enable = mkOption { - default = false; - example = true; - description = '' - Start Deluge daemon. - ''; - }; - }; + services = { + deluge = { + enable = mkOption { + default = false; + example = true; + description = "Start the Deluge daemon"; + }; - services.deluge.web = { - enable = mkOption { - default = false; - example = true; - description = '' - Start Deluge Web daemon. - ''; - }; + openFilesLimit = mkOption { + default = openFilesLimit; + example = 8192; + description = '' + Number of files to allow deluged to open. + ''; + }; + }; + + deluge.web = { + enable = mkOption { + default = false; + example = true; + description = '' + Start Deluge Web daemon. + ''; + }; + }; }; }; @@ -35,11 +45,14 @@ in { description = "Deluge BitTorrent Daemon"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.pythonPackages.deluge ]; - serviceConfig.ExecStart = "${pkgs.pythonPackages.deluge}/bin/deluged -d"; - # To prevent "Quit & shutdown daemon" from working; we want systemd to manage it! - serviceConfig.Restart = "on-success"; - serviceConfig.User = "deluge"; - serviceConfig.Group = "deluge"; + serviceConfig = { + ExecStart = "${pkgs.pythonPackages.deluge}/bin/deluged -d"; + # To prevent "Quit & shutdown daemon" from working; we want systemd to manage it! + Restart = "on-success"; + User = "deluge"; + Group = "deluge"; + LimitNOFILE = cfg.openFilesLimit; + }; }; systemd.services.delugeweb = mkIf cfg_web.enable { diff --git a/nixos/modules/services/web-apps/nixbot.nix b/nixos/modules/services/web-apps/nixbot.nix new file mode 100644 index 00000000000..0592d01bf36 --- /dev/null +++ b/nixos/modules/services/web-apps/nixbot.nix @@ -0,0 +1,149 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.nixbot; + pyramidIni = '' + ### + # app configuration + # http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/environment.html + ### + + [app:main] + use = egg:nixbot + + nixbot.github_token = ${cfg.githubToken} + nixbot.bot_name = ${cfg.botName} + nixbot.repo = ${cfg.repo} + nixbot.pr_repo = ${cfg.prRepo} + nixbot.hydra_jobsets_repo = ${cfg.hydraJobsetsRepo} + nixbot.github_secret = justnotsorandom + nixbot.public_url = ${cfg.publicUrl} + nixbot.repo_dir = ${cfg.repoDir} + + pyramid.reload_templates = false + pyramid.debug_authorization = false + pyramid.debug_notfound = false + pyramid.debug_routematch = false + pyramid.default_locale_name = en + + # By default, the toolbar only appears for clients from IP addresses + # '127.0.0.1' and '::1'. + # debugtoolbar.hosts = 127.0.0.1 ::1 + + ### + # wsgi server configuration + ### + + [server:main] + use = egg:waitress#main + host = 0.0.0.0 + port = 6543 + + ### + # logging configuration + # http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/logging.html + ### + + [loggers] + keys = root, nixbot + + [handlers] + keys = console + + [formatters] + keys = generic + + [logger_root] + level = INFO + handlers = console + + [logger_nixbot] + level = INFO + handlers = + qualname = nixbot + + [handler_console] + class = StreamHandler + args = (sys.stderr,) + level = NOTSET + formatter = generic + + [formatter_generic] + format = %(asctime)s %(levelname)-5.5s [%(name)s:%(lineno)s][%(threadName)s] %(message)s + ''; +in { + options = { + services.nixbot = { + enable = mkEnableOption "nixbot"; + + botName = mkOption { + type = types.str; + description = "The bot's github user account name."; + default = "nixbot"; + }; + + githubToken = mkOption { + type = types.str; + description = "The bot's github user account token."; + example = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; + }; + + repo = mkOption { + type = types.str; + description = "The github repository to check for PRs."; + example = "nixos/nixpkgs"; + }; + + prRepo = mkOption { + type = types.str; + description = "The github repository to push the testing branches to."; + example = "nixos/nixpkgs-pr"; + }; + + hydraJobsetsRepo = mkOption { + type = types.str; + description = "The github repository to push the hydra jobset definitions to."; + example = "nixos/hydra-jobsets"; + }; + + publicUrl = mkOption { + type = types.str; + description = "The public URL the bot is reachable at (Github hook endpoint)."; + example = "https://nixbot.nixos.org"; + }; + + repoDir = mkOption { + type = types.path; + description = "The directory the repositories are stored in."; + default = "/var/lib/nixbot"; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers.nixbot = { + createHome = true; + home = cfg.repoDir; + }; + + systemd.services.nixbot = let + env = pkgs.python3.buildEnv.override { + extraLibs = [ pkgs.nixbot ]; + }; + in { + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + script = '' + ${env}/bin/pserve ${pkgs.writeText "production.ini" pyramidIni} + ''; + + serviceConfig = { + User = "nixbot"; + Group = "nogroup"; + PermissionsStartOnly = true; + }; + }; + }; +} diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 443bd8c1000..7b822619a2f 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -394,6 +394,9 @@ in optionalAttrs vhostConfig.enableACME { webroot = vhostConfig.acmeRoot; extraDomains = genAttrs vhostConfig.serverAliases (alias: null); + postRun = '' + systemctl reload nginx + ''; } ) virtualHosts ); diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix index 787eed1c0ca..ed537e7122a 100644 --- a/nixos/modules/services/web-servers/phpfpm/default.nix +++ b/nixos/modules/services/web-servers/phpfpm/default.nix @@ -128,8 +128,8 @@ in { serviceConfig = { Type = "notify"; ExecStart = "${cfg.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${phpIni}"; + ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID"; }; }; - }; } diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 1ea7b5ccf16..31412ae7014 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -19,7 +19,7 @@ in # E.g., if KDE is enabled, it supersedes xterm. imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde5.nix - ./enlightenment.nix ./gnome3.nix ./kodi.nix + ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ]; options = { diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix new file mode 100644 index 00000000000..4241ec890dd --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix @@ -0,0 +1,81 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + xcfg = config.services.xserver; + cfg = xcfg.desktopManager.lxqt; + +in + +{ + options = { + + services.xserver.desktopManager.lxqt.enable = mkOption { + type = types.bool; + default = false; + description = "Enable the LXQt desktop manager"; + }; + + }; + + + config = mkIf (xcfg.enable && cfg.enable) { + + services.xserver.desktopManager.session = singleton { + name = "lxqt"; + start = '' + exec ${pkgs.lxqt.lxqt-common}/bin/startlxqt + ''; + }; + + environment.systemPackages = [ + pkgs.kde5.kwindowsystem # provides some QT5 plugins needed by lxqt-panel + pkgs.kde5.libkscreen # provides plugins for screen management software + pkgs.kde5.oxygen-icons5 # default icon theme + pkgs.libfm + pkgs.libfm-extra + pkgs.lxmenu-data + pkgs.lxqt.compton-conf + pkgs.lxqt.libfm-qt + pkgs.lxqt.liblxqt + pkgs.lxqt.libqtxdg + pkgs.lxqt.libsysstat + pkgs.lxqt.lximage-qt + pkgs.lxqt.lxqt-about + pkgs.lxqt.lxqt-admin + pkgs.lxqt.lxqt-common + pkgs.lxqt.lxqt-config + pkgs.lxqt.lxqt-globalkeys + pkgs.lxqt.lxqt-l10n + pkgs.lxqt.lxqt-notificationd + pkgs.lxqt.lxqt-openssh-askpass + pkgs.lxqt.lxqt-panel + pkgs.lxqt.lxqt-policykit + pkgs.lxqt.lxqt-powermanagement + pkgs.lxqt.lxqt-qtplugin + pkgs.lxqt.lxqt-runner + pkgs.lxqt.lxqt-session + pkgs.lxqt.lxqt-sudo + pkgs.lxqt.obconf-qt + pkgs.lxqt.pavucontrol-qt + pkgs.lxqt.pcmanfm-qt + pkgs.lxqt.qps + pkgs.lxqt.qterminal + pkgs.lxqt.qtermwidget + pkgs.menu-cache + pkgs.openbox # default window manager + pkgs.qt5.qtsvg # provides QT5 plugins for svg icons + pkgs.xscreensaver + ]; + + # Link some extra directories in /run/current-system/software/share + environment.pathsToLink = [ + "/share/desktop-directories" + "/share/icons" + "/share/lxqt" + ]; + + }; +} diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 4d2ddedca1e..c79893e77aa 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -14,7 +14,7 @@ let xserverWrapper = pkgs.writeScript "xserver-wrapper" '' #!/bin/sh ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)} - exec ${dmcfg.xserverBin} ${dmcfg.xserverArgs} "$@" + exec systemd-cat ${dmcfg.xserverBin} ${dmcfg.xserverArgs} "$@" ''; Xsetup = pkgs.writeScript "Xsetup" '' diff --git a/nixos/modules/services/x11/urxvtd.nix b/nixos/modules/services/x11/urxvtd.nix new file mode 100644 index 00000000000..ab47f4547ae --- /dev/null +++ b/nixos/modules/services/x11/urxvtd.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: + +# maintainer: siddharthist + +with lib; + +let + cfg = config.services.urxvtd; +in { + + options.services.urxvtd.enable = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Enable urxvtd, the urxvt terminal daemon. To use urxvtd, run + "urxvtc". + ''; + }; + + config = mkIf cfg.enable { + systemd.user = { + sockets.urxvtd = { + description = "socket for urxvtd, the urxvt terminal daemon"; + after = [ "graphical.target" ]; + wants = [ "graphical.target" ]; + wantedBy = [ "sockets.target" ]; + socketConfig = { + ListenStream = "%t/urxvtd-socket"; + }; + }; + + services.urxvtd = { + description = "urxvt terminal daemon"; + serviceConfig = { + ExecStart = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtd -o"; + Environment = "RXVT_SOCKET=%t/urxvtd-socket"; + Restart = "on-failure"; + RestartSec = "5s"; + }; + }; + + }; + + environment.systemPackages = [ pkgs.rxvt_unicode-with-plugins ]; + environment.variables.RXVT_SOCKET = "/run/user/$(id -u)/urxvtd-socket"; + }; + +} diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index ec2f3a4f8bb..e34f0c21663 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -539,6 +539,10 @@ in Restart = "always"; RestartSec = "200ms"; SyslogIdentifier = "display-manager"; + # Stop restarting if the display manager stops (crashes) 2 times + # in one minute. Starting X typically takes 3-4s. + StartLimitInterval = "30s"; + StartLimitBurst = "3"; }; }; diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 4a16a676293..dcf105eb784 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -145,6 +145,7 @@ in ${pkgs.e2fsprogs}/bin/chattr -f -i /var/empty || true find /var/empty -mindepth 1 -delete chmod 0555 /var/empty + chown root:root /var/empty ${pkgs.e2fsprogs}/bin/chattr -f +i /var/empty || true ''; diff --git a/nixos/modules/system/boot/systemd-nspawn.nix b/nixos/modules/system/boot/systemd-nspawn.nix new file mode 100644 index 00000000000..2527ab35719 --- /dev/null +++ b/nixos/modules/system/boot/systemd-nspawn.nix @@ -0,0 +1,121 @@ +{ config, lib , pkgs, ...}: + +with lib; +with import ./systemd-unit-options.nix { inherit config lib; }; +with import ./systemd-lib.nix { inherit config lib pkgs; }; + +let + cfg = config.systemd.nspawn; + assertions = [ + # boot = true -> processtwo != true + ]; + + checkExec = checkUnitConfig "Exec" [ + (assertOnlyFields [ + "Boot" "ProcessTwo" "Parameters" "Environment" "User" "WorkingDirectory" + "Capability" "DropCapability" "KillSignal" "Personality" "MachineId" + "PrivateUsers" + ]) + (assertValueOneOf "Boot" boolValues) + (assertValueOneOf "ProcessTwo" boolValues) + (assertValueOneOf "PrivateUsers" (boolValues ++ [ "pick" ])) + ]; + + checkFiles = checkUnitConfig "Files" [ + (assertOnlyFields [ + "ReadOnly" "Volatile" "Bind" "BindReadOnly" "TemporaryFileSystems" + "PrivateUsersChown" + ]) + (assertValueOneOf "ReadOnly" boolValues) + (assertValueOneOf "Volatile" (boolValues ++ [ "state" ])) + (assertValueOneOf "PrivateUsersChown" boolValues) + ]; + + checkNetwork = checkUnitConfig "Network" [ + (assertOnlyFields [ + "Private" "VirtualEthernet" "VirtualEthernetExtra" "Interface" "MACVLAN" + "IPVLAN" "Bridge" "Zone" "Port" + ]) + (assertValueOneOf "Private" boolValues) + (assertValueOneOf "VirtualEthernet" boolValues) + ]; + + instanceOptions = { + + execConfig = mkOption { + default = {}; + example = { Parameters = "/bin/sh"; }; + type = types.addCheck (types.attrsOf unitOption) checkExec; + description = '' + Each attribute in this set specifies an option in the + [Exec] section of this unit. See + systemd.nspawn + 5 for details. + ''; + }; + + filesConfig = mkOption { + default = {}; + example = { Bind = [ "/home/alice" ]; }; + type = types.addCheck (types.attrsOf unitOption) checkFiles; + description = '' + Each attribute in this set specifies an option in the + [Files] section of this unit. See + systemd.nspawn + 5 for details. + ''; + }; + + networkConfig = mkOption { + default = {}; + example = { Private = false; }; + type = types.addCheck (types.attrsOf unitOption) checkNetwork; + description = '' + Each attribute in this set specifies an option in the + [Network] section of this unit. See + systemd.nspawn + 5 for details. + ''; + }; + + }; + + instanceToUnit = name: def: + { text = '' + [Exec] + ${attrsToSection def.execConfig} + + [Files] + ${attrsToSection def.filesConfig} + + [Network] + ${attrsToSection def.networkConfig} + ''; + }; + +in { + + options = { + + systemd.nspawn = mkOption { + default = {}; + type = types.attrsOf types.optionSet; + options = [ instanceOptions ]; + description = "Definition of systemd-nspawn configurations."; + }; + + }; + + config = + let + units = mapAttrs' (n: v: nameValuePair "${n}.nspawn" (instanceToUnit n v)) cfg.instances; + in mkIf (cfg != {}) { + + environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] []; + + systemd.services."systemd-nspawn@" = { + wantedBy = [ "machine.target" ]; + }; + }; + +} diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index 6a8f20bab5b..89ee13d5cd9 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -46,6 +46,23 @@ in systemd.services = let + deviceDependency = dev: + if (config.boot.isContainer == false) + then + # Trust udev when not in the container + [ (subsystemDevice dev) ] + else + # When in the container, check whether the interface is built from other definitions + if (hasAttr dev cfg.bridges) || + (hasAttr dev cfg.bonds) || + (hasAttr dev cfg.macvlans) || + (hasAttr dev cfg.sits) || + (hasAttr dev cfg.vlans) || + (hasAttr dev cfg.vswitches) || + (hasAttr dev cfg.wlanInterfaces) + then [ "${dev}-netdev.service" ] + else []; + networkLocalCommands = { after = [ "network-setup.service" ]; bindsTo = [ "network-setup.service" ]; @@ -120,8 +137,8 @@ in # order before network-setup because the routes that are configured # there may need ip addresses configured before = [ "network-setup.service" ]; - bindsTo = [ (subsystemDevice i.name) ]; - after = [ (subsystemDevice i.name) "network-pre.target" ]; + bindsTo = deviceDependency i.name; + after = [ "network-pre.target" ] ++ (deviceDependency i.name); serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; @@ -179,7 +196,7 @@ in createBridgeDevice = n: v: nameValuePair "${n}-netdev" (let - deps = map subsystemDevice v.interfaces; + deps = concatLists (map deviceDependency v.interfaces); in { description = "Bridge Interface ${n}"; wantedBy = [ "network-setup.service" (subsystemDevice n) ]; @@ -220,7 +237,7 @@ in createVswitchDevice = n: v: nameValuePair "${n}-netdev" (let - deps = map subsystemDevice v.interfaces; + deps = concatLists (map deviceDependency v.interfaces); ofRules = pkgs.writeText "vswitch-${n}-openFlowRules" v.openFlowRules; in { description = "Open vSwitch Interface ${n}"; @@ -253,7 +270,7 @@ in createBondDevice = n: v: nameValuePair "${n}-netdev" (let - deps = map subsystemDevice v.interfaces; + deps = concatLists (map deviceDependency v.interfaces); in { description = "Bond Interface ${n}"; wantedBy = [ "network-setup.service" (subsystemDevice n) ]; @@ -291,7 +308,7 @@ in createMacvlanDevice = n: v: nameValuePair "${n}-netdev" (let - deps = [ (subsystemDevice v.interface) ]; + deps = deviceDependency v.interface; in { description = "Vlan Interface ${n}"; wantedBy = [ "network-setup.service" (subsystemDevice n) ]; @@ -316,7 +333,7 @@ in createSitDevice = n: v: nameValuePair "${n}-netdev" (let - deps = optional (v.dev != null) (subsystemDevice v.dev); + deps = optional (v.dev != null) (deviceDependency v.dev); in { description = "6-to-4 Tunnel Interface ${n}"; wantedBy = [ "network-setup.service" (subsystemDevice n) ]; @@ -344,7 +361,7 @@ in createVlanDevice = n: v: nameValuePair "${n}-netdev" (let - deps = [ (subsystemDevice v.interface) ]; + deps = deviceDependency v.interface; in { description = "Vlan Interface ${n}"; wantedBy = [ "network-setup.service" (subsystemDevice n) ]; diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index cac7e6b02eb..aae4dc5fdad 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -310,9 +310,9 @@ in generate a random 32-bit ID using the following commands: cksum /etc/machine-id | while read c rest; do printf "%x" $c; done - + (this derives it from the machine-id that systemd generates) or - + head -c4 /dev/urandom | od -A none -t x4 ''; }; @@ -972,12 +972,17 @@ in ''; }; } // (listToAttrs (flip map interfaces (i: + let + deviceDependency = if config.boot.isContainer + then [] + else [ (subsystemDevice i.name) ]; + in nameValuePair "network-link-${i.name}" { description = "Link configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; before = [ "network-interfaces.target" ]; - bindsTo = [ (subsystemDevice i.name) ]; - after = [ (subsystemDevice i.name) "network-pre.target" ]; + bindsTo = deviceDependency; + after = [ "network-pre.target" ] ++ deviceDependency; path = [ pkgs.iproute ]; serviceConfig = { Type = "oneshot"; diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 5e1cfcdfc6f..aa28a25be7a 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -473,7 +473,7 @@ in }; extraVeths = mkOption { - type = with types; attrsOf (submodule networkOptions); + type = with types; attrsOf (submodule { options = networkOptions; }); default = {}; description = '' Extra veth-pairs to be created for the container diff --git a/nixos/release.nix b/nixos/release.nix index bff17da607f..10c624afebc 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -227,6 +227,7 @@ in rec { tests.containers-bridge = callTest tests/containers-bridge.nix {}; tests.containers-imperative = callTest tests/containers-imperative.nix {}; tests.containers-extra_veth = callTest tests/containers-extra_veth.nix {}; + tests.containers-physical_interfaces = callTest tests/containers-physical_interfaces.nix {}; tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; }); tests.dnscrypt-proxy = callTest tests/dnscrypt-proxy.nix { system = "x86_64-linux"; }; tests.ecryptfs = callTest tests/ecryptfs.nix {}; diff --git a/nixos/tests/boot-stage1.nix b/nixos/tests/boot-stage1.nix index e9087edb5d5..50186525cf3 100644 --- a/nixos/tests/boot-stage1.nix +++ b/nixos/tests/boot-stage1.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ... }: { machine = { config, pkgs, lib, ... }: { boot.extraModulePackages = let - compileKernelModule = name: source: pkgs.runCommand name rec { + compileKernelModule = name: source: pkgs.runCommandCC name rec { inherit source; kdev = config.boot.kernelPackages.kernel.dev; kver = config.boot.kernelPackages.kernel.modDirVersion; diff --git a/nixos/tests/containers-physical_interfaces.nix b/nixos/tests/containers-physical_interfaces.nix new file mode 100644 index 00000000000..a3b0b29951b --- /dev/null +++ b/nixos/tests/containers-physical_interfaces.nix @@ -0,0 +1,133 @@ + +import ./make-test.nix ({ pkgs, ...} : { + name = "containers-physical_interfaces"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ kampfschlaefer ]; + }; + + nodes = { + server = { config, pkgs, ... }: + { + virtualisation.memorySize = 256; + virtualisation.vlans = [ 1 ]; + + containers.server = { + privateNetwork = true; + interfaces = [ "eth1" ]; + + config = { + networking.interfaces.eth1 = { + ip4 = [ { address = "10.10.0.1"; prefixLength = 24; } ]; + }; + networking.firewall.enable = false; + }; + }; + }; + bridged = { config, pkgs, ... }: { + virtualisation.memorySize = 128; + virtualisation.vlans = [ 1 ]; + + containers.bridged = { + privateNetwork = true; + interfaces = [ "eth1" ]; + + config = { + networking.bridges.br0.interfaces = [ "eth1" ]; + networking.interfaces.br0 = { + ip4 = [ { address = "10.10.0.2"; prefixLength = 24; } ]; + }; + networking.firewall.enable = false; + }; + }; + }; + + bonded = { config, pkgs, ... }: { + virtualisation.memorySize = 128; + virtualisation.vlans = [ 1 ]; + + containers.bonded = { + privateNetwork = true; + interfaces = [ "eth1" ]; + + config = { + networking.bonds.bond0 = { + interfaces = [ "eth1" ]; + mode = "active-backup"; + }; + networking.interfaces.bond0 = { + ip4 = [ { address = "10.10.0.3"; prefixLength = 24; } ]; + }; + networking.firewall.enable = false; + }; + }; + }; + + bridgedbond = { config, pkgs, ... }: { + virtualisation.memorySize = 128; + virtualisation.vlans = [ 1 ]; + + containers.bridgedbond = { + privateNetwork = true; + interfaces = [ "eth1" ]; + + config = { + networking.bonds.bond0 = { + interfaces = [ "eth1" ]; + mode = "active-backup"; + }; + networking.bridges.br0.interfaces = [ "bond0" ]; + networking.interfaces.br0 = { + ip4 = [ { address = "10.10.0.4"; prefixLength = 24; } ]; + }; + networking.firewall.enable = false; + }; + }; + }; + }; + + testScript = '' + startAll; + + subtest "prepare server", sub { + $server->waitForUnit("default.target"); + $server->succeed("ip link show dev eth1 >&2"); + }; + + subtest "simple physical interface", sub { + $server->succeed("nixos-container start server"); + $server->waitForUnit("container\@server"); + $server->succeed("systemctl -M server list-dependencies network-addresses-eth1.service >&2"); + + # The other tests will ping this container on its ip. Here we just check + # that the device is present in the container. + $server->succeed("nixos-container run server -- ip a show dev eth1 >&2"); + }; + + subtest "physical device in bridge in container", sub { + $bridged->waitForUnit("default.target"); + $bridged->succeed("nixos-container start bridged"); + $bridged->waitForUnit("container\@bridged"); + $bridged->succeed("systemctl -M bridged list-dependencies network-addresses-br0.service >&2"); + $bridged->succeed("systemctl -M bridged status -n 30 -l network-addresses-br0.service"); + $bridged->succeed("nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1"); + }; + + subtest "physical device in bond in container", sub { + $bonded->waitForUnit("default.target"); + $bonded->succeed("nixos-container start bonded"); + $bonded->waitForUnit("container\@bonded"); + $bonded->succeed("systemctl -M bonded list-dependencies network-addresses-bond0 >&2"); + $bonded->succeed("systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2"); + $bonded->succeed("nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1"); + }; + + subtest "physical device in bond in bridge in container", sub { + $bridgedbond->waitForUnit("default.target"); + $bridgedbond->succeed("nixos-container start bridgedbond"); + $bridgedbond->waitForUnit("container\@bridgedbond"); + $bridgedbond->succeed("systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2"); + $bridgedbond->succeed("systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service"); + $bridgedbond->succeed("nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1"); + }; + ''; +}) diff --git a/nixos/tests/smokeping.nix b/nixos/tests/smokeping.nix index 324f83147e0..9de3030417f 100644 --- a/nixos/tests/smokeping.nix +++ b/nixos/tests/smokeping.nix @@ -11,9 +11,10 @@ import ./make-test.nix ({ pkgs, ...} : { services.smokeping = { enable = true; port = 8081; + mailHost = "127.0.0.2"; probeConfig = '' + FPing - binary = ${pkgs.fping}/bin/fping + binary = /var/setuid-wrappers/fping offset = 0% ''; }; @@ -27,5 +28,6 @@ import ./make-test.nix ({ pkgs, ...} : { $sm->waitForFile("/var/lib/smokeping/data/Local/LocalMachine.rrd"); $sm->succeed("curl -s -f localhost:8081/smokeping.fcgi?target=Local"); $sm->succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png"); + $sm->succeed("ls /var/lib/smokeping/cache/index.html"); ''; }) diff --git a/pkgs/applications/audio/ardour/ardour4.nix b/pkgs/applications/audio/ardour/ardour4.nix new file mode 100644 index 00000000000..f9d64ff6f63 --- /dev/null +++ b/pkgs/applications/audio/ardour/ardour4.nix @@ -0,0 +1,86 @@ +{ stdenv, fetchFromGitHub, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw +, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2 +, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf +, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile +, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango +, perl, pkgconfig, python, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }: + +let + + # Ardour git repo uses a mix of annotated and lightweight tags. Annotated + # tags are used for MAJOR.MINOR versioning, and lightweight tags are used + # in-between; MAJOR.MINOR.REV where REV is the number of commits since the + # last annotated tag. A slightly different version string format is needed + # for the 'revision' info that is built into the binary; it is the format of + # "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH. + + # Version to build. + tag = "4.7"; + +in + +stdenv.mkDerivation rec { + name = "ardour-${tag}"; + + src = fetchFromGitHub { + owner = "Ardour"; + repo = "ardour"; + rev = "d84a8222f2b6dab5028b2586f798535a8766670e"; + sha256 = "149gswphz77m3pkzsn2nqbm6yvcfa3fva560bcvjzlgb73f64q5l"; + }; + + buildInputs = + [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc + glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo + libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate + libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2 + makeWrapper pango perl pkgconfig python rubberband serd sord-svn sratom suil taglib vampSDK + ]; + + # ardour's wscript has a "tarball" target but that required the git revision + # be available. Since this is an unzipped tarball fetched from github we + # have to do that ourself. + patchPhase = '' + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc + sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript + patchShebangs ./tools/ + ''; + + configurePhase = "python waf configure --optimize --docs --with-backends=jack,alsa --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = '' + python waf install + # Install desktop file + mkdir -p "$out/share/applications" + cat > "$out/share/applications/ardour.desktop" << EOF + [Desktop Entry] + Name=Ardour 4 + GenericName=Digital Audio Workstation + Comment=Multitrack harddisk recorder + Exec=$out/bin/ardour4 + Icon=$out/share/ardour4/icons/ardour_icon_256px.png + Terminal=false + Type=Application + X-MultipleArgs=false + Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video; + EOF + ''; + + meta = with stdenv.lib; { + description = "Multi-track hard disk recording software"; + longDescription = '' + Ardour is a digital audio workstation (DAW), You can use it to + record, edit and mix multi-track audio and midi. Produce your + own CDs. Mix video soundtracks. Experiment with new ideas about + music and sound. + Please consider supporting the ardour project financially: + https://community.ardour.org/node/8288 + ''; + homepage = http://ardour.org/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu maintainers.fps ]; + }; +} diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 7951076daa0..6adb3a0ed47 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -1,9 +1,10 @@ -{ stdenv, fetchFromGitHub, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw +{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen , fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2 , libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile -, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango -, perl, pkgconfig, python, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }: +, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper +, perl, pkgconfig, python, rubberband, serd, sord-svn, sratom +, taglib, vampSDK, dbus, fftw, pango, suil, libarchive }: let @@ -15,18 +16,17 @@ let # "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH. # Version to build. - tag = "4.7"; + tag = "5.4"; in stdenv.mkDerivation rec { name = "ardour-${tag}"; - src = fetchFromGitHub { - owner = "Ardour"; - repo = "ardour"; - rev = "d84a8222f2b6dab5028b2586f798535a8766670e"; - sha256 = "149gswphz77m3pkzsn2nqbm6yvcfa3fva560bcvjzlgb73f64q5l"; + src = fetchgit { + url = "git://git.ardour.org/ardour/ardour.git"; + rev = "bb3312c3bb9c6ed9b75ac6739a6ee720ddf86c86"; + sha256 = "1yrg0d86k9fqw7lmzjglilbadb4cjqxqkf6ii4bjs6rihj6b0qrf"; }; buildInputs = @@ -34,7 +34,8 @@ stdenv.mkDerivation rec { glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2 - makeWrapper pango perl pkgconfig python rubberband serd sord-svn sratom suil taglib vampSDK + makeWrapper pango perl pkgconfig python rubberband serd sord-svn + sratom suil taglib vampSDK libarchive ]; # ardour's wscript has a "tarball" target but that required the git revision @@ -57,11 +58,11 @@ stdenv.mkDerivation rec { mkdir -p "$out/share/applications" cat > "$out/share/applications/ardour.desktop" << EOF [Desktop Entry] - Name=Ardour 4 + Name=Ardour 5 GenericName=Digital Audio Workstation Comment=Multitrack harddisk recorder - Exec=$out/bin/ardour4 - Icon=$out/share/ardour4/icons/ardour_icon_256px.png + Exec=$out/bin/ardour5 + Icon=$out/share/ardour5/icons/ardour_icon_256px.png Terminal=false Type=Application X-MultipleArgs=false diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix new file mode 100644 index 00000000000..d5e0ed1c476 --- /dev/null +++ b/pkgs/applications/audio/openmpt123/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, SDL2, pkgconfig }: + +let + version = "0.2.7025-beta20.1"; +in stdenv.mkDerivation rec { + name = "openmpt123-${version}"; + src = fetchurl { + url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}.tar.gz"; + sha256 = "0qp2nnz6pnl1d7yv9hcjyim7q6yax5881k1jxm8jfgjqagmz5k6p"; + }; + buildInputs = [ SDL2 pkgconfig ]; + makeFlags = [ "NO_LTDL=1 TEST=0 EXAMPLES=0" ] + ++ stdenv.lib.optional (stdenv.isDarwin) "SHARED_SONAME=0"; + installFlags = "PREFIX=\${out}"; + + meta = with stdenv.lib; { + description = "A cross-platform command-line based module file player"; + homepage = https://lib.openmpt.org/libopenmpt/; + license = licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.gnidorah ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/applications/audio/ponymix/default.nix b/pkgs/applications/audio/ponymix/default.nix index cbc516fb288..ced5262f5d2 100644 --- a/pkgs/applications/audio/ponymix/default.nix +++ b/pkgs/applications/audio/ponymix/default.nix @@ -1,11 +1,14 @@ -{ stdenv, fetchurl, libpulseaudio, libnotify, pkgconfig }: +{ stdenv, fetchFromGitHub, libpulseaudio, libnotify, pkgconfig }: stdenv.mkDerivation rec { name = "ponymix-${version}"; version = "5"; - src = fetchurl { - url = "http://code.falconindy.com/archive/ponymix/${name}.tar.xz"; - sha256 = "0qn2kms9h9b7da2xzkdgzrykhhdywr4psxnz03j8rg7wa9nwfw0x"; + + src = fetchFromGitHub { + owner = "falconindy"; + repo = "ponymix"; + rev = version; + sha256 = "08yp7fprmzm6px5yx2rvzri0l60bra5h59l26pn0k071a37ks1rb"; }; buildInputs = [ libpulseaudio libnotify ]; @@ -13,9 +16,11 @@ stdenv.mkDerivation rec { postPatch = ''substituteInPlace Makefile --replace "\$(DESTDIR)/usr" "$out"''; - meta = { + meta = with stdenv.lib; { description = "CLI PulseAudio Volume Control"; homepage = "http://github.com/falconindy/ponymix"; - license = "mit"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ ericsagnes ]; }; } diff --git a/pkgs/applications/audio/uade123/default.nix b/pkgs/applications/audio/uade123/default.nix new file mode 100644 index 00000000000..0a07e97270c --- /dev/null +++ b/pkgs/applications/audio/uade123/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, which, libao, pkgconfig }: + +let + version = "2.13"; +in stdenv.mkDerivation rec { + name = "uade123-${version}"; + src = fetchurl { + url = "http://zakalwe.fi/uade/uade2/uade-${version}.tar.bz2"; + sha256 = "04nn5li7xy4g5ysyjjngmv5d3ibxppkbb86m10vrvadzxdd4w69v"; + }; + buildInputs = [ which libao pkgconfig ]; + + meta = with stdenv.lib; { + description = "Plays old Amiga tunes through UAE emulation and cloned m68k-assembler Eagleplayer API"; + homepage = http://zakalwe.fi/uade/; + license = licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.gnidorah ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix deleted file mode 100644 index c026d058b4e..00000000000 --- a/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }: - -stdenv.mkDerivation (rec { - name = "ProofGeneral-4.2"; - - src = fetchurl { - url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.2.tgz; - sha256 = "09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm"; - }; - - sourceRoot = name; - - buildInputs = [ emacs texinfo texLive perl which ]; - - prePatch = - '' sed -i "Makefile" \ - -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \ - s|/sbin/install-info|install-info|g" - - - # Workaround for bug #458 - # ProofGeneral 4.2 byte-compilation fails with Emacs 24.2.90 - # http://proofgeneral.inf.ed.ac.uk/trac/ticket/458 - sed -i "Makefile" \ - -e "s|(setq byte-compile-error-on-warn t)||g" - - sed -i "bin/proofgeneral" -e's/which/type -p/g' - - # @image{ProofGeneral} fails, so remove it. - sed -i '94d' doc/PG-adapting.texi - sed -i '101d' doc/ProofGeneral.texi - ''; - - preBuild = '' - make clean; - ''; - - installPhase = - # Copy `texinfo.tex' in the right place so that `texi2pdf' works. - '' cp -v "${automake}/share/"automake-*/texinfo.tex doc - make install install-doc - ''; - - meta = { - description = "Proof General, an Emacs front-end for proof assistants"; - longDescription = '' - Proof General is a generic front-end for proof assistants (also known as - interactive theorem provers), based on the customizable text editor Emacs. - ''; - homepage = http://proofgeneral.inf.ed.ac.uk; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.unix; # arbitrary choice - }; -}) diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.4.nix similarity index 56% rename from pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix rename to pkgs/applications/editors/emacs-modes/proofgeneral/4.4.nix index 815863ac6da..0f7ac1d1dc8 100644 --- a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix +++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.4.nix @@ -1,44 +1,38 @@ -{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake, enableDoc ? false }: +{ stdenv, fetchFromGitHub, emacs, texinfo, texLive, which, automake, enableDoc ? false }: -stdenv.mkDerivation (rec { - name = "ProofGeneral-4.3pre150313"; +stdenv.mkDerivation rec { + name = "ProofGeneral-${version}"; + version = "4.4"; - src = fetchurl { - url = "http://proofgeneral.inf.ed.ac.uk/releases/${name}.tgz"; - sha256 = "1jq5ykkk14xr5qcn4kyxmi5ls0fibr0y47gfygzm1mzrfvz9aw3f"; + src = fetchFromGitHub { + owner = "ProofGeneral"; + repo = "PG"; + rev = "v${version}"; + sha256 = "0bdfk91wf71z80mdfnl8hpinripndcjgdkz854zil6521r84nqk8"; }; - sourceRoot = name; - - buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive; + buildInputs = [ emacs which ] ++ stdenv.lib.optionals enableDoc [ texinfo texLive ]; prePatch = '' sed -i "Makefile" \ -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \ s|/sbin/install-info|install-info|g" - sed -i "bin/proofgeneral" -e's/which/type -p/g' - # @image{ProofGeneral} fails, so remove it. - sed -i '94d' doc/PG-adapting.texi + chmod +x bin/proofgeneral + + # @image{ProofGeneral-image} fails, so remove it. + sed -i '91d' doc/PG-adapting.texi sed -i '96d' doc/ProofGeneral.texi + '' + stdenv.lib.optionalString enableDoc + # Copy `texinfo.tex' in the right place so that `texi2pdf' works. + '' cp -v "${automake}/share/"automake-*/texinfo.tex doc ''; patches = [ ./pg.patch ]; - preBuild = '' - make clean; - ''; - - installPhase = - if enableDoc - then - # Copy `texinfo.tex' in the right place so that `texi2pdf' works. - '' cp -v "${automake}/share/"automake-*/texinfo.tex doc - make install install-doc - '' - else "make install"; + installTargets = [ "install" ] ++ stdenv.lib.optional enableDoc "install-doc"; meta = { description = "Proof General, an Emacs front-end for proof assistants"; @@ -50,4 +44,4 @@ stdenv.mkDerivation (rec { license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.unix; # arbitrary choice }; -}) +} diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix index 4a729ba3da3..08223ef82ef 100644 --- a/pkgs/applications/editors/emacs/default.nix +++ b/pkgs/applications/editors/emacs/default.nix @@ -6,6 +6,7 @@ , withGTK2 ? true, gtk2 ? null , withGTK3 ? false, gtk3 ? null , withXwidgets ? false, webkitgtk24x ? null, wrapGAppsHook ? null, glib_networking ? null +, withCsrc ? true , srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null }: @@ -24,7 +25,9 @@ let else "lucid"; in stdenv.mkDerivation rec { - name = "emacs-25.1"; + name = "emacs-${version}${versionModifier}"; + version = "25.1"; + versionModifier = ""; src = fetchurl { url = "mirror://gnu//emacs/${name}.tar.xz"; @@ -71,9 +74,23 @@ stdenv.mkDerivation rec { done ''; + installTargets = "tags install"; + postInstall = '' - mkdir -p $out/share/emacs/site-lisp/ + mkdir -p $out/share/emacs/site-lisp cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el + $out/bin/emacs --batch -f batch-byte-compile $out/share/emacs/site-lisp/site-start.el + + rm -rf $out/var + rm -rf $out/share/emacs/${version}/site-lisp + '' + lib.optionalString withCsrc '' + for srcdir in src lisp lwlib ; do + dstdir=$out/share/emacs/${version}/$srcdir + mkdir -p $dstdir + find $srcdir -name "*.[chm]" -exec cp {} $dstdir \; + cp $srcdir/TAGS $dstdir + echo '((nil . ((tags-file-name . "TAGS"))))' > $dstdir/.dir-locals.el + done '' + lib.optionalString stdenv.isDarwin '' mkdir -p $out/Applications mv nextstep/Emacs.app $out/Applications diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el index 023d6412ed8..b41ca92db08 100644 --- a/pkgs/applications/editors/emacs/site-start.el +++ b/pkgs/applications/editors/emacs/site-start.el @@ -1,4 +1,4 @@ -;; NixOS specific load-path +;;; NixOS specific load-path (setq load-path (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/")) (split-string (or (getenv "NIX_PROFILES") "")))) @@ -11,7 +11,25 @@ (split-string (or (getenv "NIX_PROFILES") "")))) woman-manpath))) -;; Make tramp work for remote NixOS machines -;;; NOTE: You might want to add +;;; Make tramp work for remote NixOS machines (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin")) + +;;; C source directory +;;; +;;; Computes the location of the C source directory from the path of +;;; the current file: +;;; from: /nix/store/-emacs-/share/emacs/site-lisp/site-start.el +;;; to: /nix/store/-emacs-/share/emacs//src/ +(let ((emacs + (file-name-directory ;; .../emacs/ + (directory-file-name ;; .../emacs/site-lisp + (file-name-directory load-file-name)))) ;; .../emacs/site-lisp/ + (version + (file-name-as-directory + (concat + (number-to-string emacs-major-version) + "." + (number-to-string emacs-minor-version)))) + (src (file-name-as-directory "src"))) + (setq find-function-C-source-directory (concat emacs version src))) diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 40972f50fe7..325345e8718 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -240,24 +240,24 @@ in pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "2016.2.2"; + version = "2016.2.3"; description = "PyCharm Community Edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "1v6vy4xh0n8wdjc25clxg57z7ria11x1zdba4j1hjs2z6l80kxbb"; + sha256 = "0nph0dp0a2y6vrbc1a2d5iy1fzhm4wbkp6kpdk6mcfpnz5ppz84f"; }; wmClass = "jetbrains-pycharm-ce"; }; pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "2016.2.2"; + version = "2016.2.3"; description = "PyCharm Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "08x2x6lhr9100lmw1dq8rkz4mlyj4avcj2hpbd5qqybx9j4g6g44"; + sha256 = "0pjgdwpkbf6fgrhml97inmsjavz1n9l4ns1pnhv3mssnribg3vm1"; }; wmClass = "jetbrains-pycharm"; }; diff --git a/pkgs/applications/graphics/rawtherapee/ReleaseInfo.cmake b/pkgs/applications/graphics/rawtherapee/ReleaseInfo.cmake index 28096618c9e..7be7cb63f70 100644 --- a/pkgs/applications/graphics/rawtherapee/ReleaseInfo.cmake +++ b/pkgs/applications/graphics/rawtherapee/ReleaseInfo.cmake @@ -1,4 +1,4 @@ set(GIT_BRANCH master) -set(GIT_VERSION 4.2.1050) -set(GIT_CHANGESET 2d0e5e4feeac9801994d82c5931531f508deb2e9) -set(GIT_TAGDISTANCE 1050) +set(GIT_VERSION 4.2.1115) +set(GIT_CHANGESET 0821eea7b6a4ac2fce1fcf644e06078e161e41e3) +set(GIT_TAGDISTANCE 1115) diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix index 14cbf478bd4..50eb7749031 100644 --- a/pkgs/applications/graphics/rawtherapee/default.nix +++ b/pkgs/applications/graphics/rawtherapee/default.nix @@ -16,6 +16,10 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig cmake pixman libpthreadstubs gtkmm2 libXau libXdmcp lcms2 libiptcdata libcanberra_gtk2 fftw expat pcre libsigcxx ]; + patches = [ + ./fix-glibmm-output.patch + ]; + cmakeFlags = [ "-DPROC_TARGET_NUMBER=2" ]; diff --git a/pkgs/applications/graphics/rawtherapee/dev.nix b/pkgs/applications/graphics/rawtherapee/dev.nix index 2d664e5cf15..71e41faaaef 100644 --- a/pkgs/applications/graphics/rawtherapee/dev.nix +++ b/pkgs/applications/graphics/rawtherapee/dev.nix @@ -3,13 +3,13 @@ }: stdenv.mkDerivation rec { - name = "rawtherapee-git-2016-09-21"; + name = "rawtherapee-git-2016-10-10"; src = fetchFromGitHub { owner = "Beep6581"; repo = "RawTherapee"; - rev = "2d0e5e4feeac9801994d82c5931531f508deb2e9"; - sha256 = "1d9bi3b6cslm0rhhqf0rx47nlnsnky284vqsxyq3mss6bd8880xh"; + rev = "0821eea7b6a4ac2fce1fcf644e06078e161e41e3"; + sha256 = "1nwb6b1qrpdyigwig7bvr42lf7na1ngm0q2cislcvb2v1nmk6nlz"; }; buildInputs = [ pkgconfig cmake pixman libpthreadstubs gtkmm2 libXau libXdmcp diff --git a/pkgs/applications/graphics/rawtherapee/fix-glibmm-output.patch b/pkgs/applications/graphics/rawtherapee/fix-glibmm-output.patch new file mode 100644 index 00000000000..3c87ce64e26 --- /dev/null +++ b/pkgs/applications/graphics/rawtherapee/fix-glibmm-output.patch @@ -0,0 +1,23 @@ +From ca0afa8d5f3cc7d09b6bab32d155a87c550f0d7b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fl=C3=B6ssie?= +Date: Sat, 1 Oct 2016 12:38:24 +0200 +Subject: [PATCH] Fix incompatibility with glibmm 2.50 (#3440) + +Kudos to @Hombre57 for the suggestion. +--- + rtgui/dirbrowser.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rtgui/dirbrowser.cc b/rtgui/dirbrowser.cc +index d3fc8bf..6f25f0f 100644 +--- a/rtgui/dirbrowser.cc ++++ b/rtgui/dirbrowser.cc +@@ -59,7 +59,7 @@ std::vector listSubDirs (const Glib::RefPtr& dir, bool + } catch (const Glib::Exception& exception) { + + if (options.rtSettings.verbose) { +- std::cerr << "Failed to list subdirectories of \"" << dir << "\": " << exception.what () << std::endl; ++ std::cerr << "Failed to list subdirectories of \"" << dir->get_basename() << "\": " << exception.what () << std::endl; + } + + } diff --git a/pkgs/applications/misc/electrum-dash/default.nix b/pkgs/applications/misc/electrum-dash/default.nix index 1a843661f4c..7abeaf57b64 100644 --- a/pkgs/applications/misc/electrum-dash/default.nix +++ b/pkgs/applications/misc/electrum-dash/default.nix @@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec { dns ecdsa pbkdf2 - protobuf + protobuf3_0 pyasn1 pyasn1-modules pycrypto diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index d5442a2ded8..9e4afc0ae90 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -1,21 +1,5 @@ { stdenv, fetchurl, pythonPackages }: -let - jsonrpclib = pythonPackages.buildPythonPackage rec { - version = "0.1.7"; - name = "jsonrpclib-${version}"; - src = fetchurl { - url = "mirror://pypi/j/jsonrpclib/${name}.tar.gz"; - sha256 = "02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z"; - }; - propagatedBuildInputs = [ pythonPackages.cjson ]; - meta = { - homepage = https://pypi.python.org/pypi/jsonrpclib; - license = stdenv.lib.licenses.asl20; - }; - }; -in - pythonPackages.buildPythonApplication rec { name = "electrum-${version}"; version = "2.6.4"; @@ -30,7 +14,7 @@ pythonPackages.buildPythonApplication rec { ecdsa jsonrpclib pbkdf2 - protobuf + protobuf3_0 pyasn1 pyasn1-modules pycrypto @@ -61,14 +45,14 @@ pythonPackages.buildPythonApplication rec { ''; meta = with stdenv.lib; { - description = "Bitcoin thin-client"; + description = "A lightweight Bitcoin wallet"; longDescription = '' An easy-to-use Bitcoin client featuring wallets generated from mnemonic seeds (in addition to other, more advanced, wallet options) and the ability to perform transactions without downloading a copy of the blockchain. ''; - homepage = https://electrum.org; + homepage = https://electrum.org/; license = licenses.mit; maintainers = with maintainers; [ ehmry joachifm np ]; }; diff --git a/pkgs/applications/misc/fehlstart/default.nix b/pkgs/applications/misc/fehlstart/default.nix index 35b66299c06..548679e4b47 100644 --- a/pkgs/applications/misc/fehlstart/default.nix +++ b/pkgs/applications/misc/fehlstart/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Small desktop application launcher with reasonable memory footprint"; homepage = https://gitlab.com/fehlstart/fehlstart; - licence = licenses.gpl3; + license = licenses.gpl3; maintainers = [ maintainers.mounium ]; platforms = platforms.all; }; diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix index 069d07bd82a..a858fefa8c2 100644 --- a/pkgs/applications/misc/get_iplayer/default.nix +++ b/pkgs/applications/misc/get_iplayer/default.nix @@ -1,30 +1,33 @@ -{stdenv, fetchurl, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, vlc, rtmpdump}: -buildPerlPackage { - name = "get_iplayer-2.94"; +{stdenv, fetchurl, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, rtmpdump}: +buildPerlPackage rec { + name = "get_iplayer-${version}"; + version = "2.97"; buildInputs = [makeWrapper perl]; - propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP XMLSimple]; + propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP XMLLibXML XMLSimple]; preConfigure = "touch Makefile.PL"; doCheck = false; outputs = [ "out" "man" ]; - patchPhase = '' - sed -e 's|^update_script|#update_script|' \ - -e '/WARNING.*updater/d' \ - -i get_iplayer - ''; - - installPhase = '' + installPhase = '' mkdir -p $out/bin $out/share/man/man1 cp get_iplayer $out/bin - wrapProgram $out/bin/get_iplayer --suffix PATH : ${stdenv.lib.makeBinPath [ ffmpeg flvstreamer vlc rtmpdump ]} --prefix PERL5LIB : $PERL5LIB + wrapProgram $out/bin/get_iplayer --suffix PATH : ${stdenv.lib.makeBinPath [ atomicparsley ffmpeg flvstreamer rtmpdump ]} --prefix PERL5LIB : $PERL5LIB cp get_iplayer.1 $out/share/man/man1 ''; src = fetchurl { - url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.94.tar.gz; - sha256 = "16p0bw879fl8cs6rp37g1hgrcai771z6rcqk2nvm49kk39dx1zi4"; + url = "https://github.com/get-iplayer/get_iplayer/archive/v${version}.tar.gz"; + sha256 = "0bb6kmzjmazwfxq5ip7yxm39vssfgz3v5vfx1114wfssp6pw0r44"; + }; + + meta = { + description = "Downloads TV and radio from BBC iPlayer"; + license = stdenv.lib.licenses.gpl3Plus; + homepage = https://squarepenguin.co.uk/; + downloadPage = https://github.com/get-iplayer/get_iplayer/releases; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix index b39b73c830f..fa0097272ff 100644 --- a/pkgs/applications/misc/octoprint/default.nix +++ b/pkgs/applications/misc/octoprint/default.nix @@ -1,6 +1,41 @@ -{ stdenv, fetchFromGitHub, pythonPackages }: +{ stdenv, fetchFromGitHub, pythonPackages, fetchurl }: -pythonPackages.buildPythonApplication rec { +let + + tornado_4_0_1 = pythonPackages.buildPythonPackage rec { + name = "tornado-${version}"; + version = "4.0.1"; + + propagatedBuildInputs = with pythonPackages; [ backports_ssl_match_hostname_3_4_0_2 certifi ]; + + src = fetchurl { + url = "mirror://pypi/t/tornado/${name}.tar.gz"; + sha256 = "00crp5vnasxg7qyjv89qgssb69vd7qr13jfghdryrcbnn9l8c1df"; + }; + }; + + sockjs-tornado = pythonPackages.buildPythonPackage rec { + name = "sockjs-tornado-${version}"; + version = "1.0.2"; + + src = fetchurl { + url = "mirror://pypi/s/sockjs-tornado/${name}.tar.gz"; + sha256 = "15lcy40h2cm0l8aknbrk48p2sni5wzybsqjx1hxwpk9lfa1xryyv"; + }; + + # This is needed for compatibility with OctoPrint + propagatedBuildInputs = [ tornado_4_0_1 ]; + + meta = with stdenv.lib; { + description = "SockJS python server implementation on top of Tornado framework"; + homepage = http://github.com/mrjoes/sockjs-tornado/; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ abbradar ]; + }; + }; + +in pythonPackages.buildPythonApplication rec { name = "OctoPrint-${version}"; version = "1.2.15"; diff --git a/pkgs/applications/misc/pcmanfm-qt/default.nix b/pkgs/applications/misc/pcmanfm-qt/default.nix deleted file mode 100644 index 5b270f15fb6..00000000000 --- a/pkgs/applications/misc/pcmanfm-qt/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ stdenv -, fetchFromGitHub -, cmake -, pkgconfig -, qt5 -, menu-cache -, libfm -, elementary-icon-theme -}: - -let - version = "0.11.0"; - - buildInputsCommon = [ cmake pkgconfig qt5.qtbase qt5.qttools qt5.qtx11extras menu-cache libfm ]; - - libfm-qt = stdenv.mkDerivation rec { - name = "${pname}-${version}"; - pname = "libfm-qt"; - - src = fetchFromGitHub { - owner = "lxde"; - repo = pname; - rev = version; - sha256 = "0a8rd0m66l6n2jl7fin74byyy69pyc6rgnfkpmkbi6561l903592"; - }; - - buildInputs = buildInputsCommon; - }; - -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - pname = "pcmanfm-qt"; - - src = fetchFromGitHub { - owner = "lxde"; - repo = pname; - rev = version; - sha256 = "139l8m32sqcjmydppbv24iqnfsbl5b4rqmqzdayvlh6haf1ihinn"; - }; - - - buildInputs = buildInputsCommon ++ [ libfm-qt qt5.makeQtWrapper ]; - - postPatch = '' - substituteInPlace pcmanfm/settings.cpp --replace \"elementary\" \"Elementary\" - ''; - - postInstall = '' - wrapQtProgram $out/bin/pcmanfm-qt \ - --prefix XDG_DATA_DIRS : "${elementary-icon-theme}/share" - ''; - - meta = with stdenv.lib; { - homepage = "https://github.com/lxde/pcmanfm-qt"; - license = licenses.gpl2Plus; - description = "File manager with QT interface"; - maintainers = with maintainers; [ obadz ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix index cca8d05ea5c..eee2dffb0e1 100644 --- a/pkgs/applications/misc/qtpass/default.nix +++ b/pkgs/applications/misc/qtpass/default.nix @@ -1,12 +1,14 @@ -{ stdenv, fetchzip, git, gnupg, makeQtWrapper, pass, qtbase, qtsvg, qttools, qmakeHook }: +{ stdenv, fetchFromGitHub, git, gnupg, makeQtWrapper, pass, qtbase, qtsvg, qttools, qmakeHook }: stdenv.mkDerivation rec { name = "qtpass-${version}"; - version = "1.1.3"; + version = "1.1.4"; - src = fetchzip { - url = "https://github.com/IJHack/qtpass/archive/v${version}.tar.gz"; - sha256 = "114rqvd2jl98c75zmhdwfmp44kxa4v459naiivb4w020d60ziq7l"; + src = fetchFromGitHub { + owner = "IJHack"; + repo = "QtPass"; + rev = "v${version}"; + sha256 = "0jxb15jn6vv54wb2z52wv9b2mq38xff8akyzwj5xx2332bc9xra2"; }; buildInputs = [ git gnupg pass qtbase qtsvg qttools ]; diff --git a/pkgs/applications/misc/styx/default.nix b/pkgs/applications/misc/styx/default.nix new file mode 100644 index 00000000000..29d7067e235 --- /dev/null +++ b/pkgs/applications/misc/styx/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, caddy, asciidoctor }: + +stdenv.mkDerivation rec { + name = "styx-${version}"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "styx-static"; + repo = "styx"; + rev = "v${version}"; + sha256 = "1bcd0ss628mhchrl85fy6acxcxqvm1d3qywfaxhikahl1r7inpwg"; + }; + + server = caddy.bin; + + nativeBuildInputs = [ asciidoctor ]; + + setSourceRoot = "cd styx-*/src; export sourceRoot=`pwd`"; + + installPhase = '' + mkdir $out + install -D -m 777 $sourceRoot/styx.sh $out/bin/styx + + mkdir -p $out/share/styx + cp -r $sourceRoot/sample $out/share/styx + + mkdir -p $out/share/doc/styx + asciidoctor $sourceRoot/doc/manual.doc -o $out/share/doc/styx/index.html + + substituteAllInPlace $out/bin/styx + substituteAllInPlace $out/share/doc/styx/index.html + ''; + + meta = with stdenv.lib; { + description = "Nix based static site generator"; + maintainers = with maintainers; [ ericsagnes ]; + homepage = https://styx-static.github.io/styx-site/; + downloadPage = https://github.com/styx-static/styx/; + platforms = platforms.all; + license = licenses.mit; + }; +} diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix index 9283469fcc3..333ed411941 100644 --- a/pkgs/applications/misc/tasksh/default.nix +++ b/pkgs/applications/misc/tasksh/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "tasksh-${version}"; - version = "1.0.0"; + version = "1.1.0"; enableParallelBuilding = true; src = fetchurl { - url = "http://taskwarrior.org/download/tasksh-latest.tar.gz"; - sha256 = "0ll6pwhw4wsdffacsmpq46fqh084p9mdaa777giqbag3b8gwik4s"; + url = "http://taskwarrior.org/download/${name}.tar.gz"; + sha256 = "0900nzfgvhcc106pl68d0v0qszvdc34yi59mw70b34b2gmkwdxzf"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index 567a6aa7d18..dfac55a18b6 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -1,18 +1,18 @@ # This file is autogenerated from update.sh in the same directory. { beta = { - sha256 = "1wpcl6cgiv02s3zgxvgsmrws454g81lnvyfjmhhcdckkwyljcv5l"; - sha256bin64 = "0snr5rd2r5jfjqhqwkxcw26j53fivmf60g3qfnp5xz5b6nlsab9g"; - version = "54.0.2840.34"; + sha256 = "0f6cqvhlg06lrf4bzaiwzm9yi3fi1dk5jrzvjcg7alw3mzrmh2wv"; + sha256bin64 = "02cv9vc1l2nlwa4a0lc7cj9c9czrwp1jd8d024bq16a5fvmhl01l"; + version = "54.0.2840.50"; }; dev = { - sha256 = "1lbpj1wm35l2qf4fxfivd9drwwdrylv3knh8db889dyz5hrh3j5y"; - sha256bin64 = "0rkvrrcr1j9662v00kf7x7qmdps1pd4hq818x7crkilczybd05pr"; - version = "55.0.2868.3"; + sha256 = "06kcymwi0wfir7w10g8viayk2h0b5a66dav76mlia4lm30p502kz"; + sha256bin64 = "0mgamiffnnkaw8c68b5kyna84x7hlhrzmqfc36kzf434fmm8v5d6"; + version = "55.0.2873.0"; }; stable = { - sha256 = "0qk0y457l91yzxradpinayzw3947s5s4axd75h968vrl0jan51vs"; - sha256bin64 = "0sz4dfwxvkffcj4rrqh3vn2xxp2vvjzdjsy0s9wcvam01igmy261"; - version = "53.0.2785.116"; + sha256 = "1hyw0z7dsfaxyy8b4mvnfjy5yj0160hzz9m0wj3vn9zvkfvmhan5"; + sha256bin64 = "0n0px7yi94gdxq7p6pjqfdz04bnh3mcvbaccjaglj6h5p0jc8abq"; + version = "53.0.2785.143"; }; } diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index d12c3722e40..1f3b3977e8f 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -141,8 +141,8 @@ in { firefox-unwrapped = common { pname = "firefox"; - version = "49.0"; - sha512 = "9431f86dec5587131699ae57ae428be168e4d6c7d1d48df643c10540e8e18bc5eadfcd08bb204950be611c87d35d8a40aa8ece454b7dfa3992239639c2d688a9"; + version = "49.0.1"; + sha512 = "0b1lmsxazd32xxlbbzg01xam7qc9m7abv6fnl1ixv4dz0xpfc88l1zikskghhdk9snzglyl3lidgnbkli9039g3gf9m06yv77gasmkg"; }; firefox-esr-unwrapped = common { diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix index 39a91739468..81fca6614a5 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -70,11 +70,11 @@ let in stdenv.mkDerivation rec { name = "flashplayer-${version}"; - version = "11.2.202.635"; + version = "11.2.202.637"; src = fetchurl { url = "https://fpdownload.macromedia.com/pub/flashplayer/installers/archive/fp_${version}_archive.zip"; - sha256 = "0xlaf6152ksknigrv6fsasscyfnjkxml4nl22apiwzb34nrbzk3m"; + sha256 = "0xp1pxhrnam4yi8wfwaifqx7m2im0zx2xv8xgbdm0llrzbkc57mh"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix new file mode 100644 index 00000000000..80747e44bf5 --- /dev/null +++ b/pkgs/applications/networking/cluster/kops/default.nix @@ -0,0 +1,31 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }: + +buildGoPackage rec { + name = "kops-${version}"; + version = "1.4.0"; + rev = "v${version}"; + + goPackagePath = "k8s.io/kops"; + + src = fetchFromGitHub { + inherit rev; + owner = "kubernetes"; + repo = "kops"; + sha256 = "1jwgn7l8c639j5annwymqjdw5mcajwn58y21042jy5lhgdh8pdf5"; + }; + + buildInputs = [go-bindata]; + subPackages = ["cmd/kops"]; + + preBuild = '' + (cd go/src/k8s.io/kops + go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...) + ''; + + meta = with stdenv.lib; { + description = "Easiest way to get a production Kubernetes up and running"; + homepage = https://github.com/kubernetes/kops; + license = licenses.asl20; + maintainers = with maintainers; [offline]; + }; +} diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index 51e7e671175..90c6bce6506 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -23,11 +23,11 @@ let # NOTE: When updating, please also update in current stable, # as older versions stop working - version = "11.4.21"; + version = "11.4.22"; sha256 = { - "x86_64-linux" = "179ajawqy43jhgvysc386hdyz9hdandwvh8m2y2rassvycn9kr8z"; - "i686-linux" = "1y4z9rb06f2a3cj51xawgpzgar9x7gvr4jrazncqfpfqkv7zayv1"; + "x86_64-linux" = "1fpwknf8as2h6d8d11nb8i0q4ap5r6fvii919b3pj5d29jgfd25l"; + "i686-linux" = "1dv60ijb93464js34vk3l8hm8a57zdpkzhrfkv2kp3v3172cqj8s"; }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); arch = diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index 8a7d2bbd126..9f2fee47d8d 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -4,7 +4,7 @@ let - version = "2.1.2"; + version = "2.2.1"; rpath = stdenv.lib.makeLibraryPath [ alsaLib @@ -43,7 +43,7 @@ let if stdenv.system == "x86_64-linux" then fetchurl { url = "https://slack-ssb-updates.global.ssl.fastly.net/linux_releases/slack-desktop-${version}-amd64.deb"; - sha256 = "0bmz9d0p6676lzl4qxy6xmcampr2ilkc0mhh67860kcxjaz6sms6"; + sha256 = "1x08bmkanllv3lpi2s722xs7qia8igf6zxzkc3g7vs5jms3mdrad"; } else throw "Slack is not supported on ${stdenv.system}"; diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index d5bda113ba8..2bc9b3babbd 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -20,11 +20,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "mutt-${version}"; - version = "1.7.0"; + version = "1.7.1"; src = fetchurl { url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz"; - sha256 = "0idkamdiwj9fgqaz1vzkfg78cnmkzp74skv0ibw2xjfq6ds9hghx"; + sha256 = "1pyns0xw52s4yma1a93pdcl4dirs55q2m1hd7w1r11nlhf7giip9"; }; buildInputs = diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 49b969e8f6b..3d8733635ee 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, go }: stdenv.mkDerivation rec { - version = "0.14.7"; + version = "0.14.8"; name = "syncthing-${version}"; src = fetchFromGitHub { owner = "syncthing"; repo = "syncthing"; rev = "v${version}"; - sha256 = "1mcn2vmv3hvp0ni9jxbjj3qp0l6ls07qmq33amhvjhpfafqzn279"; + sha256 = "0zhxgl6pgf60x99cappdfzk7h23g37hlanh72bwypx7pwbvhc91l"; }; buildInputs = [ go ]; diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix index d592e149588..e1c80c50ee5 100644 --- a/pkgs/applications/office/scribus/default.nix +++ b/pkgs/applications/office/scribus/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2 -, libart_lgpl, qt4, python, cups, fontconfig, libjpeg +, libart_lgpl, qt4, pythonFull, cups, fontconfig, libjpeg , zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = with xorg; [ pkgconfig cmake freetype lcms libtiff libxml2 libart_lgpl qt4 - python cups fontconfig + pythonFull cups fontconfig libjpeg zlib libpng podofo aspell cairo boost # for internal 2geom library libXaw libXext libX11 libXtst libXi libXinerama diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 38ba14e83cf..6c421117807 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -14,8 +14,8 @@ let substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp" substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true" '' else ""; -in +self = stdenv.mkDerivation { name = "coq-${version}"; @@ -62,6 +62,22 @@ stdenv.mkDerivation { envHooks=(''${envHooks[@]} addCoqPath) ''; + passthru = { + emacsBufferSetup = pkgs: '' + ; Propagate coq paths to children + (inherit-local-permanent coq-prog-name "${self}/bin/coqtop") + (inherit-local-permanent coq-dependency-analyzer "${self}/bin/coqdep") + (inherit-local-permanent coq-compiler "${self}/bin/coqc") + ; If the coq-library path was already set, re-set it based on our current coq + (when (fboundp 'get-coq-library-directory) + (inherit-local-permanent coq-library-directory (get-coq-library-directory)) + (coq-prog-args)) + ; Pass proof-general's coq flags to flycheck command (pretty ugly, should probably be part of PG) + (inherit-local-permanent flycheck-command-wrapper-function (lambda (cmd) + (append (funcall (default-value 'flycheck-command-wrapper-function) cmd) (coq-coqtop-prog-args coq-load-path)))) + ''; + }; + meta = with stdenv.lib; { description = "Formal proof management system"; longDescription = '' @@ -76,4 +92,4 @@ stdenv.mkDerivation { maintainers = with maintainers; [ roconnor thoughtpolice vbgl ]; platforms = platforms.unix; }; -} +}; in self diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix index ba53994d44c..f8ac8c385e6 100644 --- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "git-extras-${version}"; - version = "4.1.0"; + version = "4.2.0"; src = fetchurl { url = "https://github.com/tj/git-extras/archive/${version}.tar.gz"; - sha256 = "d4c028e2fe78abde8f3e640b70f431318fb28d82894dde22772efe8ba3563f85"; + sha256 = "0pr2vf5rajkwjm45zvnwkc13kvk3kyr18axxvmm8drsqdkr8lrjk"; }; phases = [ "unpackPhase" "installPhase" ]; diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix index 7990f996ec3..e1ce841ede2 100644 --- a/pkgs/applications/version-management/yadm/default.nix +++ b/pkgs/applications/version-management/yadm/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation { a specific OS or host. Supplies a method of encrypting confidential data so it can safely be stored in your repository. ''; - licence = stdenv.lib.licenses.gpl3; + license = stdenv.lib.licenses.gpl3; platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix index 9f257cde21f..1dbe34553b0 100644 --- a/pkgs/applications/video/handbrake/default.nix +++ b/pkgs/applications/video/handbrake/default.nix @@ -44,7 +44,6 @@ stdenv.mkDerivation rec { lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264 x265 libvpx ] ++ buildInputsX; - src = fetchurl { url = "http://download.handbrake.fr/releases/${version}/HandBrake-${version}.tar.bz2"; sha256 = "1w720y3bplkz187wgvy4a4xm0vpppg45mlni55l6yi8v2bfk14pv"; @@ -75,6 +74,11 @@ stdenv.mkDerivation rec { cd build ''; + LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ x265 ]; + preFixup = '' + gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}") + ''; + meta = { homepage = http://handbrake.fr/; description = "A tool for ripping DVDs into video files"; diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix index efab9703df3..34c5650e9f7 100644 --- a/pkgs/applications/video/shotcut/default.nix +++ b/pkgs/applications/video/shotcut/default.nix @@ -5,11 +5,11 @@ qmakeHook, makeQtWrapper }: stdenv.mkDerivation rec { name = "shotcut-${version}"; - version = "16.08"; + version = "16.10"; src = fetchurl { url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz"; - sha256 = "10f32mfj3f8mjp0yi0jb7wc5d3inycn5c1pvqdagjhyyv3rvx9zy"; + sha256 = "0brskci86bwdj2ahjfvv3v254ligjn97bm0f6c8yg46r0jb8q5xw"; }; buildInputs = [ SDL frei0r gettext mlt pkgconfig qtbase qtmultimedia qtwebkit diff --git a/pkgs/applications/window-managers/lemonbar/default.nix b/pkgs/applications/window-managers/lemonbar/default.nix index 042abf09dad..27cb564d2c6 100644 --- a/pkgs/applications/window-managers/lemonbar/default.nix +++ b/pkgs/applications/window-managers/lemonbar/default.nix @@ -1,27 +1,22 @@ -{ stdenv, fetchFromGitHub, perl, libxcb }: +{ stdenv, fetchurl, perl, libxcb }: -let - version = "1.2pre"; -in - stdenv.mkDerivation rec { - name = "lemonbar-${version}"; +stdenv.mkDerivation rec { + name = "lemonbar-1.2"; - src = fetchFromGitHub { - owner = "LemonBoy"; - repo = "bar"; - rev = "61985278f2af1e4e85d63a696ffedc5616b06bc0"; - sha256 = "0a8djlayimjdg5fj50lpifsv6gkb577bca68wmk9wg9y9n27pgay"; - }; + src = fetchurl { + url = "https://github.com/LemonBoy/bar/archive/v1.2.tar.gz"; + sha256 = "1smz8lh930bnb6a4lrm07l3z2k071kc8p2pljk5wsrch3x2xhimq"; + }; - buildInputs = [ libxcb perl ]; + buildInputs = [ libxcb perl ]; - prePatch = ''sed -i "s@/usr@$out@" Makefile''; + prePatch = ''sed -i "s@/usr@$out@" Makefile''; - meta = with stdenv.lib; { - description = "A lightweight xcb based bar"; - homepage = https://github.com/LemonBoy/bar; - maintainers = [ maintainers.meisternu ]; - license = "Custom"; - platforms = platforms.linux; - }; + meta = with stdenv.lib; { + description = "A lightweight xcb based bar"; + homepage = https://github.com/LemonBoy/bar; + maintainers = [ maintainers.meisternu ]; + license = "Custom"; + platforms = platforms.linux; + }; } diff --git a/pkgs/applications/window-managers/lemonbar/xft.nix b/pkgs/applications/window-managers/lemonbar/xft.nix index f5dd944a43d..132c10ae973 100644 --- a/pkgs/applications/window-managers/lemonbar/xft.nix +++ b/pkgs/applications/window-managers/lemonbar/xft.nix @@ -1,27 +1,24 @@ { stdenv, fetchFromGitHub, perl, libxcb, libXft }: -let - version = "2015-07-23"; -in - stdenv.mkDerivation rec { - name = "bar-xft-git-${version}"; +stdenv.mkDerivation rec { + name = "lemonbar-xft-unstable-2016-02-17"; - src = fetchFromGitHub { - owner = "krypt-n"; - repo = "bar"; - rev = "3020df19232153f9e98ae0c8111db3de938a2719"; - sha256 = "0a54yr534jd4l5gjzpypc0y5lh2qb2wsrd662s84jjgq8bpss8av"; - }; + src = fetchFromGitHub { + owner = "krypt-n"; + repo = "bar"; + rev = "a43b801ddc0f015ce8b1211f4c062fad12cd63a9"; + sha256 = "0iqas07qjvabxyvna2m9aj5bcwnkdii1izl9jxha63vz0zlsc4gd"; + }; - buildInputs = [ libxcb libXft perl ]; + buildInputs = [ libxcb libXft perl ]; - prePatch = ''sed -i "s@/usr@$out@" Makefile''; + prePatch = ''sed -i "s@/usr@$out@" Makefile''; - meta = { - description = "A lightweight xcb based bar with XFT-support"; - homepage = https://github.com/krypt-n/bar; - maintainers = [ stdenv.lib.maintainers.hiberno ]; - license = "Custom"; - platforms = stdenv.lib.platforms.linux; - }; + meta = { + description = "A lightweight xcb based bar with XFT-support"; + homepage = https://github.com/krypt-n/bar; + maintainers = [ stdenv.lib.maintainers.hiberno ]; + license = "Custom"; + platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/build-support/build-fhs-userenv/env.nix b/pkgs/build-support/build-fhs-userenv/env.nix index 1dc71987f54..8bc34d672c9 100644 --- a/pkgs/build-support/build-fhs-userenv/env.nix +++ b/pkgs/build-support/build-fhs-userenv/env.nix @@ -89,6 +89,7 @@ let # symlink other core stuff ln -s /host/etc/localtime localtime + ln -s /host/etc/zoneinfo zoneinfo ln -s /host/etc/machine-id machine-id ln -s /host/etc/os-release os-release diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 8a746ea016e..8a9bd3ecb4d 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -46,7 +46,20 @@ stdenv.mkDerivation { inherit cc shell libc_bin libc_dev libc_lib binutils_bin coreutils_bin; gnugrep_bin = if nativeTools then "" else gnugrep; - passthru = { inherit libc nativeTools nativeLibc nativePrefix isGNU isClang; }; + passthru = { + inherit libc nativeTools nativeLibc nativePrefix isGNU isClang; + + emacsBufferSetup = pkgs: '' + ; We should handle propagation here too + (mapc (lambda (arg) + (when (file-directory-p (concat arg "/include")) + (setenv "NIX_CFLAGS_COMPILE" (concat (getenv "NIX_CFLAGS_COMPILE") " -isystem " arg "/include"))) + (when (file-directory-p (concat arg "/lib")) + (setenv "NIX_LDFLAGS" (concat (getenv "NIX_LDFLAGS") " -L" arg "/lib"))) + (when (file-directory-p (concat arg "/lib64")) + (setenv "NIX_LDFLAGS" (concat (getenv "NIX_LDFLAGS") " -L" arg "/lib64")))) '(${concatStringsSep " " (map (pkg: "\"${pkg}\"") pkgs)})) + ''; + }; buildCommand = '' diff --git a/pkgs/build-support/emacs/buffer.nix b/pkgs/build-support/emacs/buffer.nix index 5632eae944c..e366fd1f739 100644 --- a/pkgs/build-support/emacs/buffer.nix +++ b/pkgs/build-support/emacs/buffer.nix @@ -1,23 +1,47 @@ # Functions to build elisp files to locally configure emcas buffers. # See https://github.com/shlevy/nix-buffer -{ lib, writeText }: +{ lib, writeText, inherit-local }: { withPackages = pkgs: let - coqs = builtins.filter (x: (builtins.parseDrvName x.name).name == "coq") pkgs; - coq = builtins.head coqs; - pg-setup = if builtins.length coqs == 0 then "" else '' - (setq-local coq-prog-name "${coq}/bin/coqtop") - (setq-local coq-dependency-analyzer "${coq}/bin/coqdep") - (setq-local coq-compiler "${coq}/bin/coqc") - (setq-local coq-library-directory (get-coq-library-directory)) - (coq-prog-args) - ''; + extras = map (x: x.emacsBufferSetup pkgs) (builtins.filter (builtins.hasAttr "emacsBufferSetup") pkgs); in writeText "dir-locals.el" '' + (require 'inherit-local "${inherit-local}/share/emacs/site-lisp/elpa/inherit-local-${inherit-local.version}/inherit-local.elc") + + ; Only set up nixpkgs buffer handling when we have some buffers active + (defvar nixpkgs--buffer-count 0) + (when (eq nixpkgs--buffer-count 0) + ; When generating a new temporary buffer (one whose name starts with a space), do inherit-local inheritance and make it a nixpkgs buffer + (defun nixpkgs--around-generate (orig name) + (if (eq (aref name 0) ?\s) + (let ((buf (funcall orig name))) + (when (inherit-local-inherit-child buf) + (with-current-buffer buf + (make-local-variable 'kill-buffer-hook) + (setq nixpkgs--buffer-count (1+ nixpkgs--buffer-count)) + (add-hook 'kill-buffer-hook 'nixpkgs--decrement-buffer-count))) + buf) + (funcall orig name))) + (advice-add 'generate-new-buffer :around #'nixpkgs--around-generate) + ; When we have no more nixpkgs buffers, tear down the buffer handling + (defun nixpkgs--decrement-buffer-count () + (setq nixpkgs--buffer-count (1- nixpkgs--buffer-count)) + (when (eq nixpkgs--buffer-count 0) + (advice-remove 'generate-new-buffer #'nixpkgs--around-generate) + (fmakunbound 'nixpkgs--around-generate) + (fmakunbound 'nixpkgs--decrement-buffer-count)))) + (setq nixpkgs--buffer-count (1+ nixpkgs--buffer-count)) + (make-local-variable 'kill-buffer-hook) + (add-hook 'kill-buffer-hook 'nixpkgs--decrement-buffer-count) + + ; Add packages to PATH and exec-path (make-local-variable 'process-environment) + (put 'process-environment 'permanent-local t) + (inherit-local 'process-environment) (setenv "PATH" (concat "${lib.makeSearchPath "bin" pkgs}:" (getenv "PATH"))) - (setq-local exec-path (append '(${builtins.concatStringsSep " " (map (p: "\"${p}/bin\"") pkgs)}) exec-path)) - ${pg-setup} + (inherit-local-permanent exec-path (append '(${builtins.concatStringsSep " " (map (p: "\"${p}/bin\"") pkgs)}) exec-path)) + + ${lib.concatStringsSep "\n" extras} ''; } diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index 45931e6914a..b13def07bb8 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -85,13 +85,14 @@ stdenv.mkDerivation { done siteStart="$out/share/emacs/site-lisp/site-start.el" + siteStartByteCompiled="$siteStart"c # A dependency may have brought the original siteStart, delete it and # create our own # Begin the new site-start.el by loading the original, which sets some # NixOS-specific paths. Paths are searched in the reverse of the order # they are specified in, so user and system profile paths are searched last. - rm -f $siteStart + rm -f $siteStart $siteStartByteCompiled cat >"$siteStart" < blacklist.txt + ${concatStringsSep "\n" (map (c: ''"${c}"'') blacklist)} + EOF + + cp ${certdata2pem} certdata2pem.py + ${optionalString includeEmail '' + # Disable CAs used for mail signing + substituteInPlace certdata2pem.py --replace \[\'CKA_TRUST_EMAIL_PROTECTION\'\] ''' + ''} ''; - nativeBuildInputs = [ curl perl ]; - buildPhase = '' - perl curl-*/lib/mk-ca-bundle.pl -d "file://$(pwd)/nss/lib/ckfw/builtins/certdata.txt" ca-bundle.crt + python certdata2pem.py | grep -vE '^(!|UNTRUSTED)' + + for cert in *.crt; do + echo $cert | cut -d. -f1 | sed -e 's,_, ,g' >> ca-bundle.crt + cat $cert >> ca-bundle.crt + echo >> ca-bundle.crt + done ''; installPhase = '' @@ -27,10 +51,10 @@ stdenv.mkDerivation rec { cp -v ca-bundle.crt $out/etc/ssl/certs ''; - meta = with stdenv.lib; { + meta = { homepage = http://curl.haxx.se/docs/caextract.html; description = "A bundle of X.509 certificates of public Certificate Authorities (CA)"; platforms = platforms.all; - maintainers = with maintainers; [ wkennington ]; + maintainers = with maintainers; [ wkennington fpletz ]; }; } diff --git a/pkgs/desktops/gnome-3/3.20/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.20/core/epiphany/default.nix index d50036a597e..13efcd61392 100644 --- a/pkgs/desktops/gnome-3/3.20/core/epiphany/default.nix +++ b/pkgs/desktops/gnome-3/3.20/core/epiphany/default.nix @@ -18,7 +18,8 @@ stdenv.mkDerivation rec { webkitgtk libsoup libsecret gnome_desktop libnotify libtool sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools gdk_pixbuf gnome3.defaultIconTheme librsvg which gnome_common - gcr avahi gnome3.gsettings_desktop_schemas gnome3.dconf ]; + gcr avahi gnome3.gsettings_desktop_schemas gnome3.dconf + gnome3.glib_networking ]; NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0"; diff --git a/pkgs/desktops/lxqt/base/liblxqt/default.nix b/pkgs/desktops/lxqt/base/liblxqt/default.nix new file mode 100644 index 00000000000..b973940b9b6 --- /dev/null +++ b/pkgs/desktops/lxqt/base/liblxqt/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt, xorg }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "liblxqt"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "12gla3pdg0n28w15qrmha83xm3021xdby8ydwp1qzcips5pa5zac"; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + qt5.qtx11extras + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + lxqt.libqtxdg + xorg.libXScrnSaver + ]; + + cmakeFlags = [ + "-DPULL_TRANSLATIONS=NO" + "-DLXQT_ETC_XDG_DIR=/run/current-system/sw/etc/xdg" + ]; + + patchPhase = '' + sed -i 's|set(LXQT_SHARE_DIR .*)|set(LXQT_SHARE_DIR "/run/current-system/sw/share/lxqt")|' CMakeLists.txt + ''; + + meta = with stdenv.lib; { + description = "Core utility library for all LXQt components"; + homepage = https://github.com/lxde/liblxqt; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/base/libqtxdg/default.nix b/pkgs/desktops/lxqt/base/libqtxdg/default.nix new file mode 100644 index 00000000000..47d3fb2e91c --- /dev/null +++ b/pkgs/desktops/lxqt/base/libqtxdg/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, cmake, qt5 }: + +stdenv.mkDerivation rec { + name = "libqtxdg-${version}"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "lxde"; + repo = "libqtxdg"; + rev = version; + sha256 = "1s5jw4q6gcivk7mc95ir9q2nry4yyhfwy039ddf5ymh79nynv8vy"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ qt5.qtbase qt5.qtsvg ]; + + meta = with stdenv.lib; { + description = "Qt implementation of freedesktop.org xdg specs"; + homepage = https://github.com/lxde/libqtxdg; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/base/libsysstat/default.nix b/pkgs/desktops/lxqt/base/libsysstat/default.nix new file mode 100644 index 00000000000..363b3d33d14 --- /dev/null +++ b/pkgs/desktops/lxqt/base/libsysstat/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, cmake, qt5 }: + +stdenv.mkDerivation rec { + name = "libsysstat-${version}"; + version = "0.3.2"; + + src = fetchFromGitHub { + owner = "lxde"; + repo = "libsysstat"; + rev = version; + sha256 = "1swpnz37daj3njkbqddmhaiipfl335c3g675y9afhabg7l4anf1n"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ qt5.qtbase ]; + + meta = with stdenv.lib; { + description = "Library used to query system info and statistics"; + homepage = https://github.com/lxde/libsysstat; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/libfm-qt/default.nix b/pkgs/desktops/lxqt/core/libfm-qt/default.nix new file mode 100644 index 00000000000..71b6cff5899 --- /dev/null +++ b/pkgs/desktops/lxqt/core/libfm-qt/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, lxqt, xorg, +libfm, menu-cache }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "libfm-qt"; + version = "0.11.1"; + + src = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "1kgvzjsa4ihlj2clz6y6s95nq0lhg66d1dhkgw3mdqaak7d0pdiz"; + }; + + nativeBuildInputs = [ + cmake + pkgconfig + lxqt.liblxqt + lxqt.libqtxdg + ]; + + buildInputs = [ + qt5.qtx11extras + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + xorg.libpthreadstubs + xorg.libXdmcp + libfm + menu-cache + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "Core library of PCManFM-Qt (Qt binding for libfm)"; + homepage = https://github.com/lxde/libfm-qt; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-about/default.nix b/pkgs/desktops/lxqt/core/lxqt-about/default.nix new file mode 100644 index 00000000000..3e3b047dd4e --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-about/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt, xorg }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-about"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "0739gp3af68cvf8fxqvd203xqzncglmxpklq8mryrs5f1xnqp6gc"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qt5.qtx11extras + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + postPatch = lxqt.standardPatch; + + meta = with stdenv.lib; { + description = "Dialogue window providing information about LXQt and the system it's running on"; + homepage = https://github.com/lxde/lxqt-about; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-admin/default.nix b/pkgs/desktops/lxqt/core/lxqt-admin/default.nix new file mode 100644 index 00000000000..da47e02dcf1 --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-admin/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt, xorg, polkit }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-admin"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "17g9v6dyqy5pgpqragpf0sgnfxz2ip2g7xix7kmkna3qyym44b23"; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + qt5.qtx11extras + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + polkit + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + postPatch = lxqt.standardPatch; + + meta = with stdenv.lib; { + description = "LXQt system administration tool"; + homepage = https://github.com/lxde/lxqt-admin; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-common/default.nix b/pkgs/desktops/lxqt/core/lxqt-common/default.nix new file mode 100644 index 00000000000..a4b8f000dc7 --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-common/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt, xorg, hicolor_icon_theme, xmessage }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-common"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "14nx3zcknwsn713wdnmb2xl15vf21vh13kxscdwmfnd48m5j4m3b"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qt5.qtx11extras + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + hicolor_icon_theme + xmessage + ]; + + postPatch = lxqt.standardPatch + + '' + substituteInPlace ./startlxqt.in \ + --replace "cp " "cp --no-preserve=mode " \ + --replace xmessage "${xmessage}"/bin/xmessage + ''; + + meta = with stdenv.lib; { + description = "Common files for LXQt"; + homepage = https://github.com/lxde/lxqt-common; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-config/default.nix b/pkgs/desktops/lxqt/core/lxqt-config/default.nix new file mode 100644 index 00000000000..66187a0ae6f --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-config/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, lxqt, xorg }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-config"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "187x19s0jw20an37v7svkry6p021ply4i3ngh5w2nx5rlqkf63qw"; + }; + + nativeBuildInputs = [ + cmake + pkgconfig + ]; + + buildInputs = [ + qt5.qtbase + qt5.qtx11extras + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + kde5.libkscreen + lxqt.liblxqt + lxqt.libqtxdg + xorg.libpthreadstubs + xorg.libXdmcp + xorg.libXScrnSaver + xorg.libxcb + xorg.libXcursor + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + postPatch = lxqt.standardPatch; + + meta = with stdenv.lib; { + description = "Tools to configure LXQt and the underlying operating system"; + homepage = https://github.com/lxde/lxqt-config; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/core/lxqt-globalkeys/default.nix new file mode 100644 index 00000000000..7f1f140653f --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-globalkeys/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-globalkeys"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "05kcq21fyz7vnhh9k4nzhskgbghp1slsz14gh9anhya4a567xx0y"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + postPatch = lxqt.standardPatch; + + meta = with stdenv.lib; { + description = "Daemon used to register global keyboard shortcuts"; + homepage = https://github.com/lxde/lxqt-globalkeys; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-l10n/default.nix b/pkgs/desktops/lxqt/core/lxqt-l10n/default.nix new file mode 100644 index 00000000000..477575289bb --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-l10n/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt }: + +stdenv.mkDerivation rec { + name = "lxqt-l10n-${version}"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "lxde"; + repo = "lxqt-l10n"; + rev = version; + sha256 = "1gwismyjfdd7lwlgfl5jvbxmkbq9v9ia0shm4f7hkkvlpc2y24gk"; + }; + + nativeBuildInputs = [ + cmake + qt5.qtbase + qt5.qtx11extras + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "$out"/share/lxqt/translations + ''; + + meta = with stdenv.lib; { + description = "Translations of LXQt"; + homepage = https://github.com/lxde/lxqt-l10n; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/core/lxqt-notificationd/default.nix new file mode 100644 index 00000000000..1ecef633494 --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-notificationd/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-notificationd"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "001xcvmg7ap5pbssc9pqp4jshgq2h4zxk9rra76xnrby6k8n6p3x"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "The LXQt notification daemon"; + homepage = https://github.com/lxde/lxqt-notificationd; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/core/lxqt-openssh-askpass/default.nix new file mode 100644 index 00000000000..202231fbdea --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-openssh-askpass/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-openssh-askpass"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "0nz8sv3yrqbzgmd6jahaqaa71axy5x06k091splp9cmab0vzng7c"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "GUI to query passwords on behalf of SSH agents"; + homepage = https://github.com/lxde/lxqt-openssh-askpass; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-panel/default.nix b/pkgs/desktops/lxqt/core/lxqt-panel/default.nix new file mode 100644 index 00000000000..d5786444fad --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-panel/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, lxqt, xorg, +libstatgrab, lm_sensors, libpulseaudio, alsaLib, menu-cache, +lxmenu-data }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-panel"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "0lwgz6nir4cd50xbmc3arngnw38rb5kqgcsgp3dlq6gpncg45hdq"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + qt5.libdbusmenu + kde5.kwindowsystem + kde5.solid + kde5.kguiaddons + lxqt.liblxqt + lxqt.libqtxdg + lxqt.lxqt-globalkeys + lxqt.libsysstat + xorg.libpthreadstubs + xorg.libXdmcp + libstatgrab + lm_sensors + libpulseaudio + alsaLib + menu-cache + lxmenu-data + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + postPatch = lxqt.standardPatch; + + meta = with stdenv.lib; { + description = "The LXQt desktop panel"; + homepage = https://github.com/lxde/lxqt-panel; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/core/lxqt-policykit/default.nix new file mode 100644 index 00000000000..627f43f8be6 --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-policykit/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, lxqt }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-policykit"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "0rbqzh8r259cc44f1cb236p9c3lp195zjdsw3w1nz7j7gzv9yjnd"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + qt5.polkit-qt + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "The LXQt PolicyKit agent"; + homepage = https://github.com/lxde/lxqt-policykit; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/core/lxqt-powermanagement/default.nix new file mode 100644 index 00000000000..aabce857edd --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-powermanagement/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-powermanagement"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "10myxrhlhvr9cmcqv67skzd11c40bgqgf6qdvm5smww2il1mzfwa"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + kde5.solid + kde5.kidletime + lxqt.liblxqt + lxqt.libqtxdg + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "Power management module for LXQt"; + homepage = https://github.com/lxde/lxqt-powermanagement; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-qtplugin/default.nix b/pkgs/desktops/lxqt/core/lxqt-qtplugin/default.nix new file mode 100644 index 00000000000..e0a95d23c4e --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-qtplugin/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-qtplugin"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "14bwi1c078arin025jcygz0db9nfr8qla9071ls17bbp4dh14vhx"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qt5.qtbase + qt5.qtx11extras + qt5.qttools + qt5.qtsvg + qt5.libdbusmenu + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + postPatch = lxqt.standardPatch; + + meta = with stdenv.lib; { + description = "LXQt Qt platform integration plugin"; + homepage = https://github.com/lxde/lxqt-qtplugin; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-runner/default.nix b/pkgs/desktops/lxqt/core/lxqt-runner/default.nix new file mode 100644 index 00000000000..02d6f90397a --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-runner/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, lxqt, +menu-cache, muparser }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-runner"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "1gqs1b90km39dbg49g80x770i9jknni4h8y6ka2r1fga35amllkc"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + lxqt.lxqt-globalkeys + menu-cache + muparser + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "Tool used to launch programs quickly by typing their names"; + homepage = https://github.com/lxde/lxqt-runner; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-session/default.nix b/pkgs/desktops/lxqt/core/lxqt-session/default.nix new file mode 100644 index 00000000000..a226169b21a --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-session/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, lxqt, xorg, xdg-user-dirs }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-session"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "1vb8mcy6z1irnd977x5425mbp4c7yc9dhk5552isqss1qb44hpn4"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + xorg.libpthreadstubs + xorg.libXdmcp + xdg-user-dirs + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "An alternative session manager ported from the original razor-session"; + homepage = https://github.com/lxde/lxqt-session; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/core/lxqt-sudo/default.nix new file mode 100644 index 00000000000..ad0885917ae --- /dev/null +++ b/pkgs/desktops/lxqt/core/lxqt-sudo/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt, sudo }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lxqt-sudo"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "0nmn0j5qvqpkhlq8yvl8ycn3hijbnwxd32hhmxhcnaq07cmzbg1j"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + sudo + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "GUI frontend for sudo/su"; + homepage = https://github.com/lxde/lxqt-sudo; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/pavucontrol-qt/default.nix b/pkgs/desktops/lxqt/core/pavucontrol-qt/default.nix new file mode 100644 index 00000000000..ea2f24d6cf1 --- /dev/null +++ b/pkgs/desktops/lxqt/core/pavucontrol-qt/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, lxqt, +xdg-user-dirs, libpulseaudio }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "pavucontrol-qt"; + version = "0.1.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "1bis88ykasrnk9a55nnbn832acjz2h76h6i3lbxnb36yq71wan7j"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + xdg-user-dirs + libpulseaudio + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "A Pulseaudio mixer in Qt (port of pavucontrol)"; + homepage = https://github.com/lxde/pavucontrol-qt; + license = licenses.gpl2; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/core/pcmanfm-qt/default.nix new file mode 100644 index 00000000000..bc9cf774017 --- /dev/null +++ b/pkgs/desktops/lxqt/core/pcmanfm-qt/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, lxqt, xorg, libfm, +menu-cache, lxmenu-data }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "pcmanfm-qt"; + version = "0.11.1"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "04fv23glcnfiszam90iy3gvn2sigyk8zj8a1s43wz8fgjijnws32"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + lxqt.libfm-qt + xorg.libpthreadstubs + xorg.libXdmcp + libfm + menu-cache + lxmenu-data + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "File manager and desktop icon manager (Qt port of PCManFM and libfm)"; + homepage = https://github.com/lxde/pcmanfm-qt; + license = licenses.gpl2; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/core/qtermwidget/default.nix b/pkgs/desktops/lxqt/core/qtermwidget/default.nix new file mode 100644 index 00000000000..33f3cc19cf6 --- /dev/null +++ b/pkgs/desktops/lxqt/core/qtermwidget/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, cmake, qt5 }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "qtermwidget"; + version = "0.7.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "18dnrzpbijh0xdgx83zs8nlbxk0d7hgzib54fqqvxyrjjy4g9scz"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ qt5.qtbase ]; + + meta = with stdenv.lib; { + description = "A terminal emulator widget for Qt 5"; + homepage = https://github.com/lxde/qtermwidget; + license = licenses.gpl2; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix new file mode 100644 index 00000000000..981503cab95 --- /dev/null +++ b/pkgs/desktops/lxqt/default.nix @@ -0,0 +1,66 @@ +{ pkgs, newScope, fetchFromGitHub }: + +let + callPackage = newScope self; + + self = rec { + + # For compiling information, see: + # - https://github.com/lxde/lxqt/wiki/Building-from-source + + standardPatch = '' + for file in $(find . -name CMakeLists.txt); do + substituteInPlace $file \ + --replace "DESTINATION \''${LXQT_ETC_XDG_DIR}" "DESTINATION etc/xdg" \ + --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" \ + --replace "DESTINATION \"\''${LXQT_SHARE_DIR}" "DESTINATION \"share/lxqt" \ + --replace "DESTINATION \"\''${LXQT_GRAPHICS_DIR}" "DESTINATION \"share/lxqt/graphics" \ + --replace "DESTINATION \"\''${QT_PLUGINS_DIR}" "DESTINATION \"lib/qt5/plugins" \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" share/lxqt/translations + echo ============================ + echo $file + grep --color=always DESTINATION $file || true + grep --color=always share/lxqt/translations $file || true + grep --color=always platform $file || true + done + echo -------------------------------------------------------- + ''; + + ### BASE + libqtxdg = callPackage ./base/libqtxdg { }; + libsysstat = callPackage ./base/libsysstat { }; + liblxqt = callPackage ./base/liblxqt { }; + + ### CORE 1 + libfm-qt = callPackage ./core/libfm-qt { }; + lxqt-about = callPackage ./core/lxqt-about { }; + lxqt-admin = callPackage ./core/lxqt-admin { }; + lxqt-common = callPackage ./core/lxqt-common { }; + lxqt-config = callPackage ./core/lxqt-config { }; + lxqt-globalkeys = callPackage ./core/lxqt-globalkeys { }; + lxqt-l10n = callPackage ./core/lxqt-l10n { }; + lxqt-notificationd = callPackage ./core/lxqt-notificationd { }; + lxqt-openssh-askpass = callPackage ./core/lxqt-openssh-askpass { }; + lxqt-policykit = callPackage ./core/lxqt-policykit { }; + lxqt-powermanagement = callPackage ./core/lxqt-powermanagement { }; + lxqt-qtplugin = callPackage ./core/lxqt-qtplugin { }; + lxqt-session = callPackage ./core/lxqt-session { }; + lxqt-sudo = callPackage ./core/lxqt-sudo { }; + pavucontrol-qt = callPackage ./core/pavucontrol-qt { }; + qtermwidget = callPackage ./core/qtermwidget { }; + + ### CORE 2 + lxqt-panel = callPackage ./core/lxqt-panel { }; + lxqt-runner = callPackage ./core/lxqt-runner { }; + pcmanfm-qt = callPackage ./core/pcmanfm-qt { }; + + ### OPTIONAL + qterminal = callPackage ./optional/qterminal { }; + compton-conf = callPackage ./optional/compton-conf { }; + obconf-qt = callPackage ./optional/obconf-qt { }; + lximage-qt = callPackage ./optional/lximage-qt { }; + qps = callPackage ./optional/qps { }; + + }; + +in self diff --git a/pkgs/desktops/lxqt/optional/compton-conf/default.nix b/pkgs/desktops/lxqt/optional/compton-conf/default.nix new file mode 100644 index 00000000000..45717fe31e2 --- /dev/null +++ b/pkgs/desktops/lxqt/optional/compton-conf/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, lxqt, libconfig }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "compton-conf"; + version = "0.2.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "04svxawa8l0ciflrspkzi13nnl7bljmfwwrgxn5lb3sw6qdcmdlk"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + libconfig + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "GUI configuration tool for compton X composite manager"; + homepage = https://github.com/lxde/compton-conf; + license = licenses.lgpl21; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/optional/lximage-qt/default.nix b/pkgs/desktops/lxqt/optional/lximage-qt/default.nix new file mode 100644 index 00000000000..ac7055924c4 --- /dev/null +++ b/pkgs/desktops/lxqt/optional/lximage-qt/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, xorg, lxqt, + libfm, menu-cache, libexif }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "lximage-qt"; + version = "0.5.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "0c5s0c2y73hp7mcxwg31bpn0kmjyhv519d0dxzp3na56n0xk9vl0"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + lxqt.libfm-qt + xorg.libpthreadstubs + xorg.libXdmcp + libfm + menu-cache + libexif + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "The image viewer and screenshot tool for lxqt"; + homepage = https://github.com/lxde/lximage-qt; + license = licenses.gpl2; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/optional/obconf-qt/default.nix b/pkgs/desktops/lxqt/optional/obconf-qt/default.nix new file mode 100644 index 00000000000..381c998616f --- /dev/null +++ b/pkgs/desktops/lxqt/optional/obconf-qt/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, kde5, xorg, lxqt, +openbox, hicolor_icon_theme }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "obconf-qt"; + version = "0.11.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "1q3y4sc1kg3hw4869rx4g08y85rnvnxgk8rf8h6amkf5r5561iyk"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + xorg.libpthreadstubs + xorg.libXdmcp + openbox + hicolor_icon_theme + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "The Qt port of obconf, the Openbox configuration tool"; + homepage = https://github.com/lxde/obconf-qt; + license = licenses.gpl2; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/optional/qps/default.nix b/pkgs/desktops/lxqt/optional/qps/default.nix new file mode 100644 index 00000000000..d39341eb05d --- /dev/null +++ b/pkgs/desktops/lxqt/optional/qps/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, makeDesktopItem }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "qps"; + version = "1.10.16"; + + srcs = fetchFromGitHub { + owner = "QtDesktop"; + repo = pname; + rev = "v${version}"; + sha256 = "1s6hvqfv9hv1cl5pfsmghqn1zqhibr4plq3glzgd8s7swwdnsvjj"; + }; + + desktopItem = makeDesktopItem { + name = "qps"; + exec = "qps"; + icon = "qps"; + comment = "Visual process manager - Qt version of ps/top"; + desktopName = "qps"; + genericName = meta.description; + categories = "System;"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ qt5.qtbase qt5.qtx11extras ]; + + installPhase = '' + mkdir -p $out/{bin,share/{man/man1,doc,icons}} + cp -a src/qps $out/bin/ + cp -a ../README.md $out/share/doc/ + cp -a ../qps.1 $out/share/man/man1/ + cp -a ../icon/icon.xpm $out/share/icons/qps.xpm + ln -sv "${desktopItem}/share/applications" $out/share/ + ''; + + meta = with stdenv.lib; { + description = "The Qt process manager"; + homepage = https://github.com/QtDesktop/qps; + license = licenses.gpl2; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/desktops/lxqt/optional/qterminal/default.nix b/pkgs/desktops/lxqt/optional/qterminal/default.nix new file mode 100644 index 00000000000..7f0f66c6fbe --- /dev/null +++ b/pkgs/desktops/lxqt/optional/qterminal/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, cmake, qt5, kde5, lxqt }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "qterminal"; + version = "0.7.0"; + + srcs = fetchFromGitHub { + owner = "lxde"; + repo = pname; + rev = version; + sha256 = "1g8d66h8avk094wvgqw0mgl9caamdig6bnn4vawshn4j7y8g4n7v"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + qt5.qtbase + qt5.qttools + qt5.qtx11extras + qt5.qtsvg + kde5.kwindowsystem + lxqt.liblxqt + lxqt.libqtxdg + lxqt.qtermwidget + ]; + + cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + + meta = with stdenv.lib; { + description = "A lightweight Qt-based terminal emulator"; + homepage = https://github.com/lxde/qterminal; + license = licenses.gpl2; + maintainers = with maintainers; [ romildo ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix index f89947d7d61..ccf6dac895c 100644 --- a/pkgs/development/arduino/arduino-core/default.nix +++ b/pkgs/development/arduino/arduino-core/default.nix @@ -16,14 +16,14 @@ let ncurses5 = ncurses.override { abiVersion = "5"; }; in stdenv.mkDerivation rec { - version = "1.6.9"; + version = "1.6.12"; name = "arduino${stdenv.lib.optionalString (withGui == false) "-core"}-${version}"; src = fetchFromGitHub { owner = "arduino"; repo = "Arduino"; rev = "${version}"; - sha256 = "0ksd6mkcf41114n0h37q80y1bz3a2q3z8kg6m9i11c3wrj8n80np"; + sha256 = "0rz8dv1mncwx2wkafakxqdi2y0rq3f72fr57cg0z5hgdgdm89lkh"; }; buildInputs = [ jdk ant libusb libusb1 unzip zlib ncurses5 readline ]; @@ -43,13 +43,8 @@ stdenv.mkDerivation rec { cp -v $file_src $file_dst done - # Loop above creates library_index.json.gz, package_index.json.gz and package_index.json.sig in - # current directory. And now we can inject them into build process. - library_index_url=file://$(pwd)/library_index.json - package_index_url=file://$(pwd)/package_index.json - cd ./arduino-core && ant - cd ../build && ant -Dlibrary_index_url=$library_index_url -Dpackage_index_url=$package_index_url + cd ../build && ant cd .. ''; diff --git a/pkgs/development/arduino/arduino-core/downloads.nix b/pkgs/development/arduino/arduino-core/downloads.nix index 5057d5ac6b5..9d3ed56bee9 100644 --- a/pkgs/development/arduino/arduino-core/downloads.nix +++ b/pkgs/development/arduino/arduino-core/downloads.nix @@ -1,22 +1,6 @@ {fetchurl, optionalAttrs, system}: { - # Following 3 files are snapshots of files that were downloaded from http://download.arduino.cc/ - # Because original URLs update daily. https://github.com/binarin/arduino-indexes also contains script - # for updating those snapshots. - "package_index.json.gz" = fetchurl { - url = "https://github.com/binarin/arduino-indexes/raw/snapshot-2016-07-18/package_index.json.gz"; - sha256 = "11y16864bca6h5n03xbk8cw3v9b4xwvjz5mkirkcxslkkf7cx5yg"; - }; - "package_index.json.sig" = fetchurl { - url = "https://github.com/binarin/arduino-indexes/raw/snapshot-2016-07-18/package_index.json.sig"; - sha256 = "14ky3qb81mvqswaw9g5cpg5jcjqx6knfm75mzx1si7fbx576amls"; - }; - "library_index.json.gz" = fetchurl { - url = "https://github.com/binarin/arduino-indexes/raw/snapshot-2016-07-18/library_index.json.gz"; - sha256 = "19md4yf4m4wh9vnc3aj0gm3jak1qa591z5yhg0x8lsxx5hr2v85z"; - }; - "build/shared/reference-1.6.6-3.zip" = fetchurl { url = "http://downloads.arduino.cc/reference-1.6.6-3.zip"; sha256 = "119nj1idz85l71fy6a6wwsx0mcd8y0ib1wy0l6j9kz88nkwvggy3"; @@ -29,13 +13,13 @@ url = "http://downloads.arduino.cc/Edison_help_files-1.6.2.zip"; sha256 = "1x25rivmh0zpa6lr8dafyxvim34wl3wnz3r9msfxg45hnbjqqwan"; }; - "build/Firmata-2.5.2.zip" = fetchurl { - url = "https://github.com/arduino-libraries/Firmata/archive/2.5.2.zip"; - sha256 = "1r75bxvpr17kwhpks9nxxpm5d5qbw0qnhygakv06whan9s0dc5cz"; + "build/Firmata-2.5.3.zip" = fetchurl { + url = "https://github.com/arduino-libraries/Firmata/archive/2.5.3.zip"; + sha256 = "1ims6bdmwv8lgcvd4ri4i39vqm1q5jbwirmki35bybqqb1sl171v"; }; - "build/Bridge-1.6.2.zip" = fetchurl { - url = "https://github.com/arduino-libraries/Bridge/archive/1.6.2.zip"; - sha256 = "10v557bsxasq8ya09m9157nlk50cbkb0wlzrm54cznzmwc0gx49a"; + "build/Bridge-1.6.3.zip" = fetchurl { + url = "https://github.com/arduino-libraries/Bridge/archive/1.6.3.zip"; + sha256 = "1lha5wkzz63bgcn7bhx4rmgsh9ywa47lffycpyz6qjnl1pvm5mmj"; }; "build/Robot_Control-1.0.2.zip" = fetchurl { url = "https://github.com/arduino-libraries/Robot_Control/archive/1.0.2.zip"; @@ -49,13 +33,13 @@ url = "https://github.com/arduino-libraries/RobotIRremote/archive/1.0.2.zip"; sha256 = "0wkya7dy4x0xyi7wn5aghmr1gj0d0wszd61pq18zgfdspz1gi6xn"; }; - "build/SpacebrewYun-1.0.0.zip" = fetchurl { - url = "https://github.com/arduino-libraries/SpacebrewYun/archive/1.0.0.zip"; - sha256 = "1sklyp92m8i31rfb9b9iw0zvvab1zd7jdmg85fr908xn6k05qhmp"; + "build/SpacebrewYun-1.0.1.zip" = fetchurl { + url = "https://github.com/arduino-libraries/SpacebrewYun/archive/1.0.1.zip"; + sha256 = "1zs6ymlzw66bglrm0x6d3cvr52q85c8rlm525x0wags111xx3s90"; }; - "build/Temboo-1.1.5.zip" = fetchurl { - url = "https://github.com/arduino-libraries/Temboo/archive/1.1.5.zip"; - sha256 = "1ak9b2wrd42n3ak7kcqwg28ianq01acsi5jv4cc031wr0kpq4507"; + "build/Temboo-1.1.7.zip" = fetchurl { + url = "https://github.com/arduino-libraries/Temboo/archive/1.1.7.zip"; + sha256 = "0fq2q6qs0qp15njsl9dif8dkpxgb4cgg8jk3s5y0fcz9lb8m2j50"; }; "build/Esplora-1.0.4.zip" = fetchurl { url = "https://github.com/arduino-libraries/Esplora/archive/1.0.4.zip"; @@ -73,64 +57,68 @@ url = "http://downloads.arduino.cc/libastylej-2.05.1-3.zip"; sha256 = "0a1xy2cdl0xls5r21vy5d2j1dapn1jsdw0vbimlwnzfx7r84mxa6"; }; - "build/liblistSerials-1.1.0.zip" = fetchurl { - url = "http://downloads.arduino.cc/liblistSerials/liblistSerials-1.1.0.zip"; - sha256 = "12n3y9y3gfi7i3x6llbwvi59jram02v8yyilv2kd38dm7wrqpw16"; + "build/liblistSerials-1.1.4.zip" = fetchurl { + url = "http://downloads.arduino.cc/liblistSerials/liblistSerials-1.1.4.zip"; + sha256 = "1w0zs155hs5b87i5wj049hfj2jsnf9jk30qq93wz1mxab01261v0"; + }; + "build/shared/WiFi101-Updater-ArduinoIDE-Plugin-0.8.0.zip" = fetchurl { + url = "https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.8.0/WiFi101-Updater-ArduinoIDE-Plugin-0.8.0.zip"; + sha256 = "0fp4mb1qa3w02hrwd51wf261l8ywcl36mi9wipsrgx2y29pk759z"; }; } // optionalAttrs (system == "x86_64-linux") { - "build/arduino-builder-linux64-1.3.18.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/arduino-builder-linux64-1.3.18.tar.bz2"; - sha256 = "0xbzcmvfa1h22dlvym8v4s68w4r1vdq8pj086sk1iwlkfiq0y4zq"; + "build/arduino-builder-linux64-1.3.21_r1.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/arduino-builder-linux64-1.3.21_r1.tar.bz2"; + sha256 = "1cqx5smzm4dhbj2ah191vbbxi0l7xj95c5gcdbgqm9283hrpfrn7"; }; - "build/linux/avr-gcc-4.8.1-arduino5-x86_64-pc-linux-gnu.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-x86_64-pc-linux-gnu.tar.bz2"; - sha256 = "1k793qsv1jdc0m4i9k40l2k7blnarfzy2k3clndl2yirfk0zqm4h"; + "build/linux/avr-gcc-4.9.2-atmel3.5.3-arduino2-x86_64-pc-linux-gnu.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-x86_64-pc-linux-gnu.tar.bz2"; + sha256 = "124icbjh28cax6pgg6bzrfdi27shsn9mjjshgrr93pczpg8sc0rr"; }; - "build/linux/avrdude-6.0.1-arduino5-x86_64-pc-linux-gnu.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino5-x86_64-pc-linux-gnu.tar.bz2"; - sha256 = "0xm4hfr4binny9f5affnmyrrq3lhrxr66s6ymplgfq9l72kwq9nq"; + "build/linux/avrdude-6.3.0-arduino6-x86_64-pc-linux-gnu.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-x86_64-pc-linux-gnu.tar.bz2"; + sha256 = "08b6dbllnvzv1aqx0v037zks4r3vqcx6yxxv040wf431mmf8gd4p"; }; } // optionalAttrs (system == "i686-linux") { - "build/arduino-builder-linux32-1.3.18.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/arduino-builder-linux32-1.3.18.tar.bz2"; - sha256 = "0b6ls31gaagni929v4isr8ivyviid37721ffhgw6mnb8vshcws2d"; + "build/arduino-builder-linux32-1.3.21_r1.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/arduino-builder-linux32-1.3.21_r1.tar.bz2"; + sha256 = "1prfwb5scprvd74gihd78ibsdy3806b0fsjhgyj9in4w1q8s3dxj"; }; - "build/linux/avr-gcc-4.8.1-arduino5-i686-pc-linux-gnu.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-i686-pc-linux-gnu.tar.bz2"; - sha256 = "07ql6apml1w5gy3ygd1wmj12yr8vg6p3pr8b1gd92wdk97svfj3n"; + "build/linux/avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-pc-linux-gnu.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-pc-linux-gnu.tar.bz2"; + sha256 = "0s7chsp1jyk477zvfaraf0yacvlzahkwqxpws4k0kjadghg9a27i"; }; - "build/linux/avrdude-6.0.1-arduino5-i686-pc-linux-gnu.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino5-i686-pc-linux-gnu.tar.bz2"; - sha256 = "1vmzqvkg8z2xp3j5qypzyg26hgymy6vshs4vpax6mr5w4xlxccsr"; + "build/linux/avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2"; + sha256 = "1yyn016b5162j94nmqcznfabi5y2ly27z2whr77387bvjnqc8jsz"; }; } // optionalAttrs (system == "x86_64-darwin") { - "build/arduino-builder-macosx-1.3.18.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/arduino-builder-macosx-1.3.18.tar.bz2"; - sha256 = "01m21r2blh3rwzmjgjn65hivlbj95ddqkjq5xm1yb4b5h3i03mfj"; + "build/arduino-builder-macosx-1.3.21_r1.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/arduino-builder-macosx-1.3.21_r1.tar.bz2"; + sha256 = "06y5j1z9jjnqa7v6nl9dflm1qqpf3ar1jc53zxgdgsrb9c473d8l"; }; - "build/linux/avr-gcc-4.8.1-arduino5-i386-apple-darwin11.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-i386-apple-darwin11.tar.bz2"; - sha256 = "00d9i1vg1zngcd3f52c6d7j2iffb0qs97a1pnag0czbk1pq3w6qi"; + "build/linux/avr-gcc-4.9.2-arduino5-i386-apple-darwin11.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-i386-apple-darwin11.tar.bz2"; + sha256 = "12r4a1q7mh1gbasy7lqn0p4acg699lglw7il9d5f5vwd32pmh4ii"; }; - "build/linux/avrdude-6.0.1-arduino5-i386-apple-darwin11.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino5-i386-apple-darwin11.tar.bz2"; - sha256 = "1rf3dwb4534qzn0gdpbh3155knx07hbbakvv67456s2q18xqvbs1"; + "build/linux/avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2"; + sha256 = "11703f0r82aq3mmkiy7vwa4jfjhs9826qpp724hbng9dx74kk86r"; }; } // optionalAttrs (system == "armv6l-linux") { - "build/arduino-builder-arm-1.3.18.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/arduino-builder-arm-1.3.18.tar.bz2"; - sha256 = "1v4vrmv24cajl7hxmyz5nh2y007kmwrcgl6180dlfwpc9526s4p1"; + "build/arduino-builder-arm-1.3.21_r1.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/arduino-builder-arm-1.3.21_r1.tar.bz2"; + sha256 = "1ik6r5n6g20x4pb0vbxbkqxgzj39f13n995ki9xgpsrq22x6g1n4"; }; - "build/linux/avr-gcc-4.8.1-arduino5-armhf-pc-linux-gnu.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-armhf-pc-linux-gnu.tar.bz2"; - sha256 = "0jqmyamvvwiab6ag580h09zkxbpv6i5xn6ganj5b8ld6nwnwvzy8"; + "build/linux/avr-gcc-4.9.2-arduino5-armhf-pc-linux-gnu.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-armhf-pc-linux-gnu.tar.bz2"; + sha256 = "08b8z7ca0wcgzxmjz6q5ihjrm3i10frnrcqpvwjrlsxw37ah1wvp"; }; - "build/linux/avrdude-6.0.1-arduino5-armhf-pc-linux-gnu.tar.bz2" = fetchurl { - url = "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino5-armhf-pc-linux-gnu.tar.bz2"; - sha256 = "1d7n0jcc6670n803q57hzw8pvp9bmnca9c9fgw3fq5y1vd0i7si3"; + "build/linux/avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2" = fetchurl { + url = "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2"; + sha256 = "1rybp4hgk0mm7dydr3rj7yx59jzi30s4kyadzkjv13nm4ds209i4"; }; } diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix index ba546f6f51f..f0f8fa3b7ff 100644 --- a/pkgs/development/compilers/kotlin/default.nix +++ b/pkgs/development/compilers/kotlin/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, makeWrapper, jre, unzip }: stdenv.mkDerivation rec { - version = "1.0.3"; + version = "1.0.4"; name = "kotlin-${version}"; src = fetchurl { url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip"; - sha256 = "15ywjv46i2d7zgg2b3vdklc6agr62nvn0gkz7k9hql78ccfmyq9p"; + sha512 = "39mcyw3rdgrhfkxl0xygh74idl2pvw3dy0n9d3z4aj6hq4pxkn1dclmpfbrfa333vjpzfhlqwl578vmly9vah7m6z6g4j12gkdijiyf"; }; propagatedBuildInputs = [ jre ] ; diff --git a/pkgs/development/compilers/llvm/3.8/clang/default.nix b/pkgs/development/compilers/llvm/3.8/clang/default.nix index 8128bfd2392..d0d5a2dea14 100644 --- a/pkgs/development/compilers/llvm/3.8/clang/default.nix +++ b/pkgs/development/compilers/llvm/3.8/clang/default.nix @@ -39,7 +39,10 @@ let ln -sv $out/bin/clang $out/bin/cpp mkdir -p $python/bin $python/share/clang/ - mv $out/bin/{git-clang-format,scan-view,set-xcode-analyzer} $python/bin + mv $out/bin/{git-clang-format,scan-view} $python/bin + if [ -e $out/bin/set-xcode-analyzer ]; then + mv $out/bin/set-xcode-analyzer $python/bin + fi mv $out/share/clang/*.py $python/share/clang rm $out/bin/c-index-test diff --git a/pkgs/development/compilers/mezzo/default.nix b/pkgs/development/compilers/mezzo/default.nix index 67e7c932e55..79dc479fae8 100644 --- a/pkgs/development/compilers/mezzo/default.nix +++ b/pkgs/development/compilers/mezzo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, ocaml, findlib, menhir, yojson, ulex, pprint, fix, functory }: +{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, menhir, yojson, ulex, pprint, fix, functory }: let check-ocaml-version = with stdenv.lib; versionAtLeast (getVersion ocaml); @@ -17,7 +17,7 @@ stdenv.mkDerivation { sha256 = "0yck5r6di0935s3iy2mm9538jkf77ssr789qb06ms7sivd7g3ip6"; }; - buildInputs = [ ocaml findlib yojson menhir ulex pprint fix functory ]; + buildInputs = [ ocaml findlib ocamlbuild yojson menhir ulex pprint fix functory ]; # Sets warning 3 as non-fatal prePatch = stdenv.lib.optionalString (check-ocaml-version "4.02") '' diff --git a/pkgs/development/compilers/obliv-c/default.nix b/pkgs/development/compilers/obliv-c/default.nix new file mode 100644 index 00000000000..f1f9a38a198 --- /dev/null +++ b/pkgs/development/compilers/obliv-c/default.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl, ocaml, libgcrypt, fetchFromGitHub, ocamlPackages, perl}: +stdenv.mkDerivation rec { + name = "obliv-c-${version}"; + version = "0.0pre20161001"; + buildInputs = [ ocaml ocamlPackages.findlib perl ]; + propagatedBuildInputs = [ libgcrypt ]; + src = fetchFromGitHub { + owner = "samee"; + repo = "obliv-c"; + rev = "32d71fb46983aded604045e8cda7874d8fb160a2"; + sha256 = "05bicvalsfabngvf41q02bcyzkibmyihj7naqd53kdq75xa1yf37"; + }; + preInstall = '' + mkdir -p "$out/bin" + cp bin/* "$out/bin" + mkdir -p "$out/share/doc/obliv-c" + cp -r doc/* README* CHANGE* Change* LICEN* TODO* "$out/share/doc/obliv-c" + mkdir -p "$out/share/obliv-c" + cp -r test "$out/share/obliv-c" + mkdir -p "$out/include" + cp src/ext/oblivc/*.h "$out/include" + mkdir -p "$out/lib" + gcc $(ar t _build/libobliv.a | sed -e 's@^@_build/@') --shared -o _build/libobliv.so + cp _build/lib*.a _build/lib*.so* "$out/lib" + ''; + meta = { + inherit version; + description = ''A GCC wrapper that makes it easy to embed secure computation protocols inside regular C programs''; + license = stdenv.lib.licenses.bsd3; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index 50199852ae2..2969dab9226 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -1,8 +1,11 @@ -{ stdenv, fetchurl, cpio, pkgconfig, file, which, unzip, zip, xorg, cups, freetype -, alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig, zlib +{ stdenv, lib, fetchurl, cpio, pkgconfig, file, which, unzip, zip, cups, freetype +, alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig, zlib, lndir +, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor +, libjpeg, giflib , setJavaClassPath , minimal ? false , enableInfinality ? true # font rendering patch +, enableGnome2 ? true, gtk2, gnome_vfs, glib, GConf }: let @@ -65,10 +68,11 @@ let nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - cpio file which unzip zip - xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst - xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir - cups freetype alsaLib perl liberation_ttf fontconfig bootjdk zlib + cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib + libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst + libXi libXinerama libXcursor lndir fontconfig + ] ++ lib.optionals (!minimal && enableGnome2) [ + gtk2 gnome_vfs GConf glib ]; prePatch = '' @@ -82,10 +86,12 @@ let ./fix-java-home-jdk8.patch ./read-truststore-from-env-jdk8.patch ./currency-date-range-jdk8.patch - ] ++ (if enableInfinality then [ + ] ++ lib.optionals (!minimal && enableInfinality) [ ./004_add-fontconfig.patch ./005_enable-infinality.patch - ] else []); + ] ++ lib.optionals (!minimal && enableGnome2) [ + ./swing-use-gtk.patch + ]; preConfigure = '' chmod +x configure @@ -101,21 +107,22 @@ let "--enable-unlimited-crypto" "--disable-debug-symbols" "--disable-freetype-bundling" + "--with-zlib=system" + "--with-giflib=system" + "--with-stdc++lib=dynamic" # glibc 2.24 deprecated readdir_r so we need this # See https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg49006.html "--with-extra-cflags=\"-Wno-error=deprecated-declarations\"" - ] ++ (if minimal then [ - "--disable-headful" - "--with-zlib=bundled" - "--with-giflib=bundled" - ] else [ - "--with-zlib=system" - ]); + ] ++ lib.optional minimal "--disable-headful"; - NIX_LDFLAGS= if minimal then null else "-lfontconfig"; + NIX_LDFLAGS= lib.optionals (!minimal) [ + "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" + ] ++ lib.optionals (!minimal && enableGnome2) [ + "-lgtk-x11-2.0" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2" + ]; - buildFlags = "all"; + buildFlags = [ "all" ]; installPhase = '' mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk @@ -135,12 +142,19 @@ let # Remove crap from the installation. rm -rf $out/lib/openjdk/demo $out/lib/openjdk/sample + ${lib.optionalString minimal '' + rm $out/lib/openjdk/jre/lib/${architecture}/{libjsound,libjsoundalsa,libsplashscreen,libawt*,libfontmanager}.so + rm $out/lib/openjdk/jre/bin/policytool + rm $out/lib/openjdk/bin/{policytool,appletviewer} + ''} # Move the JRE to a separate output and setup fallback fonts mv $out/lib/openjdk/jre $jre/lib/openjdk/ mkdir $out/lib/openjdk/jre - mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback - lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback + ${lib.optionalString (!minimal) '' + mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback + lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback + ''} lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre rm -rf $out/lib/openjdk/jre/bina diff --git a/pkgs/development/compilers/openjdk/swing-use-gtk.patch b/pkgs/development/compilers/openjdk/swing-use-gtk.patch new file mode 100644 index 00000000000..9538aade672 --- /dev/null +++ b/pkgs/development/compilers/openjdk/swing-use-gtk.patch @@ -0,0 +1,26 @@ +diff -ru3 a/jdk/src/share/classes/javax/swing/UIManager.java b/jdk/src/share/classes/javax/swing/UIManager.java +--- a/jdk/src/share/classes/javax/swing/UIManager.java 2016-07-26 00:41:37.000000000 +0300 ++++ b/jdk/src/share/classes/javax/swing/UIManager.java 2016-10-02 22:46:01.890071761 +0300 +@@ -607,11 +607,9 @@ + if (osType == OSInfo.OSType.WINDOWS) { + return "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"; + } else { +- String desktop = AccessController.doPrivileged(new GetPropertyAction("sun.desktop")); + Toolkit toolkit = Toolkit.getDefaultToolkit(); +- if ("gnome".equals(desktop) && +- toolkit instanceof SunToolkit && +- ((SunToolkit) toolkit).isNativeGTKAvailable()) { ++ if (toolkit instanceof SunToolkit && ++ ((SunToolkit) toolkit).isNativeGTKAvailable()) { + // May be set on Linux and Solaris boxs. + return "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; + } +@@ -1341,7 +1339,7 @@ + lafName = (String) lafData.remove("defaultlaf"); + } + if (lafName == null) { +- lafName = getCrossPlatformLookAndFeelClassName(); ++ lafName = getSystemLookAndFeelClassName(); + } + lafName = swingProps.getProperty(defaultLAFKey, lafName); + diff --git a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch new file mode 100644 index 00000000000..2d1f92af81d --- /dev/null +++ b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch @@ -0,0 +1,21 @@ +diff -Naur pakcs-1.11.4-upstream/scripts/pakcs.sh pakcs-1.11.4/scripts/pakcs.sh +--- pakcs-1.11.4-upstream/scripts/pakcs.sh 2014-10-24 05:06:07.000000000 -0430 ++++ pakcs-1.11.4/scripts/pakcs.sh 2015-01-05 16:26:15.697982791 -0430 +@@ -16,7 +16,7 @@ + # use readline wrapper rlwrap if it is installed and we have tty as stdin: + USERLWRAP=no + if tty -s ; then +- RLWRAP=`which rlwrap` ++ RLWRAP=`type -P rlwrap` + if [ -x "$RLWRAP" ] ; then + USERLWRAP=yes + fi +@@ -29,7 +29,7 @@ + done + + if [ $USERLWRAP = yes ] ; then +- exec rlwrap -c -f "$PAKCSHOME/tools/rlwrap" "$REPL" ${1+"$@"} ++ exec rlwrap -a -c -f "$PAKCSHOME/tools/rlwrap" "$REPL" ${1+"$@"} + else + exec "$REPL" ${1+"$@"} + fi diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix new file mode 100644 index 00000000000..92b916ccb8e --- /dev/null +++ b/pkgs/development/compilers/pakcs/default.nix @@ -0,0 +1,156 @@ +{ stdenv, fetchurl, swiProlog, haskellPackages +, glibcLocales, makeWrapper, rlwrap, tk, which }: + +let + fname = "pakcs-1.14.0"; + + fsrc = fetchurl { + url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz"; + sha256 = "1651ssh4ql79x8asd7kp4yis2n5rhn3lml4s26y03b0cgbfhs78s"; + }; + + swiPrologLocked = stdenv.lib.overrideDerivation swiProlog (oldAttrs: rec { + version = "6.6.6"; + name = "swi-prolog-${version}"; + src = fetchurl { + url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz"; + sha256 = "0vcrfskm2hyhv30lxr6v261myb815jc3bgmcn1lgsc9g9qkvp04z"; + }; + }); + +in +stdenv.mkDerivation rec { + + name = fname; + + curryBase = haskellPackages.callPackage ( + { mkDerivation, base, Cabal, containers, directory, either + , filepath, mtl, pretty, stdenv, syb, time + }: + mkDerivation { + pname = "curry-base"; + version = "0.4.1"; + src = fsrc; + libraryHaskellDepends = [ + base containers directory either filepath mtl pretty syb time + ]; + testHaskellDepends = [ base Cabal filepath mtl ]; + homepage = "http://curry-language.org"; + description = "Functions for manipulating Curry programs"; + license = "unknown"; + + postUnpack = '' + mv ${name} ${name}.orig + ln -s ${name}.orig/frontend/curry-base ${name} + ''; + doCheck = false; + } + ) {}; + + curryFront = haskellPackages.callPackage ( + { mkDerivation, base, Cabal, containers, directory + , filepath, mtl, network-uri, process, stdenv, syb, transformers + }: + mkDerivation { + pname = "curry-frontend"; + version = "0.4.1"; + src = fsrc; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base containers curryBase directory filepath mtl network-uri + process syb transformers + ]; + executableHaskellDepends = [ + base containers curryBase directory filepath mtl network-uri + process syb transformers + ]; + testHaskellDepends = [ base Cabal curryBase filepath ]; + homepage = "http://curry-language.org"; + description = "Compile the functional logic language Curry to several intermediate formats"; + license = "unknown"; + + postUnpack = '' + mv ${name} ${name}.orig + ln -s ${name}.orig/frontend/curry-frontend ${name} + ''; + doCheck = false; + } + ) {}; + + src = fsrc; + + buildInputs = [ swiPrologLocked makeWrapper glibcLocales rlwrap tk which ]; + + patches = [ ./adjust-buildsystem.patch ]; + + configurePhase = '' + # Phony HOME. + mkdir phony-home + export HOME=$(pwd)/phony-home + + # SWI Prolog + sed -i 's@SWIPROLOG=@SWIPROLOG='${swiPrologLocked}/bin/swipl'@' scripts/pakcsinitrc.sh + ''; + + buildPhase = '' + # Some comments in files are in UTF-8, so include the locale needed by GHC runtime. + export LC_ALL=en_US.UTF-8 + + # PAKCS must be build in place due to embedded filesystem references placed by swi. + + # Prepare PAKCSHOME directory. + mkdir -p $out/pakcs/bin + + # Set up link to cymake, which has been built already. + ln -s ${curryFront}/bin/cymake $out/pakcs/bin/ + rm -r frontend + + # Prevent embedding the derivation build directory as temp. + export TEMP=/tmp + + # Copy to in place build location and run the build. + cp -r * $out/pakcs + (cd $out/pakcs ; make) + ''; + + installPhase = '' + # Install bin. + mkdir -p $out/bin + for b in $(ls $out/pakcs/bin) ; do + ln -s $out/pakcs/bin/$b $out/bin/ ; + done + + # Place emacs lisp files in expected locations. + mkdir -p $out/share/emacs/site-lisp/curry-pakcs + for e in "$out/pakcs/tools/emacs/"*.el ; do + cp $e $out/share/emacs/site-lisp/curry-pakcs/ ; + done + + # Wrap for rlwrap and tk support. + wrapProgram $out/pakcs/bin/pakcs \ + --prefix PATH ":" "${rlwrap}/bin" \ + --prefix PATH ":" "${tk}/bin" \ + ''; + + meta = { + homepage = "http://www.informatik.uni-kiel.de/~pakcs/"; + description = "An implementation of the multi-paradigm declarative language Curry"; + license = stdenv.lib.licenses.bsd3; + + longDescription = '' + PAKCS is an implementation of the multi-paradigm declarative language + Curry jointly developed by the Portland State University, the Aachen + University of Technology, and the University of Kiel. Although this is + not a highly optimized implementation but based on a high-level + compilation of Curry programs into Prolog programs, it is not a toy + implementation but has been used for a variety of applications (e.g., + graphical programming environments, an object-oriented front-end for + Curry, partial evaluators, database applications, HTML programming + with dynamic web pages, prototyping embedded systems). + ''; + + maintainers = [ stdenv.lib.maintainers.gnidorah ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index e7cc7b15627..454b67b8151 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -17,13 +17,13 @@ let # fetch hashes by running `print-hashes.sh 1.9.0` bootstrapHash = if stdenv.system == "i686-linux" - then "be93dd2b80a97f2877679950d56990628c6547b953294f16bf6d69c18a39edc0" + then "f5a3f5d53defe827a71447b1a0e7a656394b87ee23e009d7bf73a0277c1b5ac2" else if stdenv.system == "x86_64-linux" - then "f189303d52b37c8bb694b9d9739ae73ffa926cbdeffde1d5d6a5c6e811940293" + then "f4ebbd6d9494cb8fa6c410cb58954e1913546c2bca8963faebc424591547d83f" else if stdenv.system == "i686-darwin" - then "40d4782a58dd5bef22dbbaa7a363f3b42f844628db07205f6435ac934f350061" + then "bf07182bc362985fcdd48af905cdb559e20c68518cd71dabec3c30b78ca8a94a" else if stdenv.system == "x86_64-darwin" - then "4bb71249f4afd7cee07f63d681f9fcb1b525ee3dfd49722adab7a40024e45af7" + then "2cdbc47438dc86ecaf35298317b77d735956eb160862e3f6d0fda0da656ecc35" else throw "missing boostrap hash for platform ${stdenv.system}"; needsPatchelf = stdenv.isLinux; @@ -33,7 +33,7 @@ let sha256 = bootstrapHash; }; - version = "1.10.0"; + version = "1.11.0"; in rec { diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index b7e992c916d..1dbc6c13e0b 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -7,12 +7,12 @@ in rec { rustc = callPackage ./rustc.nix { - shortVersion = "1.11.0"; + shortVersion = "1.12.0"; isRelease = true; forceBundledLLVM = false; configureFlags = [ "--release-channel=stable" ]; - srcRev = "9b21dcd6a89f38e8ceccb2ede8c9027cb409f6e3"; - srcSha = "12djpxhwqvq3262ai9vd096bvriynci2mrwn0dfjrd0w6s0i8viy"; + srcRev = "3191fbae9da539442351f883bdabcad0d72efcb6"; + srcSha = "1mpw6c5jfxy60g786wl8g0ncwikqfbcj67jrdpj3jacywxsxzlby"; patches = [ ./patches/disable-lockfile-check.patch @@ -25,10 +25,10 @@ rec { }; cargo = callPackage ./cargo.nix rec { - version = "0.12.0"; - srcRev = "6b98d1f8abf5b33c1ca2771d3f5f3bafc3407b93"; - srcSha = "0pq6l3yzmh2il6320f6501hvp9iikdxzl34i5b52v93ncpim36bk"; - depsSha256 = "1jrwzm9fd15kf2d5zb17q901hx32h711ivcwdpxpmzwq08sjlcvl"; + version = "0.13.0"; + srcRev = "109cb7c33d426044d141457049bd0fffaca1327c"; + srcSha = "0p79m7hpzjh36l4fc6a59h6r8yz6qafjcdg5v1yb7bac9m2wi7vs"; + depsSha256 = "1cwp4p8b985fj8j2qmgsi2mpp51rdpwzm9qa60760nrry1fy624z"; inherit rustc; # the rustc that will be wrapped by cargo inherit rustPlatform; # used to build cargo diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 44964f53a44..e1bff12f398 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -90,6 +90,9 @@ stdenv.mkDerivation { # Disable fragile linker-output-non-utf8 test rm -vr src/test/run-make/linker-output-non-utf8/ + # Remove test targeted at LLVM 3.9 - https://github.com/rust-lang/rust/issues/36835 + rm -vr src/test/run-pass/issue-36023.rs + # Useful debugging parameter # export VERBOSE=1 '' + diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index a130772297c..be7cf7302b7 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -269,12 +269,14 @@ self: super: { snowball = dontCheck super.snowball; sophia = dontCheck super.sophia; test-sandbox = dontCheck super.test-sandbox; + texrunner = dontCheck super.texrunner; users-postgresql-simple = dontCheck super.users-postgresql-simple; wai-middleware-hmac = dontCheck super.wai-middleware-hmac; xkbcommon = dontCheck super.xkbcommon; xmlgen = dontCheck super.xmlgen; hapistrano = dontCheck super.hapistrano; HerbiePlugin = dontCheck super.HerbiePlugin; + wai-cors = dontCheck super.wai-cors; # These packages try to access the network. amqp = dontCheck super.amqp; @@ -641,6 +643,11 @@ self: super: { ''; })); + # Requires optparse-applicative 0.13.0.0 + diagrams-pgf = super.diagrams-pgf.overrideScope (self: super: { + optparse-applicative = self.optparse-applicative_0_13_0_0; + }); + # Patch to consider NIX_GHC just like xmonad does dyre = appendPatch super.dyre ./patches/dyre-nix.patch; @@ -1019,4 +1026,10 @@ self: super: { # https://github.com/fpco/store/issues/77 store = dontCheck super.store; + # https://github.com/bmillwood/applicative-quoters/issues/6 + applicative-quoters = doJailbreak super.applicative-quoters; + + # https://github.com/vshabanov/HsOpenSSL/issues/11 + HsOpenSSL = doJailbreak super.HsOpenSSL; + } diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix index a0f8056c081..00f6f3770d5 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -179,9 +179,6 @@ self: super: { vector-algorithms = addBuildDepends (dontCheck super.vector-algorithms) [ self.mtl self.mwc-random ]; - # Trigger rebuild to mitigate broken packaes on Hydra. - amazonka-core = triggerRebuild super.amazonka-core 1; - # https://github.com/thoughtpolice/hs-ed25519/issues/13 ed25519 = dontCheck super.ed25519; @@ -190,6 +187,7 @@ self: super: { hackage-security = dontHaddock (dontCheck super.hackage-security); # GHC versions prior to 8.x require additional build inputs. + attoparsec = addBuildDepends super.attoparsec (with self; [semigroups fail]); Glob = addBuildDepends super.Glob (with self; [semigroups]); Glob_0_7_10 = addBuildDepends super.Glob_0_7_10 (with self; [semigroups]); aeson = disableCabalFlag (addBuildDepend super.aeson self.semigroups) "old-locale"; @@ -212,6 +210,6 @@ self: super: { # Moved out from common as no longer the case for GHC8 ghc-mod = super.ghc-mod.override { cabal-helper = self.cabal-helper_0_6_3_1; }; - generic-deriving = self.generic-deriving_1_10_5; + } diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index 19940bd70be..9020f1ee467 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -6,12 +6,13 @@ let - allCabalFiles = pkgs.fetchFromGitHub { - owner = "commercialhaskell"; - repo = "all-cabal-hashes"; - rev = "72f1318540eff69544eb8c14a16f630d0c5448b8"; - sha256 = "1czi1rajk2726mqrw3qp7a43h26acbjw54ll3ns063yzg9hg469m"; - }; + allCabalFiles = stdenv.mkDerivation { + name = "all-cabal-hashes-0"; + buildCommand = '' + mkdir -p $out + tar -C $out --strip-components=1 -x -f ${builtins.fetchurl "https://github.com/commercialhaskell/all-cabal-hashes/archive/hackage.tar.gz"} + ''; + }; inherit (stdenv.lib) fix' extends; diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index e4fcd09c0e0..2b597532b44 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -180,11 +180,6 @@ stdenv.mkDerivation ({ setupCompileFlags="${concatStringsSep " " setupCompileFlags}" configureFlags="${concatStringsSep " " defaultConfigureFlags} $configureFlags" - ${optionalString (stdenv.lib.versionOlder "8" ghc.version) '' - ipid=$(echo $(basename "$out") | cut -d- -f1) - configureFlags+=" --ipid=$ipid" - ''} - local inputClosure="" for i in $propagatedNativeBuildInputs $nativeBuildInputs; do findInputs $i inputClosure propagated-native-build-inputs diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix index 566d7025e5c..9fc25ad46fd 100644 --- a/pkgs/development/interpreters/eff/default.nix +++ b/pkgs/development/interpreters/eff/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, ocaml, findlib, menhir, which }: +{ stdenv, fetchgit, ocaml, findlib, ocamlbuild, menhir, which }: let inherit (stdenv.lib) getVersion versionAtLeast; in @@ -14,7 +14,7 @@ stdenv.mkDerivation { sha256 = "0cqqrpvfw0nrk5d28mkzfvc8yzqxcss0k46bkmqhqjkqq886n2mm"; }; - buildInputs = [ ocaml findlib menhir which ]; + buildInputs = [ ocaml findlib ocamlbuild menhir which ]; doCheck = true; checkTarget = "test"; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index f79ef61d36a..ae8256dfaea 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -271,7 +271,7 @@ let done [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin - ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags + ./configure --with-config-file-scan-dir=/etc/php.d --with-config-file-path=$out/etc --prefix=$out $configureFlags ''; postInstall = '' diff --git a/pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch b/pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch deleted file mode 100644 index f5d9e569502..00000000000 --- a/pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e069102365a9ff03822667f435e662f938e8d768 Mon Sep 17 00:00:00 2001 -From: Alexander Ried -Date: Wed, 1 Jun 2016 12:49:48 +0200 -Subject: [PATCH] Add nixbld* to user blacklist - ---- - src/user-classify.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/user-classify.c b/src/user-classify.c -index 69e6809..0e152b6 100644 ---- a/src/user-classify.c -+++ b/src/user-classify.c -@@ -75,6 +75,10 @@ user_classify_is_blacklisted (const char *username) - return TRUE; - } - -+ if (g_str_has_prefix (username, "nixbld")) { -+ return TRUE; -+ } -+ - return FALSE; - } - --- -2.7.4 - diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix index 2dc6b57c339..1a49913727d 100644 --- a/pkgs/development/libraries/accountsservice/default.nix +++ b/pkgs/development/libraries/accountsservice/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "accountsservice-${version}"; - version = "0.6.42"; + version = "0.6.43"; src = fetchurl { url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz"; - sha256 = "0zh0kjpdc631qh36plcgpwvnmh9wj8l5cki3aw5r09w6y7198r75"; + sha256 = "1k6n9079001sgcwlkq0bz6mkn4m8y4dwf6hs1qm85swcld5ajfzd"; }; buildInputs = [ pkgconfig glib intltool libtool makeWrapper @@ -26,7 +26,6 @@ stdenv.mkDerivation rec { patches = [ ./no-create-dirs.patch - ./Add-nixbld-to-user-blacklist.patch ./Disable-methods-that-change-files-in-etc.patch ]; diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix index eb68a7b9a91..482cf9fdfad 100644 --- a/pkgs/development/libraries/c-ares/default.nix +++ b/pkgs/development/libraries/c-ares/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "c-ares-1.10.0"; + name = "c-ares-1.12.0"; src = fetchurl { url = "http://c-ares.haxx.se/download/${name}.tar.gz"; - sha256 = "1nyka87yf2jfd0y6sspll0yxwb8zi7kyvajrdbjmh4axc5s1cw1x"; + sha256 = "1yv5ygkd813glz8hbagykgp1hlb6450chig061hr7pyw7i0gk4l6"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix index 80f858254ff..97a97523260 100644 --- a/pkgs/development/libraries/capstone/default.nix +++ b/pkgs/development/libraries/capstone/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bash, cmake }: +{ stdenv, fetchurl, bash }: stdenv.mkDerivation rec { name = "capstone-${version}"; @@ -9,7 +9,10 @@ stdenv.mkDerivation rec { sha256 = "1whl5c8j6vqvz2j6ay2pyszx0jg8d3x8hq66cvgghmjchvsssvax"; }; - buildInputs = [ cmake ]; + configurePhase = '' patchShebangs make.sh ''; + buildPhase = '' ./make.sh ''; + installPhase = '' env PREFIX=$out ./make.sh install ''; + enableParallelBuilding = true; meta = { diff --git a/pkgs/development/libraries/cpp-netlib/default.nix b/pkgs/development/libraries/cpp-netlib/default.nix index 5b824e3c575..ecc730597c3 100644 --- a/pkgs/development/libraries/cpp-netlib/default.nix +++ b/pkgs/development/libraries/cpp-netlib/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, boost, openssl }: +{ stdenv, fetchurl, cmake, boost, openssl, asio }: stdenv.mkDerivation rec { name = "cpp-netlib-${version}"; @@ -11,6 +11,9 @@ stdenv.mkDerivation rec { buildInputs = [ cmake boost openssl ]; + # This can be removed when updating to 0.13, see https://github.com/cpp-netlib/cpp-netlib/issues/629 + propagatedBuildInputs = [ asio ]; + cmakeFlags = [ "-DCPP-NETLIB_BUILD_SHARED_LIBS=ON" ]; diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 551d18d17f1..8acc773a46c 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -28,6 +28,9 @@ stdenv.mkDerivation rec { "--enable-fixed-path=${gpgStorePath}/bin" ]; + NIX_CFLAGS_COMPILE = + with stdenv; lib.optional (system == "i686-linux") "-D_FILE_OFFSET_BITS=64"; + meta = with stdenv.lib; { homepage = "http://www.gnupg.org/related_software/gpgme"; description = "Library for making GnuPG easier to use"; diff --git a/pkgs/development/libraries/jansson/default.nix b/pkgs/development/libraries/jansson/default.nix index a24005487be..5a3085ba728 100644 --- a/pkgs/development/libraries/jansson/default.nix +++ b/pkgs/development/libraries/jansson/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "jansson-2.8"; + name = "jansson-2.9"; src = fetchurl { url = "http://www.digip.org/jansson/releases/${name}.tar.gz"; - sha256 = "0v7v82mv7x44rpcxmrpnmb8hqimx67qwsp2cz9mv3y0f37iykwnf"; + sha256 = "19fjgfwjfj99rqa3kf96x5rssj88siazggksgrikd6h4r9sd1l0a"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix index c9fa9b10f93..e2061df88f0 100644 --- a/pkgs/development/libraries/jasper/default.nix +++ b/pkgs/development/libraries/jasper/default.nix @@ -1,37 +1,17 @@ -{ stdenv, fetchurl, fetchpatch, unzip, libjpeg, autoreconfHook }: +{ stdenv, fetchurl, fetchpatch, libjpeg, autoreconfHook }: stdenv.mkDerivation rec { - name = "jasper-1.900.1"; + name = "jasper-1.900.2"; src = fetchurl { - url = "http://www.ece.uvic.ca/~mdadams/jasper/software/${name}.zip"; - sha256 = "154l7zk7yh3v8l2l6zm5s2alvd2fzkp6c9i18iajfbna5af5m43b"; + url = "http://www.ece.uvic.ca/~mdadams/jasper/software/${name}.tar.gz"; + sha256 = "0bkibjhq3js2ldxa2f9pss84lcx4f5d3v0qis3ifi11ciy7a6c9a"; }; patches = [ - ./jasper-CVE-2016-1867.diff ./jasper-CVE-2014-8137-variant2.diff ./jasper-CVE-2014-8137-noabort.diff - ./jasper-CVE-2014-8138.diff - ./jasper-CVE-2014-8157.diff - ./jasper-CVE-2014-8158.diff - ./jasper-CVE-2014-9029.diff - (fetchpatch { # CVE-2016-2116 - url = "https://github.com/mdadams/jasper/commit/142245b9bbb33274a7c620aa7a8f85bc00b2d68e.patch"; - sha256 = "06dkplqfb3swmdfqb9i2m6r13q0ivn538xfvinxz0agandxyc9yr"; - }) - (fetchpatch { # CVE-2016-1577 - url = "https://github.com/mdadams/jasper/commit/74ea22a7a4fe186e0a0124df25e19739b77c4a29.patch"; - sha256 = "1xgvhfhv8r77z0a07ick2w3217mypnkaqjwzxbk1g1ym8lsy5r13"; - }) - (fetchpatch { # CVE-2015-5221 - url = "https://github.com/mdadams/jasper/commit/df5d2867e8004e51e18b89865bc4aa69229227b3.patch"; - sha256 = "0qsiymm59dkj843dbi43ijqdyy3rrzf193ndm9ynj3cfhqghi10l"; - }) - (fetchpatch { # CVE-2008-3522 - url = "https://github.com/mdadams/jasper/commit/d678ccd27b8a062e3bfd4c80d8ce2676a8166a27.patch"; - sha256 = "0dapf8h4s3zijbgd8vmap3blpnc78h7jqm5ydv8j0krrs5dv5672"; - }) + (fetchpatch { # CVE-2016-2089 url = "https://github.com/mdadams/jasper/commit/aa6d9c2bbae9155f8e1466295373a68fa97291c3.patch"; sha256 = "1pxnm86zmbq6brfwsm5wx3iv7s92n4xilc52lzp61q266jmlggrf"; @@ -43,7 +23,7 @@ stdenv.mkDerivation rec { ]; # newer reconf to recognize a multiout flag - nativeBuildInputs = [ unzip autoreconfHook ]; + nativeBuildInputs = [ autoreconfHook ]; propagatedBuildInputs = [ libjpeg ]; configureFlags = "--enable-shared"; diff --git a/pkgs/development/libraries/libcaca/default.nix b/pkgs/development/libraries/libcaca/default.nix index 5ff3157272e..04e1af2326b 100644 --- a/pkgs/development/libraries/libcaca/default.nix +++ b/pkgs/development/libraries/libcaca/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ncurses, zlib, imlib2, pkgconfig, libX11 }: +{ stdenv, fetchurl, ncurses, zlib, imlib2, pkgconfig, libX11, libXext }: stdenv.mkDerivation rec { name = "libcaca-0.99.beta19"; @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" "man" ]; - propagatedBuildInputs = [ ncurses zlib imlib2 pkgconfig libX11 ]; + propagatedBuildInputs = [ ncurses zlib imlib2 pkgconfig libX11 ] + ++ stdenv.lib.optional stdenv.isDarwin libXext; postInstall = '' mkdir -p $dev/bin diff --git a/pkgs/development/libraries/libgee/0.8.nix b/pkgs/development/libraries/libgee/0.8.nix new file mode 100644 index 00000000000..aba06d86107 --- /dev/null +++ b/pkgs/development/libraries/libgee/0.8.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, glib }: + +let + ver_maj = "0.8"; + ver_min = "6"; +in +stdenv.mkDerivation rec { + name = "libgee-${ver_maj}.${ver_min}"; + + src = fetchurl { + url = "https://download.gnome.org/sources/libgee/${ver_maj}/${name}.tar.xz"; + sha256 = "1mp3bfghc8qh2v8h2pfhksda22mgy2d5ygm1jr3bir544nr8i4fg"; + }; + + buildInputs = [ glib ]; + nativeBuildInputs = [ pkgconfig ]; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Utility library providing GObject-based interfaces and classes for commonly used data structures"; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + homepage = "http://live.gnome.org/Libgee"; + maintainers = with maintainers; [ sternenseemann ]; + }; +} diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix index aa5d858d82c..c40e54e09cb 100644 --- a/pkgs/development/libraries/libmbim/default.nix +++ b/pkgs/development/libraries/libmbim/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, python, udev, libgudev }: stdenv.mkDerivation rec { - name = "libmbim-1.12.2"; + name = "libmbim-1.14.0"; src = fetchurl { - url = "http://www.freedesktop.org/software/libmbim/${name}.tar.xz"; - sha256 = "0abv0h9c3kbw4bq1b9270sg189jcjj3x3wa91bj836ynwg9m34wl"; + url = "https://www.freedesktop.org/software/libmbim/${name}.tar.xz"; + sha256 = "0nxb4x8l092xckk4dy84cn5qhviif8akzy0miypapjqqbalm53fa"; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/libnfnetlink/default.nix b/pkgs/development/libraries/libnfnetlink/default.nix index c47076014c4..be60612a4ff 100644 --- a/pkgs/development/libraries/libnfnetlink/default.nix +++ b/pkgs/development/libraries/libnfnetlink/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://www.netfilter.org/projects/libnfnetlink/files/${name}.tar.bz2"; - md5 = "98927583d2016a9fb1936fed992e2c5e"; + sha256 = "06mm2x4b01k3m7wnrxblk9j0mybyr4pfz28ml7944xhjx6fy2w7j"; }; meta = { diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix index cfce5e0fd71..d0b46722ff3 100644 --- a/pkgs/development/libraries/libqmi/default.nix +++ b/pkgs/development/libraries/libqmi/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, python }: stdenv.mkDerivation rec { - name = "libqmi-1.12.6"; + name = "libqmi-1.16.0"; src = fetchurl { - url = "http://www.freedesktop.org/software/libqmi/${name}.tar.xz"; - sha256 = "101ppan2q1h4pyp2zbn9b8sdwy2c7fk9rp91yykxz3afrvzbymq8"; + url = "https://www.freedesktop.org/software/libqmi/${name}.tar.xz"; + sha256 = "0amshs06qc8zy8jz3r2yksqhhbamll7f893ll4zlvgr3zm3vpdks"; }; outputs = [ "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 7f32f37a704..ad6d9947355 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { patches = stdenv.lib.optional stdenv.isDarwin [ ./clang.patch ]; - propagatedBuildInputs = [ libiconv ]; + buildInputs = [ libiconv ]; configureFlags = [ "--with-libiconv-prefix=${libiconv}" diff --git a/pkgs/development/libraries/openjpeg/2.1.nix b/pkgs/development/libraries/openjpeg/2.1.nix index d59ceb9f7a9..00cd4103c8f 100644 --- a/pkgs/development/libraries/openjpeg/2.1.nix +++ b/pkgs/development/libraries/openjpeg/2.1.nix @@ -1,8 +1,8 @@ { callPackage, ... } @ args: callPackage ./generic.nix (args // rec { - version = "2.1.1"; + version = "2.1.2"; branch = "2.1"; - revision = "v2.1.1"; - sha256 = "1hrn10byrlw7hb7hwv2zvff89rxy3bsbn0im5ki4kdk63jw5p601"; + revision = "v2.1.2"; + sha256 = "0kdcl9sqjz0vagli4ad6bxq1r8ma086m0prpkm5x3dxp37hpjp8h"; }) diff --git a/pkgs/development/libraries/pcl/default.nix b/pkgs/development/libraries/pcl/default.nix index 42a8d00eec0..b9762e284e6 100644 --- a/pkgs/development/libraries/pcl/default.nix +++ b/pkgs/development/libraries/pcl/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, cmake, qhull, flann, boost, vtk, eigen, pkgconfig, qt4 -, libusb1, libpcap, libXt, libpng, Cocoa, AGL, cf-private +, libusb1, libpcap, libXt, libpng, Cocoa, AGL, cf-private, OpenGL }: stdenv.mkDerivation rec { @@ -18,7 +18,9 @@ stdenv.mkDerivation rec { libpng vtk qt4 libXt ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa AGL cf-private ]; cmakeFlags = stdenv.lib.optionals stdenv.isDarwin [ - "-DCMAKE_OSX_SYSROOT=" "-DCMAKE_OSX_DEPLOYMENT_TARGET=" ]; + "-DCMAKE_OSX_SYSROOT=" "-DCMAKE_OSX_DEPLOYMENT_TARGET=" + "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks" + ]; preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' NIX_CFLAGS_COMPILE=$(echo "$NIX_CFLAGS_COMPILE" | sed "s,[[:space:]]*-F$NIX_STORE/[[:alnum:]]*-CF-osx-[[:digit:].]*/Library/Frameworks,,g") diff --git a/pkgs/development/libraries/quickder/default.nix b/pkgs/development/libraries/quickder/default.nix new file mode 100644 index 00000000000..2ee3a61aacf --- /dev/null +++ b/pkgs/development/libraries/quickder/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, fetchurl, hexio, python, which, asn2quickder, bash }: + +stdenv.mkDerivation rec { + pname = "quickder"; + name = "${pname}-${version}"; + version = "1.0-RC1"; + + src = fetchFromGitHub { + sha256 = "05gw5dqkw3l8kwwm0044zpxhcp7sxicx9wxbfyr49c91403p870w"; + rev = "version-${version}"; + owner = "vanrein"; + repo = "quick-der"; + }; + + buildInputs = [ which asn2quickder bash ]; + + patchPhase = '' + substituteInPlace Makefile \ + --replace 'lib tool test rfc' 'lib test rfc' + substituteInPlace ./rfc/Makefile \ + --replace 'ASN2QUICKDER_CMD = ' 'ASN2QUICKDER_CMD = ${asn2quickder}/bin/asn2quickder #' + ''; + + installFlags = "ASN2QUICKDER_DIR=${asn2quickder}/bin ASN2QUICKDER_CMD=${asn2quickder}/bin/asn2quickder"; + installPhase = '' + mkdir -p $out/lib $out/man + make DESTDIR=$out PREFIX=/ all + make DESTDIR=$out PREFIX=/ install + ''; + + meta = with stdenv.lib; { + description = "Quick (and Easy) DER, a Library for parsing ASN.1"; + homepage = https://github.com/vanrein/quick-der; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ leenaars ]; + }; +} diff --git a/pkgs/development/libraries/uri/default.nix b/pkgs/development/libraries/uri/default.nix new file mode 100644 index 00000000000..61ac651256a --- /dev/null +++ b/pkgs/development/libraries/uri/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, cmake, doxygen }: + +stdenv.mkDerivation { + name = "uri-2016-09-04"; + + src = fetchFromGitHub { + owner = "cpp-netlib"; + repo = "uri"; + rev = "8b1eec80621ea7be1db3b28f1621e531cc72855c"; + sha256 = "0f77y79b11pp31y0qpydki2nnxd6gpycp24fmrapi70fsni2ah0d"; + }; + + buildInputs = [ cmake doxygen ]; + + cmakeFlags = [ "-DUri_BUILD_TESTS=OFF" "-DBUILD_SHARED_LIBS=ON" ]; + + postBuild = '' + make doc + ''; + + # https://github.com/cpp-netlib/uri/issues/90 + postInstall = '' + mv $out/include $out/include2 + mv $out/include2/include $out/ + rmdir $out/include2 + mkdir -p $out/share/doc + mv html $out/share/doc/uri + ''; + + meta = { + description = "C++ URI library"; + homepage = http://cpp-netlib.org; + license = stdenv.lib.licenses.boost; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/webkitgtk/2.14.nix b/pkgs/development/libraries/webkitgtk/2.14.nix index fca358ed430..7439d72151d 100644 --- a/pkgs/development/libraries/webkitgtk/2.14.nix +++ b/pkgs/development/libraries/webkitgtk/2.14.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { # XXX: WebKit2 missing include path for gst-plugins-base. # Filled: https://bugs.webkit.org/show_bug.cgi?id=148894 - #NIX_CFLAGS_COMPILE = "-I${gst-plugins-base.dev}/include/gstreamer-1.0"; + NIX_CFLAGS_COMPILE = "-I${gst-plugins-base.dev}/include/gstreamer-1.0"; nativeBuildInputs = [ cmake perl python ruby bison gperf sqlite diff --git a/pkgs/development/ocaml-modules/ansiterminal/default.nix b/pkgs/development/ocaml-modules/ansiterminal/default.nix index 615e1d1b673..7edd0ddda5e 100644 --- a/pkgs/development/ocaml-modules/ansiterminal/default.nix +++ b/pkgs/development/ocaml-modules/ansiterminal/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ocaml, findlib }: +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild }: stdenv.mkDerivation { @@ -9,7 +9,7 @@ stdenv.mkDerivation { sha256 = "1j9kflv2i16vf9hy031cl6z8hv6791mjbhnd9bw07y1pswdlx1r6"; }; - buildInputs = [ ocaml findlib ]; + buildInputs = [ ocaml findlib ocamlbuild ]; configurePhase = "ocaml setup.ml -configure --prefix $out"; diff --git a/pkgs/development/ocaml-modules/base64/default.nix b/pkgs/development/ocaml-modules/base64/default.nix index aabb9f8a76a..8128dc1cb6f 100644 --- a/pkgs/development/ocaml-modules/base64/default.nix +++ b/pkgs/development/ocaml-modules/base64/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, ocaml, findlib }: +{ stdenv, fetchzip, ocaml, findlib, ocamlbuild }: let version = "2.0.0"; in @@ -10,7 +10,7 @@ stdenv.mkDerivation { sha256 = "1nv55gwq5vaxmrcz9ja2s165b1p9fhcxszc1l76043gpa56qm4fs"; }; - buildInputs = [ ocaml findlib ]; + buildInputs = [ ocaml findlib ocamlbuild ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix index 0c01a946e5a..904a214c34f 100644 --- a/pkgs/development/ocaml-modules/batteries/default.nix +++ b/pkgs/development/ocaml-modules/batteries/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, ocaml, findlib, qtest }: +{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, qtest }: let version = "2.5.2"; in @@ -10,7 +10,7 @@ stdenv.mkDerivation { sha256 = "01v7sp8vsqlfrmpji5pkrsjl43r3q8hk1a4z4lmyy9y2i0fqwl07"; }; - buildInputs = [ ocaml findlib qtest ]; + buildInputs = [ ocaml findlib ocamlbuild qtest ]; configurePhase = "true"; # Skip configure diff --git a/pkgs/development/ocaml-modules/bolt/default.nix b/pkgs/development/ocaml-modules/bolt/default.nix index cf8b21edb50..5d1fe8aa0d1 100644 --- a/pkgs/development/ocaml-modules/bolt/default.nix +++ b/pkgs/development/ocaml-modules/bolt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ocaml, findlib, which, camlp4 }: +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, which, camlp4 }: let inherit (stdenv.lib) getVersion versionAtLeast; in @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { sha256 = "1c807wrpxra9sbb34lajhimwra28ldxv04m570567lh2b04n38zy"; }; - buildInputs = [ ocaml findlib which camlp4 ]; + buildInputs = [ ocaml findlib ocamlbuild which camlp4 ]; patchPhase = '' patch myocamlbuild.ml < (tcl != null) buildPythonPackage rec { name = "matplotlib-${version}"; - version = "1.5.1"; + version = "1.5.3"; src = fetchurl { url = "mirror://pypi/m/matplotlib/${name}.tar.gz"; - sha256 = "3ab8d968eac602145642d0db63dd8d67c85e9a5444ce0e2ecb2a8fedc7224d40"; + sha256 = "1g7bhr6v3wdxyx29rfxgf57l9w19s79cdlpyi0h4y0c5ywwxr9d0"; }; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1"; diff --git a/pkgs/development/tools/asn2quickder/default.nix b/pkgs/development/tools/asn2quickder/default.nix new file mode 100644 index 00000000000..69051714ab4 --- /dev/null +++ b/pkgs/development/tools/asn2quickder/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, pythonPackages, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "asn2quickder"; + name = "${pname}-${version}"; + version = "0.7-RC1"; + + src = fetchFromGitHub { + sha256 = "0ynajhbml28m4ipbj5mscjcv6g1a7frvxfimxh813rhgl0w3sgq8"; + rev = "version-${version}"; + owner = "vanrein"; + repo = "${pname}"; + }; + + propagatedBuildInputs = with pythonPackages; [ pyparsing makeWrapper ]; + + patchPhase = with pythonPackages; '' + substituteInPlace Makefile \ + --replace '..' '..:$(DESTDIR)/${python.sitePackages}:${pythonPackages.pyparsing}/${python.sitePackages}' \ + ''; + + installPhase = '' + mkdir -p $out/${pythonPackages.python.sitePackages}/ + mkdir -p $out/bin $out/lib $out/sbin $out/man + make DESTDIR=$out PREFIX=/ all + make DESTDIR=$out PREFIX=/ install + ''; + + meta = with stdenv.lib; { + description = "An ASN.1 compiler with a backend for Quick DER"; + homepage = https://github.com/vanrein/asn2quickder; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ leenaars ]; + }; +} diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix index 002d3bde201..5d57c9b4579 100644 --- a/pkgs/development/tools/build-managers/bazel/default.nix +++ b/pkgs/development/tools/build-managers/bazel/default.nix @@ -1,35 +1,70 @@ -{ stdenv, fetchFromGitHub, jdk, zip, zlib, protobuf3_0, pkgconfig, libarchive, unzip, which, makeWrapper }: -stdenv.mkDerivation rec { - version = "0.3.1"; - name = "bazel-${version}"; +{ stdenv, fetchFromGitHub, buildFHSUserEnv, writeScript, jdk, zip, unzip, + which, makeWrapper, binutils }: - src = fetchFromGitHub { - owner = "google"; - repo = "bazel"; - rev = version; - sha256 = "1cm8zjxf8y3ai6h9wndxvflfsijjqhg87fll9ar7ff0hbbbdf6l5"; - }; +let - buildInputs = [ pkgconfig protobuf3_0 zlib zip libarchive unzip which makeWrapper jdk ]; + version = "0.3.2"; - buildPhase = '' - export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib ]}" - - bash compile.sh - ''; - - installPhase = '' - mkdir -p $out/bin $out/share - cp -R output $out/share/bazel - ln -s $out/share/bazel/bazel $out/bin/bazel - wrapProgram $out/bin/bazel --set JAVA_HOME "${jdk.home}" - ''; - - meta = { - homepage = http://github.com/google/bazel/; + meta = with stdenv.lib; { + homepage = http://github.com/bazelbuild/bazel/; description = "Build tool that builds code quickly and reliably"; - license = stdenv.lib.licenses.asl20; - maintainers = [ stdenv.lib.maintainers.philandstuff ]; - platforms = [ "x86_64-linux" ]; + license = licenses.asl20; + maintainers = [ maintainers.philandstuff ]; + platforms = platforms.linux; }; -} + + bootstrapEnv = buildFHSUserEnv { + name = "bazel-bootstrap-env"; + + targetPkgs = pkgs: [ ]; + + inherit meta; + }; + + bazelBinary = stdenv.mkDerivation rec { + name = "bazel-${version}"; + + src = fetchFromGitHub { + owner = "bazelbuild"; + repo = "bazel"; + rev = version; + sha256 = "085cjz0qhm4a12jmhkjd9w3ic4a67035j01q111h387iklvgn6xg"; + }; + patches = [ ./java_stub_template.patch ]; + + packagesNotFromEnv = [ + stdenv.cc stdenv.cc.cc.lib jdk which zip unzip binutils ]; + buildInputs = packagesNotFromEnv ++ [ bootstrapEnv makeWrapper ]; + + buildTimeBinPath = stdenv.lib.makeBinPath packagesNotFromEnv; + buildTimeLibPath = stdenv.lib.makeLibraryPath packagesNotFromEnv; + + runTimeBinPath = stdenv.lib.makeBinPath [ jdk stdenv.cc.cc ]; + runTimeLibPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib ]; + + buildWrapper = writeScript "build-wrapper.sh" '' + #! ${stdenv.shell} -e + export PATH="${buildTimeBinPath}:$PATH" + export LD_LIBRARY_PATH="${buildTimeLibPath}:$LD_LIBRARY_PATH" + ./compile.sh + ''; + + buildPhase = '' + bazel-bootstrap-env ${buildWrapper} + ''; + + installPhase = '' + mkdir -p $out/bin + cp output/bazel $out/bin/ + wrapProgram $out/bin/bazel \ + --suffix PATH ":" "${runTimeBinPath}" \ + --suffix LD_LIBRARY_PATH ":" "${runTimeLibPath}" + ''; + + dontStrip = true; + dontPatchELF = true; + + inherit meta; + }; + +in bazelBinary diff --git a/pkgs/development/tools/build-managers/bazel/java_stub_template.patch b/pkgs/development/tools/build-managers/bazel/java_stub_template.patch new file mode 100644 index 00000000000..4e456a78d80 --- /dev/null +++ b/pkgs/development/tools/build-managers/bazel/java_stub_template.patch @@ -0,0 +1,16 @@ +commit 5525326e3287243e0e7417de96bf7d58d04b4c8b +Author: Irene Knapp +Date: Sat Oct 8 19:36:12 2016 -0700 + + Change #!/bin/bash to #!/usr/bin/env bash. + +diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt +index f77051f..fbf367a 100644 +--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt ++++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt +@@ -1,4 +1,4 @@ +-#!/bin/bash --posix ++#!/usr/bin/env bash + # Copyright 2014 The Bazel Authors. All rights reserved. + # + # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix index 4431105d18f..d16b83a2831 100644 --- a/pkgs/development/tools/build-managers/buildbot/default.nix +++ b/pkgs/development/tools/build-managers/buildbot/default.nix @@ -1,16 +1,12 @@ -{ stdenv -, pythonPackages -, fetchurl -, plugins ? [] -}: +{ stdenv, pythonPackages, fetchurl, coreutils, plugins ? [] }: pythonPackages.buildPythonApplication (rec { name = "${pname}-${version}"; pname = "buildbot"; - version = "0.9.0rc3"; + version = "0.9.0rc4"; src = fetchurl { url = "mirror://pypi/b/${pname}/${name}.tar.gz"; - sha256 = "18238n9l0pfivb23csy5lnkx91fcm4jgmhxn03f2nfnp00rlppzb"; + sha256 = "16bnrr5qkfpnby9sw9azcagnw0ybi7d8bpdlga2a4c61jg2d5dnc"; }; buildInputs = with pythonPackages; [ @@ -61,16 +57,17 @@ pythonPackages.buildPythonApplication (rec { preInstall = '' # writes out a file that can't be read properly sed -i.bak -e '69,84d' buildbot/test/unit/test_www_config.py + + # re-hardcode path to tail + sed -i.bak 's|/usr/bin/tail|${coreutils}/bin/tail|' buildbot/scripts/logwatcher.py ''; postFixup = '' - buildPythonPath "$out" - patchPythonScript "$out/bin/buildbot" mv -v $out/bin/buildbot $out/bin/.wrapped-buildbot - echo "#!/bin/bash" > $out/bin/buildbot - echo "export PYTHONPATH=$out/lib/python2.7/site-packages:$PYTHONPATH" >> $out/bin/buildbot + echo "#!/bin/sh" > $out/bin/buildbot + echo "export PYTHONPATH=$PYTHONPATH" >> $out/bin/buildbot echo "exec $out/bin/.wrapped-buildbot \"\$@\"" >> $out/bin/buildbot - chmod -c 755 $out/bin/buildbot + chmod -c 555 $out/bin/buildbot ''; meta = with stdenv.lib; { @@ -78,5 +75,6 @@ pythonPackages.buildPythonApplication (rec { description = "Continuous integration system that automates the build/test cycle"; maintainers = with maintainers; [ nand0p ryansydnor ]; platforms = platforms.all; + license = licenses.gpl2; }; }) diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix index 384452e27d9..09f8b1e750a 100644 --- a/pkgs/development/tools/build-managers/buildbot/plugins.nix +++ b/pkgs/development/tools/build-managers/buildbot/plugins.nix @@ -1,17 +1,14 @@ -{ stdenv -, fetchurl -, pythonPackages -}: +{ stdenv, fetchurl, pythonPackages }: let buildbot-pkg = pythonPackages.buildPythonPackage rec { name = "${pname}-${version}"; pname = "buildbot-pkg"; - version = "0.9.0rc3"; + version = "0.9.0rc4"; src = fetchurl { url = "mirror://pypi/b/${pname}/${name}.tar.gz"; - sha256 = "0a05dgc5nn6sx3nicfvqwar9iy8yxhq92688dhs5p6mzjxaprlxm"; + sha256 = "0dfdyc3x0926dynzdl9w7z0p84w287l362mxdl3r6wl87gkisr10"; }; propagatedBuildInputs = with pythonPackages; [ setuptools ]; @@ -21,6 +18,7 @@ let description = "Buildbot Packaging Helper"; maintainers = with maintainers; [ nand0p ryansydnor ]; platforms = platforms.all; + license = licenses.gpl2; }; }; @@ -29,13 +27,14 @@ in { www = pythonPackages.buildPythonPackage rec { name = "${pname}-${version}"; pname = "buildbot_www"; - version = "0.9.0rc3"; + version = "0.9.0rc4"; # NOTE: wheel is used due to buildbot circular dependency format = "wheel"; + src = fetchurl { - url = "https://pypi.python.org/packages/93/1e/09e329fc831ae4f5be05eb3363c9028ab7e26e9c7e5d89e3aa66c3f25d9d/${name}-py2-none-any.whl"; - sha256 = "0fy2v7y1kc53zm67ddx85yz5qh4b7hmcbfzmsziiv9n83a0qh1i6"; + url = "https://pypi.python.org/packages/78/45/b43bd85695cd0178f8bac9c3b394062e9eb46f489b655c11e950e54278a2/${name}-py2-none-any.whl"; + sha256 = "0ixi0y0jhbql55swsvy0jin1v6xf4q4mw9p5n9sll2h10lyp9h0p"; }; propagatedBuildInputs = [ buildbot-pkg ]; @@ -45,17 +44,18 @@ in { description = "Buildbot UI"; maintainers = with maintainers; [ nand0p ryansydnor ]; platforms = platforms.all; + license = licenses.gpl2; }; }; console-view = pythonPackages.buildPythonPackage rec { name = "${pname}-${version}"; pname = "buildbot-console-view"; - version = "0.9.0rc3"; + version = "0.9.0rc4"; src = fetchurl { url = "mirror://pypi/b/${pname}/${name}.tar.gz"; - sha256 = "09yfqrnwfambg1j4x7ywnjg4xfhvv6f242zzh35fwj64cnqmqx07"; + sha256 = "1fig635yg5dgn239g9wzfpw9wc3p91lcl9nnig9k7fijz85pwrva"; }; propagatedBuildInputs = [ buildbot-pkg ]; @@ -65,17 +65,18 @@ in { description = "Buildbot Console View Plugin"; maintainers = with maintainers; [ nand0p ryansydnor ]; platforms = platforms.all; + license = licenses.gpl2; }; }; waterfall-view = pythonPackages.buildPythonPackage rec { name = "${pname}-${version}"; pname = "buildbot-waterfall-view"; - version = "0.9.0rc3"; + version = "0.9.0rc4"; src = fetchurl { url = "mirror://pypi/b/${pname}/${name}.tar.gz"; - sha256 = "0xpqxj3mmwl5xdhm3p52shl24d85qapdk4v66f9hrb9pnk5k4a81"; + sha256 = "08kh966grj9b4mif337vv7bqy5ixz8xz31ml63wysjb65djnjbk8"; }; propagatedBuildInputs = [ buildbot-pkg ]; @@ -85,6 +86,7 @@ in { description = "Buildbot Waterfall View Plugin"; maintainers = with maintainers; [ nand0p ryansydnor ]; platforms = platforms.all; + license = licenses.gpl2; }; }; } diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix index 2c8e17a37c0..01b2051aaa6 100644 --- a/pkgs/development/tools/build-managers/buildbot/worker.nix +++ b/pkgs/development/tools/build-managers/buildbot/worker.nix @@ -1,16 +1,13 @@ -{ stdenv -, fetchurl -, pythonPackages -}: +{ stdenv, fetchurl, pythonPackages }: pythonPackages.buildPythonApplication (rec { name = "${pname}-${version}"; pname = "buildbot-worker"; - version = "0.9.0rc3"; + version = "0.9.0rc4"; src = fetchurl { url = "mirror://pypi/b/${pname}/${name}.tar.gz"; - sha256 = "0wqn2176rk7hc27r4hfy5qnxp0nr9iis5nyzg5x07xljnsspnhy1"; + sha256 = "1fv40pki1awv5f2z9vd7phjk7dlsy1cp4blsy2vdhqwbc7112a8c"; }; buildInputs = with pythonPackages; [ setuptoolsTrial mock ]; @@ -21,5 +18,6 @@ pythonPackages.buildPythonApplication (rec { description = "Buildbot Worker Daemon"; maintainers = with maintainers; [ nand0p ryansydnor ]; platforms = platforms.all; + license = licenses.gpl2; }; }) diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 47c6e12a586..558b8acf70f 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -1,10 +1,11 @@ { lib, python3Packages, fetchurl }: python3Packages.buildPythonPackage rec { - name = "meson-0.32.0"; + version = "0.35.0"; + name = "meson-${version}"; src = fetchurl { url = "mirror://pypi/m/meson/${name}.tar.gz"; - sha256 = "1i5m4q53sr55aw8kx761kh0rsfwkpq0gfa0c0k3jf66y4aml6n54"; + sha256 = "0w4vian55cwcv2m5qzn73aznf9a0y24cszqb7dkpahrb9yrg25l3"; }; meta = with lib; { diff --git a/pkgs/development/tools/hexio/default.nix b/pkgs/development/tools/hexio/default.nix new file mode 100644 index 00000000000..6d75c7256ee --- /dev/null +++ b/pkgs/development/tools/hexio/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, fetchurl, python, pcsclite, pth, glibc }: + +stdenv.mkDerivation rec { + pname = "hexio"; + name = "${pname}-${version}"; + version = "201605"; + + src = fetchFromGitHub { + sha256 = "08jxkdi0gjsi8s793f9kdlad0a58a0xpsaayrsnpn9bpmm5cgihq"; + rev = "f6f963bd0fcd2808977e0ad82dcb3100691cdd7c"; + owner = "vanrein"; + repo = "hexio"; + }; + + buildInputs = [ python pcsclite pth glibc ]; + + patchPhase = '' + substituteInPlace Makefile \ + --replace '-I/usr/local/include/PCSC/' '-I${pcsclite}/include/PCSC/' \ + --replace '-L/usr/local/lib/pth' '-I${pth}/lib/' + ''; + + installPhase = '' + mkdir -p $out/bin $out/lib $out/sbin $out/man + make DESTDIR=$out PREFIX=/ all + make DESTDIR=$out PREFIX=/ install + ''; + + meta = with stdenv.lib; { + description = "Low-level I/O helpers for hexadecimal, tty/serial devices and so on"; + homepage = https://github.com/vanrein/hexio; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ leenaars ]; + }; +} diff --git a/pkgs/development/tools/mdk/default.nix b/pkgs/development/tools/mdk/default.nix index f54b409efb6..ca8c2de9630 100644 --- a/pkgs/development/tools/mdk/default.nix +++ b/pkgs/development/tools/mdk/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { name = "gnu-mdk-1.2.9"; src = fetchurl { url = http://ftp.gnu.org/gnu/mdk/v1.2.9/mdk-1.2.9.tar.gz; - md5 = "08c96baa4b99dd9d25190dd15fe415a5"; + sha256 = "0c24wzrzbk0l4z1p5nnxihaqra75amwmw59va44554infkfms9kc"; }; buildInputs = [ intltool pkgconfig glib ]; postInstall = '' diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 48e74cf2631..60218bbb1ad 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -12,7 +12,7 @@ let - basename = "gdb-7.11.1"; + basename = "gdb-7.12"; # Whether (cross-)building for GNU/Hurd. This is an approximation since # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/gdb/${basename}.tar.xz"; - sha256 = "0w7wi1llznlqdqk2lmzygz2xylb2c9mh580s9i0rypkmwfj6s8g9"; + sha256 = "152g2qa8337cxif3lkvabjcxfd9jphfb2mza8f1p2c4bjk2z6kw3"; }; nativeBuildInputs = [ pkgconfig texinfo perl ] diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix index da5da2e5ab9..37e5ae6f710 100644 --- a/pkgs/development/tools/misc/lsof/default.nix +++ b/pkgs/development/tools/misc/lsof/default.nix @@ -1,9 +1,11 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { name = "lsof-${version}"; version = "4.89"; + buildInputs = [ ncurses ]; + src = fetchurl { urls = ["ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${version}.tar.bz2"] @@ -22,14 +24,19 @@ stdenv.mkDerivation rec { }; unpackPhase = "tar xvjf $src; cd lsof_*; tar xvf lsof_*.tar; sourceRoot=$( echo lsof_*/); "; - - preBuild = "sed -i Makefile -e 's/^CFGF=/& -DHASIPv6=1/;';"; + + patches = [ ./dfile.patch ]; configurePhase = '' # Stop build scripts from searching global include paths - export LSOF_INCLUDE=/$(md5sum <(echo $name) | awk '{print $1}') + export LSOF_INCLUDE=${stdenv.cc.libc}/include ./Configure -n ${if stdenv.isDarwin then "darwin" else "linux"} ''; + + preBuild = '' + sed -i Makefile -e 's/^CFGF=/& -DHASIPv6=1/;' -e 's/-lcurses/-lncurses/' + ''; + installPhase = '' mkdir -p $out/bin $out/man/man8 diff --git a/pkgs/development/tools/misc/lsof/dfile.patch b/pkgs/development/tools/misc/lsof/dfile.patch new file mode 100644 index 00000000000..47202d5ebea --- /dev/null +++ b/pkgs/development/tools/misc/lsof/dfile.patch @@ -0,0 +1,18 @@ +--- lsof_4.89_src/dialects/darwin/libproc/dfile.c 2014-10-30 12:39:46.000000000 +0100 ++++ lsof_4.89_src/dialects/darwin/libproc/dfile_new.c 2016-10-04 13:44:58.000000000 +0200 +@@ -286,13 +286,13 @@ + + #if defined(PROC_FP_GUARDED) + if (extra > 1) +- putchar(`,'); ++ putchar(','); + if (lf->guardflags) { + struct pff_tab *tp; + long gf; + + (void) printf("guard="); +- tp = Pgf_tab; ++ tp = Pff_tab; + gf = lf->guardflags; + while (gf && !FsvFlagX) { + while (tp->nm) { diff --git a/pkgs/development/tools/nimble/default.nix b/pkgs/development/tools/nimble/default.nix index 3e4cd49a2ce..1382883e5a3 100644 --- a/pkgs/development/tools/nimble/default.nix +++ b/pkgs/development/tools/nimble/default.nix @@ -12,22 +12,20 @@ stdenv.mkDerivation rec { sha256 = "12znxzj1j5fflw2mkkrns9n7qg6sf207652zrdyf7h2jdyzzb73x"; }; - buildInputs = [ nim ]; + buildInputs = [ nim openssl ]; patchPhase = '' substituteInPlace src/nimble.nim.cfg --replace "./vendor/nim" "${nim}/share" + echo "--clib:crypto" >> src/nimble.nim.cfg ''; buildPhase = '' - nim c src/nimble + cd src && nim c -d:release nimble ''; installPhase = '' mkdir -p $out/bin - cp src/nimble $out/bin - patchelf --set-rpath "${stdenv.lib.makeLibraryPath [stdenv.cc.libc openssl]}" \ - --add-needed libcrypto.so \ - "$out/bin/nimble" + cp nimble $out/bin ''; dontStrip = true; diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix index 093e90dd47f..feedd883548 100644 --- a/pkgs/development/tools/ocaml/camlidl/default.nix +++ b/pkgs/development/tools/ocaml/camlidl/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, makeWrapper, gcc, ocaml, ncurses}: +{ stdenv, fetchurl, makeWrapper, ocaml, ncurses }: let pname = "camlidl"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { mv config/Makefile.unix config/Makefile substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out substituteInPlace config/Makefile --replace OCAMLLIB=/usr/local/lib/ocaml OCAMLLIB=$out/lib/ocaml/${ocaml.version}/site-lib/camlidl - substituteInPlace config/Makefile --replace CPP=/lib/cpp CPP=${gcc}/bin/cpp + substituteInPlace config/Makefile --replace CPP=/lib/cpp CPP=${stdenv.cc}/bin/cpp mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/caml ''; diff --git a/pkgs/development/tools/ocaml/camlp4/4_03.nix b/pkgs/development/tools/ocaml/camlp4/4_03.nix deleted file mode 100644 index a92f2491e46..00000000000 --- a/pkgs/development/tools/ocaml/camlp4/4_03.nix +++ /dev/null @@ -1,42 +0,0 @@ -{stdenv, fetchzip, which, ocaml, ocamlbuild}: - -assert stdenv.lib.versionAtLeast ocaml.version "4.02"; - -stdenv.mkDerivation { - name = "camlp4-${version}"; - version = "4.03+1"; - - src = fetchzip { - url = "https://github.com/ocaml/camlp4/archive/${version}.tar.gz"; - sha256 = "1f2ndch6f1m4fgnxsjb94qbpwjnjgdlya6pard44y6n0dqxi1wsq"; - }; - - buildInputs = [ which ocaml ocamlbuild ]; - - dontAddPrefix = true; - - preConfigure = '' - configureFlagsArray=( - --bindir=$out/bin - --libdir=$out/lib/ocaml/${ocaml.version}/site-lib - --pkgdir=$out/lib/ocaml/${ocaml.version}/site-lib - ) - ''; - - postConfigure = '' - substituteInPlace camlp4/META.in \ - --replace +camlp4 $out/lib/ocaml/${ocaml.version}/site-lib/camlp4 - ''; - - - makeFlags = "all"; - - installTargets = "install install-META"; - - meta = with stdenv.lib; { - description = "A software system for writing extensible parsers for programming languages"; - homepage = https://github.com/ocaml/camlp4; - platforms = ocaml.meta.platforms or []; - }; -} - diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix index 145a3a2b54a..1e1d2eb68ea 100644 --- a/pkgs/development/tools/ocaml/camlp4/default.nix +++ b/pkgs/development/tools/ocaml/camlp4/default.nix @@ -1,17 +1,25 @@ -{stdenv, fetchzip, which, ocaml}: +{ stdenv, fetchzip, which, ocaml, ocamlbuild }: -assert stdenv.lib.versionAtLeast ocaml.version "4.02"; +let param = { + "4.02.3" = { + version = "4.02+6"; + sha256 = "06yl4q0qazl7g25b0axd1gdkfd4qpqzs1gr5fkvmkrcbz113h1hj"; }; + "4.03.0" = { + version = "4.03+1"; + sha256 = "1f2ndch6f1m4fgnxsjb94qbpwjnjgdlya6pard44y6n0dqxi1wsq"; }; + }."${ocaml.version}"; +in stdenv.mkDerivation rec { name = "camlp4-${version}"; - version = "4.02+6"; + inherit (param) version; src = fetchzip { url = "https://github.com/ocaml/camlp4/archive/${version}.tar.gz"; - sha256 = "06yl4q0qazl7g25b0axd1gdkfd4qpqzs1gr5fkvmkrcbz113h1hj"; + inherit (param) sha256; }; - buildInputs = [ which ocaml ]; + buildInputs = [ which ocaml ocamlbuild ]; dontAddPrefix = true; @@ -28,7 +36,6 @@ stdenv.mkDerivation rec { --replace +camlp4 $out/lib/ocaml/${ocaml.version}/site-lib/camlp4 ''; - makeFlags = "all"; installTargets = "install install-META"; diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix index 38b97c006cd..59130bec50e 100644 --- a/pkgs/development/tools/ocaml/cppo/default.nix +++ b/pkgs/development/tools/ocaml/cppo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, ocaml, findlib }: +{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild }: let pname = "cppo"; version = "1.3.2"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { sha256 = "06j0zr78f04ahxi2459vjn61z25hkvs4dfj76200ydg3g6ifb3k1"; }; - buildInputs = [ ocaml findlib ]; + buildInputs = [ ocaml findlib ocamlbuild ]; createFindlibDestdir = true; diff --git a/pkgs/development/tools/ocaml/oasis/0.4.6.nix b/pkgs/development/tools/ocaml/oasis/0.4.6.nix index 6dcf0522232..b5e977d623b 100644 --- a/pkgs/development/tools/ocaml/oasis/0.4.6.nix +++ b/pkgs/development/tools/ocaml/oasis/0.4.6.nix @@ -1,5 +1,6 @@ -{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, type_conv, camlp4, - ocamlmod, ocamlify, ounit, expect}: +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4 +, ocaml_data_notation, type_conv, ocamlmod, ocamlify, ounit, expect +}: stdenv.mkDerivation { name = "ocaml-oasis-0.4.6"; @@ -13,7 +14,7 @@ stdenv.mkDerivation { buildInputs = [ - ocaml findlib type_conv ocamlmod ocamlify ounit camlp4 + ocaml findlib ocamlbuild type_conv ocamlmod ocamlify ounit camlp4 ]; propagatedBuildInputs = [ ocaml_data_notation ]; diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix index eb6cd35b256..214a2239688 100644 --- a/pkgs/development/tools/ocaml/oasis/default.nix +++ b/pkgs/development/tools/ocaml/oasis/default.nix @@ -1,5 +1,6 @@ -{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, type_conv, camlp4, - ocamlmod, ocamlify, ounit, expect}: +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4 +, ocaml_data_notation, type_conv, ocamlmod, ocamlify, ounit, expect +}: stdenv.mkDerivation rec { version = "0.4.7"; @@ -16,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ - ocaml findlib type_conv ocamlmod ocamlify ounit camlp4 + ocaml findlib ocamlbuild type_conv ocamlmod ocamlify ounit camlp4 ]; propagatedBuildInputs = [ ocaml_data_notation ]; diff --git a/pkgs/development/tools/ocaml/ocamlify/default.nix b/pkgs/development/tools/ocaml/ocamlify/default.nix index f3caa42b8fd..d5dd0c19d98 100644 --- a/pkgs/development/tools/ocaml/ocamlify/default.nix +++ b/pkgs/development/tools/ocaml/ocamlify/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ocaml, findlib}: +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild }: stdenv.mkDerivation { name = "ocamlify-0.0.2"; @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii"; }; - buildInputs = [ocaml findlib]; + buildInputs = [ ocaml findlib ocamlbuild ]; configurePhase = "ocaml setup.ml -configure --prefix $out"; buildPhase = "ocaml setup.ml -build"; diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix index 19ac4701252..0b92a45153c 100644 --- a/pkgs/development/tools/ocaml/ocamlmod/default.nix +++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ocaml, findlib}: +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild }: stdenv.mkDerivation rec { name = "ocamlmod-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1w0w8lfyymvk300dv13gvhrddpcyknvyp4g2yvq2vaw7khkhjs9g"; }; - buildInputs = [ocaml findlib]; + buildInputs = [ ocaml findlib ocamlbuild ]; configurePhase = "ocaml setup.ml -configure --prefix $out"; buildPhase = "ocaml setup.ml -build"; diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix index 45888924a2e..b8740bc3793 100644 --- a/pkgs/development/tools/ocaml/utop/default.nix +++ b/pkgs/development/tools/ocaml/utop/default.nix @@ -1,5 +1,5 @@ -{stdenv, fetchurl, ocaml, findlib, lambdaTerm, ocaml_lwt, makeWrapper, - ocaml_react, camomile, zed, cppo, camlp4, ppx_tools +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4, ocaml_react +, lambdaTerm, ocaml_lwt, makeWrapper, camomile, zed, cppo, ppx_tools }: stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0hxybkqmrh0sz1yyyrgzdmxp46gda4vk22pv07s0qpfg2dpv56jh"; }; - buildInputs = [ ocaml findlib makeWrapper cppo camlp4 ppx_tools ]; + buildInputs = [ ocaml findlib ocamlbuild makeWrapper cppo camlp4 ppx_tools ]; propagatedBuildInputs = [ lambdaTerm ocaml_lwt ]; diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix new file mode 100644 index 00000000000..823f93f9ac4 --- /dev/null +++ b/pkgs/development/tools/simavr/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, avrgcclibc, libelf, which, git, pkgconfig, freeglut +, mesa }: + +stdenv.mkDerivation rec { + name = "simavr-${version}"; + version = "1.3"; + enableParallelBuilding = true; + + src = fetchFromGitHub { + owner = "buserror"; + repo = "simavr"; + rev = "51d5fa69f9bc3d62941827faec02f8fbc7e187ab"; + sha256 = "0k8xwzw9i6xsmf98q43fxhphq0wvflvmzqma1n4jd1ym9wi48lfx"; + }; + + buildFlags = "AVR_ROOT=${avrgcclibc}/avr SIMAVR_VERSION=${version}"; + installFlags = buildFlags + " DESTDIR=$(out)"; + + postFixup = '' + target="$out/bin/simavr" + patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target" + ''; + + buildInputs = [ which git avrgcclibc libelf pkgconfig freeglut mesa ]; + + meta = with stdenv.lib; { + description = "A lean and mean Atmel AVR simulator"; + homepage = https://github.com/buserror/simavr; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ goodrone ]; + }; + +} + diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index c9987aea832..cf4f34cbdfe 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -4,7 +4,7 @@ assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; let - version = "1.8.5"; + version = "1.8.6"; rake = buildRubyGem { inherit ruby; gemName = "rake"; @@ -13,8 +13,8 @@ let }; sha256 = { - "x86_64-linux" = "1na5hxm3ilx268hk68dpgkks1jjh9q7p3ksjx8ssiijq6df47vih"; - "i686-linux" = "16psr5s0azpzavizh74085z7wygkfs4ribsfalvbd96phkrkp2wp"; + "x86_64-linux" = "1nkhf160hcl02yvafj6hq53j204qqxyvxjngnmf4f5md8dmkpn76"; + "i686-linux" = "0mr4pn7nggjdsqyxh1z2mflvvmpzhbxh5gax501d2hi8xr0y68df"; }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); arch = builtins.replaceStrings ["-linux"] [""] stdenv.system; @@ -28,24 +28,11 @@ in stdenv.mkDerivation rec { inherit sha256; }; - # Remove the patchFlags/patches when 1.8.6 is released - patchFlags = [ - "-p1" - "-d ./opt/vagrant/embedded/gems/gems/vagrant-${version}" - ]; - patches = [ - (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/mitchellh/vagrant/pull/7611.diff"; - name = "fix_incorrect_ssh_keys_permissions.patch"; - sha256 = "0lqa9xpg79ggp9fc8gzb5lv675ydj2p8l55bx4hs1hf8zz2c1hjf"; - }) - ]; - meta = with stdenv.lib; { description = "A tool for building complete development environments"; homepage = http://vagrantup.com; license = licenses.mit; - maintainers = with maintainers; [ lovek323 globin jgeerds ]; + maintainers = with maintainers; [ lovek323 globin jgeerds kamilchm ]; platforms = platforms.linux; }; diff --git a/pkgs/development/tools/valadoc/default.nix b/pkgs/development/tools/valadoc/default.nix new file mode 100644 index 00000000000..7d4e61c8799 --- /dev/null +++ b/pkgs/development/tools/valadoc/default.nix @@ -0,0 +1,24 @@ +{stdenv, fetchgit, gnome3, automake, autoconf, which, libtool, pkgconfig, graphviz, glib, gobjectIntrospection, expat}: +stdenv.mkDerivation rec { + version = "2016-10-09"; + name = "valadoc-unstable-${version}"; + + src = fetchgit { + url = "git://git.gnome.org/valadoc"; + rev = "37756970379d1363453562e9f2af2c354d172fb4"; + sha256 = "1s9sf6f0srh5sqqikswnb3bgwv5s1r9bd4n10hs2lzfmh7z227qb"; + }; + + nativeBuildInputs = [ automake autoconf which gnome3.vala libtool pkgconfig gobjectIntrospection ]; + buildInputs = [ graphviz glib gnome3.libgee expat ]; + + preConfigure = "./autogen.sh"; + + meta = with stdenv.lib; { + description = "valadoc is a documentation generator for generating API documentation from Vala source code"; + homepage = http://valadoc.org; + license = stdenv.lib.licenses.gpl2; + maintainers = with maintainers; [ sternenseemann ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix index a298b379c0f..cb20bb516c9 100644 --- a/pkgs/games/anki/default.nix +++ b/pkgs/games/anki/default.nix @@ -7,7 +7,7 @@ }: let - version = "2.0.35"; + version = "2.0.36"; in stdenv.mkDerivation rec { name = "anki-${version}"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { "http://ankisrs.net/download/mirror/${name}.tgz" "http://ankisrs.net/download/mirror/archive/${name}.tgz" ]; - sha256 = "1d7k38xzw1nbg83d1aqxf2f76fv3hn2fry99k3vf4lgmhndj52mv"; + sha256 = "070p0jmx6cy7kp9bfcgpgkzpyqkcj81wy8gmacns03n5rlq8487v"; }; pythonPath = [ pyqt4 pysqlite sqlalchemy pyaudio beautifulsoup httplib2 ] diff --git a/pkgs/games/crafty/default.nix b/pkgs/games/crafty/default.nix index 351e25388e1..9526512f15c 100644 --- a/pkgs/games/crafty/default.nix +++ b/pkgs/games/crafty/default.nix @@ -1,658 +1,64 @@ -{ stdenv, fetchurl, unzip, fullVariant ? false }: +{ stdenv, fetchurl, unzip }: stdenv.mkDerivation rec { name = "crafty-${version}"; - version = "23.4"; - + version = "25.0.1"; + src = fetchurl { - url = "http://www.craftychess.com/crafty-${version}.zip"; - sha256 = "0rhf4pfxcwj8hqd7bqj98fpdd80v6ss1jnc9kgwx2fw4ksdi37pl"; + url = "http://www.craftychess.com/downloads/source/crafty-${version}.zip"; + sha256 = "0aqgj2q7kdlgbha01qs869cwyja13bc7q2lh4nfhlba2pklknsm8"; }; bookBin = fetchurl { - url = http://www.craftychess.com/book.bin; - sha256 = "1j8f33iks4xf19bpv2mpvxrnlm5w1f5fbnxcrxasg9p7w600wyb8"; + url = http://www.craftychess.com/downloads/book/book.bin; + sha256 = "10rrgkr3hxm7pxdbc2jq8b5g74gfhzk4smahks3k8am1cmyq4p7r"; }; startPgn = fetchurl { - url = http://www.cis.uab.edu/hyatt/crafty/pgn/start.pgn; - sha256 = "08c066acqwgr19jkaizdbzdpcm3ld5nsixv5wp9pnc37b8w9f0vm"; + url = http://craftychess.com/downloads/book/start.pgn.gz; + sha256 = "12g70mgfifwssfvndzq94pin34dizlixhsga75vgj7dakysi2p7f"; }; - enormousPgn = stdenv.lib.optionalString fullVariant (fetchurl { - url = http://www.cis.uab.edu/hyatt/crafty/pgn/enormous.zip; - sha256 = "001574gz3881xfvhlc2wy6pg66c4sh0q2ms42swwvq0l80syz6y2"; - }); - - tableBases345 = - let root = http://www.cis.uab.edu/hyatt/crafty/TB/3-4-5/; - in stdenv.lib.optionals fullVariant (map fetchurl [ - { url = root + "kbbbk.nbb.emd"; - sha256 = "1yssskq32x22ki67ja7azvlglz0vgq6d6awdz4avj1k72nbcs90g"; } - { url = root + "kbbbk.nbw.emd"; - sha256 = "0n0hy09pnp0ldxkrvs1gz1ch7px0hzj1ni7iicfy7y9zhsqaky2r"; } - { url = root + "kbbk.nbb.emd"; - sha256 = "1gyd2p546rapisbzjpqm1kbdlsj77yw46lr5wx28sng11wkz8xnk"; } - { url = root + "kbbk.nbw.emd"; - sha256 = "1gvl0vw9k22wkas8mzdik2ynnykgiisp8smyf97i0v7h1y7bxsx5"; } - { url = root + "kbbkb.nbb.emd"; - sha256 = "0zk12q2d3xfbj7zv9jkk0p1gzj7n640jynx7nkcfhmpz9qvjz5d1"; } - { url = root + "kbbkb.nbw.emd"; - sha256 = "1kw68pbs12cjf0gg40j5b694zdyffprjblf56czgyj8xpfz219x9"; } - { url = root + "kbbkn.nbb.emd"; - sha256 = "0gibrw89zlz93sdi8bkhy0pkfcgl4sswbm3vg6fgp752cwsvksiv"; } - { url = root + "kbbkn.nbw.emd"; - sha256 = "0v781yid5g57y3raw5pqhr2cb8zm0rscim0zszypp4piz22pb60h"; } - { url = root + "kbbkp.nbb.emd"; - sha256 = "1y2nxqqd7fhk7x2fc3dxidqlcrgcbwd9gkk4bggay3xds9m5nhrg"; } - { url = root + "kbbkp.nbw.emd"; - sha256 = "0py5adrciqbs0cdwh1lz5q8ldkyvqbc7rx4995k6kvlq4nh95qam"; } - { url = root + "kbbkq.nbb.emd"; - sha256 = "141jkx0ifb91b5nwps4xssvvcm1fny8ng1zxqsjb1n9dgsigsna7"; } - { url = root + "kbbkq.nbw.emd"; - sha256 = "0iknfd1rjm4ar4gycg0yzw5dbf7hs3y1fnb3s9abypk8pkn8ga9d"; } - { url = root + "kbbkr.nbb.emd"; - sha256 = "0jpp1f0rgglrn7gc36v7y38rivwl68s6gr2p15lqdvngismmyp13"; } - { url = root + "kbbkr.nbw.emd"; - sha256 = "0gqs5bxg6kv4nw0sl0drfs9p043q10ic6d9il0rlvs6qds6d9bv0"; } - { url = root + "kbbnk.nbb.emd"; - sha256 = "0x7q6clkhfv3scqyyj42b8r7jkd99v396pmih2f10a4scca3glxc"; } - { url = root + "kbbnk.nbw.emd"; - sha256 = "1qry3mpl1rjsjasayfxhh6abnm7arfdljnz9q2n5v769kaqx1bx3"; } - { url = root + "kbbpk.nbb.emd"; - sha256 = "1y2vx6i351nbfrbg5qkjyp9ys8vkb45i5101gz8fx1w3pkxq9312"; } - { url = root + "kbbpk.nbw.emd"; - sha256 = "16jkjb1ljyck5k4mr3pwxasxb1l08h7mcc0iigjlgzrnvsc38nrb"; } - { url = root + "kbk.nbb.emd"; - sha256 = "162jy1dm8h35p5yxz9ii5y3bwspgf1xy4m0hhdxzqm3an8f2i7nr"; } - { url = root + "kbk.nbw.emd"; - sha256 = "1lks1fccaikrc455cadkw1h1012jk6nqfmqzi40ilmlckc3i7pnj"; } - { url = root + "kbkb.nbb.emd"; - sha256 = "1hvkp65jp5jd3j7rp9wivrfcwgr42kd4kbj9n2sk68nqbdw5j4h1"; } - { url = root + "kbkb.nbw.emd"; - sha256 = "1hvkp65jp5jd3j7rp9wivrfcwgr42kd4kbj9n2sk68nqbdw5j4h1"; } - { url = root + "kbkn.nbb.emd"; - sha256 = "1cwzqb64q7br94pc1wbp86k4fpcii14wcsj3f7l5n9mmgrzk3y9k"; } - { url = root + "kbkn.nbw.emd"; - sha256 = "17wnagdkc25d6daqa3cmr0923k4d98jjzpw1h4g70r19zrnczjn5"; } - { url = root + "kbkp.nbb.emd"; - sha256 = "05mcmbwwrp4iljlw0ba7d6vgh0w1pl5a1vsmvsg56k4npx6npc95"; } - { url = root + "kbkp.nbw.emd"; - sha256 = "1jsh96mrhshj07x9sv3prl4zzhpl2xmdr6znxshyr461481b6g7m"; } - { url = root + "kbnk.nbb.emd"; - sha256 = "0k6bn47hdj36szqcbh66wcbv3ygxv6cm0zj36rl9n1c7rc9j7p4g"; } - { url = root + "kbnk.nbw.emd"; - sha256 = "0rhkzsw9zw36zckjic6dd95psx90fr4d8rzbhkqskh8l945cyxky"; } - { url = root + "kbnkb.nbb.emd"; - sha256 = "10mblq1n0m0ipfs4zdnnay6dmwafshb8l5mynfrn5wiaf26jysvz"; } - { url = root + "kbnkb.nbw.emd"; - sha256 = "0h90b4a6m7pp0qfc1anm30ffqwmaj3h1zslsbivw4k8i0jnpfqax"; } - { url = root + "kbnkn.nbb.emd"; - sha256 = "009rw6czd9zagly7nz43rd9vq60h57mfrlzx02cchn1ydsr6cnj2"; } - { url = root + "kbnkn.nbw.emd"; - sha256 = "03harm479g91s2lb5ixk27n50kj15qjz8784nn1rmmcicisj4z7c"; } - { url = root + "kbnkp.nbb.emd"; - sha256 = "0y737si4zrf8ac9jmn9sbwylcd1yvcxn5ihn128p2kan3956fpdv"; } - { url = root + "kbnkp.nbw.emd"; - sha256 = "1902fn3pwrslxi4rv8lrahwq3hakz9kfq70b8c0hqshf44h06ggi"; } - { url = root + "kbnkq.nbb.emd"; - sha256 = "112chi9pw5fqrpv4q4a9p8jc5zld8wkiwd9y71rky09z7zng4vy5"; } - { url = root + "kbnkq.nbw.emd"; - sha256 = "1m1pdsq9zl9g2fs2gjp76za3qmdrv0k1ngxvz3cjyh3p08lixca0"; } - { url = root + "kbnkr.nbb.emd"; - sha256 = "13nkcvcn70g3q5fgrhbc8qs0i0fl7k78m5pxdgmijbkax52kpfgl"; } - { url = root + "kbnkr.nbw.emd"; - sha256 = "0kjplgzbza4wp8aqf7b4k9nqg0vzdj0q6nj90sg7ssiw2w95z1jz"; } - { url = root + "kbnnk.nbb.emd"; - sha256 = "1v3a5fi2fnh9mr9j59dv8jw2inx55jsfg9ypn92dgdmmlwg688yr"; } - { url = root + "kbnnk.nbw.emd"; - sha256 = "096l2zpi7ywrqsapkz47pcivkh2igsdmxb8szd9gq8ylylrsma37"; } - { url = root + "kbnpk.nbb.emd"; - sha256 = "1011x2w59fjn89nd8yqhvjcxdwla4chifwvx3hml2g82rfqgmw5r"; } - { url = root + "kbnpk.nbw.emd"; - sha256 = "1nvqwv6akdr5acs9cdcf1zircw351fmf433niyc7blzqa0nng7n1"; } - { url = root + "kbpk.nbb.emd"; - sha256 = "1bbyr59kapp6f2r4mn1b79668b6gf1j0pwh6f3fcym7xms7gg28k"; } - { url = root + "kbpk.nbw.emd"; - sha256 = "0bn70m7g225mpbs1s7vpw5swd12wwziryp25sv2z5xpg03y7zm10"; } - { url = root + "kbpkb.nbb.emd"; - sha256 = "0clwycpzqklasqw5igk74sm9w6wqwx6h8dbqajpccq3l6ipf2ylx"; } - { url = root + "kbpkb.nbw.emd"; - sha256 = "0w7sf6q3m2hn9ix7lyg1c8casz3qxnzqvfvsbsda46xx5chrp7wh"; } - { url = root + "kbpkn.nbb.emd"; - sha256 = "052fi7b56qq46pc4hvr5wpxkr0gv7wq0cnp5550qbr7an446nbri"; } - { url = root + "kbpkn.nbw.emd"; - sha256 = "1lbwj845qff7y51iw4fybqvpcbh9r5jlfphmhidzdkjhd2gflb0j"; } - { url = root + "kbpkp.nbb.emd"; - sha256 = "1ybzqw8fjqal6n6isy2m9rhhykd8g81slvc5m55ccald63zalk43"; } - { url = root + "kbpkp.nbw.emd"; - sha256 = "139dm4709pvzxn6aixfsbv88ly0cjn6dk7khr1sjf2x17c21mj69"; } - { url = root + "kbpkq.nbb.emd"; - sha256 = "0640xw9hasgif9cxyskpp397dzvhwnpkcfyn33d4vbi4r0cbdv81"; } - { url = root + "kbpkq.nbw.emd"; - sha256 = "13yhn55y65pl6bh67hlfjlwj3mm4w6gy1y34qypgc7kck0rrygn6"; } - { url = root + "kbpkr.nbb.emd"; - sha256 = "03avk4igjdyh6ayh3xm0ds8agmqhagyxmv3s8g8830qk3a6frkz3"; } - { url = root + "kbpkr.nbw.emd"; - sha256 = "0vqkywgxkys0dxnx0sv35kzx9fxhqzbnk4qskjzd1fw9ck21pnad"; } - { url = root + "kbppk.nbb.emd"; - sha256 = "0i4zgsp7izp789chl1vlp93dy567schz96my19vgki1y3ifx4wkz"; } - { url = root + "kbppk.nbw.emd"; - sha256 = "0ki9a0f5cp7ma9zrabjrz5alk6d3xihl388j1h9ii4g52g1zci3v"; } - { url = root + "knk.nbb.emd"; - sha256 = "162jy1dm8h35p5yxz9ii5y3bwspgf1xy4m0hhdxzqm3an8f2i7nr"; } - { url = root + "knk.nbw.emd"; - sha256 = "0irmycxkah9j5qf9inmrz6cvjv8i894vzg5378qmazkpgpmzvix8"; } - { url = root + "knkn.nbb.emd"; - sha256 = "0gwxp4q8wk9vsw4zprh3psrjdxkr3rjx0q3k3iqlf9y3rb6yy0hv"; } - { url = root + "knkn.nbw.emd"; - sha256 = "0gwxp4q8wk9vsw4zprh3psrjdxkr3rjx0q3k3iqlf9y3rb6yy0hv"; } - { url = root + "knkp.nbb.emd"; - sha256 = "1cfav9xgsmvs44j4irw1mx04phszlasz96i26ik8lw8wjdl8x6vx"; } - { url = root + "knkp.nbw.emd"; - sha256 = "0p560zfmixmcizy60f13lz5a3yd83w7bz06cac0nj0myv4m4s6yp"; } - { url = root + "knnk.nbb.emd"; - sha256 = "1w1dh6lmmrxjfi6srmznqvc7frzxhrs48f5g0jijb410y2c26y0l"; } - { url = root + "knnk.nbw.emd"; - sha256 = "1a9nvqk0w2xhwx5d2ia35z8g2xcsg2kh59ca1jwbvx9sh438b2xh"; } - { url = root + "knnkb.nbb.emd"; - sha256 = "1r8g6ml0hi6fxmff396wjnff76csrq47si1s0qsy1cdfkvax7yyn"; } - { url = root + "knnkb.nbw.emd"; - sha256 = "1v74lhr44s0plxab7qhn4crf55hhp4j7w2mr090sfxz0bzk7cb78"; } - { url = root + "knnkn.nbb.emd"; - sha256 = "1fy4ksqncjv0iqf0papy8hb353di0k39aq0jqh5jvshl9vmspz15"; } - { url = root + "knnkn.nbw.emd"; - sha256 = "1qgprlkaqfwfjkmc048faz2j8y1n46mqp3dfpdnn9ps1x3iqvs0f"; } - { url = root + "knnkp.nbb.emd"; - sha256 = "1xhsjq79nb7zgqgyjp0v6n0g8r37x2csa5svyz8ndsax9hrxc1r7"; } - { url = root + "knnkp.nbw.emd"; - sha256 = "08pxmb0sdppims2lfl0zi42rsh3dlrdbl7vq2rs8v0b470q4j5jx"; } - { url = root + "knnkq.nbb.emd"; - sha256 = "00y7vv6ajzr9kgwx8gk7wap7ncb9dg086iv3lwki6qcwvy14bxql"; } - { url = root + "knnkq.nbw.emd"; - sha256 = "09brsqvzwx4fmf7a6ljqcabx2isqfv1mmvsjb453wmhx98fkglj3"; } - { url = root + "knnkr.nbb.emd"; - sha256 = "01df21j4zdwb4dfngjrr4797b1ipdajs1730i4gajcbm4hqigi69"; } - { url = root + "knnkr.nbw.emd"; - sha256 = "0q0jxmqc57s22vlbk98dbb7c2zmzs6g6chlg42sw156j9414jdfb"; } - { url = root + "knnnk.nbb.emd"; - sha256 = "0jxlaqkbdxhw45p8y4g5ggryzc6l7s159fdlw0bi5ipcp40afpvg"; } - { url = root + "knnnk.nbw.emd"; - sha256 = "0782r7r4b4qmy3afrdmj5l0vlp5sgr33v0h0cigxghfmf19xhgdl"; } - { url = root + "knnpk.nbb.emd"; - sha256 = "0cxj1mxdz8hmjlzhnc7j4cdi5jkcj1l0xfrz4l4z4az7f4ad91ci"; } - { url = root + "knnpk.nbw.emd"; - sha256 = "13y2picx7c814hfsq3bb95js9s3bng85mblhhb7i12yqhddrzyx0"; } - { url = root + "knpk.nbb.emd"; - sha256 = "03xah0j9n427nvqwym0ay84zg831v26x3gnp1zkpg1072r78d2p2"; } - { url = root + "knpk.nbw.emd"; - sha256 = "10lv54gs3pgqqmndlihvjfbrfiqzgzfl7a127nchfyb12f9y91zz"; } - { url = root + "knpkb.nbb.emd"; - sha256 = "1jiihs0cd5jx2hwv99vb3n3iahqwz6ja60zk5nbr17cxzhw0g2ng"; } - { url = root + "knpkb.nbw.emd"; - sha256 = "19jxzp7v90hd1j6i109z03vdq81cndmlvmbb65fm2mc4ffrwms83"; } - { url = root + "knpkn.nbb.emd"; - sha256 = "1yqjxxhc0fq2jvsqifw8my8lzfs2fgn6z8c2lgvak8ag2mi57ka8"; } - { url = root + "knpkn.nbw.emd"; - sha256 = "1kh8sh9vscig0kkwvz79i3gk582xrgll8f4jlqw219f80ckh2ry6"; } - { url = root + "knpkp.nbb.emd"; - sha256 = "1sd46as18ciml1nyzwh8v5qm5slhchbv15yv4qhcaga7cmljy9w5"; } - { url = root + "knpkp.nbw.emd"; - sha256 = "0p8cwryphz16j2yihg7c1szx20s9mxzbgc7y6ddigvhafa19fc1d"; } - { url = root + "knpkq.nbb.emd"; - sha256 = "03vaswq917maa1wxfkilcxjxvm9srnwzmzq1sq36q3h3dlcv23mp"; } - { url = root + "knpkq.nbw.emd"; - sha256 = "1wmnipmacrbwggr1n63zdivvy9haqs96rkn458xswpmvks5fbyqj"; } - { url = root + "knpkr.nbb.emd"; - sha256 = "1ngpj8iaz6si5i3vxri8k8ajpaim71caldxal28djkpmw91yqil6"; } - { url = root + "knpkr.nbw.emd"; - sha256 = "1hqm6xp361iqdn7ayw6zvdk068iz2mwdz6sr087cr7gc0mim2ndw"; } - { url = root + "knppk.nbb.emd"; - sha256 = "1mphpswq01v7d0pxij12nd1lpiz683gp0zgwnz0nyninwsmpq08v"; } - { url = root + "knppk.nbw.emd"; - sha256 = "1m8l9jy96nxvqk48y73yj8b996q2gza1h448rrl00hjn1apbmjf3"; } - { url = root + "kpk.nbb.emd"; - sha256 = "1xgbahdym0nbj63rc6rwgiwzss8xw3ra4lg03z46666hwykx8gxp"; } - { url = root + "kpk.nbw.emd"; - sha256 = "1clkwzf3nb8lzrrs3gg4m9j5wh7z66ihra8gyz8majpjbhcz86an"; } - { url = root + "kpkp.nbb.emd"; - sha256 = "06jsna3795gjlymnrxmscgxnz9ic1i648hr6v5vfagf8lmqi9nq4"; } - { url = root + "kpkp.nbw.emd"; - sha256 = "1gplq6ksq4kvwramx137ncl6giwcm8rg3q8xmyqk1mq10dwcjfbp"; } - { url = root + "kppk.nbb.emd"; - sha256 = "11xlmyw2hx26mkca4bid4qg62yxd0pspgmb40l9kf6h0yjzq4q07"; } - { url = root + "kppk.nbw.emd"; - sha256 = "0j4dmlsm5i7rwrw7kkiq8j7zmcwvb6w38g41kfslm4sv6nm5mvjs"; } - { url = root + "kppkb.nbb.emd"; - sha256 = "0w2yzi0l3jdnr88my8gcsqy72crkm9ppyiy8wl629lpcbrwj75x6"; } - { url = root + "kppkb.nbw.emd"; - sha256 = "06f1h0x6rcsq9kag1fcz9z47hpffr4w9q171rkspd8ffpfzqq7za"; } - { url = root + "kppkn.nbb.emd"; - sha256 = "0wmkn2i8z7m4j93hid2z2ns31kg4yhn939lfkvglfdvrgqjn1kh9"; } - { url = root + "kppkn.nbw.emd"; - sha256 = "1ky4zcwyv5rn4g0h490s6l8vin6rwdv156ial7iczaq8hf70yhkm"; } - { url = root + "kppkp.nbb.emd"; - sha256 = "1ivfxjphcld71cg4rvvq9rvnkpidh6apd52jf2cv42fvx313d9mq"; } - { url = root + "kppkp.nbw.emd"; - sha256 = "1ymvp0z6jhrqi2hz87c81r54m9sdjpm91pvxwbx061yfbdpv230z"; } - { url = root + "kppkq.nbb.emd"; - sha256 = "018cy2q2dvhxjh80prjxg6fx1lal50qc5mzzbfy0xlkk1l1y4sk5"; } - { url = root + "kppkq.nbw.emd"; - sha256 = "0k4jlzcn213h8303jl3hkdapd9z8dhazsa22zac0bg52488r07gj"; } - { url = root + "kppkr.nbb.emd"; - sha256 = "187pjqvp7kzyxkncp51c3vi26khimabkw5b3nyaj498jqjjlfa23"; } - { url = root + "kppkr.nbw.emd"; - sha256 = "0mkrap8dizwxhhiij2xzlvbn8q9hrlsfvkcfcxajn8azaxnhx3ck"; } - { url = root + "kpppk.nbb.emd"; - sha256 = "10spzc39zks7pwa2qy8aps5hk0z4xsxq1lpfwd61qwm5hazci391"; } - { url = root + "kpppk.nbw.emd"; - sha256 = "1wx48xyb1xl5v7gjrahby8psig1gs9dipsj6iq44d052qr56513j"; } - { url = root + "kqbbk.nbb.emd"; - sha256 = "1zvacin043njqws2nwiylch5dan28yis3ybcjb3zvmkdxyy8qzrh"; } - { url = root + "kqbbk.nbw.emd"; - sha256 = "1s5likpps43bxplsv5yrqqnh2xzakibcknn6jh67xwdvl2v4jfz5"; } - { url = root + "kqbk.nbb.emd"; - sha256 = "1814l1cgfphzl4v7k3hnwi21ydzfzyr7xzbh05dw3mnm0dsg9gzk"; } - { url = root + "kqbk.nbw.emd"; - sha256 = "0xpmqr99qscrqjk5rzb7cgkjpcz4cmp6gngfsy8hq7530a4nknxk"; } - { url = root + "kqbkb.nbb.emd"; - sha256 = "1jpl4nx4ddwnz455433508ibxywsrccb098infn992gs7wqqjsi2"; } - { url = root + "kqbkb.nbw.emd"; - sha256 = "0krx6irqv0gvdy7hknhwa6gj2zwiv9rnjk2qlf2cy6xsldzn6af7"; } - { url = root + "kqbkn.nbb.emd"; - sha256 = "09xsg79xajh1g2d9nvms61pjgb13x6fc0nhw58nnfg28nbvjzz1n"; } - { url = root + "kqbkn.nbw.emd"; - sha256 = "0gb8pdsd77fmjd09h7ri1z8rrparqn5xa56dwi4yd4hhwsb8c4fq"; } - { url = root + "kqbkp.nbb.emd"; - sha256 = "07h1zzaic2qh2140wvcq0hvhmkv0j9h7rchm3avsk7m6ma98d7zi"; } - { url = root + "kqbkp.nbw.emd"; - sha256 = "13lffpplxis2a5949wnq998262idiydg2b2pz5np3mxyppc48r61"; } - { url = root + "kqbkq.nbb.emd"; - sha256 = "09l20wcjcvmncz97j4107q3ch81dgzmx7i86m6pzifhy8mrn2cll"; } - { url = root + "kqbkq.nbw.emd"; - sha256 = "0vra23shpwlsiyzd8wd2m2ayrs4ig2943l90ps9xh1p6igjv1n9d"; } - { url = root + "kqbkr.nbb.emd"; - sha256 = "0gmzhzr1m751djfp6b71yrah04r89lq41nshvw02qp531aqp1xyq"; } - { url = root + "kqbkr.nbw.emd"; - sha256 = "1zz0fdfn463xa76xd8hg2hz8a1kaljka9l01z64vsqvn73nkd5fm"; } - { url = root + "kqbnk.nbb.emd"; - sha256 = "1m7krpj5sd6mvrsks39jyxkg8mvz7g15rwnn55kql2flpsw481q4"; } - { url = root + "kqbnk.nbw.emd"; - sha256 = "1q6jvhxjzcani3ls402n3ylhhmf8kd482in19d2ny0q7pqcimvy7"; } - { url = root + "kqbpk.nbb.emd"; - sha256 = "1pdc8kd3q9f8vgfqxymar3vkg1h9qbsfr614lhgbmpmpmn4zxqdj"; } - { url = root + "kqbpk.nbw.emd"; - sha256 = "0dcyxa92200g0dgq7lk018grhvwxzrhh6wrwqdk6g3v02g63h38d"; } - { url = root + "kqk.nbb.emd"; - sha256 = "1f0cdqyakzck0ng11smhk9kdkch9hbm3azniqv2wjg2wp9aj9s1n"; } - { url = root + "kqk.nbw.emd"; - sha256 = "0gzxgkxzfnlri5ypvx67k2mwq4xnwkm4hn4n9mqpl7fjwdj733w2"; } - { url = root + "kqkb.nbb.emd"; - sha256 = "0j3w39l4mnwm5nrrw0zcd4icdj8hgds792nhick2mfn40injwna6"; } - { url = root + "kqkb.nbw.emd"; - sha256 = "0q30gjvlfmx1ld4i0x2xj97i4i3w6q1vhl2q91w8dd84bw1cy1k8"; } - { url = root + "kqkn.nbb.emd"; - sha256 = "15aivg3vpc6y1g3gcnmssjnww9l7npy3g5xxq3wq99ai1mbgik7p"; } - { url = root + "kqkn.nbw.emd"; - sha256 = "1qqi3r6a5d74108xgdxx9qx4cxv7fkr9jpkrcizirzv30dp3cb4z"; } - { url = root + "kqkp.nbb.emd"; - sha256 = "0hlsmjn9baa1bplnwygxvgnkfn15fm9fhc6k39bfiacy7ai0zkka"; } - { url = root + "kqkp.nbw.emd"; - sha256 = "0ibx6xp2v980626xffb7khz8lfnxb9577w5zc6mlc892kinaf4gf"; } - { url = root + "kqkq.nbb.emd"; - sha256 = "0kc2d1qwlib2v71fhx11frk2a06lx1mvvddw83mmvyzca108ggz3"; } - { url = root + "kqkq.nbw.emd"; - sha256 = "0kc2d1qwlib2v71fhx11frk2a06lx1mvvddw83mmvyzca108ggz3"; } - { url = root + "kqkr.nbb.emd"; - sha256 = "13fabjhiq5psyvg2a1cbx16471g35il0lm3fsfdy4dpl9zr2pw58"; } - { url = root + "kqkr.nbw.emd"; - sha256 = "0hwy21k0a3qa6b1093904krdqrqrz5iwqsb0qxqqnwljpz8kr1zl"; } - { url = root + "kqnk.nbb.emd"; - sha256 = "0dy9d9fwaqvmr3x796a7vq5ynqnpw8b4l0zsm7nkvvd5sak1blxj"; } - { url = root + "kqnk.nbw.emd"; - sha256 = "0zdzqhg0ww4b79w3w3hjpwfar0r8fhk2yc8jknwzcc9q9rv9a78n"; } - { url = root + "kqnkb.nbb.emd"; - sha256 = "04zvc8s2rwcgr9chx3rmvr3shs47i75pwh1wph9wiy33jx5gw846"; } - { url = root + "kqnkb.nbw.emd"; - sha256 = "1v22rln9plikvchdxqii4m9kh9s0mahrxnsqs6i2kzcfphiqp3ns"; } - { url = root + "kqnkn.nbb.emd"; - sha256 = "0kwz1390brs60ri0mrvf3f64ax0yncnp6kpaf7nrw5v29s5cxpyz"; } - { url = root + "kqnkn.nbw.emd"; - sha256 = "0gvsx71nf0bhggk338rsmvbpajwa6j1ja09gchny6i9gvg9l0frs"; } - { url = root + "kqnkp.nbb.emd"; - sha256 = "169llq4dv4fsh8hvvwwrbc2b1iwklnqwqmhzv77q862cxs8rbcsa"; } - { url = root + "kqnkp.nbw.emd"; - sha256 = "1b1mgfh7hgiqv9a0dv1f7vr180g1mjxcg3nlx4zmpj0mzgwka39g"; } - { url = root + "kqnkq.nbb.emd"; - sha256 = "02za7wp2z1h1sd55mmkaa6i0bh3piwiz5ybpdrxk2amm54kvjmsj"; } - { url = root + "kqnkq.nbw.emd"; - sha256 = "0s9c4zfw4slp7lv373nkhlyafn3hpw9pv4543mm69c6cdnl04xhk"; } - { url = root + "kqnkr.nbb.emd"; - sha256 = "0nffvkdfs17b6n2hmy9i7ha793dn8an7ff9nd97z62zxxm63gmyp"; } - { url = root + "kqnkr.nbw.emd"; - sha256 = "1jqmbna1i5wqahqz2lalviv61y6ak379fhjcc9xg651dxfnjnmwh"; } - { url = root + "kqnnk.nbb.emd"; - sha256 = "1dlhfqmv5g3f9lvfgvy4h7x0xfkbn9pcsplb9kjlqg7qhkimcvbg"; } - { url = root + "kqnnk.nbw.emd"; - sha256 = "0zlg34ff2bp88q8bws2isswwa8ls0qncpzyzc3d1j6avkprwkq2i"; } - { url = root + "kqnpk.nbb.emd"; - sha256 = "0i436sxh5093zy03v6rjf6r0ydjmkmfj5fkxqk2qjjps2gc6jwsn"; } - { url = root + "kqnpk.nbw.emd"; - sha256 = "0yf7il0maiw8c9gam9cvnjgvywjk5k3pjvmgcy377yf31hgi209g"; } - { url = root + "kqpk.nbb.emd"; - sha256 = "11vl1p9qwqsdbxdppqg3n73868kd69kqhl6h6q1p47a4dq9lqldy"; } - { url = root + "kqpk.nbw.emd"; - sha256 = "02ik15sm3mdhyn76rnx8jvg7fma1m7njm55h6mqqqgqgbji0zzvi"; } - { url = root + "kqpkb.nbb.emd"; - sha256 = "0s7k9dh87s6msmqpv43csax632i5w5gzc2s4ijiy38kg0d3cgz31"; } - { url = root + "kqpkb.nbw.emd"; - sha256 = "115y0gshq2g6p6mfclxag1lvba3pz2rlyw8b6d5rykkapm299yvb"; } - { url = root + "kqpkn.nbb.emd"; - sha256 = "1i3wx9c7dk1sdig6kv4h3pa2m9ir1gd6qz7jyan9q18wvrpag12l"; } - { url = root + "kqpkn.nbw.emd"; - sha256 = "0iqxrgr1x2k3mfvhgckz9dya92wj8vddpv746gz86yi6n05wp373"; } - { url = root + "kqpkp.nbb.emd"; - sha256 = "0ifxixayrfhdp3yq04h55kjcgbly4390ghrhpvllc3mf6yrcg3sh"; } - { url = root + "kqpkp.nbw.emd"; - sha256 = "1hf8b4lvci0lm4skvxsw83c521q2x1i7yij8ih9j8ijyg64fivp8"; } - { url = root + "kqpkq.nbb.emd"; - sha256 = "0vy9ihcl80q2ml7lilgi007d7zx4r9knsyn8f63fqfa8x3m5rs6b"; } - { url = root + "kqpkq.nbw.emd"; - sha256 = "0xqngdyq8anfz1xqyg24nvwds7k7027j1l5pjwl22x0ipi7hda98"; } - { url = root + "kqpkr.nbb.emd"; - sha256 = "1c3xbrvsmyjz0ydc3xpw5hcxky20742d2jqwf7rrx5q223y11mlv"; } - { url = root + "kqpkr.nbw.emd"; - sha256 = "0fsi0d0czwvi2az56v2a4r0k78drybyqdda264gqjs53j65h02bp"; } - { url = root + "kqppk.nbb.emd"; - sha256 = "0995h6li6ixljxfs4xxy1bvmzj589h675bg8pkhbrmvimhja2nrf"; } - { url = root + "kqppk.nbw.emd"; - sha256 = "18hh8080s90qdacy6svhymfs4nw27x0p0s8km8p090rwk5si860a"; } - { url = root + "kqqbk.nbb.emd"; - sha256 = "15n425kcfjypwbxj1ck9v4rzd24lmd36kczhsi1cp2y6955vz9vp"; } - { url = root + "kqqbk.nbw.emd"; - sha256 = "1mjkgcblgsga7vib0410mdcjqh3dkc3xq8nx17p1hapinj987w8s"; } - { url = root + "kqqk.nbb.emd"; - sha256 = "0ihmqjiqycybci4zczrdv4c3a1bdz7l2qln0g43rbzwbkjsplykx"; } - { url = root + "kqqk.nbw.emd"; - sha256 = "0m0359yb17azb8s482i63fvqqy1b9idgklrj82rpbidasz41gj0m"; } - { url = root + "kqqkb.nbb.emd"; - sha256 = "0b9hm4pw01dal7lazb1qakjbgg5wg3nrn2bdjmkabfjgbrnh4hbm"; } - { url = root + "kqqkb.nbw.emd"; - sha256 = "1msk54xzbn41rhlyx9qkragihmg7yw2r5jc97lkvb7d8lwg6s59r"; } - { url = root + "kqqkn.nbb.emd"; - sha256 = "18d8nc25h33gd1qr6jmsbka3qmd8xjb2q1545959x6b4ch93cbsy"; } - { url = root + "kqqkn.nbw.emd"; - sha256 = "0i2mzllfklvv8bw0g6rjjrjkw71mvn8hsvqg6m7hhdq8lg5ajhyp"; } - { url = root + "kqqkp.nbb.emd"; - sha256 = "14y51vjw0r605pbjz0gvhc0x2w14ijxn3nilvpd5sdcnfh79kaax"; } - { url = root + "kqqkp.nbw.emd"; - sha256 = "11m1034gb608czhzrrj3fgpixq4rlvr92bzv7ga5r8wypwwycbdp"; } - { url = root + "kqqkq.nbb.emd"; - sha256 = "1cxyavw61qqpy15vrq51a0sjsd2lhya60cf33nnh9vb370amwqj9"; } - { url = root + "kqqkq.nbw.emd"; - sha256 = "1lrv2757bivjs9bsyh7ghj53halg3jz29xhnx7xhjrf48rpv6nxw"; } - { url = root + "kqqkr.nbb.emd"; - sha256 = "1m2r0myc2piqn4pcd3b9ngivrjg1j5viwsi9740dlb730dbvkzna"; } - { url = root + "kqqkr.nbw.emd"; - sha256 = "1767n2993dw5akbd3h6w570nbs5bncd8qid1dhgzfs9yxxzjplns"; } - { url = root + "kqqnk.nbb.emd"; - sha256 = "047950dbkh0mzpfb1klm51lmqzx1d90w6j7r4z8mc1nw4knh5cpp"; } - { url = root + "kqqnk.nbw.emd"; - sha256 = "0yd35ra0s0qckqymzi634bxp127arbrqzyj3s3xww82qsn6lbm07"; } - { url = root + "kqqpk.nbb.emd"; - sha256 = "08wbdhpa8vna39i226hg71r8a7ydp2vd2gh5prskr39vqj0k5pa3"; } - { url = root + "kqqpk.nbw.emd"; - sha256 = "1vyd4pvb8mhbdkm85njnqxg755biw0y68ylxfbnar8wna4dl27ds"; } - { url = root + "kqqqk.nbb.emd"; - sha256 = "0l0ichgik395z90h37zj6x4kcxpf0121zw57s8s0y51iwz61ikg9"; } - { url = root + "kqqqk.nbw.emd"; - sha256 = "0jmkd9n96al6sggva1kmdax8vxqprai9hhkxxvsk35wivcp8akk8"; } - { url = root + "kqqrk.nbb.emd"; - sha256 = "02wahvwixy5l3q9h57ayr2mxqs79zg8m2qh8cv3mms39csa9axzh"; } - { url = root + "kqqrk.nbw.emd"; - sha256 = "05rypafy4lgb53x8zx2qlvdrjm91aqr61hc7iwlpfikqqcbiksiw"; } - { url = root + "kqrbk.nbb.emd"; - sha256 = "0bk77dvdg5qx86rss0q9v8zl079g85p7snfgjpr30jpfv2z0a6p6"; } - { url = root + "kqrbk.nbw.emd"; - sha256 = "0mgamh4fqr6g063ic5qapdjng6jw35f82f0wjq8j9gv5w83s0vqs"; } - { url = root + "kqrk.nbb.emd"; - sha256 = "0vsadlphh4b6cgs4pizw44nfw4lhpq65dws44fc9z74sf32q0ibr"; } - { url = root + "kqrk.nbw.emd"; - sha256 = "1qq8jqzqzkcarhnc7ad6xp3s2f8r4crrxgj0ajciz2pkyc98xdh6"; } - { url = root + "kqrkb.nbb.emd"; - sha256 = "0bxmkjmqx7gjdaz78d31sbk7v67crx24dpbhswfg6b3xkhi8cy3f"; } - { url = root + "kqrkb.nbw.emd"; - sha256 = "0hhz4yxrcwvvc4b36ixlh3g8gdm4krhvip80xazcy538dwl26b29"; } - { url = root + "kqrkn.nbb.emd"; - sha256 = "13h7qa2zy9akdrvrwl7wmlpncgljjamc7asa9vpd76bi5mp0wrap"; } - { url = root + "kqrkn.nbw.emd"; - sha256 = "0ihcp5wh61cgq439nh5rn3qqhpyjl5h4xz9ayyma298fm2xw7w89"; } - { url = root + "kqrkp.nbb.emd"; - sha256 = "1wjrcrjgq1gj0jqbw0mi8ah79qv80zp921bzjxsx9vjm35hdbbhl"; } - { url = root + "kqrkp.nbw.emd"; - sha256 = "0qwc76wyy60vicxyxx80gm6f40fw3izs6xndhhkfh86cj7sjl3l5"; } - { url = root + "kqrkq.nbb.emd"; - sha256 = "0drzfjrm6mh8q1vb36ycvfsipp6z4ij4a200zxypaxaimnxssq3x"; } - { url = root + "kqrkq.nbw.emd"; - sha256 = "0n12rixcd2k3bgm00k2z9cnlzx1av5y62r8adnx6h2grlgcyd26j"; } - { url = root + "kqrkr.nbb.emd"; - sha256 = "0zvzx89gp4saggjb062nafy3xncv01fmbymsmnlswmq80xdkcn4d"; } - { url = root + "kqrkr.nbw.emd"; - sha256 = "0by6f36850d4fdraqj8rqv7ryaplqxlmkm00prm0pcmlb3y5czc7"; } - { url = root + "kqrnk.nbb.emd"; - sha256 = "0z5599ci1n7qgpn3inch8zc3ciyy1b5gjbix78k3b5ig4ra2idv6"; } - { url = root + "kqrnk.nbw.emd"; - sha256 = "18a5bm0rlh4wf5im54acq0w0l6lnjjk4dxaxcph67q4smfbfacv3"; } - { url = root + "kqrpk.nbb.emd"; - sha256 = "10rbm2j3rz04jv0s70aink3y7h303zvnf29b9pim8b8pv23pwvy3"; } - { url = root + "kqrpk.nbw.emd"; - sha256 = "1jqvxfj3fnm456livvfbp3v750mm86js2qb7va5nq9wilif13chb"; } - { url = root + "kqrrk.nbb.emd"; - sha256 = "0h2g8v9i6ic2fmjgzwh1hcwaka2m8n8l28nvbbkq3447hrwl8sba"; } - { url = root + "kqrrk.nbw.emd"; - sha256 = "137iicxbws20rv93b5qas6dpk5a7qj18rcbj632117hkiw3ddjly"; } - { url = root + "krbbk.nbb.emd"; - sha256 = "1i0yjbvkrqz4m61qk6flz88zsb3nwskj6rrn3bz4fzv63m0yhcpk"; } - { url = root + "krbbk.nbw.emd"; - sha256 = "00rna709hpxw06sg5cnzn9xzgn2pib4n5yyffjz638sgivgh62k4"; } - { url = root + "krbk.nbb.emd"; - sha256 = "1xq45jiwg96084jm0qkacjmxl86v0mp1nrr6k85dpn99bmyzx5xw"; } - { url = root + "krbk.nbw.emd"; - sha256 = "0jnxrpwad8cpl6yp31bs5g0h89jjr8061lj69n8wdmmwhvjafvk0"; } - { url = root + "krbkb.nbb.emd"; - sha256 = "0gdwy9q7xf35fpb78g02jn07d969p7zzhnn4asbk5y3fmix209l2"; } - { url = root + "krbkb.nbw.emd"; - sha256 = "0kryfbjli1l05nqarz96q6fnviwzgjvmbljbmapirw40ma68nx4r"; } - { url = root + "krbkn.nbb.emd"; - sha256 = "01fll6vvqiyxpmn6qmwhrzd7f3j3irpbdvc2jn2hqzjdmsr0kz59"; } - { url = root + "krbkn.nbw.emd"; - sha256 = "13yipfw7v5w2hcgmnml3ka1rq1g5djcf81nkanrlmrkqaksxbc0m"; } - { url = root + "krbkp.nbb.emd"; - sha256 = "1bpa5x4zm9nap62hf3iiyzzwcp0fsh5bww0sdnvlzaclw9mbc1g8"; } - { url = root + "krbkp.nbw.emd"; - sha256 = "0y157ai66amm5lryigc7nizj79mfbcny925qqcsgbi8l2yhl7hk1"; } - { url = root + "krbkq.nbb.emd"; - sha256 = "199gckvazpsv1f3jkfxw9p3hyfshpvqm2i9wqjgzlm69dckbbj4x"; } - { url = root + "krbkq.nbw.emd"; - sha256 = "1m72pzaxlrppwpaqgdcxcjr9n5cnyxs8p0kxybgkl17vfvpc5jmw"; } - { url = root + "krbkr.nbb.emd"; - sha256 = "04wpcfq3y4nx1q57vina4z75lv3mrzljfzw5s73s5m0fhfq54i9v"; } - { url = root + "krbkr.nbw.emd"; - sha256 = "1wii5h5cyxxxgjp53ap43v0wnpj7amxyd8kg9bxsamcfz3wj1v70"; } - { url = root + "krbnk.nbb.emd"; - sha256 = "0s2jrbyjn4d2kik7ic4i1d4w6yx2841cdwb7lalpw3jf74ag2cv4"; } - { url = root + "krbnk.nbw.emd"; - sha256 = "1py0lnsahky21dvk5kdcfgbrca1cks7ihjslpvins91l58yzldh9"; } - { url = root + "krbpk.nbb.emd"; - sha256 = "1v3j61j125i9hbmqm11ay2ng65djq55mwxfr5v8173whqjk9cjc5"; } - { url = root + "krbpk.nbw.emd"; - sha256 = "1zvinpcr9mzm6jgicq6y6jfl6dsd7pyn648bfayszfgndyr2b125"; } - { url = root + "krk.nbb.emd"; - sha256 = "042qliismf63y6vims4bg31lj1w9r2y45p32frqxgk79hvb567yv"; } - { url = root + "krk.nbw.emd"; - sha256 = "1fam4n038dg4g1nc1zn55lyjagv4j4lkbq28rhiaz7mhj3z4r3zz"; } - { url = root + "krkb.nbb.emd"; - sha256 = "0y44rbly8ggzjg2i5vhxibia551ii28dnpyzls3b74a6078zy0wy"; } - { url = root + "krkb.nbw.emd"; - sha256 = "12bqs411yhv6k0b2jhil1l7hpk4cj3i8x0bcj168jnmikzhprvgq"; } - { url = root + "krkn.nbb.emd"; - sha256 = "1wcghsgr9g09pbyhak1hyxw3rvfis6zplc3zgzx3qphp69rivk3k"; } - { url = root + "krkn.nbw.emd"; - sha256 = "1jkwz4kjl91kxxascg21zj6c6qgx9s0k91jjbic6ybsmpv4wj4qc"; } - { url = root + "krkp.nbb.emd"; - sha256 = "1jmaansnxspb7x2ka8y44vssgk78wfcrmdczj60zyzg1bj3n5fl8"; } - { url = root + "krkp.nbw.emd"; - sha256 = "14yi4fsax0w9sd5bv463ajs6r4q0wxj3n19np9anc1zfvb3yk846"; } - { url = root + "krkr.nbb.emd"; - sha256 = "12y29sgqhxcvilg089766nn14scy8b0dxmla1isjmgq9qb4yi9vy"; } - { url = root + "krkr.nbw.emd"; - sha256 = "12y29sgqhxcvilg089766nn14scy8b0dxmla1isjmgq9qb4yi9vy"; } - { url = root + "krnk.nbb.emd"; - sha256 = "0gvm4y8p5a9769nqhgnx6xj6nlldgrh75k3z8c8hj2xd9cyj01pp"; } - { url = root + "krnk.nbw.emd"; - sha256 = "0p7j4x0xdq5krsvmj44qkcaqmww7rplrjdr08ix3jyjf31kk2x13"; } - { url = root + "krnkb.nbb.emd"; - sha256 = "0w9gybr4i7d8zjpbbyg1m4263bx2gpmnh91vd0xmpwi0ykrxrl57"; } - { url = root + "krnkb.nbw.emd"; - sha256 = "19wp8swng0q2wzxwx89km5fqlqfb4vcamky9h7pvas2sgh8frfmq"; } - { url = root + "krnkn.nbb.emd"; - sha256 = "0g3b48symag31lcgbimpmmqsqdmihsr6g9k5a15l0mfkisfwadlf"; } - { url = root + "krnkn.nbw.emd"; - sha256 = "1vryhaw1aj4bhv2ghb10zxyx930s2f4xqg7v9cxfnr9q5w2qv7xh"; } - { url = root + "krnkp.nbb.emd"; - sha256 = "13b8vahj7hj4f12kiaigx1nphdrf8z30j68zav9n617kpf5s35i0"; } - { url = root + "krnkp.nbw.emd"; - sha256 = "1qcnjwkg0pxp1hq4xws9dgq4bx6pxn0am3mcj1n837qcmv46mf7c"; } - { url = root + "krnkq.nbb.emd"; - sha256 = "150d9z4v6fk16sdxq1w96gl2pl9nsf0jimy8kdgc8a19i1ab1rjc"; } - { url = root + "krnkq.nbw.emd"; - sha256 = "13dn9hgk4i26axwymv0gvdkl0zr5shggvm5lpwa15gigmrva73bh"; } - { url = root + "krnkr.nbb.emd"; - sha256 = "14ja7chmg7aklg6swlc3lpik4akj8zv3x2qppsip0vi3j05lnqyv"; } - { url = root + "krnkr.nbw.emd"; - sha256 = "04qxh0kzk2p7m5zdrzg0faqva91qals4njnwf4vgfr65lmd4hyfn"; } - { url = root + "krnnk.nbb.emd"; - sha256 = "1f35pqprkf1clx0mzzkgx9mn8ncqdiyc2cbxcp5a4x1kzli7zp34"; } - { url = root + "krnnk.nbw.emd"; - sha256 = "16y28mqjl7fbl8rlwv51bn17sx0fpvfi0izyq1f5043l7fmpshfr"; } - { url = root + "krnpk.nbb.emd"; - sha256 = "097rmr9zb550qn41kn11c15qp8l5582wqncg5li46iq9mfxcskiw"; } - { url = root + "krnpk.nbw.emd"; - sha256 = "0hj3bhqvgdd64qa47irwx08nz4fqxhm0ddmpjq0jb757wlqw5f05"; } - { url = root + "krpk.nbb.emd"; - sha256 = "1qz218amn2ii66g2fr2ifq6csr0n5n9ip9jcjxkxgpmawiwjhcm1"; } - { url = root + "krpk.nbw.emd"; - sha256 = "19vh7k73gjyjwqzdpf0pv2i7zrqb2ns6a6r3n4jgwwd2n35inr1i"; } - { url = root + "krpkb.nbb.emd"; - sha256 = "1y6kknnkb0ikk7az6syc3drhp4v3avpffa5pghpr2pm6i8xzx3nm"; } - { url = root + "krpkb.nbw.emd"; - sha256 = "0fnbyhgjlnrnddkpbbyabyg31nmi61w9ra8ylicv6ysgyn4bcps4"; } - { url = root + "krpkn.nbb.emd"; - sha256 = "08cn0pa6y1hxq7clgj70hdxm13a6zi9c8z2mmf3qgsjjkrj2wgc5"; } - { url = root + "krpkn.nbw.emd"; - sha256 = "16ybnwl7sf832z546igrwclahhymp734dcg6rhrakxabrv0y144z"; } - { url = root + "krpkp.nbb.emd"; - sha256 = "125qzj83kc5y5rx6jn078pjj6lph1gslmglx24n5n399382kllkn"; } - { url = root + "krpkp.nbw.emd"; - sha256 = "1kbahpn99r37syb1yypabw55g4diwbp6q99nr6f6rn19wp0b44mk"; } - { url = root + "krpkq.nbb.emd"; - sha256 = "1wsxy8ycz8l6wn6c58w4n0gdsdb8lik6b046q132qjw8mnn07gv1"; } - { url = root + "krpkq.nbw.emd"; - sha256 = "0l8sg8sv6yy2wsrg7p9j2w5s61sd3jak09z1i347k0g0190m77m8"; } - { url = root + "krpkr.nbb.emd"; - sha256 = "1mv4jcgkilsw3d4m879r2cwslz71v0rg5hwk9r6lhpg22qam3kz1"; } - { url = root + "krpkr.nbw.emd"; - sha256 = "1nj906wq21h9xfzihc3wcp9s2bwgy7c68j4a6vlxq3zy1c8k53yx"; } - { url = root + "krppk.nbb.emd"; - sha256 = "0x63qm3zwp70y3a33s29bv7lhg1vjnvi4gkxxgh6s0590y7s8pj4"; } - { url = root + "krppk.nbw.emd"; - sha256 = "1z4nhf2gygbdgk6j3bdxhllx154ajkrrz3j0y715r20m0fxfl6x8"; } - { url = root + "krrbk.nbb.emd"; - sha256 = "0gxam25i89sqmmmd781yyk2k2zyj76l9w9hngqkzagiz0fhh9ycz"; } - { url = root + "krrbk.nbw.emd"; - sha256 = "1v7rfv5b4wjsgfy21fi3xyxbfj76mvkxhfz52612p4rnzp78bb56"; } - { url = root + "krrk.nbb.emd"; - sha256 = "0ms9cjndxiflssymcx7aakf6bjwb5043nz5i4jvix89wvp6lgfa1"; } - { url = root + "krrk.nbw.emd"; - sha256 = "18bh2y3v2ak6j1q1rlnkp02vijbbqr69i4cg1pvj943c83xz18l3"; } - { url = root + "krrkb.nbb.emd"; - sha256 = "0hdr8v5bgybma3sdl8mk0v3msjvdva89zs1wd52m6jbdgwb5hzca"; } - { url = root + "krrkb.nbw.emd"; - sha256 = "1g8bkyzq585az5rrglxd71ydj2fhhgqzdfmkgihbi7ncjym9kpw7"; } - { url = root + "krrkn.nbb.emd"; - sha256 = "0bz8np2sqj8viwszx4jj9wxj774kv548pjzrmc6xh11p0sfjx3rj"; } - { url = root + "krrkn.nbw.emd"; - sha256 = "1qf4d6zlvwlgrq0f732wafpznkqd3qnf7na4bgd4p1pb105ickg4"; } - { url = root + "krrkp.nbb.emd"; - sha256 = "1kw434r77f61b5agly6lqkvn4b1rwssd511lcv16mvvf56xlqnb4"; } - { url = root + "krrkp.nbw.emd"; - sha256 = "1yzqpp01gckk25zjy8j820y37m4vj6rgc6zpphwll45rn1ahwk0p"; } - { url = root + "krrkq.nbb.emd"; - sha256 = "1ynhjzzmjpd6yw0d2w5xhlms3sqjc8gksfqgq3wmx7ym23wya2qq"; } - { url = root + "krrkq.nbw.emd"; - sha256 = "01wil4pbcnrqynj1xpkglk2r36b36cz9gjr2g76rrz5xhdy5q8vj"; } - { url = root + "krrkr.nbb.emd"; - sha256 = "0iyqadmpddy9i330nv1qrsjfkk2vlkxfxjphx3q349lplq6a9s16"; } - { url = root + "krrkr.nbw.emd"; - sha256 = "1fg4byzzmjlzz8hs2vhpysmf8py9ylkf5pdw3rv88dxr4cp1wciq"; } - { url = root + "krrnk.nbb.emd"; - sha256 = "1jb8rq7sy28c9wr7yih8w5bi8jbcf4xzf8sccanz32qxp0159f0h"; } - { url = root + "krrnk.nbw.emd"; - sha256 = "17g7l0szgqczykjgxdhpihs5hh2snc35cy3hggnvah3j8bv6ksb4"; } - { url = root + "krrpk.nbb.emd"; - sha256 = "1q7vk3pawab9nbpdn3cw2kf205yx6lznr6gkd9qbjj3754s9zswh"; } - { url = root + "krrpk.nbw.emd"; - sha256 = "0wl23j0a67mm01655p4ivjrlsacvm7lxglhrg6cni61qkdqr6vqz"; } - { url = root + "krrrk.nbb.emd"; - sha256 = "1ggm5q38wc65rkp87n5d2l71kcl7nqjkvwa31hmlagq2735vd0gd"; } - { url = root + "krrrk.nbw.emd"; - sha256 = "1h7psv25a4wajg6ggk2q0cllf5mng4qjas3yi9nvi7kc766p85ax"; } - ]); - - patches = [ ./strcpy.patch ./malloc.patch ]; - buildInputs = [ unzip ]; - buildPhase = - if stdenv.isDarwin - then "make darwin" - else if stdenv.isLinux - then "make linux-amd64" - else "make"; + unpackPhase = '' + mkdir "craftysrc" + unzip $src -d craftysrc + gunzip -c $startPgn > "craftysrc/start.pgn" + ''; + + buildPhase = '' + cd craftysrc + make unix-gcc + ''; installPhase = '' + BUILDDIR="$PWD" mkdir -p $out/bin cp -p ./crafty $out/bin mkdir -p $out/share/crafty cd $out/share/crafty - $out/bin/crafty "books create ${startPgn} 60" + $out/bin/crafty "books create $BUILDDIR/start.pgn 60" rm -f *.001 - ${if fullVariant then '' - unzip ${enormousPgn} - $out/bin/crafty "book create enormous.pgn 60" - rm -f *.001 enormous.pgn - - mkdir -p $out/share/crafty/TB - ${stdenv.lib.fold - (tb: acc: acc + "\nln -s " - + toString tb - + " $out/share/crafty/TB/`echo " - + toString tb - + " | sed 's/.*-//'`") - "" - tableBases345} - '' - else '' - cp -p ${bookBin} $out/share/crafty/book.bin - ''} + cp -p ${bookBin} $out/share/crafty/book.bin mv $out/bin/crafty $out/bin/.crafty-wrapped + cat - > $out/bin/crafty < - #include - #if !defined(IPHONE) --# include -+# include - #endif - #include - #if !defined(TYPES_INCLUDED) diff --git a/pkgs/games/crafty/strcpy.patch b/pkgs/games/crafty/strcpy.patch deleted file mode 100644 index d4d424d23da..00000000000 --- a/pkgs/games/crafty/strcpy.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/utility.c -+++ b/utility.c -@@ -2144,7 +2144,7 @@ int ReadPGN(FILE * input, int option) { - char *skip; - - strcpy(temp, input_buffer); -- skip = strstr(input_buffer, buffer) + strlen(buffer); -+ skip = strstr(temp, buffer) + strlen(buffer); - if (skip) - strcpy(input_buffer, skip); - } -@@ -2241,7 +2241,7 @@ int ReadPGN(FILE * input, int option) { - } - } - strcpy(temp, input_buffer); -- skip = strstr(input_buffer, buffer) + strlen(buffer); -+ skip = strstr(temp, buffer) + strlen(buffer); - strcpy(input_buffer, skip); - } else { - int skip; - diff --git a/pkgs/games/openclonk/default.nix b/pkgs/games/openclonk/default.nix new file mode 100644 index 00000000000..91b9b6fbb6d --- /dev/null +++ b/pkgs/games/openclonk/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, cmake, gnome3, pcre, freetype, glew, gtk3, libjpeg, libpng, + SDL, SDL_mixer, libupnp, xorg, pkgconfig, gtest, tinyxml, gmock, readline, + libxkbcommon, epoxy, at_spi2_core, dbus, libxml2, + enableSoundtrack ? false # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther +}: + +let + soundtrack_src = fetchurl { + url = "http://www.openclonk.org/download/Music.ocg"; + sha256 = "1ckj0dlpp5zsnkbb5qxxfxpkiq76jj2fgj91fyf3ll7n0gbwcgw5"; + }; +in stdenv.mkDerivation rec { + version = "7.0"; + name = "openclonk-${version}"; + + src = fetchurl { + url = "http://www.openclonk.org/builds/release/7.0/openclonk-${version}-src.tar.bz2"; + sha256 = "0ch71dqaaalg744pc1gvg6sj2yp2kgvy2m4yh6l7ljkpf8fj66mw"; + }; + + postInstall = '' + mv -v $out/games/openclonk $out/bin/ + '' + stdenv.lib.optionalString enableSoundtrack '' + cp -v ${soundtrack_src} $out/share/games/openclonk/Music.ocg + ''; + + enableParallelBuilding = true; + + buildInputs = [ + cmake gnome3.gtksourceview pcre freetype glew gtk3 libjpeg libpng SDL + SDL_mixer libupnp tinyxml xorg.libpthreadstubs libxkbcommon xorg.libXdmcp + pkgconfig gtest gmock readline epoxy at_spi2_core dbus libxml2 + ]; + + meta = with stdenv.lib; { + description = "Free multiplayer action game in which you control clonks, small but witty and nimble humanoid beings"; + homepage = "http://openclonk.org"; + license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc; + platforms = platforms.all; + }; +} diff --git a/pkgs/games/opentyrian/default.nix b/pkgs/games/opentyrian/default.nix index c435bbe5887..c91f9807581 100644 --- a/pkgs/games/opentyrian/default.nix +++ b/pkgs/games/opentyrian/default.nix @@ -1,21 +1,20 @@ -{stdenv, fetchhg, fetchurl, unzip, SDL, SDL_net}: +{stdenv, fetchurl, fetchzip, SDL, SDL_net}: stdenv.mkDerivation rec { name = "opentyrian-${version}"; - version = "0.0.955"; + version = "2.1.20130907"; - src = fetchhg { - url = "https://opentyrian.googlecode.com/hg/"; - rev = "13ef8ce47362"; - md5 = "95c8f9e7ff3d4207f1c692c7cec6c9b0"; + src = fetchurl { + url = "https://bitbucket.org/opentyrian/opentyrian/get/${version}.tar.gz"; + sha256 = "1jnrkq616pc4dhlbd4n30d65vmn25q84w6jfv9383l9q20cqf2ph"; }; - data = fetchurl { + data = fetchzip { url = http://sites.google.com/a/camanis.net/opentyrian/tyrian/tyrian21.zip; - md5 = "2a3b206a6de25ed4b771af073f8ca904"; + sha256 = "1biz6hf6s7qrwn8ky0g6p8w7yg715w7yklpn6258bkks1s15hpdb"; }; - buildInputs = [SDL SDL_net unzip]; + buildInputs = [SDL SDL_net]; patchPhase = " substituteInPlace src/file.c --replace /usr/share $out/share @@ -25,12 +24,12 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp ./opentyrian $out/bin mkdir -p $out/share/opentyrian/data - unzip -j $data -d $out/share/opentyrian/data + cp -r $data/* $out/share/opentyrian/data "; meta = { description = ''Open source port of the game "Tyrian"''; - homepage = https://opentyrian.googlecode.com/; + homepage = https://bitbucket.org/opentyrian/opentyrian; # This does not account of Tyrian data. # license = stdenv.lib.licenses.gpl2; }; diff --git a/pkgs/misc/emulators/fs-uae/default.nix b/pkgs/misc/emulators/fs-uae/default.nix index 43ace9ca977..f7d94bcad47 100644 --- a/pkgs/misc/emulators/fs-uae/default.nix +++ b/pkgs/misc/emulators/fs-uae/default.nix @@ -1,24 +1,18 @@ { stdenv, fetchurl, pkgconfig -, gettext, gtk2, SDL, zlib, glib, openal, mesa, lua, freetype }: +, gettext, gtk2, SDL2, zlib, glib, openal, mesa, lua, freetype, libmpeg2, zip }: with stdenv.lib; -stdenv.mkDerivation rec{ +stdenv.mkDerivation rec { name = "fs-uae-${version}"; - version = "2.4.3"; + version = "2.8.0"; src = fetchurl { - urls = [ "http://fs-uae.net/fs-uae/stable/${version}/${name}.tar.gz" ]; - sha256 = "05wngvpqj8kj4wzi5jzzhvs19iljb3m6ba1l2hk4rz68b400ndv6"; + url = "http://fs-uae.net/fs-uae/stable/${version}/${name}.tar.gz"; + sha256 = "1cvvlkzhh4rrpax7505bngw990rx86l1nhad174zpqc9ah93il25"; }; - buildInputs = [ pkgconfig gettext gtk2 SDL zlib glib openal mesa lua freetype ]; - - phases = "unpackPhase buildPhase installPhase"; - - # Strange: the docs recommend SDL2, but it does compile only with SDL1 - buildPhase = "make sdl=1"; - installPhase = "make install prefix=$out"; + buildInputs = [ pkgconfig gettext gtk2 SDL2 zlib glib openal mesa lua freetype libmpeg2 zip ]; meta = { description = "An accurate, customizable Amiga Emulator"; @@ -30,9 +24,8 @@ stdenv.mkDerivation rec{ ''; license = licenses.gpl2Plus; homepage = http://fs-uae.net; - maintainers = [ maintainers.AndersonTorres ]; + maintainers = with stdenv.lib; [ maintainers.AndersonTorres ]; platforms = stdenv.lib.platforms.linux; }; } # TODO: testing and Python GUI support -# TODO: SDL2 support diff --git a/pkgs/misc/emulators/mgba/default.nix b/pkgs/misc/emulators/mgba/default.nix index a38576dcbe4..7724d3d8d1b 100644 --- a/pkgs/misc/emulators/mgba/default.nix +++ b/pkgs/misc/emulators/mgba/default.nix @@ -1,21 +1,20 @@ -{ stdenv, fetchgit +{ stdenv, fetchFromGitHub , pkgconfig, cmake, libzip, epoxy, ffmpeg, imagemagick, SDL2 , qtbase, qtmultimedia }: stdenv.mkDerivation rec { - name = "mgba-git-${version}"; - version = "20160325"; + name = "mgba-${version}"; + version = "0.5.1"; - src = fetchgit { - url = "https://github.com/mgba-emu/mgba.git"; - rev = "be2641c77b4a438e0db487bc82b43bc27a26e0c2"; - sha256 = "1wxywfbkgqvb0j9cyz4nwsfzhxrdjcmvz1k7rljmy4bz1pjcglj1"; + src = fetchFromGitHub { + owner = "mgba-emu"; + repo = "mgba"; + rev = version; + sha256 = "1ysxyy888qdwjbgsh3xdzsx8f3a5yd1gqx54xvndpv9v3zqgr2jf"; }; - buildInputs = [ - pkgconfig cmake libzip epoxy ffmpeg imagemagick SDL2 - qtbase qtmultimedia - ]; + nativeBuildInputs = [ pkgconfig cmake ]; + buildInputs = [ libzip epoxy ffmpeg imagemagick SDL2 qtbase qtmultimedia ]; meta = with stdenv.lib; { homepage = https://mgba.io; diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/misc/emulators/zsnes/default.nix index 8ad0ca39b07..02f93eb931d 100644 --- a/pkgs/misc/emulators/zsnes/default.nix +++ b/pkgs/misc/emulators/zsnes/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, fetchpatch, nasm, SDL, zlib, libpng, ncurses, mesa +{stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, mesa , makeDesktopItem }: let @@ -15,35 +15,22 @@ let in stdenv.mkDerivation { name = "zsnes-1.51"; - src = fetchurl { - url = mirror://sourceforge/zsnes/zsnes151src.tar.bz2; - sha256 = "08s64qsxziv538vmfv38fg1rfrz5k95dss5zdkbfxsbjlbdxwmi8"; + src = fetchFromGitHub { + owner = "emillon"; + repo = "zsnes"; + rev = "fc160b2538738995f600f8405d23a66b070dac02"; + sha256 = "1gy79d5wdaacph0cc1amw7mqm7i0716n6mvav16p1svi26iz193v"; }; - patches = [ (fetchpatch { - url = "https://raw.githubusercontent.com/emillon/zsnes/fc160b2538738995f600f8405d23a66b070dac02/debian/patches/0003-gcc-4.3-ftbfs.patch"; - sha256 = "1rlqjxnx21iz03414bamqrpysaxbvmfacfnk111233yxjd4vhq89"; - }) - (fetchpatch { - url = "https://raw.githubusercontent.com/emillon/zsnes/fc160b2538738995f600f8405d23a66b070dac02/debian/patches/0009-hat-events.patch"; - sha256 = "1az5vxjff22hqlsv0nmliax3ziwcr9kc75na805v9f66s8fmj5rf"; - }) - (fetchpatch { - url = "https://raw.githubusercontent.com/emillon/zsnes/fc160b2538738995f600f8405d23a66b070dac02/debian/patches/0010-Fix-build-with-libpng-1.5.patch"; - sha256 = "1vjfraxjw6f496j3w8r581m3lbn16s0nx3hskzj14hl9ycfskhnr"; - }) - (fetchpatch { - url = "https://raw.githubusercontent.com/emillon/zsnes/fc160b2538738995f600f8405d23a66b070dac02/debian/patches/0012-Fix-build-with-gcc-4.7.patch"; - sha256 = "1d8m0vxi8wf9z4wfjx2cc48p1wy2qadgvcm88dg1jncg334jwfrg"; - }) - (fetchpatch { - url = "https://raw.githubusercontent.com/emillon/zsnes/fc160b2538738995f600f8405d23a66b070dac02/debian/patches/zsnes-linux-resume-freeze-fix.patch"; - sha256 = "0gvf6gsqxxfah1s80ya2l5yils2kv9xa6faajdyby7xipzkc6qc7"; - }) - ]; - buildInputs = [ nasm SDL zlib libpng ncurses mesa ]; + prePatch = '' + for i in $(cat debian/patches/series); do + echo "applying $i" + patch -p1 < "debian/patches/$i" + done + ''; + preConfigure = '' cd src sed -i "/^STRIP/d" configure diff --git a/pkgs/misc/themes/flat-plat/default.nix b/pkgs/misc/themes/flat-plat/default.nix index da28f1892df..342fc1277c9 100644 --- a/pkgs/misc/themes/flat-plat/default.nix +++ b/pkgs/misc/themes/flat-plat/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A Material Design-like flat theme for GTK3, GTK2, and GNOME Shell"; homepage = https://github.com/nana-4/Flat-Plat; - licence = licenses.gpl2; + license = licenses.gpl2; maintainers = [ maintainers.mounium ]; platforms = platforms.all; }; diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 70d998db959..d2eee8c2cac 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -1341,6 +1341,17 @@ rec { }; + Rename = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "Rename-2011-08-30"; + src = fetchgit { + url = "git://github.com/vim-scripts/Rename"; + rev = "b240f28d2ede65fa77cd99fe045efe79202f7a34"; + sha256 = "1d1myg4zyc281zcc1ba9idbgcgxndb4a0jwqr4yqxhhzdgszw46r"; + }; + dependencies = []; + + }; + a-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "a-vim-2010-11-06"; src = fetchgit { diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 5777b5e4707..1e04ab99221 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -2,6 +2,7 @@ "CheckAttach" "Gist" "Hoogle" +"Rename" "Solarized" "Supertab" "Syntastic" diff --git a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix index bc514d617bd..f5feee48e07 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix @@ -2,4 +2,15 @@ appleDerivation { preConfigure = "cd libiconv"; + + postInstall = '' + mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib + install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib + + # re-export one useless symbol; ld will reject a dylib that only reexports other dylibs + echo 'void dont_use_this(){}' | clang -dynamiclib -x c - -current_version 2.4.0 \ + -compatibility_version 7.0.0 -current_version 7.0.0 -o $out/lib/libiconv.dylib \ + -Wl,-reexport_library -Wl,$out/lib/libiconv-nocharset.dylib \ + -Wl,-reexport_library -Wl,$out/lib/libcharset.dylib + ''; } diff --git a/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix b/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix index bfcef1d9c1a..c87023bf336 100644 --- a/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix +++ b/pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation { description = "Firmware for Intel 2200BG cards"; homepage = http://ipw2200.sourceforge.net/firmware.php; license = stdenv.lib.licenses.unfreeRedistributableFirmware; - maintainers = with maintainers; [ lukasepple ]; + maintainers = with maintainers; [ sternenseemann ]; platforms = with platforms; linux; }; } diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index d7dab32e297..bdc243a149e 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -284,6 +284,7 @@ with stdenv.lib; RANDOMIZE_BASE? y STRICT_DEVMEM y # Filter access to /dev/mem SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default + SECURITY_YAMA? y # Prevent processes from ptracing non-children processes DEVKMEM n # Disable /dev/kmem ${if versionOlder version "3.14" then '' CC_STACKPROTECTOR? y # Detect buffer overflows on the stack @@ -395,7 +396,7 @@ with stdenv.lib; # Linux containers. NAMESPACES? y # Required by 'unshare' used by 'nixos-install' - RT_GROUP_SCHED? y + RT_GROUP_SCHED n CGROUP_DEVICE? y MEMCG y MEMCG_SWAP y diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 04b759ae0e6..246068f09ea 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.4.23"; + version = "4.4.24"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1ljvga8c6p3aww3jpi810rvf4m9qr1rjy8ya6s1xq07b08g5hpbk"; + sha256 = "0yhs1742wrl0ip9wsayparjpr7vccljnhfjimgy4fjp3w6aync1k"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-4.7.nix b/pkgs/os-specific/linux/kernel/linux-4.7.nix index f08d594a395..139ae20d8c9 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.7.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.7.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.7.6"; + version = "4.7.7"; extraMeta.branch = "4.7"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1lidsc85xc025a46pyjimcr1xcwv7mh59jihmnqihfnwqch6albv"; + sha256 = "079gvv91a0mymzxx1h9bbn4snk6xz0cyk1bf8pjkhdyyad90v17d"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-4.8.nix b/pkgs/os-specific/linux/kernel/linux-4.8.nix index 5c211268623..d7164d72940 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.8.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.8.nix @@ -1,13 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.8"; - modDirVersion = "4.8.0"; + version = "4.8.1"; extraMeta.branch = "4.8"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "3e9150065f193d3d94bcf46a1fe9f033c7ef7122ab71d75a7fb5a2f0c9a7e11a"; + sha256 = "0rcqgi91jz5iyx1nrd4qjmvh0sgqjpqj94bwjh56c21nkxxiahg6"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix index f08d594a395..139ae20d8c9 100644 --- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix +++ b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.7.6"; + version = "4.7.7"; extraMeta.branch = "4.7"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1lidsc85xc025a46pyjimcr1xcwv7mh59jihmnqihfnwqch6albv"; + sha256 = "079gvv91a0mymzxx1h9bbn4snk6xz0cyk1bf8pjkhdyyad90v17d"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 0a577bb4e31..29d622cd3c3 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -86,9 +86,9 @@ rec { }; grsecurity_testing = grsecPatch - { kver = "4.7.6"; - grrev = "201609301918"; - sha256 = "153x97vvd3jl2i7fs6d5ilqnmz2v2iyzsf3pg3frrackv6xaisa5"; + { kver = "4.7.7"; + grrev = "201610101902"; + sha256 = "18x8grxj03bh9gqlm3sfgjl8vy5gpyrjr8nmdnrnas6ycmbvyjx4"; }; # This patch relaxes grsec constraints on the location of usermode helpers, diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 69a951875a5..9e572498457 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -1,6 +1,6 @@ { lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig, libunwind, binutils -, libiberty +, libiberty, libaudit , zlib, withGtk ? false, gtk2 ? null }: with lib; @@ -24,7 +24,7 @@ stdenv.mkDerivation { # perf refers both to newt and slang # binutils is required for libbfd. nativeBuildInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt - flex bison libiberty ]; + flex bison libiberty libaudit ]; buildInputs = [ elfutils python perl newt slang pkgconfig libunwind binutils zlib ] ++ stdenv.lib.optional withGtk gtk2; diff --git a/pkgs/os-specific/linux/kmod/aggregator.nix b/pkgs/os-specific/linux/kmod/aggregator.nix index 88069ba4bf1..9bd7c8480c1 100644 --- a/pkgs/os-specific/linux/kmod/aggregator.nix +++ b/pkgs/os-specific/linux/kmod/aggregator.nix @@ -17,10 +17,12 @@ buildEnv { echo "kernel version is $kernelVersion" + shopt -s extglob + # Regenerate the depmod map files. Be sure to pass an explicit # kernel version number, otherwise depmod will use `uname -r'. if test -w $out/lib/modules/$kernelVersion; then - rm -f $out/lib/modules/$kernelVersion/modules.* + rm -f $out/lib/modules/$kernelVersion/modules.!(builtin*|order*) ${kmod}/bin/depmod -b $out -a $kernelVersion fi ''; diff --git a/pkgs/os-specific/linux/rtkit/default.nix b/pkgs/os-specific/linux/rtkit/default.nix index 3284dfcb88b..dd6f9ec42af 100644 --- a/pkgs/os-specific/linux/rtkit/default.nix +++ b/pkgs/os-specific/linux/rtkit/default.nix @@ -13,10 +13,17 @@ stdenv.mkDerivation rec { ]; patches = [ + # Drop removed ControlGroup stanza (fetchpatch { - url = "https://anonscm.debian.org/cgit/pkg-multimedia/rtkit.git/plain/debian/patches/0002-Drop-Removed-ControlGroup-stanza.patch?id=21f2c6be6985c777cbf113c67043353406744050"; + url = "http://git.0pointer.net/rtkit.git/patch/?id=6c28e20c0be2f616a025059fda0ffac84e7f4f17"; sha256 = "0lsxk5nv08i1wjb4xh20i5fcwg3x0qq0k4f8bc0r9cczph2sv7ck"; }) + + # security patch: Pass uid of caller to polkit + (fetchpatch { + url = "http://git.0pointer.net/rtkit.git/patch/?id=88d4082ef6caf6b071d749dca1c50e7edde914cc"; + sha256 = "0hp1blbi359qz8fmr6nj4w9yc0jf3dd176f8pn25wdj38n13qkix"; + }) ]; buildInputs = [ pkgconfig dbus libcap ]; diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix index 309b033bca2..e55b3eeb18b 100644 --- a/pkgs/servers/dns/bind/default.nix +++ b/pkgs/servers/dns/bind/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1vxs29w4hnl7jcd7sknga58xv1qk2rcpsxyich7cpp7xi77faxd0"; }; - outputs = [ "bin" "dev" "out" "man" ]; + outputs = [ "bin" "lib" "dev" "out" "man" "dnsutils" "host" ]; patches = [ ./dont-keep-configure-flags.patch ./remove-mkdir-var.patch ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin-openssl-linking-fix.patch; @@ -40,6 +40,15 @@ stdenv.mkDerivation rec { moveToOutput bin/bind9-config $dev moveToOutput bin/isc-config.sh $dev + moveToOutput bin/host $host + ln -sf $host/bin/host $bin/bin + + moveToOutput bin/dig $dnsutils + moveToOutput bin/nslookup $dnsutils + moveToOutput bin/nsupdate $dnsutils + ln -sf $dnsutils/bin/{dig,nslookup,nsupdate} $bin/bin + ln -sf $host/bin/host $dnsutils/bin + for f in "$out/lib/"*.la; do sed -i $f -e 's|-L${openssl.dev}|-L${openssl.out}|g' done diff --git a/pkgs/servers/kippo/default.nix b/pkgs/servers/kippo/default.nix index 51630b4231c..2e2923e17c3 100644 --- a/pkgs/servers/kippo/default.nix +++ b/pkgs/servers/kippo/default.nix @@ -25,16 +25,48 @@ # # Use this package at your own risk. -{stdenv, pkgs, config, fetchurl, ... }: +{stdenv, fetchurl, pythonPackages }: -stdenv.mkDerivation rec { +let + + twisted_13 = pythonPackages.buildPythonPackage rec { + # NOTE: When updating please check if new versions still cause issues + # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem) + disabled = pythonPackages.isPy3k; + + name = "Twisted-13.2.0"; + src = fetchurl { + url = "mirror://pypi/T/Twisted/${name}.tar.bz2"; + sha256 = "1wrcqv5lvgwk2aq83qb2s2ng2vx14hbjjk2gc30cg6h1iiipal89"; + }; + + propagatedBuildInputs = with pythonPackages; [ zope_interface ]; + + # Generate Twisted's plug-in cache. Twited users must do it as well. See + # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3 + # and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for + # details. + postInstall = "$out/bin/twistd --help > /dev/null"; + + meta = with stdenv.lib; { + homepage = http://twistedmatrix.com/; + description = "Twisted, an event-driven networking engine written in Python"; + longDescription = '' + Twisted is an event-driven networking engine written in Python + and licensed under the MIT license. + ''; + license = licenses.mit; + }; + }; + +in stdenv.mkDerivation rec { name = "kippo-${version}"; version = "0.8"; src = fetchurl { url = "https://kippo.googlecode.com/files/kippo-${version}.tar.gz"; sha1 = "f57a5cf88171cb005afe44a4b33cb16f825c33d6"; }; - buildInputs = with pkgs.pythonPackages; [ pycrypto pyasn1 twisted_11 ]; + buildInputs = with pythonPackages; [ pycrypto pyasn1 twisted_13 ]; installPhase = '' substituteInPlace ./kippo.tac --replace "kippo.cfg" "$out/src/kippo.cfg" substituteInPlace ./kippo.cfg --replace "log_path = log" "log_path = /var/log/kippo" \ @@ -51,6 +83,8 @@ stdenv.mkDerivation rec { mv $out/src/utils/* $out/bin ''; + passthru.twisted = twisted_13; + meta = with stdenv.lib; { homepage = https://code.google.com/p/kippo; description = "SSH Honeypot"; diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix index 5e364ba3e68..7541f76b40e 100644 --- a/pkgs/servers/nosql/cassandra/generic.nix +++ b/pkgs/servers/nosql/cassandra/generic.nix @@ -4,7 +4,13 @@ let libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]; - binPath = stdenv.lib.makeBinPath [ bash getopt gawk procps which jre ]; + binPath = with stdenv.lib; makeBinPath ([ + bash + getopt + gawk + which + jre + ] ++ stdenv.lib.optional stdenv.isLinux procps); in stdenv.mkDerivation rec { @@ -42,7 +48,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = http://cassandra.apache.org/; description = "A massively scalable open source NoSQL database"; - platforms = platforms.linux; + platforms = platforms.unix; license = licenses.asl20; maintainers = with maintainers; [ nckx rushmorem cransom ]; }; diff --git a/pkgs/servers/nosql/influxdb/deps-1.0.0-beta3.nix b/pkgs/servers/nosql/influxdb/deps-1.0.0-beta3.nix deleted file mode 100644 index 016e7a1624d..00000000000 --- a/pkgs/servers/nosql/influxdb/deps-1.0.0-beta3.nix +++ /dev/null @@ -1,155 +0,0 @@ -[ -{ - goPackagePath = "collectd.org"; - fetch = { - type = "git"; - url = "https://github.com/collectd/go-collectd.git"; - rev = "9fc824c70f713ea0f058a07b49a4c563ef2a3b98"; - sha256 = "0kjal6bsjpnppfnlqbg7g56xwssaj2ani499yykyj817zq56hi0w"; - }; -} -{ - goPackagePath = "github.com/BurntSushi/toml"; - fetch = { - type = "git"; - url = "https://github.com/BurntSushi/toml.git"; - rev = "a4eecd407cf4129fc902ece859a0114e4cf1a7f4"; - sha256 = "1l74zvd534k2fs73gmaq4mgl48p1i9559k1gwq4vakca727z5sgf"; - }; -} -{ - goPackagePath = "github.com/bmizerany/pat"; - fetch = { - type = "git"; - url = "https://github.com/bmizerany/pat.git"; - rev = "b8a35001b773c267eb260a691f4e5499a3531600"; - sha256 = "11zxd45rvjm6cn3wzbi18wy9j4vr1r1hgg6gzlqnxffiizkycxmz"; - }; -} -{ - goPackagePath = "github.com/boltdb/bolt"; - fetch = { - type = "git"; - url = "https://github.com/boltdb/bolt.git"; - rev = "2f846c3551b76d7710f159be840d66c3d064abbe"; - sha256 = "0cvpcgmzlrn87jqrflwf4pciz6i25ri1r83sq7v1z9zry1ah16r5"; - }; -} -{ - goPackagePath = "github.com/davecgh/go-spew"; - fetch = { - type = "git"; - url = "https://github.com/davecgh/go-spew.git"; - rev = "fc32781af5e85e548d3f1abaf0fa3dbe8a72495c"; - sha256 = "1dwwd4va0qnyr256i7n8d4g24d7yyvwd0975y6v4dy06qpwir232"; - }; -} -{ - goPackagePath = "github.com/dgrijalva/jwt-go"; - fetch = { - type = "git"; - url = "https://github.com/dgrijalva/jwt-go.git"; - rev = "a2c85815a77d0f951e33ba4db5ae93629a1530af"; - sha256 = "1m7011hdr4qa400awbdagj2m5zwfbvhinq8p5hq7ysn14xpaq5vw"; - }; -} -{ - goPackagePath = "github.com/dgryski/go-bits"; - fetch = { - type = "git"; - url = "https://github.com/dgryski/go-bits.git"; - rev = "86c69b3c986f9d40065df5bd8f765796549eef2e"; - sha256 = "08i3p8lcisr88gmwvi8qdc8bgksxh5ydjspgfbi4aba9msybp78b"; - }; -} -{ - goPackagePath = "github.com/dgryski/go-bitstream"; - fetch = { - type = "git"; - url = "https://github.com/dgryski/go-bitstream.git"; - rev = "27cd5973303fde7d914860be1ea4b927a6be0c92"; - sha256 = "12ji4vcfy0cz12yq43cz0w1f1k4c1kg0vwpsk1iy47kc38kzdkc6"; - }; -} -{ - goPackagePath = "github.com/gogo/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/gogo/protobuf.git"; - rev = "74b6e9deaff6ba6da1389ec97351d337f0d08b06"; - sha256 = "0045fz4bx72rikm2ggx9j1h3yrq518299qwaizrgy5jvxzj1707b"; - }; -} -{ - goPackagePath = "github.com/golang/snappy"; - fetch = { - type = "git"; - url = "https://github.com/golang/snappy.git"; - rev = "5979233c5d6225d4a8e438cdd0b411888449ddab"; - sha256 = "0i0pvwc2a4xgsns6mr3xbc6p0sra34qsaagd7yf7v1as0z7ydl3s"; - }; -} -{ - goPackagePath = "github.com/influxdata/usage-client"; - fetch = { - type = "git"; - url = "https://github.com/influxdata/usage-client.git"; - rev = "475977e68d79883d9c8d67131c84e4241523f452"; - sha256 = "0yhywablqqpd2x70rax1kf7yaw1jpvrc2gks8360cwisda57d3qy"; - }; -} -{ - goPackagePath = "github.com/jwilder/encoding"; - fetch = { - type = "git"; - url = "https://github.com/jwilder/encoding.git"; - rev = "b421ab402545ef5a119f4f827784c6551d9bfc37"; - sha256 = "0sjz2cl8kpni0mh0y4269k417dj06gn2y0ppi25i3wh9p4j4i4fq"; - }; -} -{ - goPackagePath = "github.com/kimor79/gollectd"; - fetch = { - type = "git"; - url = "https://github.com/kimor79/gollectd.git"; - rev = "61d0deeb4ffcc167b2a1baa8efd72365692811bc"; - sha256 = "0als2v4d5hlw0sqam670p3fi471ikgl3l81bp31mf3s3jssdxwfs"; - }; -} -{ - goPackagePath = "github.com/paulbellamy/ratecounter"; - fetch = { - type = "git"; - url = "https://github.com/paulbellamy/ratecounter.git"; - rev = "5a11f585a31379765c190c033b6ad39956584447"; - sha256 = "137p62imi91zhkjcjigdd64n7f9z6djjpsxcyifgrcxs41jj9ra0"; - }; -} -{ - goPackagePath = "github.com/peterh/liner"; - fetch = { - type = "git"; - url = "https://github.com/peterh/liner.git"; - rev = "82a939e738b0ee23e84ec7a12d8e216f4d95c53f"; - sha256 = "1187c1rqmh9k9ap5bz3p9hbjp3ad5hysykh58kgv5clah1jbkg04"; - }; -} -{ - goPackagePath = "github.com/rakyll/statik"; - fetch = { - type = "git"; - url = "https://github.com/rakyll/statik.git"; - rev = "274df120e9065bdd08eb1120e0375e3dc1ae8465"; - sha256 = "0llk7bxmk66wdiy42h32vj1jfk8zg351xq21hwhrq7gkfljghffp"; - }; -} -{ - goPackagePath = "golang.org/x/crypto"; - fetch = { - type = "git"; - url = "https://github.com/golang/crypto.git"; - rev = "1f22c0103821b9390939b6776727195525381532"; - sha256 = "1acy12f396sr3lrnbcnym5q72qnlign5bagving41qijzjnc219m"; - }; -} -] diff --git a/pkgs/servers/nosql/influxdb/deps-1.0.2.nix b/pkgs/servers/nosql/influxdb/deps-1.0.2.nix new file mode 100644 index 00000000000..f1c8103db33 --- /dev/null +++ b/pkgs/servers/nosql/influxdb/deps-1.0.2.nix @@ -0,0 +1,164 @@ +[ + { + goPackagePath= "collectd.org"; + fetch= { + type= "git"; + url= "https://github.com/collectd/go-collectd.git"; + rev= "9fc824c70f713ea0f058a07b49a4c563ef2a3b98"; + sha256= "0kjal6bsjpnppfnlqbg7g56xwssaj2ani499yykyj817zq56hi0w"; + }; + } + { + goPackagePath= "github.com/BurntSushi/toml"; + fetch= { + type= "git"; + url= "https://github.com/BurntSushi/toml.git"; + rev= "99064174e013895bbd9b025c31100bd1d9b590ca"; + sha256= "058qrar8rvw3wb0ci1mf1axnqq2729cvv9zmdr4ms2nn9s97yiz9"; + }; + } + { + goPackagePath= "github.com/bmizerany/pat"; + fetch= { + type= "git"; + url= "https://github.com/bmizerany/pat.git"; + rev= "c068ca2f0aacee5ac3681d68e4d0a003b7d1fd2c"; + sha256= "02ayddkp2b22rixw5jldw3kb6762zzkg5zhxwcv9v9yp0x39qw6r"; + }; + } + { + goPackagePath= "github.com/boltdb/bolt"; + fetch= { + type= "git"; + url= "https://github.com/boltdb/bolt.git"; + rev= "5cc10bbbc5c141029940133bb33c9e969512a698"; + sha256= "0m3icjqymqr9hmsss61fl9lmvspq8kv0bhynkqfwpdgc9wbb1a4n"; + }; + } + { + goPackagePath= "github.com/davecgh/go-spew"; + fetch= { + type= "git"; + url= "https://github.com/davecgh/go-spew.git"; + rev= "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d"; + sha256= "15h9kl73rdbzlfmsdxp13jja5gs7sknvqkpq2qizq3qv3nr1x8dk"; + }; + } + { + goPackagePath= "github.com/dgrijalva/jwt-go"; + fetch= { + type= "git"; + url= "https://github.com/dgrijalva/jwt-go.git"; + rev= "9b486c879bab3fde556ce8c27d9a2bb05d5b2c60"; + sha256= "0rpinzvbhdy27b1rs7yxwsiqp5j5yd4lw8kbyrd0f5z2q1frchk3"; + }; + } + { + goPackagePath= "github.com/dgryski/go-bits"; + fetch= { + type= "git"; + url= "https://github.com/dgryski/go-bits.git"; + rev= "2ad8d707cc05b1815ce6ff2543bb5e8d8f9298ef"; + sha256= "08mxwa4c77dgpvz2ygwd0pc929qxwff95y680mjjgbvj8yifiag2"; + }; + } + { + goPackagePath= "github.com/dgryski/go-bitstream"; + fetch= { + type= "git"; + url= "https://github.com/dgryski/go-bitstream.git"; + rev= "7d46cd22db7004f0cceb6f7975824b560cf0e486"; + sha256= "1k9l16y7l2mkfvnp2ydv9cqly8179wqd20am4zy0q77qcsawkksx"; + }; + } + { + goPackagePath= "github.com/gogo/protobuf"; + fetch= { + type= "git"; + url= "https://github.com/gogo/protobuf.git"; + rev= "6abcf94fd4c97dcb423fdafd42fe9f96ca7e421b"; + sha256= "0w5ln92b57mnc26jwm3bsa320gzgis78l2x9bhrbfs99d45079rf"; + }; + } + { + goPackagePath= "github.com/golang/snappy"; + fetch= { + type= "git"; + url= "https://github.com/golang/snappy.git"; + rev= "d9eb7a3d35ec988b8585d4a0068e462c27d28380"; + sha256= "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn"; + }; + } + { + goPackagePath= "github.com/influxdata/usage-client"; + fetch= { + type= "git"; + url= "https://github.com/influxdata/usage-client.git"; + rev= "475977e68d79883d9c8d67131c84e4241523f452"; + sha256= "0yhywablqqpd2x70rax1kf7yaw1jpvrc2gks8360cwisda57d3qy"; + }; + } + { + goPackagePath= "github.com/jwilder/encoding"; + fetch= { + type= "git"; + url= "https://github.com/jwilder/encoding.git"; + rev= "ac74639f65b2180a2e5eb5ff197f0c122441aed0"; + sha256= "1zp0l4wlb8ngz8bsgzf2rhxfd0n3qj6149yjwwpwpj3mzz5rvspi"; + }; + } + { + goPackagePath= "github.com/kimor79/gollectd"; + fetch= { + type= "git"; + url= "https://github.com/kimor79/gollectd.git"; + rev= "61d0deeb4ffcc167b2a1baa8efd72365692811bc"; + sha256= "0als2v4d5hlw0sqam670p3fi471ikgl3l81bp31mf3s3jssdxwfs"; + }; + } + { + goPackagePath= "github.com/paulbellamy/ratecounter"; + fetch= { + type= "git"; + url= "https://github.com/paulbellamy/ratecounter.git"; + rev= "5a11f585a31379765c190c033b6ad39956584447"; + sha256= "137p62imi91zhkjcjigdd64n7f9z6djjpsxcyifgrcxs41jj9ra0"; + }; + } + { + goPackagePath= "github.com/peterh/liner"; + fetch= { + type= "git"; + url= "https://github.com/peterh/liner.git"; + rev= "8975875355a81d612fafb9f5a6037bdcc2d9b073"; + sha256= "17l7p6lxhlnna1w1drgh7g8afxcxxd5j472givm2g7l9v8yg4f17"; + }; + } + { + goPackagePath= "github.com/rakyll/statik"; + fetch= { + type= "git"; + url= "https://github.com/rakyll/statik.git"; + rev= "274df120e9065bdd08eb1120e0375e3dc1ae8465"; + sha256= "0llk7bxmk66wdiy42h32vj1jfk8zg351xq21hwhrq7gkfljghffp"; + }; + } + { + goPackagePath= "github.com/retailnext/hllpp"; + fetch= { + type= "git"; + url= "https://github.com/retailnext/hllpp.git"; + rev= "38a7bb71b483e855d35010808143beaf05b67f9d"; + sha256= "0zpq5yjqprzdw9ll6g9sqp8nzwkhjh4ngzhx5mxahmpajgnzz7a8"; + }; + } + { + goPackagePath= "golang.org/x/crypto"; + fetch= { + type= "git"; + url= "https://github.com/golang/crypto.git"; + rev= "c197bcf24cde29d3f73c7b4ac6fd41f4384e8af6"; + sha256= "1y2bbghi594m8p4pcm9pwrzql06179xj6zvhaghwcc6y0l48rbgp"; + }; + } +] diff --git a/pkgs/servers/nosql/influxdb/v1.nix b/pkgs/servers/nosql/influxdb/v1.nix index f50d38180e9..57d62a596e3 100644 --- a/pkgs/servers/nosql/influxdb/v1.nix +++ b/pkgs/servers/nosql/influxdb/v1.nix @@ -2,12 +2,12 @@ import ./default.nix (args // rec { - version = "1.0.0-beta3"; + version = "1.0.2"; src = fetchFromGitHub { owner = "influxdata"; repo = "influxdb"; rev = "v${version}"; - sha256 = "1hj9wl2bfd1llc11jrv8bq18wl2y9n6fl3w6052wb530j7gsivsq"; + sha256 = "0z8y995gm2hpxny7l5nx5fjc5c26hfgvghwmzva8d1mrlnapcsyc"; }; }) diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix index 56880b5b869..0ea5dfd1a0d 100644 --- a/pkgs/servers/unifi/default.nix +++ b/pkgs/servers/unifi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "unifi-controller-${version}"; - version = "5.0.6"; + version = "5.2.9"; src = fetchurl { url = "https://dl.ubnt.com/unifi/${version}/UniFi.unix.zip"; - sha256 = "0splrxgh1ppxnf4nynawbn8mwywqsvaib7m60wgnz4inpxhp3pp8"; + sha256 = "1521c5jdk5s4r57i7ajzdfq2l4fmvylqlhvddnxllqm6s4yij7fk"; }; buildInputs = [ unzip ]; diff --git a/pkgs/servers/web-apps/pump.io/composition.nix b/pkgs/servers/web-apps/pump.io/composition.nix new file mode 100644 index 00000000000..36815198d67 --- /dev/null +++ b/pkgs/servers/web-apps/pump.io/composition.nix @@ -0,0 +1,16 @@ +# This file has been generated by node2nix 1.1.0. Do not edit! + +{pkgs ? import { + inherit system; + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs"}: + +let + nodeEnv = import ../../../development/node-packages/node-env.nix { + inherit (pkgs) stdenv python utillinux runCommand writeTextFile; + inherit nodejs; + }; +in +import ./node-packages.nix { + inherit (pkgs) fetchurl fetchgit; + inherit nodeEnv; +} \ No newline at end of file diff --git a/pkgs/servers/web-apps/pump.io/default.nix b/pkgs/servers/web-apps/pump.io/default.nix index 2d376593662..f888566cad6 100644 --- a/pkgs/servers/web-apps/pump.io/default.nix +++ b/pkgs/servers/web-apps/pump.io/default.nix @@ -1,34 +1,19 @@ -{ stdenv, fetchFromGitHub, makeWrapper, callPackage, nodejs, python, utillinux, graphicsmagick }: +{ pkgs, system, stdenv, fetchurl, makeWrapper, nodejs, graphicsmagick }: with stdenv.lib; let - nodePackages = callPackage (import ../../../top-level/node-packages.nix) { - inherit stdenv nodejs fetchurl fetchgit; - neededNatives = [ python ] ++ optional stdenv.isLinux utillinux; - self = nodePackages; - generated = ./node-packages.nix; + # To regenerate composition.nix, run generate.sh. + nodePackages = import ./composition.nix { + inherit pkgs system nodejs; }; - -in nodePackages.buildNodePackage rec { - version = "git-2015-11-09"; - name = "pump.io-${version}"; - - src = fetchFromGitHub { - owner = "e14n"; - repo = "pump.io"; - rev = "2f8d6b3518607ed02b594aee0db6ccacbe631b2d"; - sha256 = "1xym3jzpxlni1n2i0ixwrnpkx5fbnd1p6sm1hf9n3w5m2lx6gdw5"; - }; - - deps = (filter (v: nixType v == "derivation") (attrValues nodePackages)); - - buildInputs = [ makeWrapper ]; +in +nodePackages.package.override (oldAttrs: { + buildInputs = oldAttrs.buildInputs ++ [ makeWrapper ]; postInstall = '' for prog in pump pump-authorize pump-follow pump-post-note pump-register-app pump-register-user pump-stop-following; do wrapProgram "$out/bin/$prog" \ - --set NODE_PATH "$out/lib/node_modules/pump.io/node_modules/" \ --prefix PATH : ${graphicsmagick}/bin:$out/bin done ''; @@ -65,4 +50,4 @@ in nodePackages.buildNodePackage rec { * Experimenting with social software ''; }; -} +}) diff --git a/pkgs/servers/web-apps/pump.io/generate.sh b/pkgs/servers/web-apps/pump.io/generate.sh new file mode 100755 index 00000000000..51e05ce37d6 --- /dev/null +++ b/pkgs/servers/web-apps/pump.io/generate.sh @@ -0,0 +1,29 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p nodePackages.node2nix curl jshon + +set -e + +# Normally, this node2nix invocation would be sufficient: +# exec node2nix --input node-packages.json --composition composition.nix +# +# But pump.io soft-depends on extra modules, which have to be *inside* +# its own node_modules, not beside them. +# +# So we hack these extra deps into package.json and feed that into +# node2nix. +# +# Also jshon does funny things with slashes in strings, which can be +# fixed with sed. + +curl https://raw.githubusercontent.com/e14n/pump.io/v1.0.0/package.json | \ + jshon -e dependencies \ + -s '*' -i databank-mongodb \ + -s '*' -i databank-redis \ + -s '*' -i databank-memcached \ + -s '*' -i databank-lrucache \ + -p | sed 's=\\/=/=g' > full-package.json + +node2nix --input full-package.json --composition composition.nix --node-env ../../../development/node-packages/node-env.nix + +# overriding nodePackages src doesn't seem to work, so... +sed -i 's|src = ./.|src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-1.0.0.tgz"; sha1 = "404mzdqzknrv7pl9qasksi791cc00bbd"; }|' node-packages.nix diff --git a/pkgs/servers/web-apps/pump.io/node-packages.json b/pkgs/servers/web-apps/pump.io/node-packages.json index 10d50a0c72e..294da7ab2f1 100644 --- a/pkgs/servers/web-apps/pump.io/node-packages.json +++ b/pkgs/servers/web-apps/pump.io/node-packages.json @@ -1,36 +1,7 @@ -{ - "name": "pump.io", - "dependencies": { - "bcrypt": "0.8.x", - "bunyan": "0.16.x", - "connect": "1.x", - "connect-auth": "0.5.3", - "connect-databank": "0.13.x", - "crypto-cacerts": "0.1.x", - "databank": "0.19.x", - "databank-lrucache": "^0.1.2", - "databank-memcached": "^0.15.0", - "databank-mongodb": "^0.18.10", - "databank-redis": "^0.19.6", - "dateformat": "1.x", - "dialback-client": "~0.1.5", - "emailjs": "0.3.x", - "express": "2.5.x", - "gm": "1.9.x", - "jankyqueue": "0.1.x", - "mkdirp": "0.3.x", - "node-uuid": "1.3.x", - "oauth-evanp": "~0.9.10-evanp.2", - "optimist": "0.3.x", - "schlock": "~0.2.1", - "set-immediate": "0.1.x", - "showdown": "0.3.x", - "sockjs": "0.3.x", - "step": "0.0.x", - "underscore": "1.4.x", - "underscore-contrib": "0.1.x", - "utml": "0.2.x", - "validator": "0.4.x", - "webfinger": "~0.4.2" - } -} +[ + "pump.io", + "databank-mongodb", + "databank-redis", + "databank-memcached", + "databank-lrucache" +] diff --git a/pkgs/servers/web-apps/pump.io/node-packages.nix b/pkgs/servers/web-apps/pump.io/node-packages.nix index 4d6272511aa..ec05cc8c13b 100644 --- a/pkgs/servers/web-apps/pump.io/node-packages.nix +++ b/pkgs/servers/web-apps/pump.io/node-packages.nix @@ -1,2734 +1,4392 @@ -{ self, fetchurl, fetchgit ? null, lib }: +# This file has been generated by node2nix 1.1.0. Do not edit! +{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}: + +let + sources = { + "bcrypt-0.8.7" = { + name = "bcrypt"; + packageName = "bcrypt"; + version = "0.8.7"; + src = fetchurl { + url = "https://registry.npmjs.org/bcrypt/-/bcrypt-0.8.7.tgz"; + sha1 = "bc3875a9afd0a7b2cd231a6a7f218a5ce156b093"; + }; + }; + "bunyan-1.8.1" = { + name = "bunyan"; + packageName = "bunyan"; + version = "1.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/bunyan/-/bunyan-1.8.1.tgz"; + sha1 = "68c6a4a502d5620bc9f72d6736810c1b1898097f"; + }; + }; + "connect-2.30.2" = { + name = "connect"; + packageName = "connect"; + version = "2.30.2"; + src = fetchurl { + url = "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz"; + sha1 = "8da9bcbe8a054d3d318d74dfec903b5c39a1b609"; + }; + }; + "connect-auth-0.6.1" = { + name = "connect-auth"; + packageName = "connect-auth"; + version = "0.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/connect-auth/-/connect-auth-0.6.1.tgz"; + sha1 = "8d798153d6c8e78cb809de82a436f1de7c79868f"; + }; + }; + "connect-databank-1.0.3" = { + name = "connect-databank"; + packageName = "connect-databank"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/connect-databank/-/connect-databank-1.0.3.tgz"; + sha1 = "dad24f08dc385d9c3a94f1a52730aec0c7d13b02"; + }; + }; + "crypto-cacerts-0.1.0" = { + name = "crypto-cacerts"; + packageName = "crypto-cacerts"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/crypto-cacerts/-/crypto-cacerts-0.1.0.tgz"; + sha1 = "3499c6dff949ab005d4ad4a3f09c48ced6c88a41"; + }; + }; + "databank-0.19.5" = { + name = "databank"; + packageName = "databank"; + version = "0.19.5"; + src = fetchurl { + url = "https://registry.npmjs.org/databank/-/databank-0.19.5.tgz"; + sha1 = "edcbd954b84730c0c5d0de551e004b92f1f53119"; + }; + }; + "dateformat-1.0.12" = { + name = "dateformat"; + packageName = "dateformat"; + version = "1.0.12"; + src = fetchurl { + url = "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz"; + sha1 = "9f124b67594c937ff706932e4a642cca8dbbfee9"; + }; + }; + "dialback-client-0.2.0" = { + name = "dialback-client"; + packageName = "dialback-client"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/dialback-client/-/dialback-client-0.2.0.tgz"; + sha1 = "051806a88a6cc18ffb25adf13eda232e354ebcb6"; + }; + }; + "dompurify-0.8.3" = { + name = "dompurify"; + packageName = "dompurify"; + version = "0.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/dompurify/-/dompurify-0.8.3.tgz"; + sha1 = "06bdc074b91306d09f7f150bfeb96a11e0be64c1"; + }; + }; + "emailjs-1.0.8" = { + name = "emailjs"; + packageName = "emailjs"; + version = "1.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/emailjs/-/emailjs-1.0.8.tgz"; + sha1 = "d4240db7670dc78aff97352092d8460edc130f66"; + }; + }; + "express-2.5.11" = { + name = "express"; + packageName = "express"; + version = "2.5.11"; + src = fetchurl { + url = "https://registry.npmjs.org/express/-/express-2.5.11.tgz"; + sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0"; + }; + }; + "express-session-1.14.1" = { + name = "express-session"; + packageName = "express-session"; + version = "1.14.1"; + src = fetchurl { + url = "https://registry.npmjs.org/express-session/-/express-session-1.14.1.tgz"; + sha1 = "600364f0f6bf5dce32649e006770bdeee80aec99"; + }; + }; + "gm-1.23.0" = { + name = "gm"; + packageName = "gm"; + version = "1.23.0"; + src = fetchurl { + url = "https://registry.npmjs.org/gm/-/gm-1.23.0.tgz"; + sha1 = "80a2fe9cbf131515024846444658461269f52661"; + }; + }; + "helmet-2.2.0" = { + name = "helmet"; + packageName = "helmet"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/helmet/-/helmet-2.2.0.tgz"; + sha1 = "fa0737d113fba4bd29d1b39650ac679ad673b948"; + }; + }; + "jankyqueue-0.1.1" = { + name = "jankyqueue"; + packageName = "jankyqueue"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jankyqueue/-/jankyqueue-0.1.1.tgz"; + sha1 = "4181b0318fb32e77aee8c54af73f97660f2e88d2"; + }; + }; + "jsdom-7.2.2" = { + name = "jsdom"; + packageName = "jsdom"; + version = "7.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz"; + sha1 = "40b402770c2bda23469096bee91ab675e3b1fc6e"; + }; + }; + "mkdirp-0.5.1" = { + name = "mkdirp"; + packageName = "mkdirp"; + version = "0.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"; + sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + }; + }; + "node-uuid-1.4.7" = { + name = "node-uuid"; + packageName = "node-uuid"; + version = "1.4.7"; + src = fetchurl { + url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz"; + sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f"; + }; + }; + "oauth-evanp-0.9.10-evanp.2" = { + name = "oauth-evanp"; + packageName = "oauth-evanp"; + version = "0.9.10-evanp.2"; + src = fetchurl { + url = "https://registry.npmjs.org/oauth-evanp/-/oauth-evanp-0.9.10-evanp.2.tgz"; + sha1 = "9b5fb3508cea584420855957d56531405cf53a02"; + }; + }; + "optimist-0.6.1" = { + name = "optimist"; + packageName = "optimist"; + version = "0.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz"; + sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686"; + }; + }; + "rimraf-2.5.4" = { + name = "rimraf"; + packageName = "rimraf"; + version = "2.5.4"; + src = fetchurl { + url = "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz"; + sha1 = "96800093cbf1a0c86bd95b4625467535c29dfa04"; + }; + }; + "sanitize-html-1.13.0" = { + name = "sanitize-html"; + packageName = "sanitize-html"; + version = "1.13.0"; + src = fetchurl { + url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.13.0.tgz"; + sha1 = "4ee17cbec516bfe32f2ce6686a569d7e6b4f3631"; + }; + }; + "schlock-0.2.1" = { + name = "schlock"; + packageName = "schlock"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/schlock/-/schlock-0.2.1.tgz"; + sha1 = "2a9aaeaa209a5422eadc5dfc005e2c2f15241f99"; + }; + }; + "send-0.13.2" = { + name = "send"; + packageName = "send"; + version = "0.13.2"; + src = fetchurl { + url = "https://registry.npmjs.org/send/-/send-0.13.2.tgz"; + sha1 = "765e7607c8055452bba6f0b052595350986036de"; + }; + }; + "showdown-1.4.3" = { + name = "showdown"; + packageName = "showdown"; + version = "1.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/showdown/-/showdown-1.4.3.tgz"; + sha1 = "91d29f4728dbdf76034b7555355e9b30974df447"; + }; + }; + "sockjs-0.3.17" = { + name = "sockjs"; + packageName = "sockjs"; + version = "0.3.17"; + src = fetchurl { + url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.17.tgz"; + sha1 = "ef1b88f5d73e6278fad8e9476ac91064382f3b44"; + }; + }; + "step-0.0.6" = { + name = "step"; + packageName = "step"; + version = "0.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/step/-/step-0.0.6.tgz"; + sha1 = "143e7849a5d7d3f4a088fe29af94915216eeede2"; + }; + }; + "ua-parser-js-0.7.10" = { + name = "ua-parser-js"; + packageName = "ua-parser-js"; + version = "0.7.10"; + src = fetchurl { + url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.10.tgz"; + sha1 = "917559ddcce07cbc09ece7d80495e4c268f4ef9f"; + }; + }; + "underscore-1.8.3" = { + name = "underscore"; + packageName = "underscore"; + version = "1.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz"; + sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"; + }; + }; + "underscore-contrib-0.3.0" = { + name = "underscore-contrib"; + packageName = "underscore-contrib"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz"; + sha1 = "665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7"; + }; + }; + "utml-0.2.0" = { + name = "utml"; + packageName = "utml"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/utml/-/utml-0.2.0.tgz"; + sha1 = "6a546741823b2a9c17598a57e8eb4c08738dee48"; + }; + }; + "validator-4.4.0" = { + name = "validator"; + packageName = "validator"; + version = "4.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/validator/-/validator-4.4.0.tgz"; + sha1 = "35e29555dd5f7826f970a4eaecff9e6df6df3da6"; + }; + }; + "webfinger-0.4.2" = { + name = "webfinger"; + packageName = "webfinger"; + version = "0.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/webfinger/-/webfinger-0.4.2.tgz"; + sha1 = "3477a6d97799461896039fcffc650b73468ee76d"; + }; + }; + "databank-mongodb-0.19.0" = { + name = "databank-mongodb"; + packageName = "databank-mongodb"; + version = "0.19.0"; + src = fetchurl { + url = "https://registry.npmjs.org/databank-mongodb/-/databank-mongodb-0.19.0.tgz"; + sha1 = "66ffa32848986d0e138403396506d64895fefc45"; + }; + }; + "databank-redis-0.19.6" = { + name = "databank-redis"; + packageName = "databank-redis"; + version = "0.19.6"; + src = fetchurl { + url = "https://registry.npmjs.org/databank-redis/-/databank-redis-0.19.6.tgz"; + sha1 = "dd476b81b8200269ea0cc85f6b6decd05799bce9"; + }; + }; + "databank-memcached-0.15.0" = { + name = "databank-memcached"; + packageName = "databank-memcached"; + version = "0.15.0"; + src = fetchurl { + url = "https://registry.npmjs.org/databank-memcached/-/databank-memcached-0.15.0.tgz"; + sha1 = "0817452dfb2b09267cd1c8bbec95363ec14f14f2"; + }; + }; + "databank-lrucache-0.1.2" = { + name = "databank-lrucache"; + packageName = "databank-lrucache"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/databank-lrucache/-/databank-lrucache-0.1.2.tgz"; + sha1 = "846d3bbc3d908ea2880baf9a611d86a28697c640"; + }; + }; + "bindings-1.2.1" = { + name = "bindings"; + packageName = "bindings"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz"; + sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11"; + }; + }; + "nan-2.3.5" = { + name = "nan"; + packageName = "nan"; + version = "2.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/nan/-/nan-2.3.5.tgz"; + sha1 = "822a0dc266290ce4cd3a12282ca3e7e364668a08"; + }; + }; + "dtrace-provider-0.6.0" = { + name = "dtrace-provider"; + packageName = "dtrace-provider"; + version = "0.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz"; + sha1 = "0b078d5517937d873101452d9146737557b75e51"; + }; + }; + "mv-2.1.1" = { + name = "mv"; + packageName = "mv"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz"; + sha1 = "ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"; + }; + }; + "safe-json-stringify-1.0.3" = { + name = "safe-json-stringify"; + packageName = "safe-json-stringify"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.3.tgz"; + sha1 = "3cb6717660a086d07cb5bd9b7a6875bcf67bd05e"; + }; + }; + "moment-2.15.0" = { + name = "moment"; + packageName = "moment"; + version = "2.15.0"; + src = fetchurl { + url = "https://registry.npmjs.org/moment/-/moment-2.15.0.tgz"; + sha1 = "cc9e33958bf4a99dea7111d5e62ed3c13fc96440"; + }; + }; + "nan-2.4.0" = { + name = "nan"; + packageName = "nan"; + version = "2.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz"; + sha1 = "fb3c59d45fe4effe215f0b890f8adf6eb32d2232"; + }; + }; + "ncp-2.0.0" = { + name = "ncp"; + packageName = "ncp"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz"; + sha1 = "195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"; + }; + }; + "rimraf-2.4.5" = { + name = "rimraf"; + packageName = "rimraf"; + version = "2.4.5"; + src = fetchurl { + url = "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz"; + sha1 = "ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"; + }; + }; + "glob-6.0.4" = { + name = "glob"; + packageName = "glob"; + version = "6.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz"; + sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"; + }; + }; + "inflight-1.0.5" = { + name = "inflight"; + packageName = "inflight"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz"; + sha1 = "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a"; + }; + }; + "inherits-2.0.3" = { + name = "inherits"; + packageName = "inherits"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"; + sha1 = "633c2c83e3da42a502f52466022480f4208261de"; + }; + }; + "minimatch-3.0.3" = { + name = "minimatch"; + packageName = "minimatch"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz"; + sha1 = "2a4e4090b96b2db06a9d7df01055a62a77c9b774"; + }; + }; + "once-1.4.0" = { + name = "once"; + packageName = "once"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz"; + sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; + }; + }; + "path-is-absolute-1.0.0" = { + name = "path-is-absolute"; + packageName = "path-is-absolute"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"; + sha1 = "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912"; + }; + }; + "wrappy-1.0.2" = { + name = "wrappy"; + packageName = "wrappy"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"; + sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; + }; + }; + "brace-expansion-1.1.6" = { + name = "brace-expansion"; + packageName = "brace-expansion"; + version = "1.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"; + sha1 = "7197d7eaa9b87e648390ea61fc66c84427420df9"; + }; + }; + "balanced-match-0.4.2" = { + name = "balanced-match"; + packageName = "balanced-match"; + version = "0.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"; + sha1 = "cb3f3e3c732dc0f01ee70b403f302e61d7709838"; + }; + }; + "concat-map-0.0.1" = { + name = "concat-map"; + packageName = "concat-map"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"; + sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; + }; + }; + "basic-auth-connect-1.0.0" = { + name = "basic-auth-connect"; + packageName = "basic-auth-connect"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz"; + sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122"; + }; + }; + "body-parser-1.13.3" = { + name = "body-parser"; + packageName = "body-parser"; + version = "1.13.3"; + src = fetchurl { + url = "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz"; + sha1 = "c08cf330c3358e151016a05746f13f029c97fa97"; + }; + }; + "bytes-2.1.0" = { + name = "bytes"; + packageName = "bytes"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz"; + sha1 = "ac93c410e2ffc9cc7cf4b464b38289067f5e47b4"; + }; + }; + "cookie-0.1.3" = { + name = "cookie"; + packageName = "cookie"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz"; + sha1 = "e734a5c1417fce472d5aef82c381cabb64d1a435"; + }; + }; + "cookie-parser-1.3.5" = { + name = "cookie-parser"; + packageName = "cookie-parser"; + version = "1.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz"; + sha1 = "9d755570fb5d17890771227a02314d9be7cf8356"; + }; + }; + "cookie-signature-1.0.6" = { + name = "cookie-signature"; + packageName = "cookie-signature"; + version = "1.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"; + sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c"; + }; + }; + "compression-1.5.2" = { + name = "compression"; + packageName = "compression"; + version = "1.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz"; + sha1 = "b03b8d86e6f8ad29683cba8df91ddc6ffc77b395"; + }; + }; + "connect-timeout-1.6.2" = { + name = "connect-timeout"; + packageName = "connect-timeout"; + version = "1.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz"; + sha1 = "de9a5ec61e33a12b6edaab7b5f062e98c599b88e"; + }; + }; + "content-type-1.0.2" = { + name = "content-type"; + packageName = "content-type"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz"; + sha1 = "b7d113aee7a8dd27bd21133c4dc2529df1721eed"; + }; + }; + "csurf-1.8.3" = { + name = "csurf"; + packageName = "csurf"; + version = "1.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz"; + sha1 = "23f2a13bf1d8fce1d0c996588394442cba86a56a"; + }; + }; + "debug-2.2.0" = { + name = "debug"; + packageName = "debug"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz"; + sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da"; + }; + }; + "depd-1.0.1" = { + name = "depd"; + packageName = "depd"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz"; + sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa"; + }; + }; + "errorhandler-1.4.3" = { + name = "errorhandler"; + packageName = "errorhandler"; + version = "1.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz"; + sha1 = "b7b70ed8f359e9db88092f2d20c0f831420ad83f"; + }; + }; + "express-session-1.11.3" = { + name = "express-session"; + packageName = "express-session"; + version = "1.11.3"; + src = fetchurl { + url = "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz"; + sha1 = "5cc98f3f5ff84ed835f91cbf0aabd0c7107400af"; + }; + }; + "finalhandler-0.4.0" = { + name = "finalhandler"; + packageName = "finalhandler"; + version = "0.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz"; + sha1 = "965a52d9e8d05d2b857548541fb89b53a2497d9b"; + }; + }; + "fresh-0.3.0" = { + name = "fresh"; + packageName = "fresh"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz"; + sha1 = "651f838e22424e7566de161d8358caa199f83d4f"; + }; + }; + "http-errors-1.3.1" = { + name = "http-errors"; + packageName = "http-errors"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz"; + sha1 = "197e22cdebd4198585e8694ef6786197b91ed942"; + }; + }; + "method-override-2.3.6" = { + name = "method-override"; + packageName = "method-override"; + version = "2.3.6"; + src = fetchurl { + url = "https://registry.npmjs.org/method-override/-/method-override-2.3.6.tgz"; + sha1 = "209261cc588d45d9d5a022ff20d7d5eb8e92179e"; + }; + }; + "morgan-1.6.1" = { + name = "morgan"; + packageName = "morgan"; + version = "1.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz"; + sha1 = "5fd818398c6819cba28a7cd6664f292fe1c0bbf2"; + }; + }; + "multiparty-3.3.2" = { + name = "multiparty"; + packageName = "multiparty"; + version = "3.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz"; + sha1 = "35de6804dc19643e5249f3d3e3bdc6c8ce301d3f"; + }; + }; + "on-headers-1.0.1" = { + name = "on-headers"; + packageName = "on-headers"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"; + sha1 = "928f5d0f470d49342651ea6794b0857c100693f7"; + }; + }; + "parseurl-1.3.1" = { + name = "parseurl"; + packageName = "parseurl"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz"; + sha1 = "c8ab8c9223ba34888aa64a297b28853bec18da56"; + }; + }; + "pause-0.1.0" = { + name = "pause"; + packageName = "pause"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz"; + sha1 = "ebc8a4a8619ff0b8a81ac1513c3434ff469fdb74"; + }; + }; + "qs-4.0.0" = { + name = "qs"; + packageName = "qs"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz"; + sha1 = "c31d9b74ec27df75e543a86c78728ed8d4623607"; + }; + }; + "response-time-2.3.1" = { + name = "response-time"; + packageName = "response-time"; + version = "2.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/response-time/-/response-time-2.3.1.tgz"; + sha1 = "2bde19181de6c81ab95e3207a28d61d965b31797"; + }; + }; + "serve-favicon-2.3.0" = { + name = "serve-favicon"; + packageName = "serve-favicon"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.0.tgz"; + sha1 = "aed36cc6834069a6f189cc7222c6a1a811dc5b39"; + }; + }; + "serve-index-1.7.3" = { + name = "serve-index"; + packageName = "serve-index"; + version = "1.7.3"; + src = fetchurl { + url = "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz"; + sha1 = "7a057fc6ee28dc63f64566e5fa57b111a86aecd2"; + }; + }; + "serve-static-1.10.3" = { + name = "serve-static"; + packageName = "serve-static"; + version = "1.10.3"; + src = fetchurl { + url = "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz"; + sha1 = "ce5a6ecd3101fed5ec09827dac22a9c29bfb0535"; + }; + }; + "type-is-1.6.13" = { + name = "type-is"; + packageName = "type-is"; + version = "1.6.13"; + src = fetchurl { + url = "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz"; + sha1 = "6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08"; + }; + }; + "utils-merge-1.0.0" = { + name = "utils-merge"; + packageName = "utils-merge"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"; + sha1 = "0294fb922bb9375153541c4f7096231f287c8af8"; + }; + }; + "vhost-3.0.2" = { + name = "vhost"; + packageName = "vhost"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz"; + sha1 = "2fb1decd4c466aa88b0f9341af33dc1aff2478d5"; + }; + }; + "iconv-lite-0.4.11" = { + name = "iconv-lite"; + packageName = "iconv-lite"; + version = "0.4.11"; + src = fetchurl { + url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz"; + sha1 = "2ecb42fd294744922209a2e7c404dac8793d8ade"; + }; + }; + "on-finished-2.3.0" = { + name = "on-finished"; + packageName = "on-finished"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"; + sha1 = "20f1336481b083cd75337992a16971aa2d906947"; + }; + }; + "raw-body-2.1.7" = { + name = "raw-body"; + packageName = "raw-body"; + version = "2.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz"; + sha1 = "adfeace2e4fb3098058014d08c072dcc59758774"; + }; + }; + "ee-first-1.1.1" = { + name = "ee-first"; + packageName = "ee-first"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"; + sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; + }; + }; + "bytes-2.4.0" = { + name = "bytes"; + packageName = "bytes"; + version = "2.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz"; + sha1 = "7d97196f9d5baf7f6935e25985549edd2a6c2339"; + }; + }; + "iconv-lite-0.4.13" = { + name = "iconv-lite"; + packageName = "iconv-lite"; + version = "0.4.13"; + src = fetchurl { + url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz"; + sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2"; + }; + }; + "unpipe-1.0.0" = { + name = "unpipe"; + packageName = "unpipe"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"; + sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec"; + }; + }; + "accepts-1.2.13" = { + name = "accepts"; + packageName = "accepts"; + version = "1.2.13"; + src = fetchurl { + url = "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz"; + sha1 = "e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea"; + }; + }; + "compressible-2.0.8" = { + name = "compressible"; + packageName = "compressible"; + version = "2.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/compressible/-/compressible-2.0.8.tgz"; + sha1 = "7162e6c46d3b9d200ffb45cb4e4a0f7832732503"; + }; + }; + "vary-1.0.1" = { + name = "vary"; + packageName = "vary"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz"; + sha1 = "99e4981566a286118dfb2b817357df7993376d10"; + }; + }; + "mime-types-2.1.11" = { + name = "mime-types"; + packageName = "mime-types"; + version = "2.1.11"; + src = fetchurl { + url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz"; + sha1 = "c259c471bda808a85d6cd193b430a5fae4473b3c"; + }; + }; + "negotiator-0.5.3" = { + name = "negotiator"; + packageName = "negotiator"; + version = "0.5.3"; + src = fetchurl { + url = "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz"; + sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8"; + }; + }; + "mime-db-1.23.0" = { + name = "mime-db"; + packageName = "mime-db"; + version = "1.23.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz"; + sha1 = "a31b4070adaea27d732ea333740a64d0ec9a6659"; + }; + }; + "ms-0.7.1" = { + name = "ms"; + packageName = "ms"; + version = "0.7.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"; + sha1 = "9cd13c03adbff25b65effde7ce864ee952017098"; + }; + }; + "csrf-3.0.3" = { + name = "csrf"; + packageName = "csrf"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/csrf/-/csrf-3.0.3.tgz"; + sha1 = "69d13220de95762808bb120f7533a994fc4293b5"; + }; + }; + "base64-url-1.2.2" = { + name = "base64-url"; + packageName = "base64-url"; + version = "1.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/base64-url/-/base64-url-1.2.2.tgz"; + sha1 = "90af26ef8b0b67bc801b05eccf943345649008b3"; + }; + }; + "rndm-1.2.0" = { + name = "rndm"; + packageName = "rndm"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz"; + sha1 = "f33fe9cfb52bbfd520aa18323bc65db110a1b76c"; + }; + }; + "tsscmp-1.0.5" = { + name = "tsscmp"; + packageName = "tsscmp"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz"; + sha1 = "7dc4a33af71581ab4337da91d85ca5427ebd9a97"; + }; + }; + "uid-safe-2.1.1" = { + name = "uid-safe"; + packageName = "uid-safe"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.1.tgz"; + sha1 = "3dbf9436b528be9f52882c05a6216c3763db3666"; + }; + }; + "random-bytes-1.0.0" = { + name = "random-bytes"; + packageName = "random-bytes"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz"; + sha1 = "4f68a1dc0ae58bd3fb95848c30324db75d64360b"; + }; + }; + "accepts-1.3.3" = { + name = "accepts"; + packageName = "accepts"; + version = "1.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz"; + sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca"; + }; + }; + "escape-html-1.0.3" = { + name = "escape-html"; + packageName = "escape-html"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"; + sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; + }; + }; + "negotiator-0.6.1" = { + name = "negotiator"; + packageName = "negotiator"; + version = "0.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"; + sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9"; + }; + }; + "crc-3.3.0" = { + name = "crc"; + packageName = "crc"; + version = "3.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz"; + sha1 = "fa622e1bc388bf257309082d6b65200ce67090ba"; + }; + }; + "uid-safe-2.0.0" = { + name = "uid-safe"; + packageName = "uid-safe"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz"; + sha1 = "a7f3c6ca64a1f6a5d04ec0ef3e4c3d5367317137"; + }; + }; + "base64-url-1.2.1" = { + name = "base64-url"; + packageName = "base64-url"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz"; + sha1 = "199fd661702a0e7b7dcae6e0698bb089c52f6d78"; + }; + }; + "escape-html-1.0.2" = { + name = "escape-html"; + packageName = "escape-html"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz"; + sha1 = "d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c"; + }; + }; + "statuses-1.3.0" = { + name = "statuses"; + packageName = "statuses"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz"; + sha1 = "8e55758cb20e7682c1f4fce8dcab30bf01d1e07a"; + }; + }; + "methods-1.1.2" = { + name = "methods"; + packageName = "methods"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"; + sha1 = "5529a4d67654134edcc5266656835b0f851afcee"; + }; + }; + "vary-1.1.0" = { + name = "vary"; + packageName = "vary"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz"; + sha1 = "e1e5affbbd16ae768dd2674394b9ad3022653140"; + }; + }; + "basic-auth-1.0.4" = { + name = "basic-auth"; + packageName = "basic-auth"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz"; + sha1 = "030935b01de7c9b94a824b29f3fccb750d3a5290"; + }; + }; + "readable-stream-1.1.14" = { + name = "readable-stream"; + packageName = "readable-stream"; + version = "1.1.14"; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"; + sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9"; + }; + }; + "stream-counter-0.2.0" = { + name = "stream-counter"; + packageName = "stream-counter"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz"; + sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de"; + }; + }; + "core-util-is-1.0.2" = { + name = "core-util-is"; + packageName = "core-util-is"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; + }; + }; + "isarray-0.0.1" = { + name = "isarray"; + packageName = "isarray"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"; + sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; + }; + }; + "string_decoder-0.10.31" = { + name = "string_decoder"; + packageName = "string_decoder"; + version = "0.10.31"; + src = fetchurl { + url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"; + sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; + }; + }; + "etag-1.7.0" = { + name = "etag"; + packageName = "etag"; + version = "1.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz"; + sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8"; + }; + }; + "batch-0.5.3" = { + name = "batch"; + packageName = "batch"; + version = "0.5.3"; + src = fetchurl { + url = "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz"; + sha1 = "3f3414f380321743bfc1042f9a83ff1d5824d464"; + }; + }; + "media-typer-0.3.0" = { + name = "media-typer"; + packageName = "media-typer"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"; + sha1 = "8710d7af0aa626f8fffa1ce00168545263255748"; + }; + }; + "connect-2.7.11" = { + name = "connect"; + packageName = "connect"; + version = "2.7.11"; + src = fetchurl { + url = "https://registry.npmjs.org/connect/-/connect-2.7.11.tgz"; + sha1 = "f561d5eef70b8d719c397f724d34ba4065c77a3e"; + }; + }; + "oauth-0.9.10" = { + name = "oauth"; + packageName = "oauth"; + version = "0.9.10"; + src = fetchurl { + url = "https://registry.npmjs.org/oauth/-/oauth-0.9.10.tgz"; + sha1 = "7d356af319a16d889e581fa80f86bbd5ab454646"; + }; + }; + "openid-0.4.1" = { + name = "openid"; + packageName = "openid"; + version = "0.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/openid/-/openid-0.4.1.tgz"; + sha1 = "de0eb5e381d34dc4aa5a77a98678bedafd11f387"; + }; + }; + "qs-0.6.5" = { + name = "qs"; + packageName = "qs"; + version = "0.6.5"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz"; + sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef"; + }; + }; + "formidable-1.0.14" = { + name = "formidable"; + packageName = "formidable"; + version = "1.0.14"; + src = fetchurl { + url = "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz"; + sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a"; + }; + }; + "cookie-signature-1.0.1" = { + name = "cookie-signature"; + packageName = "cookie-signature"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz"; + sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb"; + }; + }; + "buffer-crc32-0.2.1" = { + name = "buffer-crc32"; + packageName = "buffer-crc32"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz"; + sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c"; + }; + }; + "cookie-0.0.5" = { + name = "cookie"; + packageName = "cookie"; + version = "0.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz"; + sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81"; + }; + }; + "send-0.1.1" = { + name = "send"; + packageName = "send"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/send/-/send-0.1.1.tgz"; + sha1 = "0bcfcbd03def6e2d8612e1abf8f4895b450c60c8"; + }; + }; + "bytes-0.2.0" = { + name = "bytes"; + packageName = "bytes"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz"; + sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0"; + }; + }; + "fresh-0.1.0" = { + name = "fresh"; + packageName = "fresh"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz"; + sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850"; + }; + }; + "pause-0.0.1" = { + name = "pause"; + packageName = "pause"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz"; + sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d"; + }; + }; + "mime-1.2.11" = { + name = "mime"; + packageName = "mime"; + version = "1.2.11"; + src = fetchurl { + url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"; + sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10"; + }; + }; + "range-parser-0.0.4" = { + name = "range-parser"; + packageName = "range-parser"; + version = "0.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz"; + sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b"; + }; + }; + "async-1.5.2" = { + name = "async"; + packageName = "async"; + version = "1.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz"; + sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a"; + }; + }; + "set-immediate-0.1.1" = { + name = "set-immediate"; + packageName = "set-immediate"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/set-immediate/-/set-immediate-0.1.1.tgz"; + sha1 = "8986e4a773bf8ec165f24d579107673bfac141de"; + }; + }; + "vows-0.7.0" = { + name = "vows"; + packageName = "vows"; + version = "0.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/vows/-/vows-0.7.0.tgz"; + sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867"; + }; + }; + "setimmediate-1.0.5" = { + name = "setimmediate"; + packageName = "setimmediate"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"; + sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285"; + }; + }; + "eyes-0.1.8" = { + name = "eyes"; + packageName = "eyes"; + version = "0.1.8"; + src = fetchurl { + url = "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz"; + sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0"; + }; + }; + "diff-1.0.8" = { + name = "diff"; + packageName = "diff"; + version = "1.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz"; + sha1 = "343276308ec991b7bc82267ed55bc1411f971666"; + }; + }; + "get-stdin-4.0.1" = { + name = "get-stdin"; + packageName = "get-stdin"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"; + sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe"; + }; + }; + "meow-3.7.0" = { + name = "meow"; + packageName = "meow"; + version = "3.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"; + sha1 = "72cb668b425228290abbfa856892587308a801fb"; + }; + }; + "camelcase-keys-2.1.0" = { + name = "camelcase-keys"; + packageName = "camelcase-keys"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz"; + sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7"; + }; + }; + "decamelize-1.2.0" = { + name = "decamelize"; + packageName = "decamelize"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"; + sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; + }; + }; + "loud-rejection-1.6.0" = { + name = "loud-rejection"; + packageName = "loud-rejection"; + version = "1.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz"; + sha1 = "5b46f80147edee578870f086d04821cf998e551f"; + }; + }; + "map-obj-1.0.1" = { + name = "map-obj"; + packageName = "map-obj"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"; + sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d"; + }; + }; + "minimist-1.2.0" = { + name = "minimist"; + packageName = "minimist"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"; + sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + }; + }; + "normalize-package-data-2.3.5" = { + name = "normalize-package-data"; + packageName = "normalize-package-data"; + version = "2.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz"; + sha1 = "8d924f142960e1777e7ffe170543631cc7cb02df"; + }; + }; + "object-assign-4.1.0" = { + name = "object-assign"; + packageName = "object-assign"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"; + sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"; + }; + }; + "read-pkg-up-1.0.1" = { + name = "read-pkg-up"; + packageName = "read-pkg-up"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz"; + sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02"; + }; + }; + "redent-1.0.0" = { + name = "redent"; + packageName = "redent"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz"; + sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"; + }; + }; + "trim-newlines-1.0.0" = { + name = "trim-newlines"; + packageName = "trim-newlines"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz"; + sha1 = "5887966bb582a4503a41eb524f7d35011815a613"; + }; + }; + "camelcase-2.1.1" = { + name = "camelcase"; + packageName = "camelcase"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz"; + sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"; + }; + }; + "currently-unhandled-0.4.1" = { + name = "currently-unhandled"; + packageName = "currently-unhandled"; + version = "0.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz"; + sha1 = "988df33feab191ef799a61369dd76c17adf957ea"; + }; + }; + "signal-exit-3.0.1" = { + name = "signal-exit"; + packageName = "signal-exit"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz"; + sha1 = "5a4c884992b63a7acd9badb7894c3ee9cfccad81"; + }; + }; + "array-find-index-1.0.1" = { + name = "array-find-index"; + packageName = "array-find-index"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz"; + sha1 = "0bc25ddac941ec8a496ae258fd4ac188003ef3af"; + }; + }; + "hosted-git-info-2.1.5" = { + name = "hosted-git-info"; + packageName = "hosted-git-info"; + version = "2.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz"; + sha1 = "0ba81d90da2e25ab34a332e6ec77936e1598118b"; + }; + }; + "is-builtin-module-1.0.0" = { + name = "is-builtin-module"; + packageName = "is-builtin-module"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz"; + sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe"; + }; + }; + "semver-5.3.0" = { + name = "semver"; + packageName = "semver"; + version = "5.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"; + sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"; + }; + }; + "validate-npm-package-license-3.0.1" = { + name = "validate-npm-package-license"; + packageName = "validate-npm-package-license"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"; + sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc"; + }; + }; + "builtin-modules-1.1.1" = { + name = "builtin-modules"; + packageName = "builtin-modules"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"; + sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f"; + }; + }; + "spdx-correct-1.0.2" = { + name = "spdx-correct"; + packageName = "spdx-correct"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz"; + sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40"; + }; + }; + "spdx-expression-parse-1.0.3" = { + name = "spdx-expression-parse"; + packageName = "spdx-expression-parse"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.3.tgz"; + sha1 = "ca3c3828c4fea8aa44997884b398fc5d67436442"; + }; + }; + "spdx-license-ids-1.2.2" = { + name = "spdx-license-ids"; + packageName = "spdx-license-ids"; + version = "1.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz"; + sha1 = "c9df7a3424594ade6bd11900d596696dc06bac57"; + }; + }; + "find-up-1.1.2" = { + name = "find-up"; + packageName = "find-up"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz"; + sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"; + }; + }; + "read-pkg-1.1.0" = { + name = "read-pkg"; + packageName = "read-pkg"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"; + sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"; + }; + }; + "path-exists-2.1.0" = { + name = "path-exists"; + packageName = "path-exists"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz"; + sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b"; + }; + }; + "pinkie-promise-2.0.1" = { + name = "pinkie-promise"; + packageName = "pinkie-promise"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; + }; + }; + "pinkie-2.0.4" = { + name = "pinkie"; + packageName = "pinkie"; + version = "2.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"; + sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; + }; + }; + "load-json-file-1.1.0" = { + name = "load-json-file"; + packageName = "load-json-file"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz"; + sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0"; + }; + }; + "path-type-1.1.0" = { + name = "path-type"; + packageName = "path-type"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"; + sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441"; + }; + }; + "graceful-fs-4.1.6" = { + name = "graceful-fs"; + packageName = "graceful-fs"; + version = "4.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz"; + sha1 = "514c38772b31bee2e08bedc21a0aeb3abf54c19e"; + }; + }; + "parse-json-2.2.0" = { + name = "parse-json"; + packageName = "parse-json"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz"; + sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9"; + }; + }; + "pify-2.3.0" = { + name = "pify"; + packageName = "pify"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"; + sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; + }; + }; + "strip-bom-2.0.0" = { + name = "strip-bom"; + packageName = "strip-bom"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"; + sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e"; + }; + }; + "error-ex-1.3.0" = { + name = "error-ex"; + packageName = "error-ex"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz"; + sha1 = "e67b43f3e82c96ea3a584ffee0b9fc3325d802d9"; + }; + }; + "is-arrayish-0.2.1" = { + name = "is-arrayish"; + packageName = "is-arrayish"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"; + sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d"; + }; + }; + "is-utf8-0.2.1" = { + name = "is-utf8"; + packageName = "is-utf8"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"; + sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72"; + }; + }; + "indent-string-2.1.0" = { + name = "indent-string"; + packageName = "indent-string"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz"; + sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80"; + }; + }; + "strip-indent-1.0.1" = { + name = "strip-indent"; + packageName = "strip-indent"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz"; + sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2"; + }; + }; + "repeating-2.0.1" = { + name = "repeating"; + packageName = "repeating"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"; + sha1 = "5214c53a926d3552707527fbab415dbc08d06dda"; + }; + }; + "is-finite-1.0.1" = { + name = "is-finite"; + packageName = "is-finite"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz"; + sha1 = "6438603eaebe2793948ff4a4262ec8db3d62597b"; + }; + }; + "number-is-nan-1.0.0" = { + name = "number-is-nan"; + packageName = "number-is-nan"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz"; + sha1 = "c020f529c5282adfdd233d91d4b181c3d686dc4b"; + }; + }; + "underscore-1.5.2" = { + name = "underscore"; + packageName = "underscore"; + version = "1.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz"; + sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08"; + }; + }; + "addressparser-0.3.2" = { + name = "addressparser"; + packageName = "addressparser"; + version = "0.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/addressparser/-/addressparser-0.3.2.tgz"; + sha1 = "59873f35e8fcf6c7361c10239261d76e15348bb2"; + }; + }; + "mimelib-0.2.14" = { + name = "mimelib"; + packageName = "mimelib"; + version = "0.2.14"; + src = fetchurl { + url = "https://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz"; + sha1 = "2a1aa724bd190b85bd526e6317ab6106edfd6831"; + }; + }; + "moment-2.11.2" = { + name = "moment"; + packageName = "moment"; + version = "2.11.2"; + src = fetchurl { + url = "https://registry.npmjs.org/moment/-/moment-2.11.2.tgz"; + sha1 = "87968e5f95ac038c2e42ac959c75819cd3f52901"; + }; + }; + "starttls-1.0.1" = { + name = "starttls"; + packageName = "starttls"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/starttls/-/starttls-1.0.1.tgz"; + sha1 = "e6081c25de6b178f5a75f8f271c1487449183b42"; + }; + }; + "bufferjs-1.1.0" = { + name = "bufferjs"; + packageName = "bufferjs"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bufferjs/-/bufferjs-1.1.0.tgz"; + sha1 = "095ffa39c5e6b40a2178a1169c9effc584a73201"; + }; + }; + "encoding-0.1.12" = { + name = "encoding"; + packageName = "encoding"; + version = "0.1.12"; + src = fetchurl { + url = "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz"; + sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb"; + }; + }; + "addressparser-0.2.1" = { + name = "addressparser"; + packageName = "addressparser"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz"; + sha1 = "d11a5b2eeda04cfefebdf3196c10ae13db6cd607"; + }; + }; + "connect-1.9.2" = { + name = "connect"; + packageName = "connect"; + version = "1.9.2"; + src = fetchurl { + url = "https://registry.npmjs.org/connect/-/connect-1.9.2.tgz"; + sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807"; + }; + }; + "mime-1.2.4" = { + name = "mime"; + packageName = "mime"; + version = "1.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/mime/-/mime-1.2.4.tgz"; + sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7"; + }; + }; + "qs-0.4.2" = { + name = "qs"; + packageName = "qs"; + version = "0.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-0.4.2.tgz"; + sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f"; + }; + }; + "mkdirp-0.3.0" = { + name = "mkdirp"; + packageName = "mkdirp"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz"; + sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e"; + }; + }; + "formidable-1.0.17" = { + name = "formidable"; + packageName = "formidable"; + version = "1.0.17"; + src = fetchurl { + url = "https://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz"; + sha1 = "ef5491490f9433b705faa77249c99029ae348559"; + }; + }; + "cookie-0.3.1" = { + name = "cookie"; + packageName = "cookie"; + version = "0.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz"; + sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"; + }; + }; + "crc-3.4.0" = { + name = "crc"; + packageName = "crc"; + version = "3.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/crc/-/crc-3.4.0.tgz"; + sha1 = "4258e351613a74ef1153dfcb05e820c3e9715d7f"; + }; + }; + "depd-1.1.0" = { + name = "depd"; + packageName = "depd"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz"; + sha1 = "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"; + }; + }; + "uid-safe-2.1.2" = { + name = "uid-safe"; + packageName = "uid-safe"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.2.tgz"; + sha1 = "c934b3caead0fdcd0fb2cff3a8876d06fe0ee0fd"; + }; + }; + "base64-url-1.3.2" = { + name = "base64-url"; + packageName = "base64-url"; + version = "1.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/base64-url/-/base64-url-1.3.2.tgz"; + sha1 = "4b08113b49d23889f306be64372762d31412f7a8"; + }; + }; + "array-parallel-0.1.3" = { + name = "array-parallel"; + packageName = "array-parallel"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/array-parallel/-/array-parallel-0.1.3.tgz"; + sha1 = "8f785308926ed5aa478c47e64d1b334b6c0c947d"; + }; + }; + "array-series-0.1.5" = { + name = "array-series"; + packageName = "array-series"; + version = "0.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz"; + sha1 = "df5d37bfc5c2ef0755e2aa4f92feae7d4b5a972f"; + }; + }; + "cross-spawn-4.0.0" = { + name = "cross-spawn"; + packageName = "cross-spawn"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.0.tgz"; + sha1 = "8254774ab4786b8c5b3cf4dfba66ce563932c252"; + }; + }; + "lru-cache-4.0.1" = { + name = "lru-cache"; + packageName = "lru-cache"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz"; + sha1 = "1343955edaf2e37d9b9e7ee7241e27c4b9fb72be"; + }; + }; + "which-1.2.11" = { + name = "which"; + packageName = "which"; + version = "1.2.11"; + src = fetchurl { + url = "https://registry.npmjs.org/which/-/which-1.2.11.tgz"; + sha1 = "c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b"; + }; + }; + "pseudomap-1.0.2" = { + name = "pseudomap"; + packageName = "pseudomap"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz"; + sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; + }; + }; + "yallist-2.0.0" = { + name = "yallist"; + packageName = "yallist"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz"; + sha1 = "306c543835f09ee1a4cb23b7bce9ab341c91cdd4"; + }; + }; + "isexe-1.1.2" = { + name = "isexe"; + packageName = "isexe"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz"; + sha1 = "36f3e22e60750920f5e7241a476a8c6a42275ad0"; + }; + }; + "connect-3.4.1" = { + name = "connect"; + packageName = "connect"; + version = "3.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz"; + sha1 = "a21361d3f4099ef761cda6dc4a973bb1ebb0a34d"; + }; + }; + "dns-prefetch-control-0.1.0" = { + name = "dns-prefetch-control"; + packageName = "dns-prefetch-control"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz"; + sha1 = "60ddb457774e178f1f9415f0cabb0e85b0b300b2"; + }; + }; + "dont-sniff-mimetype-1.0.0" = { + name = "dont-sniff-mimetype"; + packageName = "dont-sniff-mimetype"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz"; + sha1 = "5932890dc9f4e2f19e5eb02a20026e5e5efc8f58"; + }; + }; + "frameguard-2.0.0" = { + name = "frameguard"; + packageName = "frameguard"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/frameguard/-/frameguard-2.0.0.tgz"; + sha1 = "30c2c149e5e3505f9e156f9bc491a438420e487e"; + }; + }; + "helmet-csp-1.2.2" = { + name = "helmet-csp"; + packageName = "helmet-csp"; + version = "1.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/helmet-csp/-/helmet-csp-1.2.2.tgz"; + sha1 = "085c0307d57fc96cd97337f170ab8bfea99e5df7"; + }; + }; + "hide-powered-by-1.0.0" = { + name = "hide-powered-by"; + packageName = "hide-powered-by"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.0.0.tgz"; + sha1 = "4a85ad65881f62857fc70af7174a1184dccce32b"; + }; + }; + "hpkp-1.1.0" = { + name = "hpkp"; + packageName = "hpkp"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/hpkp/-/hpkp-1.1.0.tgz"; + sha1 = "77bdff1f331847fb9f40839d00a45032baed4df4"; + }; + }; + "hsts-1.0.0" = { + name = "hsts"; + packageName = "hsts"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/hsts/-/hsts-1.0.0.tgz"; + sha1 = "98e1039ef7aba554057b6b0e32584c0b1143a414"; + }; + }; + "ienoopen-1.0.0" = { + name = "ienoopen"; + packageName = "ienoopen"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ienoopen/-/ienoopen-1.0.0.tgz"; + sha1 = "346a428f474aac8f50cf3784ea2d0f16f62bda6b"; + }; + }; + "nocache-1.0.1" = { + name = "nocache"; + packageName = "nocache"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/nocache/-/nocache-1.0.1.tgz"; + sha1 = "695c9f736926a7554f7365fa25e087941065bd36"; + }; + }; + "referrer-policy-1.0.0" = { + name = "referrer-policy"; + packageName = "referrer-policy"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.0.0.tgz"; + sha1 = "f60eedc92f942b01a6118121ec932d66e8fd7e14"; + }; + }; + "x-xss-protection-1.0.0" = { + name = "x-xss-protection"; + packageName = "x-xss-protection"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/x-xss-protection/-/x-xss-protection-1.0.0.tgz"; + sha1 = "898afb93869b24661cf9c52f9ee8db8ed0764dd9"; + }; + }; + "finalhandler-0.4.1" = { + name = "finalhandler"; + packageName = "finalhandler"; + version = "0.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz"; + sha1 = "85a17c6c59a94717d262d61230d4b0ebe3d4a14d"; + }; + }; + "camelize-1.0.0" = { + name = "camelize"; + packageName = "camelize"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz"; + sha1 = "164a5483e630fa4321e5af07020e531831b2609b"; + }; + }; + "content-security-policy-builder-1.0.0" = { + name = "content-security-policy-builder"; + packageName = "content-security-policy-builder"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-1.0.0.tgz"; + sha1 = "11fd40c5cc298a6c725a35f9acf71e82ab5d3243"; + }; + }; + "lodash.reduce-4.5.0" = { + name = "lodash.reduce"; + packageName = "lodash.reduce"; + version = "4.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.5.0.tgz"; + sha1 = "af7d2ec621062441e77d5bf408a1e071ef86691c"; + }; + }; + "platform-1.3.1" = { + name = "platform"; + packageName = "platform"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/platform/-/platform-1.3.1.tgz"; + sha1 = "492210892335bd3131c0a08dda2d93ec3543e423"; + }; + }; + "dashify-0.2.2" = { + name = "dashify"; + packageName = "dashify"; + version = "0.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/dashify/-/dashify-0.2.2.tgz"; + sha1 = "6a07415a01c91faf4a32e38d9dfba71f61cb20fe"; + }; + }; + "abab-1.0.3" = { + name = "abab"; + packageName = "abab"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz"; + sha1 = "b81de5f7274ec4e756d797cd834f303642724e5d"; + }; + }; + "acorn-2.7.0" = { + name = "acorn"; + packageName = "acorn"; + version = "2.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz"; + sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7"; + }; + }; + "acorn-globals-1.0.9" = { + name = "acorn-globals"; + packageName = "acorn-globals"; + version = "1.0.9"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz"; + sha1 = "55bb5e98691507b74579d0513413217c380c54cf"; + }; + }; + "cssom-0.3.1" = { + name = "cssom"; + packageName = "cssom"; + version = "0.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/cssom/-/cssom-0.3.1.tgz"; + sha1 = "c9e37ef2490e64f6d1baa10fda852257082c25d3"; + }; + }; + "cssstyle-0.2.37" = { + name = "cssstyle"; + packageName = "cssstyle"; + version = "0.2.37"; + src = fetchurl { + url = "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz"; + sha1 = "541097234cb2513c83ceed3acddc27ff27987d54"; + }; + }; + "escodegen-1.8.1" = { + name = "escodegen"; + packageName = "escodegen"; + version = "1.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz"; + sha1 = "5a5b53af4693110bebb0867aa3430dd3b70a1018"; + }; + }; + "nwmatcher-1.3.8" = { + name = "nwmatcher"; + packageName = "nwmatcher"; + version = "1.3.8"; + src = fetchurl { + url = "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.3.8.tgz"; + sha1 = "34edb93de1aa6cb4448b573c9f2a059300241157"; + }; + }; + "parse5-1.5.1" = { + name = "parse5"; + packageName = "parse5"; + version = "1.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz"; + sha1 = "9b7f3b0de32be78dc2401b17573ccaf0f6f59d94"; + }; + }; + "request-2.74.0" = { + name = "request"; + packageName = "request"; + version = "2.74.0"; + src = fetchurl { + url = "https://registry.npmjs.org/request/-/request-2.74.0.tgz"; + sha1 = "7693ca768bbb0ea5c8ce08c084a45efa05b892ab"; + }; + }; + "sax-1.2.1" = { + name = "sax"; + packageName = "sax"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz"; + sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a"; + }; + }; + "symbol-tree-3.1.4" = { + name = "symbol-tree"; + packageName = "symbol-tree"; + version = "3.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.1.4.tgz"; + sha1 = "02b279348d337debc39694c5c95f882d448a312a"; + }; + }; + "tough-cookie-2.3.1" = { + name = "tough-cookie"; + packageName = "tough-cookie"; + version = "2.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.1.tgz"; + sha1 = "99c77dfbb7d804249e8a299d4cb0fd81fef083fd"; + }; + }; + "webidl-conversions-2.0.1" = { + name = "webidl-conversions"; + packageName = "webidl-conversions"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz"; + sha1 = "3bf8258f7d318c7443c36f2e169402a1a6703506"; + }; + }; + "whatwg-url-compat-0.6.5" = { + name = "whatwg-url-compat"; + packageName = "whatwg-url-compat"; + version = "0.6.5"; + src = fetchurl { + url = "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz"; + sha1 = "00898111af689bb097541cd5a45ca6c8798445bf"; + }; + }; + "xml-name-validator-2.0.1" = { + name = "xml-name-validator"; + packageName = "xml-name-validator"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz"; + sha1 = "4d8b8f1eccd3419aa362061becef515e1e559635"; + }; + }; + "estraverse-1.9.3" = { + name = "estraverse"; + packageName = "estraverse"; + version = "1.9.3"; + src = fetchurl { + url = "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz"; + sha1 = "af67f2dc922582415950926091a4005d29c9bb44"; + }; + }; + "esutils-2.0.2" = { + name = "esutils"; + packageName = "esutils"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"; + sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"; + }; + }; + "esprima-2.7.3" = { + name = "esprima"; + packageName = "esprima"; + version = "2.7.3"; + src = fetchurl { + url = "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz"; + sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581"; + }; + }; + "optionator-0.8.1" = { + name = "optionator"; + packageName = "optionator"; + version = "0.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz"; + sha1 = "e31b4932cdd5fb862a8b0d10bc63d3ee1ec7d78b"; + }; + }; + "source-map-0.2.0" = { + name = "source-map"; + packageName = "source-map"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz"; + sha1 = "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"; + }; + }; + "prelude-ls-1.1.2" = { + name = "prelude-ls"; + packageName = "prelude-ls"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"; + sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54"; + }; + }; + "deep-is-0.1.3" = { + name = "deep-is"; + packageName = "deep-is"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"; + sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; + }; + }; + "wordwrap-1.0.0" = { + name = "wordwrap"; + packageName = "wordwrap"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"; + sha1 = "27584810891456a4171c8d0226441ade90cbcaeb"; + }; + }; + "type-check-0.3.2" = { + name = "type-check"; + packageName = "type-check"; + version = "0.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"; + sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72"; + }; + }; + "levn-0.3.0" = { + name = "levn"; + packageName = "levn"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz"; + sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; + }; + }; + "fast-levenshtein-1.1.4" = { + name = "fast-levenshtein"; + packageName = "fast-levenshtein"; + version = "1.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz"; + sha1 = "e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9"; + }; + }; + "amdefine-1.0.0" = { + name = "amdefine"; + packageName = "amdefine"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz"; + sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33"; + }; + }; + "aws-sign2-0.6.0" = { + name = "aws-sign2"; + packageName = "aws-sign2"; + version = "0.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz"; + sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f"; + }; + }; + "aws4-1.4.1" = { + name = "aws4"; + packageName = "aws4"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz"; + sha1 = "fde7d5292466d230e5ee0f4e038d9dfaab08fc61"; + }; + }; + "bl-1.1.2" = { + name = "bl"; + packageName = "bl"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz"; + sha1 = "fdca871a99713aa00d19e3bbba41c44787a65398"; + }; + }; + "caseless-0.11.0" = { + name = "caseless"; + packageName = "caseless"; + version = "0.11.0"; + src = fetchurl { + url = "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"; + sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7"; + }; + }; + "combined-stream-1.0.5" = { + name = "combined-stream"; + packageName = "combined-stream"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"; + sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009"; + }; + }; + "extend-3.0.0" = { + name = "extend"; + packageName = "extend"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz"; + sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4"; + }; + }; + "forever-agent-0.6.1" = { + name = "forever-agent"; + packageName = "forever-agent"; + version = "0.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; + sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; + }; + }; + "form-data-1.0.1" = { + name = "form-data"; + packageName = "form-data"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz"; + sha1 = "ae315db9a4907fa065502304a66d7733475ee37c"; + }; + }; + "har-validator-2.0.6" = { + name = "har-validator"; + packageName = "har-validator"; + version = "2.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz"; + sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"; + }; + }; + "hawk-3.1.3" = { + name = "hawk"; + packageName = "hawk"; + version = "3.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz"; + sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4"; + }; + }; + "http-signature-1.1.1" = { + name = "http-signature"; + packageName = "http-signature"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz"; + sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf"; + }; + }; + "is-typedarray-1.0.0" = { + name = "is-typedarray"; + packageName = "is-typedarray"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"; + sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; + }; + }; + "isstream-0.1.2" = { + name = "isstream"; + packageName = "isstream"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; + sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; + }; + }; + "json-stringify-safe-5.0.1" = { + name = "json-stringify-safe"; + packageName = "json-stringify-safe"; + version = "5.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; + sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; + }; + }; + "oauth-sign-0.8.2" = { + name = "oauth-sign"; + packageName = "oauth-sign"; + version = "0.8.2"; + src = fetchurl { + url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz"; + sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"; + }; + }; + "qs-6.2.1" = { + name = "qs"; + packageName = "qs"; + version = "6.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz"; + sha1 = "ce03c5ff0935bc1d9d69a9f14cbd18e568d67625"; + }; + }; + "stringstream-0.0.5" = { + name = "stringstream"; + packageName = "stringstream"; + version = "0.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz"; + sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878"; + }; + }; + "tunnel-agent-0.4.3" = { + name = "tunnel-agent"; + packageName = "tunnel-agent"; + version = "0.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"; + sha1 = "6373db76909fe570e08d73583365ed828a74eeeb"; + }; + }; + "readable-stream-2.0.6" = { + name = "readable-stream"; + packageName = "readable-stream"; + version = "2.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"; + sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e"; + }; + }; + "isarray-1.0.0" = { + name = "isarray"; + packageName = "isarray"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + }; + "process-nextick-args-1.0.7" = { + name = "process-nextick-args"; + packageName = "process-nextick-args"; + version = "1.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"; + sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3"; + }; + }; + "util-deprecate-1.0.2" = { + name = "util-deprecate"; + packageName = "util-deprecate"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; + sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; + }; + }; + "delayed-stream-1.0.0" = { + name = "delayed-stream"; + packageName = "delayed-stream"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"; + sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; + }; + }; + "async-2.0.1" = { + name = "async"; + packageName = "async"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/async/-/async-2.0.1.tgz"; + sha1 = "b709cc0280a9c36f09f4536be823c838a9049e25"; + }; + }; + "lodash-4.15.0" = { + name = "lodash"; + packageName = "lodash"; + version = "4.15.0"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz"; + sha1 = "3162391d8f0140aa22cf8f6b3c34d6b7f63d3aa9"; + }; + }; + "chalk-1.1.3" = { + name = "chalk"; + packageName = "chalk"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; + }; + }; + "commander-2.9.0" = { + name = "commander"; + packageName = "commander"; + version = "2.9.0"; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"; + sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4"; + }; + }; + "is-my-json-valid-2.13.1" = { + name = "is-my-json-valid"; + packageName = "is-my-json-valid"; + version = "2.13.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz"; + sha1 = "d55778a82feb6b0963ff4be111d5d1684e890707"; + }; + }; + "ansi-styles-2.2.1" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; + }; + }; + "escape-string-regexp-1.0.5" = { + name = "escape-string-regexp"; + packageName = "escape-string-regexp"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; + }; + }; + "has-ansi-2.0.0" = { + name = "has-ansi"; + packageName = "has-ansi"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"; + sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; + }; + }; + "strip-ansi-3.0.1" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; + }; + }; + "supports-color-2.0.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"; + sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; + }; + }; + "ansi-regex-2.0.0" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"; + sha1 = "c5061b6e0ef8a81775e50f5d66151bf6bf371107"; + }; + }; + "graceful-readlink-1.0.1" = { + name = "graceful-readlink"; + packageName = "graceful-readlink"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"; + sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725"; + }; + }; + "generate-function-2.0.0" = { + name = "generate-function"; + packageName = "generate-function"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"; + sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74"; + }; + }; + "generate-object-property-1.2.0" = { + name = "generate-object-property"; + packageName = "generate-object-property"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"; + sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0"; + }; + }; + "jsonpointer-2.0.0" = { + name = "jsonpointer"; + packageName = "jsonpointer"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"; + sha1 = "3af1dd20fe85463910d469a385e33017d2a030d9"; + }; + }; + "xtend-4.0.1" = { + name = "xtend"; + packageName = "xtend"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"; + sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; + }; + }; + "is-property-1.0.2" = { + name = "is-property"; + packageName = "is-property"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"; + sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84"; + }; + }; + "hoek-2.16.3" = { + name = "hoek"; + packageName = "hoek"; + version = "2.16.3"; + src = fetchurl { + url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"; + sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed"; + }; + }; + "boom-2.10.1" = { + name = "boom"; + packageName = "boom"; + version = "2.10.1"; + src = fetchurl { + url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"; + sha1 = "39c8918ceff5799f83f9492a848f625add0c766f"; + }; + }; + "cryptiles-2.0.5" = { + name = "cryptiles"; + packageName = "cryptiles"; + version = "2.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"; + sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8"; + }; + }; + "sntp-1.0.9" = { + name = "sntp"; + packageName = "sntp"; + version = "1.0.9"; + src = fetchurl { + url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"; + sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198"; + }; + }; + "assert-plus-0.2.0" = { + name = "assert-plus"; + packageName = "assert-plus"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz"; + sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234"; + }; + }; + "jsprim-1.3.1" = { + name = "jsprim"; + packageName = "jsprim"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz"; + sha1 = "2a7256f70412a29ee3670aaca625994c4dcff252"; + }; + }; + "sshpk-1.10.0" = { + name = "sshpk"; + packageName = "sshpk"; + version = "1.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/sshpk/-/sshpk-1.10.0.tgz"; + sha1 = "104d6ba2afb2ac099ab9567c0d193977f29c6dfa"; + }; + }; + "extsprintf-1.0.2" = { + name = "extsprintf"; + packageName = "extsprintf"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"; + sha1 = "e1080e0658e300b06294990cc70e1502235fd550"; + }; + }; + "json-schema-0.2.3" = { + name = "json-schema"; + packageName = "json-schema"; + version = "0.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"; + sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; + }; + }; + "verror-1.3.6" = { + name = "verror"; + packageName = "verror"; + version = "1.3.6"; + src = fetchurl { + url = "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"; + sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c"; + }; + }; + "asn1-0.2.3" = { + name = "asn1"; + packageName = "asn1"; + version = "0.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz"; + sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86"; + }; + }; + "assert-plus-1.0.0" = { + name = "assert-plus"; + packageName = "assert-plus"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"; + sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; + }; + }; + "dashdash-1.14.0" = { + name = "dashdash"; + packageName = "dashdash"; + version = "1.14.0"; + src = fetchurl { + url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz"; + sha1 = "29e486c5418bf0f356034a993d51686a33e84141"; + }; + }; + "getpass-0.1.6" = { + name = "getpass"; + packageName = "getpass"; + version = "0.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz"; + sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6"; + }; + }; + "jsbn-0.1.0" = { + name = "jsbn"; + packageName = "jsbn"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"; + sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd"; + }; + }; + "tweetnacl-0.13.3" = { + name = "tweetnacl"; + packageName = "tweetnacl"; + version = "0.13.3"; + src = fetchurl { + url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz"; + sha1 = "d628b56f3bcc3d5ae74ba9d4c1a704def5ab4b56"; + }; + }; + "jodid25519-1.0.2" = { + name = "jodid25519"; + packageName = "jodid25519"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz"; + sha1 = "06d4912255093419477d425633606e0e90782967"; + }; + }; + "ecc-jsbn-0.1.1" = { + name = "ecc-jsbn"; + packageName = "ecc-jsbn"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz"; + sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505"; + }; + }; + "bcrypt-pbkdf-1.0.0" = { + name = "bcrypt-pbkdf"; + packageName = "bcrypt-pbkdf"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz"; + sha1 = "3ca76b85241c7170bf7d9703e7b9aa74630040d4"; + }; + }; + "tweetnacl-0.14.3" = { + name = "tweetnacl"; + packageName = "tweetnacl"; + version = "0.14.3"; + src = fetchurl { + url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz"; + sha1 = "3da382f670f25ded78d7b3d1792119bca0b7132d"; + }; + }; + "tr46-0.0.3" = { + name = "tr46"; + packageName = "tr46"; + version = "0.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"; + sha1 = "8184fd347dac9cdc185992f3a6622e14b9d9ab6a"; + }; + }; + "minimist-0.0.8" = { + name = "minimist"; + packageName = "minimist"; + version = "0.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + }; + }; + "wordwrap-0.0.3" = { + name = "wordwrap"; + packageName = "wordwrap"; + version = "0.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"; + sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107"; + }; + }; + "minimist-0.0.10" = { + name = "minimist"; + packageName = "minimist"; + version = "0.0.10"; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz"; + sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf"; + }; + }; + "glob-7.0.6" = { + name = "glob"; + packageName = "glob"; + version = "7.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz"; + sha1 = "211bafaf49e525b8cd93260d14ab136152b3f57a"; + }; + }; + "fs.realpath-1.0.0" = { + name = "fs.realpath"; + packageName = "fs.realpath"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"; + sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; + }; + }; + "htmlparser2-3.9.1" = { + name = "htmlparser2"; + packageName = "htmlparser2"; + version = "3.9.1"; + src = fetchurl { + url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.1.tgz"; + sha1 = "621b7a58bc9acd003f7af0a2c9a00aa67c8505d2"; + }; + }; + "regexp-quote-0.0.0" = { + name = "regexp-quote"; + packageName = "regexp-quote"; + version = "0.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/regexp-quote/-/regexp-quote-0.0.0.tgz"; + sha1 = "1e0f4650c862dcbfed54fd42b148e9bb1721fcf2"; + }; + }; + "domelementtype-1.3.0" = { + name = "domelementtype"; + packageName = "domelementtype"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz"; + sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2"; + }; + }; + "domhandler-2.3.0" = { + name = "domhandler"; + packageName = "domhandler"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz"; + sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738"; + }; + }; + "domutils-1.5.1" = { + name = "domutils"; + packageName = "domutils"; + version = "1.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz"; + sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf"; + }; + }; + "entities-1.1.1" = { + name = "entities"; + packageName = "entities"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz"; + sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"; + }; + }; + "readable-stream-2.1.5" = { + name = "readable-stream"; + packageName = "readable-stream"; + version = "2.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz"; + sha1 = "66fa8b720e1438b364681f2ad1a63c618448c9d0"; + }; + }; + "dom-serializer-0.1.0" = { + name = "dom-serializer"; + packageName = "dom-serializer"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz"; + sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82"; + }; + }; + "domelementtype-1.1.3" = { + name = "domelementtype"; + packageName = "domelementtype"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz"; + sha1 = "bd28773e2642881aec51544924299c5cd822185b"; + }; + }; + "buffer-shims-1.0.0" = { + name = "buffer-shims"; + packageName = "buffer-shims"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"; + sha1 = "9978ce317388c649ad8793028c3477ef044a8b51"; + }; + }; + "destroy-1.0.4" = { + name = "destroy"; + packageName = "destroy"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"; + sha1 = "978857442c44749e4206613e37946205826abd80"; + }; + }; + "mime-1.3.4" = { + name = "mime"; + packageName = "mime"; + version = "1.3.4"; + src = fetchurl { + url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz"; + sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53"; + }; + }; + "range-parser-1.0.3" = { + name = "range-parser"; + packageName = "range-parser"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz"; + sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175"; + }; + }; + "statuses-1.2.1" = { + name = "statuses"; + packageName = "statuses"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz"; + sha1 = "dded45cc18256d51ed40aec142489d5c61026d28"; + }; + }; + "yargs-3.32.0" = { + name = "yargs"; + packageName = "yargs"; + version = "3.32.0"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz"; + sha1 = "03088e9ebf9e756b69751611d2a5ef591482c995"; + }; + }; + "cliui-3.2.0" = { + name = "cliui"; + packageName = "cliui"; + version = "3.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz"; + sha1 = "120601537a916d29940f934da3b48d585a39213d"; + }; + }; + "os-locale-1.4.0" = { + name = "os-locale"; + packageName = "os-locale"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz"; + sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9"; + }; + }; + "string-width-1.0.2" = { + name = "string-width"; + packageName = "string-width"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"; + sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"; + }; + }; + "window-size-0.1.4" = { + name = "window-size"; + packageName = "window-size"; + version = "0.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz"; + sha1 = "f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"; + }; + }; + "y18n-3.2.1" = { + name = "y18n"; + packageName = "y18n"; + version = "3.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz"; + sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41"; + }; + }; + "wrap-ansi-2.0.0" = { + name = "wrap-ansi"; + packageName = "wrap-ansi"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.0.0.tgz"; + sha1 = "7d30f8f873f9a5bbc3a64dabc8d177e071ae426f"; + }; + }; + "lcid-1.0.0" = { + name = "lcid"; + packageName = "lcid"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz"; + sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835"; + }; + }; + "invert-kv-1.0.0" = { + name = "invert-kv"; + packageName = "invert-kv"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz"; + sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"; + }; + }; + "code-point-at-1.0.0" = { + name = "code-point-at"; + packageName = "code-point-at"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz"; + sha1 = "f69b192d3f7d91e382e4b71bddb77878619ab0c6"; + }; + }; + "is-fullwidth-code-point-1.0.0" = { + name = "is-fullwidth-code-point"; + packageName = "is-fullwidth-code-point"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; + sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb"; + }; + }; + "faye-websocket-0.10.0" = { + name = "faye-websocket"; + packageName = "faye-websocket"; + version = "0.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz"; + sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"; + }; + }; + "uuid-2.0.2" = { + name = "uuid"; + packageName = "uuid"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz"; + sha1 = "48bd5698f0677e3c7901a1c46ef15b1643794726"; + }; + }; + "websocket-driver-0.6.5" = { + name = "websocket-driver"; + packageName = "websocket-driver"; + version = "0.6.5"; + src = fetchurl { + url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz"; + sha1 = "5cb2556ceb85f4373c6d8238aa691c8454e13a36"; + }; + }; + "websocket-extensions-0.1.1" = { + name = "websocket-extensions"; + packageName = "websocket-extensions"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz"; + sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7"; + }; + }; + "underscore-1.6.0" = { + name = "underscore"; + packageName = "underscore"; + version = "1.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz"; + sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8"; + }; + }; + "xml2js-0.1.14" = { + name = "xml2js"; + packageName = "xml2js"; + version = "0.1.14"; + src = fetchurl { + url = "https://registry.npmjs.org/xml2js/-/xml2js-0.1.14.tgz"; + sha1 = "5274e67f5a64c5f92974cd85139e0332adc6b90c"; + }; + }; + "mongodb-2.2.10" = { + name = "mongodb"; + packageName = "mongodb"; + version = "2.2.10"; + src = fetchurl { + url = "https://registry.npmjs.org/mongodb/-/mongodb-2.2.10.tgz"; + sha1 = "d11273a5a53b08e17bcc4c8a295ded0f151ccae6"; + }; + }; + "es6-promise-3.2.1" = { + name = "es6-promise"; + packageName = "es6-promise"; + version = "3.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz"; + sha1 = "ec56233868032909207170c39448e24449dd1fc4"; + }; + }; + "mongodb-core-2.0.12" = { + name = "mongodb-core"; + packageName = "mongodb-core"; + version = "2.0.12"; + src = fetchurl { + url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.0.12.tgz"; + sha1 = "bb66aad550e252731f8ad49276815264a91c337c"; + }; + }; + "bson-0.5.5" = { + name = "bson"; + packageName = "bson"; + version = "0.5.5"; + src = fetchurl { + url = "https://registry.npmjs.org/bson/-/bson-0.5.5.tgz"; + sha1 = "1d6725d400f0fbf0271bf6bafc8fa1126c29983b"; + }; + }; + "require_optional-1.0.0" = { + name = "require_optional"; + packageName = "require_optional"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/require_optional/-/require_optional-1.0.0.tgz"; + sha1 = "52a86137a849728eb60a55533617f8f914f59abf"; + }; + }; + "resolve-from-2.0.0" = { + name = "resolve-from"; + packageName = "resolve-from"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz"; + sha1 = "9480ab20e94ffa1d9e80a804c7ea147611966b57"; + }; + }; + "async-0.9.2" = { + name = "async"; + packageName = "async"; + version = "0.9.2"; + src = fetchurl { + url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz"; + sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d"; + }; + }; + "redis-0.10.3" = { + name = "redis"; + packageName = "redis"; + version = "0.10.3"; + src = fetchurl { + url = "https://registry.npmjs.org/redis/-/redis-0.10.3.tgz"; + sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6"; + }; + }; + "memcached-0.2.8" = { + name = "memcached"; + packageName = "memcached"; + version = "0.2.8"; + src = fetchurl { + url = "https://registry.npmjs.org/memcached/-/memcached-0.2.8.tgz"; + sha1 = "ffbf9498cbc30779625b77e77770bd50dc525212"; + }; + }; + "databank-0.18.2" = { + name = "databank"; + packageName = "databank"; + version = "0.18.2"; + src = fetchurl { + url = "https://registry.npmjs.org/databank/-/databank-0.18.2.tgz"; + sha1 = "b1f85bafa329cdb415589c0ee819a04c989a03ed"; + }; + }; + "underscore-1.4.4" = { + name = "underscore"; + packageName = "underscore"; + version = "1.4.4"; + src = fetchurl { + url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz"; + sha1 = "61a6a32010622afa07963bf325203cf12239d604"; + }; + }; + "hashring-0.0.8" = { + name = "hashring"; + packageName = "hashring"; + version = "0.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/hashring/-/hashring-0.0.8.tgz"; + sha1 = "203ab13c364119f10106526d2eaf7bd42b484c31"; + }; + }; + "jackpot-0.0.6" = { + name = "jackpot"; + packageName = "jackpot"; + version = "0.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/jackpot/-/jackpot-0.0.6.tgz"; + sha1 = "3cff064285cbf66f4eab2593c90bce816a821849"; + }; + }; + "bisection-0.0.3" = { + name = "bisection"; + packageName = "bisection"; + version = "0.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/bisection/-/bisection-0.0.3.tgz"; + sha1 = "9891d506d86ec7d50910c5157bb592dbb03f33db"; + }; + }; + "simple-lru-cache-0.0.2" = { + name = "simple-lru-cache"; + packageName = "simple-lru-cache"; + version = "0.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz"; + sha1 = "d59cc3a193c1a5d0320f84ee732f6e4713e511dd"; + }; + }; + "retry-0.6.0" = { + name = "retry"; + packageName = "retry"; + version = "0.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz"; + sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537"; + }; + }; + "lru-cache-2.3.1" = { + name = "lru-cache"; + packageName = "lru-cache"; + version = "2.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz"; + sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6"; + }; + }; + }; + args = { + name = "pump.io"; + packageName = "pump.io"; + version = "1.0.0"; + src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-1.0.0.tgz"; sha1 = "404mzdqzknrv7pl9qasksi791cc00bbd"; }; + dependencies = [ + (sources."bcrypt-0.8.7" // { + dependencies = [ + sources."bindings-1.2.1" + sources."nan-2.3.5" + ]; + }) + (sources."bunyan-1.8.1" // { + dependencies = [ + (sources."dtrace-provider-0.6.0" // { + dependencies = [ + sources."nan-2.4.0" + ]; + }) + (sources."mv-2.1.1" // { + dependencies = [ + sources."ncp-2.0.0" + (sources."rimraf-2.4.5" // { + dependencies = [ + (sources."glob-6.0.4" // { + dependencies = [ + (sources."inflight-1.0.5" // { + dependencies = [ + sources."wrappy-1.0.2" + ]; + }) + sources."inherits-2.0.3" + (sources."minimatch-3.0.3" // { + dependencies = [ + (sources."brace-expansion-1.1.6" // { + dependencies = [ + sources."balanced-match-0.4.2" + sources."concat-map-0.0.1" + ]; + }) + ]; + }) + (sources."once-1.4.0" // { + dependencies = [ + sources."wrappy-1.0.2" + ]; + }) + sources."path-is-absolute-1.0.0" + ]; + }) + ]; + }) + ]; + }) + sources."safe-json-stringify-1.0.3" + sources."moment-2.15.0" + ]; + }) + (sources."connect-2.30.2" // { + dependencies = [ + sources."basic-auth-connect-1.0.0" + (sources."body-parser-1.13.3" // { + dependencies = [ + sources."iconv-lite-0.4.11" + (sources."on-finished-2.3.0" // { + dependencies = [ + sources."ee-first-1.1.1" + ]; + }) + (sources."raw-body-2.1.7" // { + dependencies = [ + sources."bytes-2.4.0" + sources."iconv-lite-0.4.13" + sources."unpipe-1.0.0" + ]; + }) + ]; + }) + sources."bytes-2.1.0" + sources."cookie-0.1.3" + sources."cookie-parser-1.3.5" + sources."cookie-signature-1.0.6" + (sources."compression-1.5.2" // { + dependencies = [ + (sources."accepts-1.2.13" // { + dependencies = [ + (sources."mime-types-2.1.11" // { + dependencies = [ + sources."mime-db-1.23.0" + ]; + }) + sources."negotiator-0.5.3" + ]; + }) + (sources."compressible-2.0.8" // { + dependencies = [ + sources."mime-db-1.23.0" + ]; + }) + sources."vary-1.0.1" + ]; + }) + (sources."connect-timeout-1.6.2" // { + dependencies = [ + sources."ms-0.7.1" + ]; + }) + sources."content-type-1.0.2" + (sources."csurf-1.8.3" // { + dependencies = [ + (sources."csrf-3.0.3" // { + dependencies = [ + sources."base64-url-1.2.2" + sources."rndm-1.2.0" + sources."tsscmp-1.0.5" + (sources."uid-safe-2.1.1" // { + dependencies = [ + sources."random-bytes-1.0.0" + ]; + }) + ]; + }) + ]; + }) + (sources."debug-2.2.0" // { + dependencies = [ + sources."ms-0.7.1" + ]; + }) + sources."depd-1.0.1" + (sources."errorhandler-1.4.3" // { + dependencies = [ + (sources."accepts-1.3.3" // { + dependencies = [ + (sources."mime-types-2.1.11" // { + dependencies = [ + sources."mime-db-1.23.0" + ]; + }) + sources."negotiator-0.6.1" + ]; + }) + sources."escape-html-1.0.3" + ]; + }) + (sources."express-session-1.11.3" // { + dependencies = [ + sources."crc-3.3.0" + (sources."uid-safe-2.0.0" // { + dependencies = [ + sources."base64-url-1.2.1" + ]; + }) + ]; + }) + (sources."finalhandler-0.4.0" // { + dependencies = [ + sources."escape-html-1.0.2" + (sources."on-finished-2.3.0" // { + dependencies = [ + sources."ee-first-1.1.1" + ]; + }) + sources."unpipe-1.0.0" + ]; + }) + sources."fresh-0.3.0" + (sources."http-errors-1.3.1" // { + dependencies = [ + sources."inherits-2.0.3" + sources."statuses-1.3.0" + ]; + }) + (sources."method-override-2.3.6" // { + dependencies = [ + sources."methods-1.1.2" + sources."vary-1.1.0" + ]; + }) + (sources."morgan-1.6.1" // { + dependencies = [ + sources."basic-auth-1.0.4" + (sources."on-finished-2.3.0" // { + dependencies = [ + sources."ee-first-1.1.1" + ]; + }) + ]; + }) + (sources."multiparty-3.3.2" // { + dependencies = [ + (sources."readable-stream-1.1.14" // { + dependencies = [ + sources."core-util-is-1.0.2" + sources."isarray-0.0.1" + sources."string_decoder-0.10.31" + sources."inherits-2.0.3" + ]; + }) + sources."stream-counter-0.2.0" + ]; + }) + sources."on-headers-1.0.1" + sources."parseurl-1.3.1" + sources."pause-0.1.0" + sources."qs-4.0.0" + sources."response-time-2.3.1" + (sources."serve-favicon-2.3.0" // { + dependencies = [ + sources."etag-1.7.0" + sources."ms-0.7.1" + ]; + }) + (sources."serve-index-1.7.3" // { + dependencies = [ + (sources."accepts-1.2.13" // { + dependencies = [ + sources."negotiator-0.5.3" + ]; + }) + sources."batch-0.5.3" + sources."escape-html-1.0.3" + (sources."mime-types-2.1.11" // { + dependencies = [ + sources."mime-db-1.23.0" + ]; + }) + ]; + }) + (sources."serve-static-1.10.3" // { + dependencies = [ + sources."escape-html-1.0.3" + ]; + }) + (sources."type-is-1.6.13" // { + dependencies = [ + sources."media-typer-0.3.0" + (sources."mime-types-2.1.11" // { + dependencies = [ + sources."mime-db-1.23.0" + ]; + }) + ]; + }) + sources."utils-merge-1.0.0" + sources."vhost-3.0.2" + ]; + }) + (sources."connect-auth-0.6.1" // { + dependencies = [ + (sources."connect-2.7.11" // { + dependencies = [ + sources."qs-0.6.5" + sources."formidable-1.0.14" + sources."cookie-signature-1.0.1" + sources."buffer-crc32-0.2.1" + sources."cookie-0.0.5" + (sources."send-0.1.1" // { + dependencies = [ + sources."mime-1.2.11" + sources."range-parser-0.0.4" + ]; + }) + sources."bytes-0.2.0" + sources."fresh-0.1.0" + sources."pause-0.0.1" + (sources."debug-2.2.0" // { + dependencies = [ + sources."ms-0.7.1" + ]; + }) + ]; + }) + sources."oauth-0.9.10" + sources."openid-0.4.1" + ]; + }) + (sources."connect-databank-1.0.3" // { + dependencies = [ + sources."async-1.5.2" + sources."set-immediate-0.1.1" + ]; + }) + sources."crypto-cacerts-0.1.0" + (sources."databank-0.19.5" // { + dependencies = [ + (sources."vows-0.7.0" // { + dependencies = [ + sources."eyes-0.1.8" + sources."diff-1.0.8" + ]; + }) + sources."setimmediate-1.0.5" + ]; + }) + (sources."dateformat-1.0.12" // { + dependencies = [ + sources."get-stdin-4.0.1" + (sources."meow-3.7.0" // { + dependencies = [ + (sources."camelcase-keys-2.1.0" // { + dependencies = [ + sources."camelcase-2.1.1" + ]; + }) + sources."decamelize-1.2.0" + (sources."loud-rejection-1.6.0" // { + dependencies = [ + (sources."currently-unhandled-0.4.1" // { + dependencies = [ + sources."array-find-index-1.0.1" + ]; + }) + sources."signal-exit-3.0.1" + ]; + }) + sources."map-obj-1.0.1" + sources."minimist-1.2.0" + (sources."normalize-package-data-2.3.5" // { + dependencies = [ + sources."hosted-git-info-2.1.5" + (sources."is-builtin-module-1.0.0" // { + dependencies = [ + sources."builtin-modules-1.1.1" + ]; + }) + sources."semver-5.3.0" + (sources."validate-npm-package-license-3.0.1" // { + dependencies = [ + (sources."spdx-correct-1.0.2" // { + dependencies = [ + sources."spdx-license-ids-1.2.2" + ]; + }) + sources."spdx-expression-parse-1.0.3" + ]; + }) + ]; + }) + sources."object-assign-4.1.0" + (sources."read-pkg-up-1.0.1" // { + dependencies = [ + (sources."find-up-1.1.2" // { + dependencies = [ + sources."path-exists-2.1.0" + (sources."pinkie-promise-2.0.1" // { + dependencies = [ + sources."pinkie-2.0.4" + ]; + }) + ]; + }) + (sources."read-pkg-1.1.0" // { + dependencies = [ + (sources."load-json-file-1.1.0" // { + dependencies = [ + sources."graceful-fs-4.1.6" + (sources."parse-json-2.2.0" // { + dependencies = [ + (sources."error-ex-1.3.0" // { + dependencies = [ + sources."is-arrayish-0.2.1" + ]; + }) + ]; + }) + sources."pify-2.3.0" + (sources."pinkie-promise-2.0.1" // { + dependencies = [ + sources."pinkie-2.0.4" + ]; + }) + (sources."strip-bom-2.0.0" // { + dependencies = [ + sources."is-utf8-0.2.1" + ]; + }) + ]; + }) + (sources."path-type-1.1.0" // { + dependencies = [ + sources."graceful-fs-4.1.6" + sources."pify-2.3.0" + (sources."pinkie-promise-2.0.1" // { + dependencies = [ + sources."pinkie-2.0.4" + ]; + }) + ]; + }) + ]; + }) + ]; + }) + (sources."redent-1.0.0" // { + dependencies = [ + (sources."indent-string-2.1.0" // { + dependencies = [ + (sources."repeating-2.0.1" // { + dependencies = [ + (sources."is-finite-1.0.1" // { + dependencies = [ + sources."number-is-nan-1.0.0" + ]; + }) + ]; + }) + ]; + }) + sources."strip-indent-1.0.1" + ]; + }) + sources."trim-newlines-1.0.0" + ]; + }) + ]; + }) + (sources."dialback-client-0.2.0" // { + dependencies = [ + sources."underscore-1.5.2" + ]; + }) + sources."dompurify-0.8.3" + (sources."emailjs-1.0.8" // { + dependencies = [ + sources."addressparser-0.3.2" + (sources."mimelib-0.2.14" // { + dependencies = [ + (sources."encoding-0.1.12" // { + dependencies = [ + sources."iconv-lite-0.4.13" + ]; + }) + sources."addressparser-0.2.1" + ]; + }) + sources."moment-2.11.2" + sources."starttls-1.0.1" + sources."bufferjs-1.1.0" + ]; + }) + (sources."express-2.5.11" // { + dependencies = [ + (sources."connect-1.9.2" // { + dependencies = [ + sources."formidable-1.0.17" + ]; + }) + sources."mime-1.2.4" + sources."qs-0.4.2" + sources."mkdirp-0.3.0" + ]; + }) + (sources."express-session-1.14.1" // { + dependencies = [ + sources."cookie-0.3.1" + sources."cookie-signature-1.0.6" + sources."crc-3.4.0" + (sources."debug-2.2.0" // { + dependencies = [ + sources."ms-0.7.1" + ]; + }) + sources."depd-1.1.0" + sources."on-headers-1.0.1" + sources."parseurl-1.3.1" + (sources."uid-safe-2.1.2" // { + dependencies = [ + sources."base64-url-1.3.2" + sources."random-bytes-1.0.0" + ]; + }) + sources."utils-merge-1.0.0" + ]; + }) + (sources."gm-1.23.0" // { + dependencies = [ + sources."array-parallel-0.1.3" + sources."array-series-0.1.5" + (sources."cross-spawn-4.0.0" // { + dependencies = [ + (sources."lru-cache-4.0.1" // { + dependencies = [ + sources."pseudomap-1.0.2" + sources."yallist-2.0.0" + ]; + }) + (sources."which-1.2.11" // { + dependencies = [ + sources."isexe-1.1.2" + ]; + }) + ]; + }) + (sources."debug-2.2.0" // { + dependencies = [ + sources."ms-0.7.1" + ]; + }) + ]; + }) + (sources."helmet-2.2.0" // { + dependencies = [ + (sources."connect-3.4.1" // { + dependencies = [ + (sources."debug-2.2.0" // { + dependencies = [ + sources."ms-0.7.1" + ]; + }) + (sources."finalhandler-0.4.1" // { + dependencies = [ + sources."escape-html-1.0.3" + (sources."on-finished-2.3.0" // { + dependencies = [ + sources."ee-first-1.1.1" + ]; + }) + sources."unpipe-1.0.0" + ]; + }) + sources."parseurl-1.3.1" + sources."utils-merge-1.0.0" + ]; + }) + sources."dns-prefetch-control-0.1.0" + sources."dont-sniff-mimetype-1.0.0" + sources."frameguard-2.0.0" + (sources."helmet-csp-1.2.2" // { + dependencies = [ + sources."camelize-1.0.0" + (sources."content-security-policy-builder-1.0.0" // { + dependencies = [ + sources."dashify-0.2.2" + ]; + }) + sources."lodash.reduce-4.5.0" + sources."platform-1.3.1" + ]; + }) + sources."hide-powered-by-1.0.0" + sources."hpkp-1.1.0" + (sources."hsts-1.0.0" // { + dependencies = [ + sources."core-util-is-1.0.2" + ]; + }) + sources."ienoopen-1.0.0" + (sources."nocache-1.0.1" // { + dependencies = [ + sources."depd-1.1.0" + ]; + }) + sources."referrer-policy-1.0.0" + sources."x-xss-protection-1.0.0" + ]; + }) + sources."jankyqueue-0.1.1" + (sources."jsdom-7.2.2" // { + dependencies = [ + sources."abab-1.0.3" + sources."acorn-2.7.0" + sources."acorn-globals-1.0.9" + sources."cssom-0.3.1" + sources."cssstyle-0.2.37" + (sources."escodegen-1.8.1" // { + dependencies = [ + sources."estraverse-1.9.3" + sources."esutils-2.0.2" + sources."esprima-2.7.3" + (sources."optionator-0.8.1" // { + dependencies = [ + sources."prelude-ls-1.1.2" + sources."deep-is-0.1.3" + sources."wordwrap-1.0.0" + sources."type-check-0.3.2" + sources."levn-0.3.0" + sources."fast-levenshtein-1.1.4" + ]; + }) + (sources."source-map-0.2.0" // { + dependencies = [ + sources."amdefine-1.0.0" + ]; + }) + ]; + }) + sources."nwmatcher-1.3.8" + sources."parse5-1.5.1" + (sources."request-2.74.0" // { + dependencies = [ + sources."aws-sign2-0.6.0" + sources."aws4-1.4.1" + (sources."bl-1.1.2" // { + dependencies = [ + (sources."readable-stream-2.0.6" // { + dependencies = [ + sources."core-util-is-1.0.2" + sources."inherits-2.0.3" + sources."isarray-1.0.0" + sources."process-nextick-args-1.0.7" + sources."string_decoder-0.10.31" + sources."util-deprecate-1.0.2" + ]; + }) + ]; + }) + sources."caseless-0.11.0" + (sources."combined-stream-1.0.5" // { + dependencies = [ + sources."delayed-stream-1.0.0" + ]; + }) + sources."extend-3.0.0" + sources."forever-agent-0.6.1" + (sources."form-data-1.0.1" // { + dependencies = [ + (sources."async-2.0.1" // { + dependencies = [ + sources."lodash-4.15.0" + ]; + }) + ]; + }) + (sources."har-validator-2.0.6" // { + dependencies = [ + (sources."chalk-1.1.3" // { + dependencies = [ + sources."ansi-styles-2.2.1" + sources."escape-string-regexp-1.0.5" + (sources."has-ansi-2.0.0" // { + dependencies = [ + sources."ansi-regex-2.0.0" + ]; + }) + (sources."strip-ansi-3.0.1" // { + dependencies = [ + sources."ansi-regex-2.0.0" + ]; + }) + sources."supports-color-2.0.0" + ]; + }) + (sources."commander-2.9.0" // { + dependencies = [ + sources."graceful-readlink-1.0.1" + ]; + }) + (sources."is-my-json-valid-2.13.1" // { + dependencies = [ + sources."generate-function-2.0.0" + (sources."generate-object-property-1.2.0" // { + dependencies = [ + sources."is-property-1.0.2" + ]; + }) + sources."jsonpointer-2.0.0" + sources."xtend-4.0.1" + ]; + }) + (sources."pinkie-promise-2.0.1" // { + dependencies = [ + sources."pinkie-2.0.4" + ]; + }) + ]; + }) + (sources."hawk-3.1.3" // { + dependencies = [ + sources."hoek-2.16.3" + sources."boom-2.10.1" + sources."cryptiles-2.0.5" + sources."sntp-1.0.9" + ]; + }) + (sources."http-signature-1.1.1" // { + dependencies = [ + sources."assert-plus-0.2.0" + (sources."jsprim-1.3.1" // { + dependencies = [ + sources."extsprintf-1.0.2" + sources."json-schema-0.2.3" + sources."verror-1.3.6" + ]; + }) + (sources."sshpk-1.10.0" // { + dependencies = [ + sources."asn1-0.2.3" + sources."assert-plus-1.0.0" + sources."dashdash-1.14.0" + sources."getpass-0.1.6" + sources."jsbn-0.1.0" + sources."tweetnacl-0.13.3" + sources."jodid25519-1.0.2" + sources."ecc-jsbn-0.1.1" + (sources."bcrypt-pbkdf-1.0.0" // { + dependencies = [ + sources."tweetnacl-0.14.3" + ]; + }) + ]; + }) + ]; + }) + sources."is-typedarray-1.0.0" + sources."isstream-0.1.2" + sources."json-stringify-safe-5.0.1" + (sources."mime-types-2.1.11" // { + dependencies = [ + sources."mime-db-1.23.0" + ]; + }) + sources."oauth-sign-0.8.2" + sources."qs-6.2.1" + sources."stringstream-0.0.5" + sources."tunnel-agent-0.4.3" + ]; + }) + sources."sax-1.2.1" + sources."symbol-tree-3.1.4" + sources."tough-cookie-2.3.1" + sources."webidl-conversions-2.0.1" + (sources."whatwg-url-compat-0.6.5" // { + dependencies = [ + sources."tr46-0.0.3" + ]; + }) + sources."xml-name-validator-2.0.1" + ]; + }) + (sources."mkdirp-0.5.1" // { + dependencies = [ + sources."minimist-0.0.8" + ]; + }) + sources."node-uuid-1.4.7" + sources."oauth-evanp-0.9.10-evanp.2" + (sources."optimist-0.6.1" // { + dependencies = [ + sources."wordwrap-0.0.3" + sources."minimist-0.0.10" + ]; + }) + (sources."rimraf-2.5.4" // { + dependencies = [ + (sources."glob-7.0.6" // { + dependencies = [ + sources."fs.realpath-1.0.0" + (sources."inflight-1.0.5" // { + dependencies = [ + sources."wrappy-1.0.2" + ]; + }) + sources."inherits-2.0.3" + (sources."minimatch-3.0.3" // { + dependencies = [ + (sources."brace-expansion-1.1.6" // { + dependencies = [ + sources."balanced-match-0.4.2" + sources."concat-map-0.0.1" + ]; + }) + ]; + }) + (sources."once-1.4.0" // { + dependencies = [ + sources."wrappy-1.0.2" + ]; + }) + sources."path-is-absolute-1.0.0" + ]; + }) + ]; + }) + (sources."sanitize-html-1.13.0" // { + dependencies = [ + (sources."htmlparser2-3.9.1" // { + dependencies = [ + sources."domelementtype-1.3.0" + sources."domhandler-2.3.0" + (sources."domutils-1.5.1" // { + dependencies = [ + (sources."dom-serializer-0.1.0" // { + dependencies = [ + sources."domelementtype-1.1.3" + ]; + }) + ]; + }) + sources."entities-1.1.1" + sources."inherits-2.0.3" + (sources."readable-stream-2.1.5" // { + dependencies = [ + sources."buffer-shims-1.0.0" + sources."core-util-is-1.0.2" + sources."isarray-1.0.0" + sources."process-nextick-args-1.0.7" + sources."string_decoder-0.10.31" + sources."util-deprecate-1.0.2" + ]; + }) + ]; + }) + sources."regexp-quote-0.0.0" + sources."xtend-4.0.1" + ]; + }) + sources."schlock-0.2.1" + (sources."send-0.13.2" // { + dependencies = [ + sources."debug-2.2.0" + sources."depd-1.1.0" + sources."destroy-1.0.4" + sources."escape-html-1.0.3" + sources."etag-1.7.0" + sources."fresh-0.3.0" + (sources."http-errors-1.3.1" // { + dependencies = [ + sources."inherits-2.0.3" + ]; + }) + sources."mime-1.3.4" + sources."ms-0.7.1" + (sources."on-finished-2.3.0" // { + dependencies = [ + sources."ee-first-1.1.1" + ]; + }) + sources."range-parser-1.0.3" + sources."statuses-1.2.1" + ]; + }) + (sources."showdown-1.4.3" // { + dependencies = [ + (sources."yargs-3.32.0" // { + dependencies = [ + sources."camelcase-2.1.1" + (sources."cliui-3.2.0" // { + dependencies = [ + (sources."strip-ansi-3.0.1" // { + dependencies = [ + sources."ansi-regex-2.0.0" + ]; + }) + sources."wrap-ansi-2.0.0" + ]; + }) + sources."decamelize-1.2.0" + (sources."os-locale-1.4.0" // { + dependencies = [ + (sources."lcid-1.0.0" // { + dependencies = [ + sources."invert-kv-1.0.0" + ]; + }) + ]; + }) + (sources."string-width-1.0.2" // { + dependencies = [ + (sources."code-point-at-1.0.0" // { + dependencies = [ + sources."number-is-nan-1.0.0" + ]; + }) + (sources."is-fullwidth-code-point-1.0.0" // { + dependencies = [ + sources."number-is-nan-1.0.0" + ]; + }) + (sources."strip-ansi-3.0.1" // { + dependencies = [ + sources."ansi-regex-2.0.0" + ]; + }) + ]; + }) + sources."window-size-0.1.4" + sources."y18n-3.2.1" + ]; + }) + ]; + }) + (sources."sockjs-0.3.17" // { + dependencies = [ + (sources."faye-websocket-0.10.0" // { + dependencies = [ + (sources."websocket-driver-0.6.5" // { + dependencies = [ + sources."websocket-extensions-0.1.1" + ]; + }) + ]; + }) + sources."uuid-2.0.2" + ]; + }) + sources."step-0.0.6" + sources."ua-parser-js-0.7.10" + sources."underscore-1.8.3" + (sources."underscore-contrib-0.3.0" // { + dependencies = [ + sources."underscore-1.6.0" + ]; + }) + sources."utml-0.2.0" + sources."validator-4.4.0" + (sources."webfinger-0.4.2" // { + dependencies = [ + (sources."xml2js-0.1.14" // { + dependencies = [ + sources."sax-1.2.1" + ]; + }) + ]; + }) + (sources."databank-mongodb-0.19.0" // { + dependencies = [ + (sources."debug-2.2.0" // { + dependencies = [ + sources."ms-0.7.1" + ]; + }) + (sources."mongodb-2.2.10" // { + dependencies = [ + sources."es6-promise-3.2.1" + (sources."mongodb-core-2.0.12" // { + dependencies = [ + sources."bson-0.5.5" + (sources."require_optional-1.0.0" // { + dependencies = [ + sources."semver-5.3.0" + sources."resolve-from-2.0.0" + ]; + }) + ]; + }) + (sources."readable-stream-2.1.5" // { + dependencies = [ + sources."buffer-shims-1.0.0" + sources."core-util-is-1.0.2" + sources."inherits-2.0.3" + sources."isarray-1.0.0" + sources."process-nextick-args-1.0.7" + sources."string_decoder-0.10.31" + sources."util-deprecate-1.0.2" + ]; + }) + ]; + }) + ]; + }) + (sources."databank-redis-0.19.6" // { + dependencies = [ + sources."async-0.9.2" + sources."redis-0.10.3" + sources."underscore-1.6.0" + ]; + }) + (sources."databank-memcached-0.15.0" // { + dependencies = [ + (sources."memcached-0.2.8" // { + dependencies = [ + (sources."hashring-0.0.8" // { + dependencies = [ + sources."bisection-0.0.3" + sources."simple-lru-cache-0.0.2" + ]; + }) + (sources."jackpot-0.0.6" // { + dependencies = [ + sources."retry-0.6.0" + ]; + }) + ]; + }) + (sources."databank-0.18.2" // { + dependencies = [ + (sources."vows-0.7.0" // { + dependencies = [ + sources."eyes-0.1.8" + sources."diff-1.0.8" + ]; + }) + sources."set-immediate-0.1.1" + ]; + }) + sources."underscore-1.4.4" + ]; + }) + (sources."databank-lrucache-0.1.2" // { + dependencies = [ + sources."underscore-1.5.2" + sources."lru-cache-2.3.1" + sources."set-immediate-0.1.1" + ]; + }) + ]; + buildInputs = globalBuildInputs; + meta = { + homepage = http://pump.io/; + license = "Apache-2.0"; + }; + production = true; + }; +in { - by-spec."addressparser"."^0.3.2" = - self.by-version."addressparser"."0.3.2"; - by-version."addressparser"."0.3.2" = self.buildNodePackage { - name = "addressparser-0.3.2"; - version = "0.3.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/addressparser/-/addressparser-0.3.2.tgz"; - name = "addressparser-0.3.2.tgz"; - sha1 = "59873f35e8fcf6c7361c10239261d76e15348bb2"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."addressparser"."~0.2.0" = - self.by-version."addressparser"."0.2.1"; - by-version."addressparser"."0.2.1" = self.buildNodePackage { - name = "addressparser-0.2.1"; - version = "0.2.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz"; - name = "addressparser-0.2.1.tgz"; - sha1 = "d11a5b2eeda04cfefebdf3196c10ae13db6cd607"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."array-parallel"."~0.1.0" = - self.by-version."array-parallel"."0.1.3"; - by-version."array-parallel"."0.1.3" = self.buildNodePackage { - name = "array-parallel-0.1.3"; - version = "0.1.3"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/array-parallel/-/array-parallel-0.1.3.tgz"; - name = "array-parallel-0.1.3.tgz"; - sha1 = "8f785308926ed5aa478c47e64d1b334b6c0c947d"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."array-series"."~0.1.0" = - self.by-version."array-series"."0.1.5"; - by-version."array-series"."0.1.5" = self.buildNodePackage { - name = "array-series-0.1.5"; - version = "0.1.5"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz"; - name = "array-series-0.1.5.tgz"; - sha1 = "df5d37bfc5c2ef0755e2aa4f92feae7d4b5a972f"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."async"."0.2.x" = - self.by-version."async"."0.2.10"; - by-version."async"."0.2.10" = self.buildNodePackage { - name = "async-0.2.10"; - version = "0.2.10"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz"; - name = "async-0.2.10.tgz"; - sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."async"."0.9.x" = - self.by-version."async"."0.9.2"; - by-version."async"."0.9.2" = self.buildNodePackage { - name = "async-0.9.2"; - version = "0.9.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/async/-/async-0.9.2.tgz"; - name = "async-0.9.2.tgz"; - sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."bcrypt"."0.8.x" = - self.by-version."bcrypt"."0.8.5"; - by-version."bcrypt"."0.8.5" = self.buildNodePackage { - name = "bcrypt-0.8.5"; - version = "0.8.5"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.8.5.tgz"; - name = "bcrypt-0.8.5.tgz"; - sha1 = "8e5b81b4db80e944f440005979ca8d58a961861d"; - }; - deps = { - "bindings-1.2.1" = self.by-version."bindings"."1.2.1"; - "nan-2.0.5" = self.by-version."nan"."2.0.5"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "bcrypt" = self.by-version."bcrypt"."0.8.5"; - by-spec."bindings"."1.2.1" = - self.by-version."bindings"."1.2.1"; - by-version."bindings"."1.2.1" = self.buildNodePackage { - name = "bindings-1.2.1"; - version = "1.2.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz"; - name = "bindings-1.2.1.tgz"; - sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."bisection"."*" = - self.by-version."bisection"."0.0.3"; - by-version."bisection"."0.0.3" = self.buildNodePackage { - name = "bisection-0.0.3"; - version = "0.0.3"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/bisection/-/bisection-0.0.3.tgz"; - name = "bisection-0.0.3.tgz"; - sha1 = "9891d506d86ec7d50910c5157bb592dbb03f33db"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."bson"."~0.2" = - self.by-version."bson"."0.2.22"; - by-version."bson"."0.2.22" = self.buildNodePackage { - name = "bson-0.2.22"; - version = "0.2.22"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/bson/-/bson-0.2.22.tgz"; - name = "bson-0.2.22.tgz"; - sha1 = "fcda103f26d0c074d5a52d50927db80fd02b4b39"; - }; - deps = { - "nan-1.8.4" = self.by-version."nan"."1.8.4"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."bufferjs"."=1.1.0" = - self.by-version."bufferjs"."1.1.0"; - by-version."bufferjs"."1.1.0" = self.buildNodePackage { - name = "bufferjs-1.1.0"; - version = "1.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/bufferjs/-/bufferjs-1.1.0.tgz"; - name = "bufferjs-1.1.0.tgz"; - sha1 = "095ffa39c5e6b40a2178a1169c9effc584a73201"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."builtin-modules"."^1.0.0" = - self.by-version."builtin-modules"."1.1.0"; - by-version."builtin-modules"."1.1.0" = self.buildNodePackage { - name = "builtin-modules-1.1.0"; - version = "1.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.0.tgz"; - name = "builtin-modules-1.1.0.tgz"; - sha1 = "1053955fd994a5746e525e4ac717b81caf07491c"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."bunyan"."0.16.x" = - self.by-version."bunyan"."0.16.8"; - by-version."bunyan"."0.16.8" = self.buildNodePackage { - name = "bunyan-0.16.8"; - version = "0.16.8"; - bin = true; - src = fetchurl { - url = "http://registry.npmjs.org/bunyan/-/bunyan-0.16.8.tgz"; - name = "bunyan-0.16.8.tgz"; - sha1 = "3b3f6cdca262fa31aba43eb0eb6fb58e7bdde547"; - }; - deps = { - "dtrace-provider-0.2.4" = self.by-version."dtrace-provider"."0.2.4"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "bunyan" = self.by-version."bunyan"."0.16.8"; - by-spec."camelcase"."^2.0.0" = - self.by-version."camelcase"."2.0.1"; - by-version."camelcase"."2.0.1" = self.buildNodePackage { - name = "camelcase-2.0.1"; - version = "2.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/camelcase/-/camelcase-2.0.1.tgz"; - name = "camelcase-2.0.1.tgz"; - sha1 = "57568d687b8da56c4c1d17b4c74a3cee26d73aeb"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."camelcase-keys"."^2.0.0" = - self.by-version."camelcase-keys"."2.0.0"; - by-version."camelcase-keys"."2.0.0" = self.buildNodePackage { - name = "camelcase-keys-2.0.0"; - version = "2.0.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.0.0.tgz"; - name = "camelcase-keys-2.0.0.tgz"; - sha1 = "ab87e740d72a1ffcb12a43cc04c14b39d549eab9"; - }; - deps = { - "camelcase-2.0.1" = self.by-version."camelcase"."2.0.1"; - "map-obj-1.0.1" = self.by-version."map-obj"."1.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."connect"."1.x" = - self.by-version."connect"."1.9.2"; - by-version."connect"."1.9.2" = self.buildNodePackage { - name = "connect-1.9.2"; - version = "1.9.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/connect/-/connect-1.9.2.tgz"; - name = "connect-1.9.2.tgz"; - sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807"; - }; - deps = { - "qs-6.0.1" = self.by-version."qs"."6.0.1"; - "mime-1.3.4" = self.by-version."mime"."1.3.4"; - "formidable-1.0.17" = self.by-version."formidable"."1.0.17"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "connect" = self.by-version."connect"."1.9.2"; - by-spec."connect"."2.0.0" = - self.by-version."connect"."2.0.0"; - by-version."connect"."2.0.0" = self.buildNodePackage { - name = "connect-2.0.0"; - version = "2.0.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/connect/-/connect-2.0.0.tgz"; - name = "connect-2.0.0.tgz"; - sha1 = "be0f8fcee7c1a0e2caa2e246a278dbbe250b9f27"; - }; - deps = { - "qs-0.4.2" = self.by-version."qs"."0.4.2"; - "mime-1.2.4" = self.by-version."mime"."1.2.4"; - "formidable-1.0.17" = self.by-version."formidable"."1.0.17"; - "debug-2.2.0" = self.by-version."debug"."2.2.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."connect-auth"."0.5.3" = - self.by-version."connect-auth"."0.5.3"; - by-version."connect-auth"."0.5.3" = self.buildNodePackage { - name = "connect-auth-0.5.3"; - version = "0.5.3"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/connect-auth/-/connect-auth-0.5.3.tgz"; - name = "connect-auth-0.5.3.tgz"; - sha1 = "2af00ac6f67ac1c5f451a0ff841a8d20a725091e"; - }; - deps = { - "connect-2.0.0" = self.by-version."connect"."2.0.0"; - "oauth-0.9.7" = self.by-version."oauth"."0.9.7"; - "openid-0.4.1" = self.by-version."openid"."0.4.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "connect-auth" = self.by-version."connect-auth"."0.5.3"; - by-spec."connect-databank"."0.13.x" = - self.by-version."connect-databank"."0.13.0"; - by-version."connect-databank"."0.13.0" = self.buildNodePackage { - name = "connect-databank-0.13.0"; - version = "0.13.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/connect-databank/-/connect-databank-0.13.0.tgz"; - name = "connect-databank-0.13.0.tgz"; - sha1 = "0d5063e9402381073e0242fd7c6ef28b2d61676b"; - }; - deps = { - "async-0.2.10" = self.by-version."async"."0.2.10"; - "underscore-1.4.4" = self.by-version."underscore"."1.4.4"; - "databank-0.19.1" = self.by-version."databank"."0.19.1"; - "set-immediate-0.1.1" = self.by-version."set-immediate"."0.1.1"; - "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "connect-databank" = self.by-version."connect-databank"."0.13.0"; - by-spec."core-util-is"."~1.0.0" = - self.by-version."core-util-is"."1.0.2"; - by-version."core-util-is"."1.0.2" = self.buildNodePackage { - name = "core-util-is-1.0.2"; - version = "1.0.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; - name = "core-util-is-1.0.2.tgz"; - sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."crypto-cacerts"."0.1.x" = - self.by-version."crypto-cacerts"."0.1.0"; - by-version."crypto-cacerts"."0.1.0" = self.buildNodePackage { - name = "crypto-cacerts-0.1.0"; - version = "0.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/crypto-cacerts/-/crypto-cacerts-0.1.0.tgz"; - name = "crypto-cacerts-0.1.0.tgz"; - sha1 = "3499c6dff949ab005d4ad4a3f09c48ced6c88a41"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "crypto-cacerts" = self.by-version."crypto-cacerts"."0.1.0"; - by-spec."databank"."0.18.x" = - self.by-version."databank"."0.18.2"; - by-version."databank"."0.18.2" = self.buildNodePackage { - name = "databank-0.18.2"; - version = "0.18.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/databank/-/databank-0.18.2.tgz"; - name = "databank-0.18.2.tgz"; - sha1 = "b1f85bafa329cdb415589c0ee819a04c989a03ed"; - }; - deps = { - "vows-0.7.0" = self.by-version."vows"."0.7.0"; - "step-0.0.6" = self.by-version."step"."0.0.6"; - "set-immediate-0.1.1" = self.by-version."set-immediate"."0.1.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."databank"."0.19.x" = - self.by-version."databank"."0.19.1"; - by-version."databank"."0.19.1" = self.buildNodePackage { - name = "databank-0.19.1"; - version = "0.19.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/databank/-/databank-0.19.1.tgz"; - name = "databank-0.19.1.tgz"; - sha1 = "95c6f662927b891f62c6f07fefe5e690fbe666e0"; - }; - deps = { - "vows-0.7.0" = self.by-version."vows"."0.7.0"; - "step-0.0.6" = self.by-version."step"."0.0.6"; - "set-immediate-0.1.1" = self.by-version."set-immediate"."0.1.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "databank" = self.by-version."databank"."0.19.1"; - by-spec."databank"."~0.19.1" = - self.by-version."databank"."0.19.1"; - by-spec."databank-lrucache"."^0.1.2" = - self.by-version."databank-lrucache"."0.1.2"; - by-version."databank-lrucache"."0.1.2" = self.buildNodePackage { - name = "databank-lrucache-0.1.2"; - version = "0.1.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/databank-lrucache/-/databank-lrucache-0.1.2.tgz"; - name = "databank-lrucache-0.1.2.tgz"; - sha1 = "846d3bbc3d908ea2880baf9a611d86a28697c640"; - }; - deps = { - "databank-0.19.1" = self.by-version."databank"."0.19.1"; - "underscore-1.5.2" = self.by-version."underscore"."1.5.2"; - "lru-cache-2.3.1" = self.by-version."lru-cache"."2.3.1"; - "set-immediate-0.1.1" = self.by-version."set-immediate"."0.1.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "databank-lrucache" = self.by-version."databank-lrucache"."0.1.2"; - by-spec."databank-memcached"."^0.15.0" = - self.by-version."databank-memcached"."0.15.0"; - by-version."databank-memcached"."0.15.0" = self.buildNodePackage { - name = "databank-memcached-0.15.0"; - version = "0.15.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/databank-memcached/-/databank-memcached-0.15.0.tgz"; - name = "databank-memcached-0.15.0.tgz"; - sha1 = "0817452dfb2b09267cd1c8bbec95363ec14f14f2"; - }; - deps = { - "memcached-0.2.8" = self.by-version."memcached"."0.2.8"; - "databank-0.18.2" = self.by-version."databank"."0.18.2"; - "step-0.0.6" = self.by-version."step"."0.0.6"; - "underscore-1.4.4" = self.by-version."underscore"."1.4.4"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "databank-memcached" = self.by-version."databank-memcached"."0.15.0"; - by-spec."databank-mongodb"."^0.18.10" = - self.by-version."databank-mongodb"."0.18.10"; - by-version."databank-mongodb"."0.18.10" = self.buildNodePackage { - name = "databank-mongodb-0.18.10"; - version = "0.18.10"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/databank-mongodb/-/databank-mongodb-0.18.10.tgz"; - name = "databank-mongodb-0.18.10.tgz"; - sha1 = "5f9d37059d024f1116bdca05459f9c033b0d8ae5"; - }; - deps = { - "databank-0.19.1" = self.by-version."databank"."0.19.1"; - "mongodb-1.4.39" = self.by-version."mongodb"."1.4.39"; - "step-0.0.6" = self.by-version."step"."0.0.6"; - "underscore-1.8.3" = self.by-version."underscore"."1.8.3"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "databank-mongodb" = self.by-version."databank-mongodb"."0.18.10"; - by-spec."databank-redis"."^0.19.6" = - self.by-version."databank-redis"."0.19.6"; - by-version."databank-redis"."0.19.6" = self.buildNodePackage { - name = "databank-redis-0.19.6"; - version = "0.19.6"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/databank-redis/-/databank-redis-0.19.6.tgz"; - name = "databank-redis-0.19.6.tgz"; - sha1 = "dd476b81b8200269ea0cc85f6b6decd05799bce9"; - }; - deps = { - "async-0.9.2" = self.by-version."async"."0.9.2"; - "databank-0.19.1" = self.by-version."databank"."0.19.1"; - "redis-0.10.3" = self.by-version."redis"."0.10.3"; - "underscore-1.6.0" = self.by-version."underscore"."1.6.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "databank-redis" = self.by-version."databank-redis"."0.19.6"; - by-spec."dateformat"."1.x" = - self.by-version."dateformat"."1.0.12"; - by-version."dateformat"."1.0.12" = self.buildNodePackage { - name = "dateformat-1.0.12"; - version = "1.0.12"; - bin = true; - src = fetchurl { - url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz"; - name = "dateformat-1.0.12.tgz"; - sha1 = "9f124b67594c937ff706932e4a642cca8dbbfee9"; - }; - deps = { - "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1"; - "meow-3.6.0" = self.by-version."meow"."3.6.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "dateformat" = self.by-version."dateformat"."1.0.12"; - by-spec."debug"."*" = - self.by-version."debug"."2.2.0"; - by-version."debug"."2.2.0" = self.buildNodePackage { - name = "debug-2.2.0"; - version = "2.2.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz"; - name = "debug-2.2.0.tgz"; - sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da"; - }; - deps = { - "ms-0.7.1" = self.by-version."ms"."0.7.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."debug"."0.7.0" = - self.by-version."debug"."0.7.0"; - by-version."debug"."0.7.0" = self.buildNodePackage { - name = "debug-0.7.0"; - version = "0.7.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/debug/-/debug-0.7.0.tgz"; - name = "debug-0.7.0.tgz"; - sha1 = "f5be05ec0434c992d79940e50b2695cfb2e01b08"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."dialback-client"."~0.1.5" = - self.by-version."dialback-client"."0.1.5"; - by-version."dialback-client"."0.1.5" = self.buildNodePackage { - name = "dialback-client-0.1.5"; - version = "0.1.5"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/dialback-client/-/dialback-client-0.1.5.tgz"; - name = "dialback-client-0.1.5.tgz"; - sha1 = "ff37f58554ac7dca79a219ba3e6e7c5ed4cc0745"; - }; - deps = { - "express-2.5.11" = self.by-version."express"."2.5.11"; - "underscore-1.4.4" = self.by-version."underscore"."1.4.4"; - "databank-0.18.2" = self.by-version."databank"."0.18.2"; - "step-0.0.6" = self.by-version."step"."0.0.6"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "dialback-client" = self.by-version."dialback-client"."0.1.5"; - by-spec."diff"."~1.0.3" = - self.by-version."diff"."1.0.8"; - by-version."diff"."1.0.8" = self.buildNodePackage { - name = "diff-1.0.8"; - version = "1.0.8"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz"; - name = "diff-1.0.8.tgz"; - sha1 = "343276308ec991b7bc82267ed55bc1411f971666"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."dtrace-provider"."0.2.4" = - self.by-version."dtrace-provider"."0.2.4"; - by-version."dtrace-provider"."0.2.4" = self.buildNodePackage { - name = "dtrace-provider-0.2.4"; - version = "0.2.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.4.tgz"; - name = "dtrace-provider-0.2.4.tgz"; - sha1 = "0719d4449c8994cc89e317cf0d732213f94653d7"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."emailjs"."0.3.x" = - self.by-version."emailjs"."0.3.16"; - by-version."emailjs"."0.3.16" = self.buildNodePackage { - name = "emailjs-0.3.16"; - version = "0.3.16"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/emailjs/-/emailjs-0.3.16.tgz"; - name = "emailjs-0.3.16.tgz"; - sha1 = "f162735352ce7b6615a5d811714051f90f23331d"; - }; - deps = { - "addressparser-0.3.2" = self.by-version."addressparser"."0.3.2"; - "mimelib-0.2.14" = self.by-version."mimelib"."0.2.14"; - "moment-1.7.0" = self.by-version."moment"."1.7.0"; - "starttls-0.2.1" = self.by-version."starttls"."0.2.1"; - }; - optionalDependencies = { - "bufferjs-1.1.0" = self.by-version."bufferjs"."1.1.0"; - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "emailjs" = self.by-version."emailjs"."0.3.16"; - by-spec."encoding"."~0.1" = - self.by-version."encoding"."0.1.11"; - by-version."encoding"."0.1.11" = self.buildNodePackage { - name = "encoding-0.1.11"; - version = "0.1.11"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/encoding/-/encoding-0.1.11.tgz"; - name = "encoding-0.1.11.tgz"; - sha1 = "52c65ac15aab467f1338451e2615f988eccc0258"; - }; - deps = { - "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."error-ex"."^1.2.0" = - self.by-version."error-ex"."1.3.0"; - by-version."error-ex"."1.3.0" = self.buildNodePackage { - name = "error-ex-1.3.0"; - version = "1.3.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz"; - name = "error-ex-1.3.0.tgz"; - sha1 = "e67b43f3e82c96ea3a584ffee0b9fc3325d802d9"; - }; - deps = { - "is-arrayish-0.2.1" = self.by-version."is-arrayish"."0.2.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."express"."2.5.x" = - self.by-version."express"."2.5.11"; - by-version."express"."2.5.11" = self.buildNodePackage { - name = "express-2.5.11"; - version = "2.5.11"; - bin = true; - src = fetchurl { - url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz"; - name = "express-2.5.11.tgz"; - sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0"; - }; - deps = { - "connect-1.9.2" = self.by-version."connect"."1.9.2"; - "mime-1.2.4" = self.by-version."mime"."1.2.4"; - "qs-0.4.2" = self.by-version."qs"."0.4.2"; - "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "express" = self.by-version."express"."2.5.11"; - by-spec."eyes".">=0.1.6" = - self.by-version."eyes"."0.1.8"; - by-version."eyes"."0.1.8" = self.buildNodePackage { - name = "eyes-0.1.8"; - version = "0.1.8"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz"; - name = "eyes-0.1.8.tgz"; - sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."faye-websocket"."^0.9.3" = - self.by-version."faye-websocket"."0.9.4"; - by-version."faye-websocket"."0.9.4" = self.buildNodePackage { - name = "faye-websocket-0.9.4"; - version = "0.9.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.9.4.tgz"; - name = "faye-websocket-0.9.4.tgz"; - sha1 = "885934c79effb0409549e0c0a3801ed17a40cdad"; - }; - deps = { - "websocket-driver-0.6.3" = self.by-version."websocket-driver"."0.6.3"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."find-up"."^1.0.0" = - self.by-version."find-up"."1.1.0"; - by-version."find-up"."1.1.0" = self.buildNodePackage { - name = "find-up-1.1.0"; - version = "1.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/find-up/-/find-up-1.1.0.tgz"; - name = "find-up-1.1.0.tgz"; - sha1 = "a63b0eec4625a2902534898a5f9eec8aaed046e9"; - }; - deps = { - "path-exists-2.1.0" = self.by-version."path-exists"."2.1.0"; - "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."formidable"."1.0.x" = - self.by-version."formidable"."1.0.17"; - by-version."formidable"."1.0.17" = self.buildNodePackage { - name = "formidable-1.0.17"; - version = "1.0.17"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz"; - name = "formidable-1.0.17.tgz"; - sha1 = "ef5491490f9433b705faa77249c99029ae348559"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."get-stdin"."^4.0.1" = - self.by-version."get-stdin"."4.0.1"; - by-version."get-stdin"."4.0.1" = self.buildNodePackage { - name = "get-stdin-4.0.1"; - version = "4.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"; - name = "get-stdin-4.0.1.tgz"; - sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."gm"."1.9.x" = - self.by-version."gm"."1.9.2"; - by-version."gm"."1.9.2" = self.buildNodePackage { - name = "gm-1.9.2"; - version = "1.9.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/gm/-/gm-1.9.2.tgz"; - name = "gm-1.9.2.tgz"; - sha1 = "00443279fe959a10fa23025e0c8401e710215845"; - }; - deps = { - "debug-0.7.0" = self.by-version."debug"."0.7.0"; - "array-series-0.1.5" = self.by-version."array-series"."0.1.5"; - "array-parallel-0.1.3" = self.by-version."array-parallel"."0.1.3"; - "through-2.3.8" = self.by-version."through"."2.3.8"; - "stream-to-buffer-0.0.1" = self.by-version."stream-to-buffer"."0.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "gm" = self.by-version."gm"."1.9.2"; - by-spec."graceful-fs"."^4.1.2" = - self.by-version."graceful-fs"."4.1.2"; - by-version."graceful-fs"."4.1.2" = self.buildNodePackage { - name = "graceful-fs-4.1.2"; - version = "4.1.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.2.tgz"; - name = "graceful-fs-4.1.2.tgz"; - sha1 = "fe2239b7574972e67e41f808823f9bfa4a991e37"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."hashring"."0.0.x" = - self.by-version."hashring"."0.0.8"; - by-version."hashring"."0.0.8" = self.buildNodePackage { - name = "hashring-0.0.8"; - version = "0.0.8"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/hashring/-/hashring-0.0.8.tgz"; - name = "hashring-0.0.8.tgz"; - sha1 = "203ab13c364119f10106526d2eaf7bd42b484c31"; - }; - deps = { - "bisection-0.0.3" = self.by-version."bisection"."0.0.3"; - "simple-lru-cache-0.0.2" = self.by-version."simple-lru-cache"."0.0.2"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."hosted-git-info"."^2.1.4" = - self.by-version."hosted-git-info"."2.1.4"; - by-version."hosted-git-info"."2.1.4" = self.buildNodePackage { - name = "hosted-git-info-2.1.4"; - version = "2.1.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz"; - name = "hosted-git-info-2.1.4.tgz"; - sha1 = "d9e953b26988be88096c46e926494d9604c300f8"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."iconv-lite"."~0.4.4" = - self.by-version."iconv-lite"."0.4.13"; - by-version."iconv-lite"."0.4.13" = self.buildNodePackage { - name = "iconv-lite-0.4.13"; - version = "0.4.13"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz"; - name = "iconv-lite-0.4.13.tgz"; - sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."indent-string"."^2.1.0" = - self.by-version."indent-string"."2.1.0"; - by-version."indent-string"."2.1.0" = self.buildNodePackage { - name = "indent-string-2.1.0"; - version = "2.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz"; - name = "indent-string-2.1.0.tgz"; - sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80"; - }; - deps = { - "repeating-2.0.0" = self.by-version."repeating"."2.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."inherits"."~2.0.1" = - self.by-version."inherits"."2.0.1"; - by-version."inherits"."2.0.1" = self.buildNodePackage { - name = "inherits-2.0.1"; - version = "2.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"; - name = "inherits-2.0.1.tgz"; - sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."is-arrayish"."^0.2.1" = - self.by-version."is-arrayish"."0.2.1"; - by-version."is-arrayish"."0.2.1" = self.buildNodePackage { - name = "is-arrayish-0.2.1"; - version = "0.2.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"; - name = "is-arrayish-0.2.1.tgz"; - sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."is-builtin-module"."^1.0.0" = - self.by-version."is-builtin-module"."1.0.0"; - by-version."is-builtin-module"."1.0.0" = self.buildNodePackage { - name = "is-builtin-module-1.0.0"; - version = "1.0.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz"; - name = "is-builtin-module-1.0.0.tgz"; - sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe"; - }; - deps = { - "builtin-modules-1.1.0" = self.by-version."builtin-modules"."1.1.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."is-finite"."^1.0.0" = - self.by-version."is-finite"."1.0.1"; - by-version."is-finite"."1.0.1" = self.buildNodePackage { - name = "is-finite-1.0.1"; - version = "1.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz"; - name = "is-finite-1.0.1.tgz"; - sha1 = "6438603eaebe2793948ff4a4262ec8db3d62597b"; - }; - deps = { - "number-is-nan-1.0.0" = self.by-version."number-is-nan"."1.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."is-utf8"."^0.2.0" = - self.by-version."is-utf8"."0.2.0"; - by-version."is-utf8"."0.2.0" = self.buildNodePackage { - name = "is-utf8-0.2.0"; - version = "0.2.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/is-utf8/-/is-utf8-0.2.0.tgz"; - name = "is-utf8-0.2.0.tgz"; - sha1 = "b8aa54125ae626bfe4e3beb965f16a89c58a1137"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."isarray"."0.0.1" = - self.by-version."isarray"."0.0.1"; - by-version."isarray"."0.0.1" = self.buildNodePackage { - name = "isarray-0.0.1"; - version = "0.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"; - name = "isarray-0.0.1.tgz"; - sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."jackpot".">=0.0.6" = - self.by-version."jackpot"."0.0.6"; - by-version."jackpot"."0.0.6" = self.buildNodePackage { - name = "jackpot-0.0.6"; - version = "0.0.6"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/jackpot/-/jackpot-0.0.6.tgz"; - name = "jackpot-0.0.6.tgz"; - sha1 = "3cff064285cbf66f4eab2593c90bce816a821849"; - }; - deps = { - "retry-0.6.0" = self.by-version."retry"."0.6.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."jankyqueue"."0.1.x" = - self.by-version."jankyqueue"."0.1.1"; - by-version."jankyqueue"."0.1.1" = self.buildNodePackage { - name = "jankyqueue-0.1.1"; - version = "0.1.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/jankyqueue/-/jankyqueue-0.1.1.tgz"; - name = "jankyqueue-0.1.1.tgz"; - sha1 = "4181b0318fb32e77aee8c54af73f97660f2e88d2"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "jankyqueue" = self.by-version."jankyqueue"."0.1.1"; - by-spec."kerberos"."0.0.11" = - self.by-version."kerberos"."0.0.11"; - by-version."kerberos"."0.0.11" = self.buildNodePackage { - name = "kerberos-0.0.11"; - version = "0.0.11"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.11.tgz"; - name = "kerberos-0.0.11.tgz"; - sha1 = "cb29891c21c22ac195f3140b97dd12204fea7dc2"; - }; - deps = { - "nan-1.8.4" = self.by-version."nan"."1.8.4"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."load-json-file"."^1.0.0" = - self.by-version."load-json-file"."1.1.0"; - by-version."load-json-file"."1.1.0" = self.buildNodePackage { - name = "load-json-file-1.1.0"; - version = "1.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz"; - name = "load-json-file-1.1.0.tgz"; - sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0"; - }; - deps = { - "graceful-fs-4.1.2" = self.by-version."graceful-fs"."4.1.2"; - "parse-json-2.2.0" = self.by-version."parse-json"."2.2.0"; - "pify-2.3.0" = self.by-version."pify"."2.3.0"; - "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0"; - "strip-bom-2.0.0" = self.by-version."strip-bom"."2.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."loud-rejection"."^1.0.0" = - self.by-version."loud-rejection"."1.2.0"; - by-version."loud-rejection"."1.2.0" = self.buildNodePackage { - name = "loud-rejection-1.2.0"; - version = "1.2.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/loud-rejection/-/loud-rejection-1.2.0.tgz"; - name = "loud-rejection-1.2.0.tgz"; - sha1 = "f4f87db6abec3b7fe47834531ecf6a011143e58d"; - }; - deps = { - "signal-exit-2.1.2" = self.by-version."signal-exit"."2.1.2"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."lru-cache"."2.3.x" = - self.by-version."lru-cache"."2.3.1"; - by-version."lru-cache"."2.3.1" = self.buildNodePackage { - name = "lru-cache-2.3.1"; - version = "2.3.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz"; - name = "lru-cache-2.3.1.tgz"; - sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."map-obj"."^1.0.0" = - self.by-version."map-obj"."1.0.1"; - by-version."map-obj"."1.0.1" = self.buildNodePackage { - name = "map-obj-1.0.1"; - version = "1.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"; - name = "map-obj-1.0.1.tgz"; - sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."memcached"."0.2.x" = - self.by-version."memcached"."0.2.8"; - by-version."memcached"."0.2.8" = self.buildNodePackage { - name = "memcached-0.2.8"; - version = "0.2.8"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/memcached/-/memcached-0.2.8.tgz"; - name = "memcached-0.2.8.tgz"; - sha1 = "ffbf9498cbc30779625b77e77770bd50dc525212"; - }; - deps = { - "hashring-0.0.8" = self.by-version."hashring"."0.0.8"; - "jackpot-0.0.6" = self.by-version."jackpot"."0.0.6"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."meow"."^3.3.0" = - self.by-version."meow"."3.6.0"; - by-version."meow"."3.6.0" = self.buildNodePackage { - name = "meow-3.6.0"; - version = "3.6.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/meow/-/meow-3.6.0.tgz"; - name = "meow-3.6.0.tgz"; - sha1 = "e7a535295cb89db0e0782428e55fa8615bf9e150"; - }; - deps = { - "camelcase-keys-2.0.0" = self.by-version."camelcase-keys"."2.0.0"; - "loud-rejection-1.2.0" = self.by-version."loud-rejection"."1.2.0"; - "minimist-1.2.0" = self.by-version."minimist"."1.2.0"; - "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5"; - "object-assign-4.0.1" = self.by-version."object-assign"."4.0.1"; - "read-pkg-up-1.0.1" = self.by-version."read-pkg-up"."1.0.1"; - "redent-1.0.0" = self.by-version."redent"."1.0.0"; - "trim-newlines-1.0.0" = self.by-version."trim-newlines"."1.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mime"."1.2.4" = - self.by-version."mime"."1.2.4"; - by-version."mime"."1.2.4" = self.buildNodePackage { - name = "mime-1.2.4"; - version = "1.2.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/mime/-/mime-1.2.4.tgz"; - name = "mime-1.2.4.tgz"; - sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mime".">= 0.0.1" = - self.by-version."mime"."1.3.4"; - by-version."mime"."1.3.4" = self.buildNodePackage { - name = "mime-1.3.4"; - version = "1.3.4"; - bin = true; - src = fetchurl { - url = "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz"; - name = "mime-1.3.4.tgz"; - sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mimelib"."0.2.14" = - self.by-version."mimelib"."0.2.14"; - by-version."mimelib"."0.2.14" = self.buildNodePackage { - name = "mimelib-0.2.14"; - version = "0.2.14"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz"; - name = "mimelib-0.2.14.tgz"; - sha1 = "2a1aa724bd190b85bd526e6317ab6106edfd6831"; - }; - deps = { - "encoding-0.1.11" = self.by-version."encoding"."0.1.11"; - "addressparser-0.2.1" = self.by-version."addressparser"."0.2.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."minimist"."^1.1.3" = - self.by-version."minimist"."1.2.0"; - by-version."minimist"."1.2.0" = self.buildNodePackage { - name = "minimist-1.2.0"; - version = "1.2.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"; - name = "minimist-1.2.0.tgz"; - sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mkdirp"."0.3.0" = - self.by-version."mkdirp"."0.3.0"; - by-version."mkdirp"."0.3.0" = self.buildNodePackage { - name = "mkdirp-0.3.0"; - version = "0.3.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz"; - name = "mkdirp-0.3.0.tgz"; - sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mkdirp"."0.3.x" = - self.by-version."mkdirp"."0.3.5"; - by-version."mkdirp"."0.3.5" = self.buildNodePackage { - name = "mkdirp-0.3.5"; - version = "0.3.5"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"; - name = "mkdirp-0.3.5.tgz"; - sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "mkdirp" = self.by-version."mkdirp"."0.3.5"; - by-spec."moment"."= 1.7.0" = - self.by-version."moment"."1.7.0"; - by-version."moment"."1.7.0" = self.buildNodePackage { - name = "moment-1.7.0"; - version = "1.7.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/moment/-/moment-1.7.0.tgz"; - name = "moment-1.7.0.tgz"; - sha1 = "6f3d73a446c6bd6af1b993801d0b8071efad5e28"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mongodb"."1.4.x" = - self.by-version."mongodb"."1.4.39"; - by-version."mongodb"."1.4.39" = self.buildNodePackage { - name = "mongodb-1.4.39"; - version = "1.4.39"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.39.tgz"; - name = "mongodb-1.4.39.tgz"; - sha1 = "f5b25c7f7df06c968cd5d3c68280adc9a6404591"; - }; - deps = { - "bson-0.2.22" = self.by-version."bson"."0.2.22"; - }; - optionalDependencies = { - "kerberos-0.0.11" = self.by-version."kerberos"."0.0.11"; - "readable-stream-2.0.4" = self.by-version."readable-stream"."2.0.4"; - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."ms"."0.7.1" = - self.by-version."ms"."0.7.1"; - by-version."ms"."0.7.1" = self.buildNodePackage { - name = "ms-0.7.1"; - version = "0.7.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"; - name = "ms-0.7.1.tgz"; - sha1 = "9cd13c03adbff25b65effde7ce864ee952017098"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."nan"."2.0.5" = - self.by-version."nan"."2.0.5"; - by-version."nan"."2.0.5" = self.buildNodePackage { - name = "nan-2.0.5"; - version = "2.0.5"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/nan/-/nan-2.0.5.tgz"; - name = "nan-2.0.5.tgz"; - sha1 = "365888014be1fd178db0cbfa258edf7b0cb1c408"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."nan"."~1.8" = - self.by-version."nan"."1.8.4"; - by-version."nan"."1.8.4" = self.buildNodePackage { - name = "nan-1.8.4"; - version = "1.8.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/nan/-/nan-1.8.4.tgz"; - name = "nan-1.8.4.tgz"; - sha1 = "3c76b5382eab33e44b758d2813ca9d92e9342f34"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."node-uuid"."1.3.x" = - self.by-version."node-uuid"."1.3.3"; - by-version."node-uuid"."1.3.3" = self.buildNodePackage { - name = "node-uuid-1.3.3"; - version = "1.3.3"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz"; - name = "node-uuid-1.3.3.tgz"; - sha1 = "d3db4d7b56810d9e4032342766282af07391729b"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "node-uuid" = self.by-version."node-uuid"."1.3.3"; - by-spec."node-uuid"."1.4.x" = - self.by-version."node-uuid"."1.4.7"; - by-version."node-uuid"."1.4.7" = self.buildNodePackage { - name = "node-uuid-1.4.7"; - version = "1.4.7"; - bin = true; - src = fetchurl { - url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz"; - name = "node-uuid-1.4.7.tgz"; - sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."node-uuid"."^1.4.1" = - self.by-version."node-uuid"."1.4.7"; - by-spec."normalize-package-data"."^2.3.2" = - self.by-version."normalize-package-data"."2.3.5"; - by-version."normalize-package-data"."2.3.5" = self.buildNodePackage { - name = "normalize-package-data-2.3.5"; - version = "2.3.5"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz"; - name = "normalize-package-data-2.3.5.tgz"; - sha1 = "8d924f142960e1777e7ffe170543631cc7cb02df"; - }; - deps = { - "hosted-git-info-2.1.4" = self.by-version."hosted-git-info"."2.1.4"; - "is-builtin-module-1.0.0" = self.by-version."is-builtin-module"."1.0.0"; - "semver-5.1.0" = self.by-version."semver"."5.1.0"; - "validate-npm-package-license-3.0.1" = self.by-version."validate-npm-package-license"."3.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."normalize-package-data"."^2.3.4" = - self.by-version."normalize-package-data"."2.3.5"; - by-spec."number-is-nan"."^1.0.0" = - self.by-version."number-is-nan"."1.0.0"; - by-version."number-is-nan"."1.0.0" = self.buildNodePackage { - name = "number-is-nan-1.0.0"; - version = "1.0.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz"; - name = "number-is-nan-1.0.0.tgz"; - sha1 = "c020f529c5282adfdd233d91d4b181c3d686dc4b"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."oauth"."0.9.7" = - self.by-version."oauth"."0.9.7"; - by-version."oauth"."0.9.7" = self.buildNodePackage { - name = "oauth-0.9.7"; - version = "0.9.7"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/oauth/-/oauth-0.9.7.tgz"; - name = "oauth-0.9.7.tgz"; - sha1 = "c2554d0368c966eb3050bec96584625577ad1ecd"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."oauth-evanp"."~0.9.10-evanp.2" = - self.by-version."oauth-evanp"."0.9.10-evanp.2"; - by-version."oauth-evanp"."0.9.10-evanp.2" = self.buildNodePackage { - name = "oauth-evanp-0.9.10-evanp.2"; - version = "0.9.10-evanp.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/oauth-evanp/-/oauth-evanp-0.9.10-evanp.2.tgz"; - name = "oauth-evanp-0.9.10-evanp.2.tgz"; - sha1 = "9b5fb3508cea584420855957d56531405cf53a02"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "oauth-evanp" = self.by-version."oauth-evanp"."0.9.10-evanp.2"; - by-spec."object-assign"."^4.0.1" = - self.by-version."object-assign"."4.0.1"; - by-version."object-assign"."4.0.1" = self.buildNodePackage { - name = "object-assign-4.0.1"; - version = "4.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz"; - name = "object-assign-4.0.1.tgz"; - sha1 = "99504456c3598b5cad4fc59c26e8a9bb107fe0bd"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."openid"."0.4.1" = - self.by-version."openid"."0.4.1"; - by-version."openid"."0.4.1" = self.buildNodePackage { - name = "openid-0.4.1"; - version = "0.4.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/openid/-/openid-0.4.1.tgz"; - name = "openid-0.4.1.tgz"; - sha1 = "de0eb5e381d34dc4aa5a77a98678bedafd11f387"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."optimist"."0.3.x" = - self.by-version."optimist"."0.3.7"; - by-version."optimist"."0.3.7" = self.buildNodePackage { - name = "optimist-0.3.7"; - version = "0.3.7"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz"; - name = "optimist-0.3.7.tgz"; - sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9"; - }; - deps = { - "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "optimist" = self.by-version."optimist"."0.3.7"; - by-spec."parse-json"."^2.2.0" = - self.by-version."parse-json"."2.2.0"; - by-version."parse-json"."2.2.0" = self.buildNodePackage { - name = "parse-json-2.2.0"; - version = "2.2.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz"; - name = "parse-json-2.2.0.tgz"; - sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9"; - }; - deps = { - "error-ex-1.3.0" = self.by-version."error-ex"."1.3.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."path-exists"."^2.0.0" = - self.by-version."path-exists"."2.1.0"; - by-version."path-exists"."2.1.0" = self.buildNodePackage { - name = "path-exists-2.1.0"; - version = "2.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz"; - name = "path-exists-2.1.0.tgz"; - sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b"; - }; - deps = { - "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."path-type"."^1.0.0" = - self.by-version."path-type"."1.1.0"; - by-version."path-type"."1.1.0" = self.buildNodePackage { - name = "path-type-1.1.0"; - version = "1.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"; - name = "path-type-1.1.0.tgz"; - sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441"; - }; - deps = { - "graceful-fs-4.1.2" = self.by-version."graceful-fs"."4.1.2"; - "pify-2.3.0" = self.by-version."pify"."2.3.0"; - "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."pify"."^2.0.0" = - self.by-version."pify"."2.3.0"; - by-version."pify"."2.3.0" = self.buildNodePackage { - name = "pify-2.3.0"; - version = "2.3.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz"; - name = "pify-2.3.0.tgz"; - sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."pinkie"."^2.0.0" = - self.by-version."pinkie"."2.0.1"; - by-version."pinkie"."2.0.1" = self.buildNodePackage { - name = "pinkie-2.0.1"; - version = "2.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/pinkie/-/pinkie-2.0.1.tgz"; - name = "pinkie-2.0.1.tgz"; - sha1 = "4236c86fc29f261c2045bbe81f78cbb2a5e8306c"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."pinkie-promise"."^2.0.0" = - self.by-version."pinkie-promise"."2.0.0"; - by-version."pinkie-promise"."2.0.0" = self.buildNodePackage { - name = "pinkie-promise-2.0.0"; - version = "2.0.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz"; - name = "pinkie-promise-2.0.0.tgz"; - sha1 = "4c83538de1f6e660c29e0a13446844f7a7e88259"; - }; - deps = { - "pinkie-2.0.1" = self.by-version."pinkie"."2.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."process-nextick-args"."~1.0.0" = - self.by-version."process-nextick-args"."1.0.6"; - by-version."process-nextick-args"."1.0.6" = self.buildNodePackage { - name = "process-nextick-args-1.0.6"; - version = "1.0.6"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz"; - name = "process-nextick-args-1.0.6.tgz"; - sha1 = "0f96b001cea90b12592ce566edb97ec11e69bd05"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."qs"."0.4.x" = - self.by-version."qs"."0.4.2"; - by-version."qs"."0.4.2" = self.buildNodePackage { - name = "qs-0.4.2"; - version = "0.4.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/qs/-/qs-0.4.2.tgz"; - name = "qs-0.4.2.tgz"; - sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."qs".">= 0.4.0" = - self.by-version."qs"."6.0.1"; - by-version."qs"."6.0.1" = self.buildNodePackage { - name = "qs-6.0.1"; - version = "6.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/qs/-/qs-6.0.1.tgz"; - name = "qs-6.0.1.tgz"; - sha1 = "ee8b7fcd64fcbe6e36c922bd2c464ee7c54766c3"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."read-pkg"."^1.0.0" = - self.by-version."read-pkg"."1.1.0"; - by-version."read-pkg"."1.1.0" = self.buildNodePackage { - name = "read-pkg-1.1.0"; - version = "1.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"; - name = "read-pkg-1.1.0.tgz"; - sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"; - }; - deps = { - "load-json-file-1.1.0" = self.by-version."load-json-file"."1.1.0"; - "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5"; - "path-type-1.1.0" = self.by-version."path-type"."1.1.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."read-pkg-up"."^1.0.1" = - self.by-version."read-pkg-up"."1.0.1"; - by-version."read-pkg-up"."1.0.1" = self.buildNodePackage { - name = "read-pkg-up-1.0.1"; - version = "1.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz"; - name = "read-pkg-up-1.0.1.tgz"; - sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02"; - }; - deps = { - "find-up-1.1.0" = self.by-version."find-up"."1.1.0"; - "read-pkg-1.1.0" = self.by-version."read-pkg"."1.1.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."readable-stream"."*" = - self.by-version."readable-stream"."2.0.4"; - by-version."readable-stream"."2.0.4" = self.buildNodePackage { - name = "readable-stream-2.0.4"; - version = "2.0.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.4.tgz"; - name = "readable-stream-2.0.4.tgz"; - sha1 = "2523ef27ffa339d7ba9da8603f2d0599d06edbd8"; - }; - deps = { - "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2"; - "inherits-2.0.1" = self.by-version."inherits"."2.0.1"; - "isarray-0.0.1" = self.by-version."isarray"."0.0.1"; - "process-nextick-args-1.0.6" = self.by-version."process-nextick-args"."1.0.6"; - "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31"; - "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."redent"."^1.0.0" = - self.by-version."redent"."1.0.0"; - by-version."redent"."1.0.0" = self.buildNodePackage { - name = "redent-1.0.0"; - version = "1.0.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/redent/-/redent-1.0.0.tgz"; - name = "redent-1.0.0.tgz"; - sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"; - }; - deps = { - "indent-string-2.1.0" = self.by-version."indent-string"."2.1.0"; - "strip-indent-1.0.1" = self.by-version."strip-indent"."1.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."redis"."~0.10.3" = - self.by-version."redis"."0.10.3"; - by-version."redis"."0.10.3" = self.buildNodePackage { - name = "redis-0.10.3"; - version = "0.10.3"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/redis/-/redis-0.10.3.tgz"; - name = "redis-0.10.3.tgz"; - sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."repeating"."^2.0.0" = - self.by-version."repeating"."2.0.0"; - by-version."repeating"."2.0.0" = self.buildNodePackage { - name = "repeating-2.0.0"; - version = "2.0.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/repeating/-/repeating-2.0.0.tgz"; - name = "repeating-2.0.0.tgz"; - sha1 = "fd27d6d264d18fbebfaa56553dd7b82535a5034e"; - }; - deps = { - "is-finite-1.0.1" = self.by-version."is-finite"."1.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."retry"."0.6.0" = - self.by-version."retry"."0.6.0"; - by-version."retry"."0.6.0" = self.buildNodePackage { - name = "retry-0.6.0"; - version = "0.6.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz"; - name = "retry-0.6.0.tgz"; - sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."sax".">=0.1.1" = - self.by-version."sax"."1.1.4"; - by-version."sax"."1.1.4" = self.buildNodePackage { - name = "sax-1.1.4"; - version = "1.1.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/sax/-/sax-1.1.4.tgz"; - name = "sax-1.1.4.tgz"; - sha1 = "74b6d33c9ae1e001510f179a91168588f1aedaa9"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."schlock"."~0.2.1" = - self.by-version."schlock"."0.2.1"; - by-version."schlock"."0.2.1" = self.buildNodePackage { - name = "schlock-0.2.1"; - version = "0.2.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/schlock/-/schlock-0.2.1.tgz"; - name = "schlock-0.2.1.tgz"; - sha1 = "2a9aaeaa209a5422eadc5dfc005e2c2f15241f99"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "schlock" = self.by-version."schlock"."0.2.1"; - by-spec."semver"."2 || 3 || 4 || 5" = - self.by-version."semver"."5.1.0"; - by-version."semver"."5.1.0" = self.buildNodePackage { - name = "semver-5.1.0"; - version = "5.1.0"; - bin = true; - src = fetchurl { - url = "http://registry.npmjs.org/semver/-/semver-5.1.0.tgz"; - name = "semver-5.1.0.tgz"; - sha1 = "85f2cf8550465c4df000cf7d86f6b054106ab9e5"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."set-immediate"."0.1.x" = - self.by-version."set-immediate"."0.1.1"; - by-version."set-immediate"."0.1.1" = self.buildNodePackage { - name = "set-immediate-0.1.1"; - version = "0.1.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/set-immediate/-/set-immediate-0.1.1.tgz"; - name = "set-immediate-0.1.1.tgz"; - sha1 = "8986e4a773bf8ec165f24d579107673bfac141de"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "set-immediate" = self.by-version."set-immediate"."0.1.1"; - by-spec."set-immediate"."~0.1.1" = - self.by-version."set-immediate"."0.1.1"; - by-spec."showdown"."0.3.x" = - self.by-version."showdown"."0.3.4"; - by-version."showdown"."0.3.4" = self.buildNodePackage { - name = "showdown-0.3.4"; - version = "0.3.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/showdown/-/showdown-0.3.4.tgz"; - name = "showdown-0.3.4.tgz"; - sha1 = "b056fa0209d44ac55c90331b44a934774976ac55"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "showdown" = self.by-version."showdown"."0.3.4"; - by-spec."signal-exit"."^2.1.2" = - self.by-version."signal-exit"."2.1.2"; - by-version."signal-exit"."2.1.2" = self.buildNodePackage { - name = "signal-exit-2.1.2"; - version = "2.1.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/signal-exit/-/signal-exit-2.1.2.tgz"; - name = "signal-exit-2.1.2.tgz"; - sha1 = "375879b1f92ebc3b334480d038dc546a6d558564"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."simple-lru-cache"."0.0.x" = - self.by-version."simple-lru-cache"."0.0.2"; - by-version."simple-lru-cache"."0.0.2" = self.buildNodePackage { - name = "simple-lru-cache-0.0.2"; - version = "0.0.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz"; - name = "simple-lru-cache-0.0.2.tgz"; - sha1 = "d59cc3a193c1a5d0320f84ee732f6e4713e511dd"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."sockjs"."0.3.x" = - self.by-version."sockjs"."0.3.15"; - by-version."sockjs"."0.3.15" = self.buildNodePackage { - name = "sockjs-0.3.15"; - version = "0.3.15"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.15.tgz"; - name = "sockjs-0.3.15.tgz"; - sha1 = "e19b577e59e0fbdb21a0ae4f46203ca24cad8db8"; - }; - deps = { - "faye-websocket-0.9.4" = self.by-version."faye-websocket"."0.9.4"; - "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "sockjs" = self.by-version."sockjs"."0.3.15"; - by-spec."spdx-correct"."~1.0.0" = - self.by-version."spdx-correct"."1.0.2"; - by-version."spdx-correct"."1.0.2" = self.buildNodePackage { - name = "spdx-correct-1.0.2"; - version = "1.0.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz"; - name = "spdx-correct-1.0.2.tgz"; - sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40"; - }; - deps = { - "spdx-license-ids-1.1.0" = self.by-version."spdx-license-ids"."1.1.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."spdx-exceptions"."^1.0.4" = - self.by-version."spdx-exceptions"."1.0.4"; - by-version."spdx-exceptions"."1.0.4" = self.buildNodePackage { - name = "spdx-exceptions-1.0.4"; - version = "1.0.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.4.tgz"; - name = "spdx-exceptions-1.0.4.tgz"; - sha1 = "220b84239119ae9045a892db81a83f4ce16f80fd"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."spdx-expression-parse"."~1.0.0" = - self.by-version."spdx-expression-parse"."1.0.2"; - by-version."spdx-expression-parse"."1.0.2" = self.buildNodePackage { - name = "spdx-expression-parse-1.0.2"; - version = "1.0.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz"; - name = "spdx-expression-parse-1.0.2.tgz"; - sha1 = "d52b14b5e9670771440af225bcb563122ac452f6"; - }; - deps = { - "spdx-exceptions-1.0.4" = self.by-version."spdx-exceptions"."1.0.4"; - "spdx-license-ids-1.1.0" = self.by-version."spdx-license-ids"."1.1.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."spdx-license-ids"."^1.0.0" = - self.by-version."spdx-license-ids"."1.1.0"; - by-version."spdx-license-ids"."1.1.0" = self.buildNodePackage { - name = "spdx-license-ids-1.1.0"; - version = "1.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.1.0.tgz"; - name = "spdx-license-ids-1.1.0.tgz"; - sha1 = "28694acdf39fe27de45143fff81f21f6c66d44ac"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."spdx-license-ids"."^1.0.2" = - self.by-version."spdx-license-ids"."1.1.0"; - by-spec."starttls"."0.2.1" = - self.by-version."starttls"."0.2.1"; - by-version."starttls"."0.2.1" = self.buildNodePackage { - name = "starttls-0.2.1"; - version = "0.2.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/starttls/-/starttls-0.2.1.tgz"; - name = "starttls-0.2.1.tgz"; - sha1 = "b98d3e5e778d46f199c843a64f889f0347c6d19a"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."step"."0.0.x" = - self.by-version."step"."0.0.6"; - by-version."step"."0.0.6" = self.buildNodePackage { - name = "step-0.0.6"; - version = "0.0.6"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/step/-/step-0.0.6.tgz"; - name = "step-0.0.6.tgz"; - sha1 = "143e7849a5d7d3f4a088fe29af94915216eeede2"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "step" = self.by-version."step"."0.0.6"; - by-spec."stream-to-buffer"."~0.0.1" = - self.by-version."stream-to-buffer"."0.0.1"; - by-version."stream-to-buffer"."0.0.1" = self.buildNodePackage { - name = "stream-to-buffer-0.0.1"; - version = "0.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.0.1.tgz"; - name = "stream-to-buffer-0.0.1.tgz"; - sha1 = "ab483d59a1ca71832de379a255f465b665af45c1"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."string_decoder"."~0.10.x" = - self.by-version."string_decoder"."0.10.31"; - by-version."string_decoder"."0.10.31" = self.buildNodePackage { - name = "string_decoder-0.10.31"; - version = "0.10.31"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"; - name = "string_decoder-0.10.31.tgz"; - sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."strip-bom"."^2.0.0" = - self.by-version."strip-bom"."2.0.0"; - by-version."strip-bom"."2.0.0" = self.buildNodePackage { - name = "strip-bom-2.0.0"; - version = "2.0.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"; - name = "strip-bom-2.0.0.tgz"; - sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e"; - }; - deps = { - "is-utf8-0.2.0" = self.by-version."is-utf8"."0.2.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."strip-indent"."^1.0.1" = - self.by-version."strip-indent"."1.0.1"; - by-version."strip-indent"."1.0.1" = self.buildNodePackage { - name = "strip-indent-1.0.1"; - version = "1.0.1"; - bin = true; - src = fetchurl { - url = "http://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz"; - name = "strip-indent-1.0.1.tgz"; - sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2"; - }; - deps = { - "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."through"."~2.3.1" = - self.by-version."through"."2.3.8"; - by-version."through"."2.3.8" = self.buildNodePackage { - name = "through-2.3.8"; - version = "2.3.8"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/through/-/through-2.3.8.tgz"; - name = "through-2.3.8.tgz"; - sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."trim-newlines"."^1.0.0" = - self.by-version."trim-newlines"."1.0.0"; - by-version."trim-newlines"."1.0.0" = self.buildNodePackage { - name = "trim-newlines-1.0.0"; - version = "1.0.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz"; - name = "trim-newlines-1.0.0.tgz"; - sha1 = "5887966bb582a4503a41eb524f7d35011815a613"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."underscore"."*" = - self.by-version."underscore"."1.8.3"; - by-version."underscore"."1.8.3" = self.buildNodePackage { - name = "underscore-1.8.3"; - version = "1.8.3"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz"; - name = "underscore-1.8.3.tgz"; - sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."underscore"."1.4.x" = - self.by-version."underscore"."1.4.4"; - by-version."underscore"."1.4.4" = self.buildNodePackage { - name = "underscore-1.4.4"; - version = "1.4.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz"; - name = "underscore-1.4.4.tgz"; - sha1 = "61a6a32010622afa07963bf325203cf12239d604"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "underscore" = self.by-version."underscore"."1.4.4"; - by-spec."underscore"."1.5.x" = - self.by-version."underscore"."1.5.2"; - by-version."underscore"."1.5.2" = self.buildNodePackage { - name = "underscore-1.5.2"; - version = "1.5.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz"; - name = "underscore-1.5.2.tgz"; - sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."underscore"."1.6.x" = - self.by-version."underscore"."1.6.0"; - by-version."underscore"."1.6.0" = self.buildNodePackage { - name = "underscore-1.6.0"; - version = "1.6.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz"; - name = "underscore-1.6.0.tgz"; - sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."underscore".">=1.1.3" = - self.by-version."underscore"."1.8.3"; - by-spec."underscore"."^1.8.3" = - self.by-version."underscore"."1.8.3"; - by-spec."underscore-contrib"."0.1.x" = - self.by-version."underscore-contrib"."0.1.4"; - by-version."underscore-contrib"."0.1.4" = self.buildNodePackage { - name = "underscore-contrib-0.1.4"; - version = "0.1.4"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.1.4.tgz"; - name = "underscore-contrib-0.1.4.tgz"; - sha1 = "db40f37f2e66961d2e0326bf65fb76887a1ca1c6"; - }; - deps = { - "underscore-1.8.3" = self.by-version."underscore"."1.8.3"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "underscore-contrib" = self.by-version."underscore-contrib"."0.1.4"; - by-spec."util-deprecate"."~1.0.1" = - self.by-version."util-deprecate"."1.0.2"; - by-version."util-deprecate"."1.0.2" = self.buildNodePackage { - name = "util-deprecate-1.0.2"; - version = "1.0.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; - name = "util-deprecate-1.0.2.tgz"; - sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."utml"."0.2.x" = - self.by-version."utml"."0.2.0"; - by-version."utml"."0.2.0" = self.buildNodePackage { - name = "utml-0.2.0"; - version = "0.2.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/utml/-/utml-0.2.0.tgz"; - name = "utml-0.2.0.tgz"; - sha1 = "6a546741823b2a9c17598a57e8eb4c08738dee48"; - }; - deps = { - "underscore-1.8.3" = self.by-version."underscore"."1.8.3"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "utml" = self.by-version."utml"."0.2.0"; - by-spec."validate-npm-package-license"."^3.0.1" = - self.by-version."validate-npm-package-license"."3.0.1"; - by-version."validate-npm-package-license"."3.0.1" = self.buildNodePackage { - name = "validate-npm-package-license-3.0.1"; - version = "3.0.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"; - name = "validate-npm-package-license-3.0.1.tgz"; - sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc"; - }; - deps = { - "spdx-correct-1.0.2" = self.by-version."spdx-correct"."1.0.2"; - "spdx-expression-parse-1.0.2" = self.by-version."spdx-expression-parse"."1.0.2"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."validator"."0.4.x" = - self.by-version."validator"."0.4.28"; - by-version."validator"."0.4.28" = self.buildNodePackage { - name = "validator-0.4.28"; - version = "0.4.28"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/validator/-/validator-0.4.28.tgz"; - name = "validator-0.4.28.tgz"; - sha1 = "311d439ae6cf3fbe6f85da6ebaccd0c7007986f4"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "validator" = self.by-version."validator"."0.4.28"; - by-spec."vows"."0.7.x" = - self.by-version."vows"."0.7.0"; - by-version."vows"."0.7.0" = self.buildNodePackage { - name = "vows-0.7.0"; - version = "0.7.0"; - bin = true; - src = fetchurl { - url = "http://registry.npmjs.org/vows/-/vows-0.7.0.tgz"; - name = "vows-0.7.0.tgz"; - sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867"; - }; - deps = { - "eyes-0.1.8" = self.by-version."eyes"."0.1.8"; - "diff-1.0.8" = self.by-version."diff"."1.0.8"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."webfinger"."~0.4.2" = - self.by-version."webfinger"."0.4.2"; - by-version."webfinger"."0.4.2" = self.buildNodePackage { - name = "webfinger-0.4.2"; - version = "0.4.2"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/webfinger/-/webfinger-0.4.2.tgz"; - name = "webfinger-0.4.2.tgz"; - sha1 = "3477a6d97799461896039fcffc650b73468ee76d"; - }; - deps = { - "step-0.0.6" = self.by-version."step"."0.0.6"; - "xml2js-0.1.14" = self.by-version."xml2js"."0.1.14"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "webfinger" = self.by-version."webfinger"."0.4.2"; - by-spec."websocket-driver".">=0.5.1" = - self.by-version."websocket-driver"."0.6.3"; - by-version."websocket-driver"."0.6.3" = self.buildNodePackage { - name = "websocket-driver-0.6.3"; - version = "0.6.3"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.3.tgz"; - name = "websocket-driver-0.6.3.tgz"; - sha1 = "fd21911bb46dee34ad85bdbc5676bf9024ed087b"; - }; - deps = { - "websocket-extensions-0.1.1" = self.by-version."websocket-extensions"."0.1.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."websocket-extensions".">=0.1.1" = - self.by-version."websocket-extensions"."0.1.1"; - by-version."websocket-extensions"."0.1.1" = self.buildNodePackage { - name = "websocket-extensions-0.1.1"; - version = "0.1.1"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz"; - name = "websocket-extensions-0.1.1.tgz"; - sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."wordwrap"."~0.0.2" = - self.by-version."wordwrap"."0.0.3"; - by-version."wordwrap"."0.0.3" = self.buildNodePackage { - name = "wordwrap-0.0.3"; - version = "0.0.3"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"; - name = "wordwrap-0.0.3.tgz"; - sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."xml2js"."0.1.x" = - self.by-version."xml2js"."0.1.14"; - by-version."xml2js"."0.1.14" = self.buildNodePackage { - name = "xml2js-0.1.14"; - version = "0.1.14"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/xml2js/-/xml2js-0.1.14.tgz"; - name = "xml2js-0.1.14.tgz"; - sha1 = "5274e67f5a64c5f92974cd85139e0332adc6b90c"; - }; - deps = { - "sax-1.1.4" = self.by-version."sax"."1.1.4"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; -} + tarball = nodeEnv.buildNodeSourceDist args; + package = nodeEnv.buildNodePackage args; + shell = nodeEnv.buildNodeShell args; +} \ No newline at end of file diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/oh-my-zsh/default.nix index a7abd36618a..fe0e2d3c4b6 100644 --- a/pkgs/shells/oh-my-zsh/default.nix +++ b/pkgs/shells/oh-my-zsh/default.nix @@ -6,13 +6,13 @@ { stdenv, fetchgit }: stdenv.mkDerivation rec { - name = "oh-my-zsh-git-${version}"; - version = "2016-09-24"; + name = "oh-my-zsh-${version}"; + version = "2016-10-08"; src = fetchgit { url = "https://github.com/robbyrussell/oh-my-zsh"; - rev = "57fcee0f1c520a7c5e3aa5e2bde974154cdaf0c3"; - sha256 = "1zpmmfrf59almpr41b2q0ngc6rvqc0fs8dckfzd9by07rq6kp5kc"; + rev = "cd37d19ddaf9cc5acbf443f93f88ca355f74090d"; + sha256 = "1vqgxbd09jhysjhp0xq48673xxry0xcs8mq2wrx5zs7chhq1w2y3"; }; phases = "installPhase"; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { chmod -R +w templates # Change the path to oh-my-zsh dir and disable auto-updating. - sed -i -e "2c\\ZSH=$outdir/" \ + sed -i -e "s#ZSH=\$HOME/.oh-my-zsh#ZSH=$outdir#" \ -e 's/\# \(DISABLE_AUTO_UPDATE="true"\)/\1/' \ $template diff --git a/pkgs/shells/zsh-syntax-highlighting/default.nix b/pkgs/shells/zsh-syntax-highlighting/default.nix index 301ad13fa73..792a8875db4 100644 --- a/pkgs/shells/zsh-syntax-highlighting/default.nix +++ b/pkgs/shells/zsh-syntax-highlighting/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { description = "Fish shell like syntax highlighting for Zsh"; homepage = "https://github.com/zsh-users/zsh-syntax-highlighting"; license = licenses.bsd3; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ maintainers.loskutov ]; }; } diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix index f1774507225..075f1653adf 100644 --- a/pkgs/tools/backup/bup/default.nix +++ b/pkgs/tools/backup/bup/default.nix @@ -22,12 +22,6 @@ stdenv.mkDerivation rec { buildInputs = [ git pythonPackages.python ]; nativeBuildInputs = [ pandoc perl makeWrapper ]; - patches = optional stdenv.isDarwin (fetchurl { - url = "https://github.com/bup/bup/commit/75d089e7cdb7a7eb4d69c352f56dad5ad3aa1f97.diff"; - sha256 = "05kp47p30a45ip0fg090vijvzc7ijr0alc3y8kjl6bvv3gliails"; - name = "darwin_10_10.patch"; - }); - postPatch = '' patchShebangs . substituteInPlace Makefile --replace "-Werror" "" @@ -49,7 +43,9 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/bup \ --prefix PATH : ${git}/bin \ --prefix PYTHONPATH : ${concatStringsSep ":" (map (x: "$(toPythonPath ${x})") - (with pythonPackages; [ pyxattr pylibacl setuptools fuse tornado ]))} + (with pythonPackages; + [ setuptools tornado ] + ++ stdenv.lib.optionals (!stdenv.isDarwin) [ pyxattr pylibacl fuse ]))} ''; meta = { diff --git a/pkgs/tools/backup/rdup/default.nix b/pkgs/tools/backup/rdup/default.nix index 8ca07e2c823..33e3c77db88 100644 --- a/pkgs/tools/backup/rdup/default.nix +++ b/pkgs/tools/backup/rdup/default.nix @@ -19,6 +19,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/miekg/rdup"; license = stdenv.lib.licenses.gpl3; platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ lukasepple ]; + maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; }; } diff --git a/pkgs/tools/compression/lhasa/default.nix b/pkgs/tools/compression/lhasa/default.nix new file mode 100644 index 00000000000..f270d29a694 --- /dev/null +++ b/pkgs/tools/compression/lhasa/default.nix @@ -0,0 +1,21 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "lhasa-0.3.1"; + src = fetchurl { + url = https://soulsphere.org/projects/lhasa/lhasa-0.3.1.tar.gz; + sha256 = "092zi9av18ma20c6h9448k0bapvx2plnp292741dvfd9hmgqxc1z"; + }; + meta = { + description = "Free Software replacement for the Unix LHA tool"; + longDescription = '' + Lhasa is a Free Software replacement for the Unix LHA tool, for + decompressing .lzh (LHA / LHarc) and .lzs (LArc) archives. The backend for + the tool is a library, so that it can be reused for other purposes. + ''; + license = stdenv.lib.licenses.isc; + homepage = http://fragglet.github.io/lhasa; + maintainers = with stdenv.lib; [ maintainers.sander ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/filesystems/afpfs-ng/default.nix b/pkgs/tools/filesystems/afpfs-ng/default.nix new file mode 100644 index 00000000000..bfa45c9930e --- /dev/null +++ b/pkgs/tools/filesystems/afpfs-ng/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, fuse, readline, libgcrypt, gmp }: + +stdenv.mkDerivation rec { + name = "afpfs-ng-${version}"; + version = "0.8.2"; + + src = fetchFromGitHub { + owner = "simonvetter"; + repo = "afpfs-ng"; + rev = "f6e24eb73c9283732c3b5d9cb101a1e2e4fade3e"; + sha256 = "125jx1rsqkiifcffyjb05b2s36rllckdgjaf1bay15k9gzhwwldz"; + }; + + buildInputs = [ fuse readline libgcrypt gmp ]; + + meta = with stdenv.lib; { + homepage = https://github.com/simonvetter/afpfs-ng; + description = "A client implementation of the Apple Filing Protocol"; + license = licenses.gpl2; + maintainers = with maintainers; [ rnhmjoj ]; + platform = platforms.linux; + }; + +} diff --git a/pkgs/tools/filesystems/f2fs-tools/default.nix b/pkgs/tools/filesystems/f2fs-tools/default.nix index 3173c13dc57..acc3b5183fe 100644 --- a/pkgs/tools/filesystems/f2fs-tools/default.nix +++ b/pkgs/tools/filesystems/f2fs-tools/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, autoreconfHook, libuuid, pkgconfig }: +{ stdenv, fetchurl, autoreconfHook, libselinux, libuuid, pkgconfig }: stdenv.mkDerivation rec { name = "f2fs-tools-${version}"; - version = "1.6.1"; + version = "1.7.0"; src = fetchurl { url = "http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/${name}.tar.gz"; - sha256 = "1fkq1iqr5kxs6ihhbmjk4i19q395azcl60mnslqwfrlbrd3p40gm"; + sha256 = "1m6bn1ibq0p53m0n97il91xqgjgn2pzlz74lb5bfzassx7159m1k"; }; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ libuuid pkgconfig ]; + buildInputs = [ libselinux libuuid pkgconfig ]; meta = with stdenv.lib; { homepage = "http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/"; diff --git a/pkgs/tools/misc/geteltorito/default.nix b/pkgs/tools/misc/geteltorito/default.nix index 9e936548050..ec011aaa007 100644 --- a/pkgs/tools/misc/geteltorito/default.nix +++ b/pkgs/tools/misc/geteltorito/default.nix @@ -1,14 +1,12 @@ -{ stdenv, perl, ronn, fetchFromGitHub }: +{ stdenv, perl, ronn, fetchurl }: stdenv.mkDerivation rec { name = "geteltorito-${version}"; version = "0.6"; - src = fetchFromGitHub { - owner = "Profpatsch"; - repo = "geteltorito"; - rev = version; - sha256 = "05bcn3pam29xmsz1ykyqsdbkz8y23kcrvvhm987f65wd1g741f75"; + src = fetchurl { + url = "https://userpages.uni-koblenz.de/~krienke/ftp/noarch/geteltorito/geteltorito-${version}.tar.gz"; + sha256 = "1gkbm9ahj2mgqrkrfpibzclsriqgsbsvjh19fr815vpd9f6snkxv"; }; buildInputs = [ perl ronn ]; diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix new file mode 100644 index 00000000000..80b8457f07f --- /dev/null +++ b/pkgs/tools/misc/lf/default.nix @@ -0,0 +1,31 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "lf-unstable-${version}"; + version = "2016-10-02"; + + goPackagePath = "github.com/gokcehan/lf"; + + src = fetchFromGitHub { + owner = "gokcehan"; + repo = "lf"; + rev = "7a851f6c720380a6b9f715542906a56334e7e98b"; # nightly + sha256 = "0hdxcibly3algz0hgy65xr3dxchf4aarpxdgxsgc67m1knizksjr"; + }; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + description = "A terminal file manager written in Go and heavily inspired by ranger"; + longDescription = '' + lf (as in "list files") is a terminal file manager written in Go. It is + heavily inspired by ranger with some missing and extra features. Some of + the missing features are deliberately omitted since it is better if they + are handled by external tools. + ''; + homepage = "https://godoc.org/github.com/gokcehan/lf"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; + }; +} diff --git a/pkgs/tools/misc/lf/deps.nix b/pkgs/tools/misc/lf/deps.nix new file mode 100644 index 00000000000..ebd11853291 --- /dev/null +++ b/pkgs/tools/misc/lf/deps.nix @@ -0,0 +1,20 @@ +[ + { + goPackagePath = "github.com/nsf/termbox-go"; + fetch = { + type = "git"; + url = "https://github.com/nsf/termbox-go"; + rev = "b6acae516ace002cb8105a89024544a1480655a5"; # master + sha256 = "0zf95qdd5bif9rw03hqk87x7d905p373bvsj0bl4gi16spqjbdil"; + }; + } + { + goPackagePath = "github.com/mattn/go-runewidth"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-runewidth"; + rev = "d6bea18f789704b5f83375793155289da36a3c7f"; # v0.0.1 + sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"; + }; + } +] diff --git a/pkgs/tools/misc/nixbot/default.nix b/pkgs/tools/misc/nixbot/default.nix new file mode 100644 index 00000000000..6fb0b9c8201 --- /dev/null +++ b/pkgs/tools/misc/nixbot/default.nix @@ -0,0 +1,25 @@ +{ stdenv, python3Packages, fetchFromGitHub }: + +python3Packages.buildPythonApplication rec { + name = "nixbot-unstable-2016-10-09"; + + src = fetchFromGitHub { + owner = "domenkozar"; + repo = "nixbot"; + rev = "dc490e4954cb08f0eff97f74ad39dedb54670aa9"; + sha256 = "1l8rlhd2b7x5m79vb2vgszachygasv0pk8drnwgxyvsn0k88xcan"; + }; + + propagatedBuildInputs = with python3Packages; [ + pygit2 pyramid waitress github3_py + ]; + + doCheck = false; + + meta = with stdenv.lib; { + desciption = "Github bot for reviewing/testing pull requests with the help of Hydra"; + maintainers = with maintainers; [ domenkozar fpletz globin ]; + license = licenses.asl20; + homepage = https://github.com/domenkozar/nixbot; + }; +} diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix index 437be3a4680..5a5d8df26ce 100644 --- a/pkgs/tools/misc/svtplay-dl/default.nix +++ b/pkgs/tools/misc/svtplay-dl/default.nix @@ -5,13 +5,13 @@ let inherit (pythonPackages) python nose pycrypto requests2 mock; in stdenv.mkDerivation rec { name = "svtplay-dl-${version}"; - version = "1.5"; + version = "1.6"; src = fetchFromGitHub { owner = "spaam"; repo = "svtplay-dl"; rev = version; - sha256 = "1hmg49fhvdf7yjybxmky4ymy5s4mgbh9b8pbgyfnhm1i3s544bz2"; + sha256 = "12r4yazsxk09sampiz9j1jqgzm3136h5fgbbdaiwg43b0y1sjg3d"; }; pythonPaths = [ pycrypto requests2 ]; diff --git a/pkgs/tools/misc/thin-provisioning-tools/default.nix b/pkgs/tools/misc/thin-provisioning-tools/default.nix new file mode 100644 index 00000000000..5d43679b6fe --- /dev/null +++ b/pkgs/tools/misc/thin-provisioning-tools/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, expat, libaio, boost }: + +stdenv.mkDerivation rec { + name = "thin-provisioning-tools-${version}"; + version = "0.6.3"; + + src = fetchFromGitHub { + owner = "jthornber"; + repo = "thin-provisioning-tools"; + rev = "v${version}"; + sha256 = "0glwhfzwj9afbqdv59ppgfqy7rik8m0vcap7279fpnvwpr1c2p5n"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + buildInputs = [ expat libaio boost ]; + + meta = with stdenv.lib; { + homepage = https://github.com/jthornber/thin-provisioning-tools/; + description = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target"; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = with maintainers; [ globin ]; + }; +} diff --git a/pkgs/tools/misc/umlet/default.nix b/pkgs/tools/misc/umlet/default.nix index cc51af22f85..8ef357f65eb 100644 --- a/pkgs/tools/misc/umlet/default.nix +++ b/pkgs/tools/misc/umlet/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, jre, unzip }: stdenv.mkDerivation rec { - major = "13"; - minor = "3"; + major = "14"; + minor = "2"; version = "${major}.${minor}"; name = "umlet-${version}"; src = fetchurl { - url = "http://www.umlet.com/umlet_${major}_${minor}/umlet_${version}.zip"; - sha256 = "0fbr51xknk98qz576lcl25qz0s1snns2yb0j54d77xkw7pnxmvzr"; + url = "http://www.umlet.com/umlet_${major}_${minor}/umlet-standalone-${version}.zip"; + sha256 = "1fcc7ms92vcc4b8jh56bd3zrqdb0bwhbbzdxycc952fb0j6m62fw"; }; buildInputs = [ unzip ]; diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix index 51762006b62..998679e15eb 100644 --- a/pkgs/tools/misc/vdirsyncer/default.nix +++ b/pkgs/tools/misc/vdirsyncer/default.nix @@ -1,14 +1,17 @@ -{ stdenv, fetchurl, pythonPackages, glibcLocales }: +{ stdenv, fetchurl, python3Packages, glibcLocales }: # Packaging documentation at: # https://github.com/untitaker/vdirsyncer/blob/master/docs/packaging.rst +let + pythonPackages = python3Packages; +in pythonPackages.buildPythonApplication rec { - version = "0.11.3"; + version = "0.13.1"; name = "vdirsyncer-${version}"; src = fetchurl { url = "mirror://pypi/v/vdirsyncer/${name}.tar.gz"; - sha256 = "10majl58vdpxgbddjqgwblvl7akvvr4c2c8iaxnf3kgyh01jq6k9"; + sha256 = "1c4kipcc7dx1rn5j1a1x7wckz09mm9ihwakf3ramwn1y78q5zanb"; }; propagatedBuildInputs = with pythonPackages; [ diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix index 600f40a67b7..4be86399390 100644 --- a/pkgs/tools/misc/xtitle/default.nix +++ b/pkgs/tools/misc/xtitle/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libxcb, xcbutil, xcbutilwm, git }: stdenv.mkDerivation rec { - name = "xtitle-0.2"; + name = "xtitle-0.3"; src = fetchurl { - url = "https://github.com/baskerville/xtitle/archive/0.2.tar.gz"; - sha256 = "1wyhfwbwqnq4rn6i789gydxlg25ylc37xjrkq758bp55sdgb8fk2"; + url = "https://github.com/baskerville/xtitle/archive/0.3.tar.gz"; + sha256 = "07r36f4ad1q0dpkx3ykd49xlmi24d8mjqwh40j228k81wsvzayl1"; }; diff --git a/pkgs/tools/networking/gmvault/default.nix b/pkgs/tools/networking/gmvault/default.nix index 47e1360df8f..72efc703b10 100644 --- a/pkgs/tools/networking/gmvault/default.nix +++ b/pkgs/tools/networking/gmvault/default.nix @@ -1,19 +1,19 @@ { pkgs, fetchurl, pythonPackages }: pythonPackages.buildPythonApplication rec { - version = "1.8.1-beta"; + version = "1.9.1"; name = "gmvault-${version}"; src = fetchurl { url = "https://bitbucket.org/gaubert/gmvault-official-download/downloads/gmvault-v${version}-src.tar.gz"; name = "${name}.tar.bz"; - sha256 = "0b575cnrd6jzcpa05mbn2swzcy0r9ck09pkhs4ydj6d3ir52j80c"; + sha256 = "0ffp8df3gdf6lf3pj75hzsmxmvmscppb6bjda58my1n4ppxp1rji"; }; doCheck = false; propagatedBuildInputs = with pythonPackages; [ gdata IMAPClient Logbook - argparse ]; + argparse chardet ]; startScript = ./gmvault.py; diff --git a/pkgs/tools/networking/host/default.nix b/pkgs/tools/networking/host/default.nix deleted file mode 100644 index 85f94ccba10..00000000000 --- a/pkgs/tools/networking/host/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ fetchurl, stdenv }: - -let version = "20000331"; in - -stdenv.mkDerivation { - name = "host-${version}"; - - src = fetchurl { - url = "mirror://debian/pool/main/h/host/host_${version}.orig.tar.gz"; - sha256 = "1g352k80arhwyidsa95nk28xjvzyypmwv3kga2451m3g7fmdqki1"; - }; - - preConfigure = '' - makeFlagsArray=(DESTBIN=$out/bin DESTMAN=$out/share/man OWNER=$(id -u) GROUP=$(id -g)) - mkdir -p "$out/bin" - mkdir -p "$out/share/man/man1" - ''; - - installTargets = "install man"; - - meta = { - description = "DNS resolution utility"; - license = "BSD-style"; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/tools/networking/httpstat/default.nix b/pkgs/tools/networking/httpstat/default.nix new file mode 100644 index 00000000000..49f71f44805 --- /dev/null +++ b/pkgs/tools/networking/httpstat/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, curl, python, pythonPackages, ... }: + +pythonPackages.buildPythonPackage rec { + name = "${pname}-${version}"; + pname = "httpstat"; + version = "1.2.0"; + src = fetchFromGitHub { + owner = "reorx"; + repo = pname; + rev = "${version}"; + sha256 = "1zfbv3fz3g3wwvsgrcyrk2cp7pjhkpf7lmx57ry9b43c62gcd7yh"; + }; + doCheck = false; + propagatedBuildInputs = [ ]; + runtimeDeps = [ curl ]; + + installPhase = '' + mkdir -p $out/${python.sitePackages}/ + cp httpstat.py $out/${python.sitePackages}/ + mkdir -p $out/bin + ln -s $out/${python.sitePackages}/httpstat.py $out/bin/httpstat + chmod +x $out/bin/httpstat + ''; + + meta = { + description = "curl statistics made simple"; + homepage = https://github.com/reorx/httpstat; + license = stdenv.lib.licenses.mit; + maintainers = with stdenv.lib.maintainers; [ nequissimus ]; + }; + } diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix index 77c71f38331..9fe4b4421a7 100644 --- a/pkgs/tools/networking/modemmanager/default.nix +++ b/pkgs/tools/networking/modemmanager/default.nix @@ -1,17 +1,18 @@ -{ stdenv, fetchurl, udev, libgudev, polkit, dbus_glib, ppp, intltool, pkgconfig, libmbim, libqmi }: +{ stdenv, fetchurl, udev, libgudev, polkit, dbus_glib, ppp, intltool, pkgconfig +, libmbim, libqmi, systemd }: stdenv.mkDerivation rec { name = "ModemManager-${version}"; - version = "1.4.6"; + version = "1.6.2"; src = fetchurl { url = "http://www.freedesktop.org/software/ModemManager/${name}.tar.xz"; - sha256 = "1kd5nn5rm88c8rgmzwy2fsf3cr7fai7r85mi61kcby0hcgsapv8c"; + sha256 = "14v31j916h63z7af107rias1zbb2y94p3jg77zhzhrn1v6c46m74"; }; nativeBuildInputs = [ intltool pkgconfig ]; - buildInputs = [ udev libgudev polkit dbus_glib ppp libmbim libqmi ]; + buildInputs = [ udev libgudev polkit dbus_glib ppp libmbim libqmi systemd ]; configureFlags = [ "--with-polkit" @@ -19,6 +20,7 @@ stdenv.mkDerivation rec { "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--sysconfdir=/etc" "--localstatedir=/var" + "--with-suspend-resume=systemd" ]; installFlags = [ "DESTDIR=\${out}" ]; diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix index 7f6620af4c9..0cb5c92abec 100644 --- a/pkgs/tools/networking/network-manager-applet/default.nix +++ b/pkgs/tools/networking/network-manager-applet/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, intltool, pkgconfig, libglade, networkmanager, gnome3 -, libnotify, libsecret, polkit, isocodes +, libnotify, libsecret, polkit, isocodes, modemmanager , mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas -, makeWrapper, udev, libgudev, hicolor_icon_theme }: +, makeWrapper, udev, libgudev, hicolor_icon_theme, jansson }: stdenv.mkDerivation rec { name = "${pname}-${version}"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/${pname}/${networkmanager.major}/${name}.tar.xz"; - sha256 = "02b42e7c17c9cd6c840563750da92ce58da1ec621df7f0c2402016026e727756"; + sha256 = "431b7b4876638c6a537c8bf9c91a9250532b3d960b22b056df554695a81e4499"; }; configureFlags = [ "--sysconfdir=/etc" ]; @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ gnome3.gtk libglade networkmanager libnotify libsecret gsettings_desktop_schemas polkit isocodes makeWrapper udev libgudev gnome3.gconf gnome3.libgnome_keyring + modemmanager jansson ]; nativeBuildInputs = [ intltool pkgconfig ]; diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix index 57bf1a51a1a..608b9ea17fe 100644 --- a/pkgs/tools/networking/network-manager/default.nix +++ b/pkgs/tools/networking/network-manager/default.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation rec { name = "network-manager-${version}"; pname = "NetworkManager"; - major = "1.2"; + major = "1.4"; version = "${major}.2"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz"; - sha256 = "41d8082e027f58bb5fa4181f93742606ab99c659794a18e2823eff22df0eecd9"; + sha256 = "a864e347ddf6da8dabd40e0185b8c10a655d4a94b45cbaa2b3bb4b5e8360d204"; }; preConfigure = '' diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix index b1b24bceb57..303ca70aace 100644 --- a/pkgs/tools/networking/network-manager/openconnect.nix +++ b/pkgs/tools/networking/network-manager/openconnect.nix @@ -4,10 +4,11 @@ stdenv.mkDerivation rec { name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; pname = "NetworkManager-openconnect"; - version = networkmanager.version; + major = "1.2"; + version = "${major}.2"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${networkmanager.major}/${pname}-${version}.tar.xz"; + url = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz"; sha256 = "522979593e21b4e884112816708db9eb66148b3491580dacfad53472b94aafec"; }; diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn.nix index 6fd1a666f0e..92dc45ac82c 100644 --- a/pkgs/tools/networking/network-manager/openvpn.nix +++ b/pkgs/tools/networking/network-manager/openvpn.nix @@ -4,11 +4,12 @@ stdenv.mkDerivation rec { name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; pname = "NetworkManager-openvpn"; - version = networkmanager.version; + major = "1.2"; + version = "${major}.6"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${networkmanager.major}/${pname}-${version}.tar.xz"; - sha256 = "47a6d219a781eff8491c7876b7fb95b12dcfb8f8a05f916f95afc65c7babddef"; + url = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz"; + sha256 = "2373e2bb0a8a876cb2997cd8b0e3d6e10012d9bef3705ea3ac21f6394b3f1fb0"; }; buildInputs = [ openvpn networkmanager libsecret ] diff --git a/pkgs/tools/networking/network-manager/pptp.nix b/pkgs/tools/networking/network-manager/pptp.nix index a9bee0c7481..6cc8107f2c8 100644 --- a/pkgs/tools/networking/network-manager/pptp.nix +++ b/pkgs/tools/networking/network-manager/pptp.nix @@ -4,11 +4,12 @@ stdenv.mkDerivation rec { name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; pname = "NetworkManager-pptp"; - version = networkmanager.version; + major = "1.2"; + version = "${major}.4"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${networkmanager.major}/${pname}-${version}.tar.xz"; - sha256 = "a72cb88ecc0a9edec836e8042c592d68b8b290c0d78082e6b25cf08b46c6be5d"; + url = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz"; + sha256 = "bd97ce768c34cce6d5b5d43681149a8300bec754397a3f46a0d8d0aea7030c5e"; }; buildInputs = [ networkmanager pptp ppp libsecret ] diff --git a/pkgs/tools/networking/network-manager/vpnc.nix b/pkgs/tools/networking/network-manager/vpnc.nix index b760fe6e4f7..44233b35129 100644 --- a/pkgs/tools/networking/network-manager/vpnc.nix +++ b/pkgs/tools/networking/network-manager/vpnc.nix @@ -4,11 +4,12 @@ stdenv.mkDerivation rec { name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; pname = "NetworkManager-vpnc"; - version = networkmanager.version; + major = "1.2"; + version = "${major}.4"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${networkmanager.major}/${pname}-${version}.tar.xz"; - sha256 = "e900f6500026f8c3ee4feb92e1d0a0c0abbee9ba507dad915b47a8ab7df9e1f3"; + url = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz"; + sha256 = "39c7516418e90208cb534c19628ce40fd50eba0a08b2ebaef8da85720b10fb05"; }; buildInputs = [ vpnc networkmanager libsecret ] diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix index 73d10014bbf..13e1c68befd 100644 --- a/pkgs/tools/networking/openvpn/default.nix +++ b/pkgs/tools/networking/openvpn/default.nix @@ -24,7 +24,8 @@ stdenv.mkDerivation rec { "--enable-systemd" "--enable-iproute2" "IPROUTE=${iproute}/sbin/ip" ] - ++ optional pkcs11Support "--enable-pkcs11"; + ++ optional pkcs11Support "--enable-pkcs11" + ++ optional stdenv.isDarwin "--disable-plugin-auth-pam"; postInstall = '' mkdir -p $out/share/doc/openvpn/examples @@ -40,6 +41,6 @@ stdenv.mkDerivation rec { homepage = http://openvpn.net/; license = stdenv.lib.licenses.gpl2; maintainers = [ stdenv.lib.maintainers.viric ]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/tools/networking/tinc/default.nix b/pkgs/tools/networking/tinc/default.nix index f7085e8f5c5..813290494e2 100644 --- a/pkgs/tools/networking/tinc/default.nix +++ b/pkgs/tools/networking/tinc/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, lzo, openssl, zlib}: stdenv.mkDerivation rec { - version = "1.0.28"; + version = "1.0.29"; name = "tinc-${version}"; src = fetchurl { url = "http://www.tinc-vpn.org/packages/tinc-${version}.tar.gz"; - sha256 = "0i5kx3hza359nclyhb60kxlzqyx0phmg175350hww28g6scjcl0b"; + sha256 = "0y1alzxgds067m83qdkg12hsy6disa2ad3y2i0h1pgpvdxy02mq3"; }; buildInputs = [ lzo openssl zlib ]; diff --git a/pkgs/tools/security/enpass/data.json b/pkgs/tools/security/enpass/data.json new file mode 100644 index 00000000000..4e245d1c80f --- /dev/null +++ b/pkgs/tools/security/enpass/data.json @@ -0,0 +1,12 @@ +{ + "amd64": { + "path": "pool/main/e/enpass/enpass_5.3.0_amd64.deb", + "sha256": "d9da061c6456281da836bdd78bdb7baeced4b7f1805bb2495e4f1d15038cf86b", + "version": "5.3.0" + }, + "i386": { + "path": "pool/main/e/enpass/enpass_5.3.0_i386.deb", + "sha256": "58d9f3b83c2da477c13976e1826d112236eabd46a389de7e8767ee99ac41f469", + "version": "5.3.0" + } +} \ No newline at end of file diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix new file mode 100644 index 00000000000..b7f7282d292 --- /dev/null +++ b/pkgs/tools/security/enpass/default.nix @@ -0,0 +1,106 @@ +{stdenv, system, fetchurl, dpkg, openssl, xorg +, glib, mesa, libpulseaudio, zlib, dbus, fontconfig, freetype +, gtk2, pango, atk, cairo, gdk_pixbuf, jasper, xkeyboardconfig +, makeWrapper , makeDesktopItem, python, pythonPackages, lib}: +assert system == "i686-linux" || system == "x86_64-linux"; +let + all_data = (with builtins; fromJSON (readFile ./data.json)); + system_map = { + i686-linux = "i386"; + x86_64-linux = "amd64"; + }; + + data = (with builtins; getAttr (getAttr system system_map) all_data); + + baseUrl = http://repo.sinew.in; + + # used of both wrappers and libpath + libPath = lib.makeLibraryPath (with xorg; [ + openssl + mesa + fontconfig + freetype + libpulseaudio + zlib + dbus + libX11 + libXi + libSM + libICE + libXext + libXrender + libXScrnSaver + glib + gtk2 + pango + cairo + atk + gdk_pixbuf + jasper + stdenv.cc.cc + ]); + package = stdenv.mkDerivation rec { + + inherit (data) version; + name = "enpass-${version}"; + + desktopItem = makeDesktopItem { + name = "Enpass"; + exec = "$out/bin/Enpass"; + #icon = "Enpass"; + desktopName = "Enpass"; + genericName = "Password manager"; + categories = "Application;Security;"; + }; + + + src = fetchurl { + inherit (data) sha256; + url = "${baseUrl}/${data.path}"; + }; + + meta = { + description = "a well known password manager"; + homepage = https://www.enpass.io/; + maintainer = lib.maintainers.ronny; + license = lib.licenses.unfree; + platforms = lib.platforms.linux; + }; + + buildInputs = [makeWrapper dpkg]; + phases = [ "unpackPhase" "installPhase" ]; + + unpackPhase = "dpkg -X $src ."; + installPhase='' + mkdir $out + cp -r opt/Enpass/* $out + + # Make desktop item + mkdir -p "$out"/share/applications + cp "$desktopItem"/share/applications/* "$out"/share/applications/ + mkdir -p "$out"/share/icons + + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + $out/bin/Enpass + + wrapProgram $out/bin/Enpass \ + --set LD_LIBRARY_PATH "${libPath}:$out/lib:$out/plugins/sqldrivers" \ + --set QT_PLUGIN_PATH "$out/plugins" \ + --set QT_QPA_PLATFORM_PLUGIN_PATH "$out/plugins/platforms" \ + --set QT_XKB_CONFIG_ROOT "${xkeyboardconfig}/share/X11/xkb" + ''; + }; + updater = { + update = stdenv.mkDerivation rec { + name = "enpass-update-script"; + SCRIPT =./update_script.py; + + buildInputs = with pythonPackages; [python requests pathlib2 six attrs ]; + shellHook = '' + exec python $SCRIPT --target pkgs/tools/security/enpass/data.json --repo ${baseUrl} + ''; + + }; + }; +in (package // {refresh = updater;}) diff --git a/pkgs/tools/security/enpass/update_script.py b/pkgs/tools/security/enpass/update_script.py new file mode 100644 index 00000000000..f8ec715cb5e --- /dev/null +++ b/pkgs/tools/security/enpass/update_script.py @@ -0,0 +1,95 @@ +from __future__ import print_function + + +import argparse +import bz2 +import email +import json +import logging + +from itertools import product +from operator import itemgetter + +import attr +import pkg_resources + +from pathlib2 import Path +from requests import Session +from six.moves.urllib_parse import urljoin + + +@attr.s +class ReleaseElement(object): + sha256 = attr.ib(repr=False) + size = attr.ib(convert=int) + path = attr.ib() + +log = logging.getLogger('enpass.updater') + + +parser = argparse.ArgumentParser() +parser.add_argument('--repo') +parser.add_argument('--target', type=Path) + + +session = Session() + + +def parse_bz2_msg(msg): + msg = bz2.decompress(msg) + if '\n\n' in msg: + parts = msg.split('\n\n') + return list(map(email.message_from_string, parts)) + return email.message_from_string(msg) + + +def fetch_meta(repo, name, parse=email.message_from_string, split=False): + url = urljoin(repo, 'dists/stable', name) + response = session.get("{repo}/dists/stable/{name}".format(**locals())) + return parse(response.content) + + +def fetch_filehashes(repo, path): + meta = fetch_meta(repo, path, parse=parse_bz2_msg) + for item in meta: + yield { + 'version': pkg_resources.parse_version(str(item['Version'])), + 'path': item['Filename'], + 'sha256': item['sha256'], + } + + +def fetch_archs(repo): + m = fetch_meta(repo, 'Release') + + architectures = m['Architectures'].split() + elements = [ReleaseElement(*x.split()) for x in m['SHA256'].splitlines()] + elements = [x for x in elements if x.path.endswith('bz2')] + + for arch, elem in product(architectures, elements): + if arch in elem.path: + yield arch, max(fetch_filehashes(repo, elem.path), + key=itemgetter('version')) + + +class OurVersionEncoder(json.JSONEncoder): + def default(self, obj): + # the other way around to avoid issues with + # newer setuptools having strict/legacy versions + if not isinstance(obj, (dict, str)): + return str(obj) + return json.JSONEncoder.default(self, obj) + + +def main(repo, target): + logging.basicConfig(level=logging.DEBUG) + with target.open(mode='wb') as fp: + json.dump( + dict(fetch_archs(repo)), fp, + cls=OurVersionEncoder, + indent=2, + sort_keys=True) + + +opts = parser.parse_args() +main(opts.repo, opts.target) diff --git a/pkgs/tools/security/pgpdump/default.nix b/pkgs/tools/security/pgpdump/default.nix new file mode 100644 index 00000000000..1e33c18753a --- /dev/null +++ b/pkgs/tools/security/pgpdump/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "pgpdump-${version}"; + version = "0.31"; + + src = fetchFromGitHub { + owner = "kazu-yamamoto"; + repo = "pgpdump"; + rev = "v${version}"; + sha256 = "05ywdgxzq3976dsy95vgdx3nnhd9i9vypzyrkabpmnxphfnjfrb4"; + }; + + meta = with stdenv.lib; { + description = "A PGP packet visualizer"; + longDescription = '' + pgpdump is a PGP packet visualizer which displays the packet format of + OpenPGP (RFC 4880) and PGP version 2 (RFC 1991). + ''; + homepage = "http://www.mew.org/~kazu/proj/pgpdump/en/"; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; + }; +} + diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix index f6777a0e979..6b205d84534 100644 --- a/pkgs/tools/security/sslscan/default.nix +++ b/pkgs/tools/security/sslscan/default.nix @@ -1,12 +1,14 @@ -{ stdenv, fetchurl, openssl }: +{ stdenv, fetchFromGitHub, openssl }: stdenv.mkDerivation rec { name = "sslscan-${version}"; version = "1.11.7"; - src = fetchurl { - url = "https://github.com/rbsec/sslscan/archive/${version}-rbsec.tar.gz"; - sha256 = "0wygz2gm9asvhpfy44333y4pkdja1sbr41hc6mhkxg7a4ys8f9qs"; + src = fetchFromGitHub { + owner = "rbsec"; + repo = "sslscan"; + rev = "${version}-rbsec"; + sha256 = "007lf3rxcn9nz6jrki3mavgd9sd2hmm9nzp2g13h0ri51yc3bkp0"; }; buildInputs = [ openssl ]; @@ -23,4 +25,3 @@ stdenv.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/tools/security/sudolikeaboss/default.nix b/pkgs/tools/security/sudolikeaboss/default.nix new file mode 100644 index 00000000000..6e2d6888f2e --- /dev/null +++ b/pkgs/tools/security/sudolikeaboss/default.nix @@ -0,0 +1,33 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, fixDarwinDylibNames, darwin }: +buildGoPackage rec { + name = "sudolikeaboss-${version}"; + version = "0.2.1"; + + goPackagePath = "github.com/ravenac95/sudolikeaboss"; + src = fetchFromGitHub { + owner = "ravenac95"; + repo = "sudolikeaboss"; + rev = "v${version}"; + sha256 = "1zsmy67d334nax76sq0g2sczp4zi19d94d3xfwgadzk7sxvw1z0m"; + }; + goDeps = ./deps.nix; + + propagatedBuildInputs = with darwin.apple_sdk.frameworks; [ + Cocoa + fixDarwinDylibNames + ]; + + postInstall = '' + install_name_tool -delete_rpath $out/lib -add_rpath $bin $bin/bin/sudolikeaboss + ''; + + meta = with stdenv.lib; { + inherit version; + inherit (src.meta) homepage; + description = "Get 1password access from iterm2"; + license = licenses.mit; + maintainers = [ maintainers.grahamc ]; + platforms = platforms.darwin; + }; + +} diff --git a/pkgs/tools/security/sudolikeaboss/deps.nix b/pkgs/tools/security/sudolikeaboss/deps.nix new file mode 100644 index 00000000000..04f831675fa --- /dev/null +++ b/pkgs/tools/security/sudolikeaboss/deps.nix @@ -0,0 +1,22 @@ +# This file was generated by go2nix: https://github.com/kamilchm/go2nix +# v1.1.0 or 1.1.1, not 100% sure +[ + { + goPackagePath = "github.com/urfave/cli"; + fetch = { + type = "git"; + url = "https://github.com/urfave/cli"; + rev = "55f715e28c46073d0e217e2ce8eb46b0b45e3db6"; + sha256 = "0fvqxh1dx4f189y90fhrjapb4g51d7cp203jahxfb19k1k8c3942"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "2a824cf9226006580a06d9fa8f10901c17b49ed5"; + sha256 = "19hc83dsa8k1zbzb16v9yc44grscl9r4fxlpwqi3f6zqfrv0qk4n"; + }; + } +] diff --git a/pkgs/tools/text/zimreader/default.nix b/pkgs/tools/text/zimreader/default.nix index 2e51e7d7f9e..449b1e9c339 100644 --- a/pkgs/tools/text/zimreader/default.nix +++ b/pkgs/tools/text/zimreader/default.nix @@ -1,36 +1,27 @@ -{ stdenv, fetchgit, fetchurl, automake, autoconf, libtool -, zlib, openssl, zip, zimlib +{ stdenv, fetchFromGitHub, fetchpatch, automake, autoconf, libtool +, zlib, openssl, zip, zimlib, cxxtools, tntnet }: -let - cxxtools = stdenv.mkDerivation rec { - name = "cxxtools-${version}"; - version = "2.1.1"; - src = fetchurl { - url = "http://www.tntnet.org/download/cxxtools-${version}.tar.gz"; - sha256 = "0jh5wrk9mviz4xrp1wv617gwgl4b5mc21h21wr2688kjmc0i1q4d"; - }; - }; - tntnet = stdenv.mkDerivation rec { - name = "tntnet-${version}"; - version = "2.1"; - src = fetchurl { - url = "http://www.tntnet.org/download/tntnet-${version}.tar.gz"; - sha256 = "1dhs10yhpmdqyykyh8jc67m5xgsgm1wrpd58fdps2cp5g1gjf8w6"; - }; - buildInputs = [ zlib cxxtools openssl zip ]; +stdenv.mkDerivation rec { + name = "zimreader-0.92"; + + src = fetchFromGitHub { + owner = "wikimedia"; + repo = "openzim"; + rev = "r1.3"; # there multiple tools with different version in the repo + sha256 = "0x529137rxy6ld64xqa6xmn93121ripxvkf3sc7hv3wg6km182sw"; }; -in stdenv.mkDerivation rec { - name = "zimreader-${version}"; - version = "20150710"; - - src = fetchgit { - url = https://gerrit.wikimedia.org/r/p/openzim.git; - rev = "165eab3e154c60b5b6436d653dc7c90f56cf7456"; - sha256 = "076ixsq4lis0rkk7p049g02bidc7bggl9kf2wzmgmsnx396mqymf"; - }; + patchFlags = "-p2"; + patches = [ + (fetchpatch { + name = "zimreader_tntnet221.patch"; + url = "https://github.com/wikimedia/openzim/compare/r1.3...juliendehos:3ee5f11eaa811284d340451e6f466529c00f6ef2.patch"; + sha256 = "0rc5n20svyyndqh7hsynjyblfraphgi0f6khw6f5jq89w9i1j1hd"; + }) + ]; + enableParallelBuilding = true; buildInputs = [ automake autoconf libtool zimlib cxxtools tntnet ]; setSourceRoot = "cd openzim-*/zimreader; export sourceRoot=`pwd`"; preConfigurePhases = [ "./autogen.sh" ]; @@ -38,7 +29,7 @@ in stdenv.mkDerivation rec { meta = { description = "A tool to serve ZIM files using HTTP"; homepage = http://git.wikimedia.org/log/openzim; - maintainers = with stdenv.lib.maintainers; [ robbinch ]; + maintainers = with stdenv.lib.maintainers; [ robbinch juliendehos ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7a608887431..35307c947f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -287,7 +287,7 @@ in inherit kernel rootModules allowMissing; }; - nixBufferBuilders = import ../build-support/emacs/buffer.nix { inherit (pkgs) lib writeText; }; + nixBufferBuilders = import ../build-support/emacs/buffer.nix { inherit (pkgs) lib writeText; inherit (emacsPackagesNg) inherit-local; }; pathsFromGraph = ../build-support/kernel/paths-from-graph.pl; @@ -377,6 +377,8 @@ in afl = callPackage ../tools/security/afl { }; + afpfs-ng = callPackage ../tools/filesystems/afpfs-ng/default.nix { }; + aha = callPackage ../tools/text/aha { }; ahcpd = callPackage ../tools/networking/ahcpd { }; @@ -499,6 +501,8 @@ in elvish = callPackage ../shells/elvish { }; + enpass = callPackage ../tools/security/enpass { }; + genymotion = callPackage ../development/mobile/genymotion { }; grc = callPackage ../tools/misc/grc { }; @@ -867,6 +871,8 @@ in heatseeker = callPackage ../tools/misc/heatseeker { }; + hexio = callPackage ../development/tools/hexio { }; + interlock = callPackage ../servers/interlock {}; kapacitor = callPackage ../servers/monitoring/kapacitor { }; @@ -2081,7 +2087,7 @@ in horst = callPackage ../tools/networking/horst { }; - host = callPackage ../tools/networking/host { }; + host = bind.host; hping = callPackage ../tools/networking/hping { }; @@ -2095,6 +2101,8 @@ in httpfs2 = callPackage ../tools/filesystems/httpfs { }; + httpstat = callPackage ../tools/networking/httpstat { }; + httptunnel = callPackage ../tools/networking/httptunnel { }; hubicfuse = callPackage ../tools/filesystems/hubicfuse { }; @@ -2296,6 +2304,10 @@ in less = callPackage ../tools/misc/less { }; + lf = callPackage ../tools/misc/lf {}; + + lhasa = callPackage ../tools/compression/lhasa {}; + libcpuid = callPackage ../tools/misc/libcpuid { }; lesspipe = callPackage ../tools/misc/lesspipe { }; @@ -2863,6 +2875,8 @@ in nitrogen = callPackage ../tools/X11/nitrogen {}; + nixbot = callPackage ../tools/misc/nixbot {}; + nkf = callPackage ../tools/text/nkf {}; nlopt = callPackage ../development/libraries/nlopt {}; @@ -3040,6 +3054,8 @@ in nix = nixUnstable; }; + pakcs = callPackage ../development/compilers/pakcs {}; + pal = callPackage ../tools/misc/pal { }; pandoc = haskell.lib.overrideCabal haskellPackages.pandoc (drv: { @@ -3686,7 +3702,9 @@ in sshpass = callPackage ../tools/networking/sshpass { }; - sslscan = callPackage ../tools/security/sslscan { }; + sslscan = callPackage ../tools/security/sslscan { + openssl = openssl_1_0_1; + }; sslmate = callPackage ../development/tools/sslmate { }; @@ -3792,6 +3810,8 @@ in thc-hydra = callPackage ../tools/security/thc-hydra { }; + thin-provisioning-tools = callPackage ../tools/misc/thin-provisioning-tools { }; + tiled = qt5.callPackage ../applications/editors/tiled { }; timemachine = callPackage ../applications/audio/timemachine { }; @@ -4882,6 +4902,7 @@ in else callPackage ../development/compilers/openjdk/8.nix { bootjdk = callPackage ../development/compilers/openjdk/bootstrap.nix { version = "8"; }; + inherit (gnome2) GConf gnome_vfs; }; openjdk = if stdenv.isDarwin then openjdk7 else openjdk8; @@ -4895,6 +4916,11 @@ in jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } (openjdk8.jre // { outputs = [ "jre" ]; })); + jre8_headless = + if stdenv.isDarwin then jre8 else + lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}-headless" + (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } + ((openjdk8.override { minimal = true; }).jre // { outputs = [ "jre" ]; })); jdk = if stdenv.isDarwin then jdk7 else jdk8; jre = if stdenv.isDarwin then jre7 else jre8; @@ -5047,6 +5073,8 @@ in nvidia_cg_toolkit = callPackage ../development/compilers/nvidia-cg-toolkit { }; + obliv-c = callPackage ../development/compilers/obliv-c {}; + ocaml-ng = callPackage ./ocaml-packages.nix { }; ocamlPackages = recurseIntoAttrs ocaml-ng.ocamlPackages; @@ -5180,6 +5208,8 @@ in vala_0_32 = callPackage ../development/compilers/vala/0.32.nix { }; + valadoc = callPackage ../development/tools/valadoc { }; + vs90wrapper = callPackage ../development/compilers/vs90wrapper { }; wla-dx = callPackage ../development/compilers/wla-dx { }; @@ -5694,6 +5724,8 @@ in apacheKafka_0_9 = callPackage ../servers/apache-kafka { majorVersion = "0.9"; }; apacheKafka_0_10 = callPackage ../servers/apache-kafka { majorVersion = "0.10"; }; + asn2quickder = callPackage ../development/tools/asn2quickder {}; + astyle = callPackage ../development/tools/misc/astyle { }; electron = callPackage ../development/tools/electron { }; @@ -6628,6 +6660,7 @@ in cpp-hocon = callPackage ../development/libraries/cpp-hocon { }; cpp-netlib = callPackage ../development/libraries/cpp-netlib { }; + uri = callPackage ../development/libraries/uri { }; cppcms = callPackage ../development/libraries/cppcms { }; @@ -7095,6 +7128,8 @@ in gnupg1 = gnupg1orig; }; + pgpdump = callPackage ../tools/security/pgpdump { }; + gpgstats = callPackage ../tools/security/gpgstats { }; gpshell = callPackage ../development/tools/misc/gpshell { }; @@ -7445,7 +7480,7 @@ in libburn = callPackage ../development/libraries/libburn { }; libcaca = callPackage ../development/libraries/libcaca { - inherit (xlibs) libX11; + inherit (xlibs) libX11 libXext; }; libcanberra_gtk3 = callPackage ../development/libraries/libcanberra { @@ -7624,6 +7659,8 @@ in libgee_0_6 = callPackage ../development/libraries/libgee/0.6.nix { }; + libgee_0_8 = callPackage ../development/libraries/libgee/0.8.nix { }; + libgig = callPackage ../development/libraries/libgig { }; libgnome_keyring = callPackage ../development/libraries/libgnome-keyring { }; @@ -8622,7 +8659,7 @@ in pcl = callPackage ../development/libraries/pcl { vtk = vtkWithQt4; inherit (darwin) cf-private; - inherit (darwin.apple_sdk.frameworks) Cocoa AGL; + inherit (darwin.apple_sdk.frameworks) Cocoa AGL OpenGL; }; pcre = callPackage ../development/libraries/pcre { }; @@ -8856,6 +8893,8 @@ in quesoglc = callPackage ../development/libraries/quesoglc { }; + quickder = callPackage ../development/libraries/quickder {}; + quicksynergy = callPackage ../applications/misc/quicksynergy { }; qwt = callPackage ../development/libraries/qwt {}; @@ -8995,6 +9034,8 @@ in silgraphite = callPackage ../development/libraries/silgraphite {}; graphite2 = callPackage ../development/libraries/silgraphite/graphite2.nix {}; + simavr = callPackage ../development/tools/simavr { }; + simgear = callPackage ../development/libraries/simgear { }; simp_le = callPackage ../tools/admin/simp_le { }; @@ -9799,6 +9840,7 @@ in sabnzbd = callPackage ../servers/sabnzbd { }; bind = callPackage ../servers/dns/bind { }; + dnsutils = bind.dnsutils; bird = callPackage ../servers/bird { }; bird6 = bird.override { enableIPv6 = true; }; @@ -11541,6 +11583,8 @@ in cabin = callPackage ../data/fonts/cabin { }; + camingo-code = callPackage ../data/fonts/camingo-code { }; + dosis = callPackage ../data/fonts/dosis { }; dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { }; @@ -11599,6 +11643,8 @@ in inconsolata = callPackage ../data/fonts/inconsolata {}; inconsolata-lgc = callPackage ../data/fonts/inconsolata/lgc.nix {}; + input-fonts = callPackage ../data/fonts/input-fonts { }; + iosevka = callPackage ../data/fonts/iosevka { }; ipafont = callPackage ../data/fonts/ipafont {}; @@ -11813,7 +11859,7 @@ in xlsx2csv = pythonPackages.xlsx2csv; - zeal = qt55.callPackage ../data/documentation/zeal { }; + zeal = qt5.callPackage ../data/documentation/zeal { }; ### APPLICATIONS @@ -11908,14 +11954,19 @@ in ao = callPackage ../applications/graphics/ao {}; - ardour = ardour4; + ardour = ardour5; ardour3 = callPackage ../applications/audio/ardour/ardour3.nix { inherit (gnome2) libgnomecanvas libgnomecanvasmm; inherit (vamp) vampSDK; }; - ardour4 = callPackage ../applications/audio/ardour { + ardour4 = callPackage ../applications/audio/ardour/ardour4.nix { + inherit (gnome2) libgnomecanvas libgnomecanvasmm; + inherit (vamp) vampSDK; + }; + + ardour5 = callPackage ../applications/audio/ardour { inherit (gnome2) libgnomecanvas libgnomecanvasmm; inherit (vamp) vampSDK; }; @@ -12508,19 +12559,13 @@ in prologMode = callPackage ../applications/editors/emacs-modes/prolog { }; - proofgeneral_4_2 = callPackage ../applications/editors/emacs-modes/proofgeneral/4.2.nix { - texinfo = texinfo4 ; - texLive = texlive.combine { inherit (texlive) scheme-basic cm-super ec; }; - }; - proofgeneral_4_3_pre = callPackage ../applications/editors/emacs-modes/proofgeneral/4.3pre.nix { - texinfo = texinfo4 ; + proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral/4.4.nix { texLive = texlive.combine { inherit (texlive) scheme-basic cm-super ec; }; }; proofgeneral_HEAD = callPackage ../applications/editors/emacs-modes/proofgeneral/HEAD.nix { texinfo = texinfo4 ; texLive = texlive.combine { inherit (texlive) scheme-basic cm-super ec; }; }; - proofgeneral = self.proofgeneral_4_2; quack = callPackage ../applications/editors/emacs-modes/quack { }; @@ -13710,7 +13755,7 @@ in pcmanfm = callPackage ../applications/misc/pcmanfm { }; - pcmanfm-qt = callPackage ../applications/misc/pcmanfm-qt { }; + pcmanfm-qt = lxqt.pcmanfm-qt; pcmanx-gtk2 = callPackage ../applications/misc/pcmanx-gtk2 { }; @@ -13730,6 +13775,8 @@ in smtube = qt55.callPackage ../applications/video/smtube {}; + sudolikeaboss = callPackage ../tools/security/sudolikeaboss { }; + sup = callPackage ../applications/networking/mailreaders/sup { ruby = ruby_2_3.override { cursesSupport = true; }; }; @@ -13866,6 +13913,8 @@ in vivaldi = callPackage ../applications/networking/browsers/vivaldi {}; + openmpt123 = callPackage ../applications/audio/openmpt123 {}; + opusfile = callPackage ../applications/audio/opusfile { }; opusTools = callPackage ../applications/audio/opus-tools { }; @@ -14225,6 +14274,8 @@ in urxvt_font_size = callPackage ../applications/misc/rxvt_unicode-plugins/urxvt-font-size { }; urxvt_theme_switch = callPackage ../applications/misc/rxvt_unicode-plugins/urxvt-theme-switch { }; + uade123 = callPackage ../applications/audio/uade123 {}; + udevil = callPackage ../applications/misc/udevil {}; udiskie = callPackage ../applications/misc/udiskie { }; @@ -14305,6 +14356,8 @@ in ssvnc = callPackage ../applications/networking/remote/ssvnc { }; + styx = callPackage ../applications/misc/styx { }; + tecoc = callPackage ../applications/editors/tecoc { }; viber = callPackage ../applications/networking/instant-messengers/viber { }; @@ -14684,7 +14737,7 @@ in vcprompt = callPackage ../applications/version-management/vcprompt { }; - vdirsyncer = callPackage ../tools/misc/vdirsyncer { pythonPackages = python3Packages; }; + vdirsyncer = callPackage ../tools/misc/vdirsyncer { }; vdpauinfo = callPackage ../tools/X11/vdpauinfo { }; @@ -15309,7 +15362,6 @@ in crack_attack = callPackage ../games/crack-attack { }; crafty = callPackage ../games/crafty { }; - craftyFull = appendToName "full" (crafty.override { fullVariant = true; }); crawlTiles = crawl.override { tileMode = true; @@ -15508,6 +15560,8 @@ in openlierox = callPackage ../games/openlierox { }; + openclonk = callPackage ../games/openclonk { }; + openmw = callPackage ../games/openmw { }; openra = callPackage ../games/openra { lua = lua5_1; }; @@ -16060,6 +16114,8 @@ in in makeOverridable makePackages extra; + lxqt = recurseIntoAttrs (callPackage ../desktops/lxqt { }); + mate = recurseIntoAttrs (callPackage ../desktops/mate { callPackage = newScope pkgs.mate; }); @@ -16796,6 +16852,8 @@ in keynav = callPackage ../tools/X11/keynav { }; + kops = callPackage ../applications/networking/cluster/kops { }; + lilypond = callPackage ../misc/lilypond { guile = guile_1_8; }; mailcore2 = callPackage ../development/libraries/mailcore2 { }; diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index 1e878e8b18c..430da89fc22 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -189,30 +189,6 @@ let }; }; - emacs-source-directory = stdenv.mkDerivation { - name = "emacs-source-directory-1.0.0"; - src = emacs.src; - - # We don't want accidentally start bulding emacs one more time - phases = "unpackPhase buildPhase"; - - buildPhase = '' - mkdir -p $out/share/emacs/site-lisp/elpa/emacs-source-directory - cp -a src $out/src - (cd $out/src && ${emacs}/bin/etags *.c *.h) - cat < $out/share/emacs/site-lisp/elpa/emacs-source-directory/emacs-source-directory-autoloads.el - (setq source-directory "$out") - (setq find-function-C-source-directory (expand-file-name "src" source-directory)) - EOF - cat < $out/share/emacs/site-lisp/elpa/emacs-source-directory/emacs-source-directory-pkg.el - (define-package "emacs-source-directory" "1.0.0" "Make emacs C source code available inside emacs. To use with emacsWithPackages in NixOS" '()) - EOF - ''; - meta = { - description = "Make emacs C source code available inside emacs. To use with emacsWithPackages in NixOS"; - }; - }; - evil-jumper = melpaBuild rec { pname = "evil-jumper"; version = "20151017"; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 9a3167f4cdd..bda35e9383f 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -58,9 +58,7 @@ let camlidl = callPackage ../development/tools/ocaml/camlidl { }; camlp4 = - if lib.versionOlder "4.03" ocaml.version - then callPackage ../development/tools/ocaml/camlp4/4_03.nix { } - else if lib.versionOlder "4.02" ocaml.version + if lib.versionOlder "4.02" ocaml.version then callPackage ../development/tools/ocaml/camlp4 { } else null; @@ -707,7 +705,7 @@ in rec ocamlPackages_4_02 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { }) (self: super: { }); - ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { }) (self: super: { }); + ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.03.nix { }) (self: super: { }); ocamlPackages_latest = ocamlPackages_4_03; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 987f42f9184..52531d62103 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1160,6 +1160,28 @@ in modules // { }; }; + asn1ate = buildPythonPackage rec { + pname = "asn1ate"; + date = "20160810"; + name = "${pname}-unstable-${date}"; + + src = pkgs.fetchFromGitHub { + sha256 = "04pddr1mh2v9qq8fg60czwvjny5qwh4nyxszr3qc4bipiiv2xk9w"; + rev = "c56104e8912400135509b584d84423ee05a5af6b"; + owner = "kimgr"; + repo = pname; + }; + + propagatedBuildInputs = with self; [ pyparsing ]; + + meta = with stdenv.lib; { + description = "Python library for translating ASN.1 into other forms"; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ leenaars ]; + }; +}; + atomiclong = buildPythonPackage rec { version = "0.1.1"; name = "atomiclong-${version}"; @@ -2056,6 +2078,34 @@ in modules // { }; }; + biopython = buildPythonPackage rec { + name = "biopython-${version}"; + version = "1.68"; + + src = pkgs.fetchurl { + url = "mirror://pypi/b/biopython/${name}.tar.gz"; + sha256 = "07qc7nz0k77y8hf8s18rscvibvm91zw0kkq7ylrhisf8vp8hkp6i"; + }; + + propagatedBuildInputs = with self; [ numpy ]; + # Checks try to write to $HOME, which does not work with nix + doCheck = false; + meta = { + description = "Python library for bioinformatics"; + + longDescription = '' + Biopython is a set of freely available tools for biological computation + written in Python by an international team of developers. It is a + distributed collaborative effort to develop Python libraries and + applications which address the needs of current and future work in + bioinformatics. + ''; + + homepage = http://biopython.org/wiki/Documentation; + maintainers = with maintainers; [ luispedro ]; + }; + }; + bedup = buildPythonPackage rec { version = "0.10.1"; name = "bedup-${version}"; @@ -6661,7 +6711,7 @@ in modules // { description = "High-level FTP client library (virtual file system and more)"; homepage = https://pypi.python.org/pypi/ftputil; platforms = platforms.linux; - license = licenses.bsd2; # "Modified BSD licence, says pypi" + license = licenses.bsd2; # "Modified BSD license, says pypi" }; }; @@ -7447,7 +7497,7 @@ in modules // { meta = { description = "Library to apply JSON Patches according to RFC 6902"; homepage = "https://github.com/stefankoegl/python-json-patch"; - license = stdenv.lib.licenses.bsd2; # "Modified BSD licence, says pypi" + license = stdenv.lib.licenses.bsd2; # "Modified BSD license, says pypi" }; }; @@ -7462,7 +7512,28 @@ in modules // { meta = { description = "Resolve JSON Pointers in Python"; homepage = "https://github.com/stefankoegl/python-json-pointer"; - license = stdenv.lib.licenses.bsd2; # "Modified BSD licence, says pypi" + license = stdenv.lib.licenses.bsd2; # "Modified BSD license, says pypi" + }; + }; + + jsonrpclib = buildPythonPackage rec { + name = "jsonrpclib-${version}"; + version = "0.1.7"; + + disabled = !isPy27; + + src = pkgs.fetchurl { + url = "mirror://pypi/j/jsonrpclib/${name}.tar.gz"; + sha256 = "02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z"; + }; + + propagatedBuildInputs = with self; [ cjson ]; + + meta = { + description = "JSON RPC client library"; + homepage = https://pypi.python.org/pypi/jsonrpclib/; + license = stdenv.lib.licenses.asl20; + maintainers = [ stdenv.lib.maintainers.joachifm ]; }; }; @@ -11661,11 +11732,11 @@ in modules // { github3_py = buildPythonPackage rec { name = "github3.py-${version}"; - version = "1.0.0a2"; + version = "1.0.0a4"; src = pkgs.fetchurl { url = "mirror://pypi/g/github3.py/${name}.tar.gz"; - sha256 = "11xvwbzfy04vwbjnpc8wcrjjzghbrbdzffrdfk70v0zdnxqg8hc5"; + sha256 = "0rhnrhb7qc60h82hkd4wnj1jh544yzrf4pjmn4rqacdi59p7f3jp"; }; buildInputs = with self; [ unittest2 pytest mock betamax betamax-matchers ]; @@ -13136,11 +13207,11 @@ in modules // { }; libcloud = buildPythonPackage (rec { - name = "libcloud-0.18.0"; + name = "libcloud-1.2.1"; src = pkgs.fetchurl { - url = mirror://pypi/a/apache-libcloud/apache-libcloud-0.18.0.tar.bz2; - sha256 = "0ahdp14ddly074qg5cksxdhqaws0kj445xmhz1y7lzspsp6fk1xg"; + url = "mirror://pypi/a/apache-libcloud/apache-${name}.tar.bz2"; + sha256 = "0qlhyz5f32xg8i10biyzqscks8d28vklk63hvj45vzy1amw60kqz"; }; buildInputs = with self; [ mock ]; @@ -17970,7 +18041,7 @@ in modules // { meta = { description = "Meta-commands handler for Postgres Database"; homepage = https://pypi.python.org/pypi/pgspecial; - licence = licenses.bsd3; + license = licenses.bsd3; maintainers = with maintainers; [ nckx ]; }; }; @@ -18062,8 +18133,14 @@ in modules // { buildInputs = with self; [ mock scripttest virtualenv pretend pytest ]; # Pip wants pytest, but tests are not distributed doCheck = false; - }; + meta = { + description = "The PyPA recommended tool for installing Python packages"; + license = licenses.mit; + homepage = https://pip.pypa.io/; + priority = 10; + }; + }; pika = buildPythonPackage rec { name = "pika-${version}"; @@ -18627,6 +18704,23 @@ in modules // { }; }; + ptpython = buildPythonPackage rec { + name = "ptpython-0.35"; + propagatedBuildInputs = with self; + [ wcwidth six prompt_toolkit docopt jedi pygments]; + src = pkgs.fetchurl { + url = "mirror://pypi/p/ptpython/${name}.tar.gz"; + sha256 = "e0d380fbccb03ed33a7f33d96988e66fbd286bc813c9ceea84a1b3b5615a5660"; + }; + + meta = { + description = "An advanced Python REPL"; + license = licenses.bsd3; + maintainers = with maintainers; [ mlieberman85 ]; + platforms = platforms.all; + }; + }; + publicsuffix = buildPythonPackage rec { name = "publicsuffix-${version}"; version = "1.0.2"; @@ -22829,26 +22923,7 @@ in modules // { }; }; - sockjs-tornado = buildPythonPackage rec { - name = "sockjs-tornado-${version}"; - version = "1.0.2"; - src = pkgs.fetchurl { - url = "mirror://pypi/s/sockjs-tornado/${name}.tar.gz"; - sha256 = "15lcy40h2cm0l8aknbrk48p2sni5wzybsqjx1hxwpk9lfa1xryyv"; - }; - - # This is needed for compatibility with OctoPrint - propagatedBuildInputs = with self; [ tornado_4_0_1 ]; - - meta = { - description = "SockJS python server implementation on top of Tornado framework"; - homepage = http://github.com/mrjoes/sockjs-tornado/; - license = licenses.mit; - platforms = platforms.all; - maintainers = with maintainers; [ abbradar ]; - }; - }; sopel = buildPythonPackage rec { name = "sopel-6.3.1"; @@ -24977,34 +25052,25 @@ in modules // { }; }; - twisted_11 = buildPythonPackage rec { - # NOTE: When updating please check if new versions still cause issues - # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem) - disabled = isPy3k; + twine = buildPythonPackage rec { + name = "twine-${version}"; + version = "1.8.1"; - name = "Twisted-13.2.0"; src = pkgs.fetchurl { - url = "mirror://pypi/T/Twisted/${name}.tar.bz2"; - sha256 = "1wrcqv5lvgwk2aq83qb2s2ng2vx14hbjjk2gc30cg6h1iiipal89"; + url = "mirror://pypi/t/twine/${name}.tar.gz"; + sha256 = "68b663691a947b844f92853c992d42bb68b6333bffc9ab7f661346b001c1da82"; }; - propagatedBuildInputs = with self; [ zope_interface ]; + propagatedBuildInputs = with self; [ clint pkginfo requests2 requests_toolbelt ]; - # Generate Twisted's plug-in cache. Twited users must do it as well. See - # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3 - # and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for - # details. - postInstall = "$out/bin/twistd --help > /dev/null"; + # Requires network + doCheck = false; meta = { - homepage = http://twistedmatrix.com/; - description = "Twisted, an event-driven networking engine written in Python"; - longDescription = '' - Twisted is an event-driven networking engine written in Python - and licensed under the MIT license. - ''; - license = licenses.mit; - maintainers = [ ]; + description = "Collection of utilities for interacting with PyPI"; + homepage = https://github.com/pypa/twine; + license = licenses.asl20; + maintainer = with maintainers; [ fridh ]; }; }; @@ -26767,18 +26833,6 @@ in modules // { }; }; - tornado_4_0_1 = buildPythonPackage rec { - name = "tornado-${version}"; - version = "4.0.1"; - - propagatedBuildInputs = with self; [ backports_ssl_match_hostname_3_4_0_2 certifi ]; - - src = pkgs.fetchurl { - url = "mirror://pypi/t/tornado/${name}.tar.gz"; - sha256 = "00crp5vnasxg7qyjv89qgssb69vd7qr13jfghdryrcbnn9l8c1df"; - }; - }; - tokenlib = buildPythonPackage rec { name = "tokenlib-${version}"; version = "0.3.1"; @@ -27637,12 +27691,12 @@ in modules // { IMAPClient = buildPythonPackage rec { name = "IMAPClient-${version}"; - version = "0.11"; + version = "0.13"; disabled = isPy34 || isPy35; src = pkgs.fetchurl { url = "http://freshfoo.com/projects/IMAPClient/${name}.tar.gz"; - sha256 = "1w54h8gz25qf6ggazzp6xf7kvsyiadsjfkkk17gm0p6pmzvvccbn"; + sha256 = "0v7kd1crdbff0rmh4ddm5qszkis6hpk9084qh94al8h7g4y9l3is"; }; buildInputs = with self; [ mock ]; @@ -29157,15 +29211,25 @@ in modules // { mps-youtube = buildPythonPackage rec { name = "mps-youtube-${version}"; - version = "0.2.6"; + version = "0.2.7.1"; disabled = (!isPy3k); + # disabled due to error in loading unittest + # don't know how to make test from: + doCheck = false; + + # before check create a directory and redirect XDG_CONFIG_HOME to it + preCheck = '' + mkdir -p check-phase + export XDG_CONFIG_HOME=$(pwd)/check-phase + ''; + src = pkgs.fetchFromGitHub { owner = "mps-youtube"; repo = "mps-youtube"; rev = "v${version}"; - sha256 = "1vbf60z2birbm7wc9irxy0jf5x3y32ncl8fw52v19xyx7fq10jrm"; + sha256 = "16zn5gwb3568w95lr21b88zkqlay61p1541sa9c3x69zpi8v0pys"; }; propagatedBuildInputs = with self; [ pafy ]; @@ -29479,12 +29543,12 @@ in modules // { }; hidapi = buildPythonPackage rec{ - version = "0.7.99.post12"; + version = "0.7.99.post15"; name = "hidapi-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/h/hidapi/${name}.tar.gz"; - sha256 = "1jaj0y5vn5yk033q01wacsz379mf3sy66d6gz072ycfr5rahcp59"; + sha256 = "09wlr1d7mx80974bsq62j4pk80234jgl7ip4br0y43q6999dpcr0"; }; propagatedBuildInputs = with self; [ pkgs.libusb1 pkgs.udev cython ]; @@ -29526,15 +29590,15 @@ in modules // { }; trezor = buildPythonPackage rec{ - version = "0.6.11"; + version = "0.7.4"; name = "trezor-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/t/trezor/${name}.tar.gz"; - sha256 = "0nqbjj0mvkp314hpq36px12hxbyidmhsdflq3121l4g9y3scfbnx"; + sha256 = "18nr76jkdg24sb3r8cfbiq12b95gnh0amc0r1wx9mmg3pwq6jx6y"; }; - propagatedBuildInputs = with self; [ protobuf2_6 hidapi ]; + propagatedBuildInputs = with self; [ protobuf3_0 hidapi ]; buildInputs = with self; [ ecdsa mnemonic ]; @@ -29550,15 +29614,15 @@ in modules // { }; keepkey = buildPythonPackage rec{ - version = "0.7.0"; + version = "0.7.3"; name = "keepkey-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/k/keepkey/${name}.tar.gz"; - sha256 = "1ikyp4jpydskznsrlwmxh9sn7b64aldwj2lf0phmb19r5kk06qmp"; + sha256 = "14d2r8dlx997ypgma2k8by90acw7i3l7hfq4gar9lcka0lqfj714"; }; - propagatedBuildInputs = with self; [ protobuf2_6 hidapi ]; + propagatedBuildInputs = with self; [ protobuf3_0 hidapi ]; buildInputs = with self; [ ecdsa mnemonic ]; @@ -29608,12 +29672,12 @@ in modules // { }; trezor_agent = buildPythonPackage rec{ - version = "0.6.5"; + version = "0.7.0"; name = "trezor_agent-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/t/trezor_agent/${name}.tar.gz"; - sha256 = "074vzy5qrx7fa2svqdwj1p6nbpxa8xmhfych9qa2kpcq32dg7a8s"; + sha256 = "1x1gwih6w8kxhpgmcp0v1k7mpmfsqiikkjca291sd0v2if24x7q1"; }; propagatedBuildInputs = with self; [ trezor ecdsa ed25519 mnemonic keepkey semver ]; @@ -29673,7 +29737,7 @@ in modules // { meta = { description = "Python test runner"; homepage = "https://github.com/CleanCut/green"; - licence = licenses.mit; + license = licenses.mit; }; }; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index d3fb4e646c3..a8f319bea60 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -24,13 +24,16 @@ let lib = pkgs.lib; jobs = - { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease; }; + rec { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease; }; metrics = import ./metrics.nix { inherit pkgs nixpkgs; }; manual = import ../../doc; lib-tests = import ../../lib/tests/release.nix { inherit nixpkgs; }; + # for consistency with NixOS tested job + tested = unstable; + unstable = pkgs.releaseTools.aggregate { name = "nixpkgs-${jobs.tarball.version}"; meta.description = "Release-critical builds for the Nixpkgs unstable channel";