diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index 39988cdd414eb21541545318304a531ed3eba92f..0000000000000000000000000000000000000000 --- a/doc/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# You may need to override this. -docbookxsl = $(HOME)/.nix-profile/xml/xsl/docbook -dblatex = dblatex - -XMLLINT = xmllint --catalogs -XSLTPROC = xsltproc --catalogs \ - --param section.autolabel 1 \ - --param section.label.includes.component.label 1 \ - --param html.stylesheet \'style.css\' \ - --param xref.with.number.and.title 1 \ - --param toc.section.depth 3 \ - --param admon.style \'\' \ - --param callout.graphics.extension \'.gif\' - -NEWS_OPTS = \ - --stringparam generate.toc "article nop" \ - --stringparam section.autolabel.max.depth 0 \ - --stringparam header.rule 0 - -all: NEWS.html NEWS.txt manual.html manual.pdf - -NEWS.html: release-notes.xml - $(XSLTPROC) --nonet --xinclude --output $@ $(NEWS_OPTS) \ - $(docbookxsl)/xhtml/docbook.xsl release-notes.xml - -NEWS.txt: release-notes.xml - $(XSLTPROC) --nonet --xinclude quote-literals.xsl release-notes.xml | \ - $(XSLTPROC) --nonet --output $@.tmp.html $(NEWS_OPTS) \ - $(docbookxsl)/xhtml/docbook.xsl - - LANG=en_US w3m -dump $@.tmp.html > $@ - rm $@.tmp.html - -manual.html: *.xml - $(XSLTPROC) --nonet --xinclude --output manual.html \ - $(docbookxsl)/xhtml/docbook.xsl manual.xml - -manual.pdf: *.xml - $(dblatex) \ - -P doc.collab.show=0 \ - -P latex.output.revhistory=0 \ - manual.xml diff --git a/doc/default.nix b/doc/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..1e8974d6026627e4b368890a978aa5635c1c3c18 --- /dev/null +++ b/doc/default.nix @@ -0,0 +1,42 @@ +with import ./.. { }; +with lib; + +stdenv.mkDerivation { + name = "nixpkgs-manual"; + + sources = sourceFilesBySuffices ./. [".xml"]; + + buildInputs = [ libxml2 libxslt ]; + + xsltFlags = '' + --param section.autolabel 1 + --param section.label.includes.component.label 1 + --param html.stylesheet 'style.css' + --param xref.with.number.and.title 1 + --param toc.section.depth 3 + --param admon.style ''' + --param callout.graphics.extension '.gif' + ''; + + buildCommand = '' + ln -s $sources/*.xml . # */ + + echo ${nixpkgsVersion} > .version + + xmllint --noout --nonet --xinclude --noxincludenode \ + --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \ + manual.xml + + dst=$out/share/doc/nixpkgs + mkdir -p $dst + xsltproc $xsltFlags --nonet --xinclude \ + --output $dst/manual.html \ + ${docbook5_xsl}/xml/xsl/docbook/xhtml/docbook.xsl \ + ./manual.xml + + cp ${./style.css} $dst/style.css + + mkdir -p $out/nix-support + echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products + ''; +} diff --git a/doc/manual.xml b/doc/manual.xml index 145e3e12dd9262098917aa86924c94c153b509eb..01373b4f5b1daaf64aa0f95d92b8090b877f0e27 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -3,25 +3,9 @@ - Nixpkgs Manual + Nixpkgs Contributors Guide - Draft (Version ) - - - - Eelco - Dolstra - - - LogicBlox - - - - - 2008-2012 - Eelco Dolstra - + Version @@ -33,6 +17,5 @@ - - + diff --git a/doc/meta.xml b/doc/meta.xml index eb644b3b0ee238d3eb0bb6843f6261c17dc31e74..e91f94d15c2433519a4b2290dedff405ef4df3a4 100644 --- a/doc/meta.xml +++ b/doc/meta.xml @@ -27,7 +27,7 @@ meta = { Meta-attributes are not passed to the builder of the package. Thus, a change to a meta-attribute doesn’t trigger a recompilation of -the package. The value of a meta-attribute must a string. +the package. The value of a meta-attribute must be a string. The meta-attributes of a package can be queried from the command-line using nix-env: @@ -120,12 +120,12 @@ interpretation: license - The license for the package. One from attribute set defined in - - nixpkgs/lib/licenses.nix. - Example: - stdenv.lib.licenses.gpl3. - See details in , + The license for the package. One from the + attribute set defined in + nixpkgs/lib/licenses.nix. Example: + stdenv.lib.licenses.gpl3. For details, see + . diff --git a/lib/licenses.nix b/lib/licenses.nix index 02618f1c6ca7d4dec55e5507f884a35890d9a6d0..bdcf8a7b8a7b3927d851aa40d22d943609ec7b00 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -62,6 +62,11 @@ rec { fullName = ''BSD 4-clause "Original" or "Old" License''; }; + cc0 = spdx { + shortName = "CC0-1.0"; + fullName = ''Creative Commons Zero v1.0 Universal''; + }; + cc-by-30 = spdx { shortName = "CC-BY-3.0"; fullName = "Creative Commons Attribution 3.0"; @@ -189,6 +194,8 @@ rec { fullName = "Lucent Public License v1.02"; }; + # spdx.org does not (yet) differentiate between the X11 and Expat versions + # for details see http://en.wikipedia.org/wiki/MIT_License#Various_versions mit = spdx { shortName = "MIT"; fullName = "MIT License"; @@ -210,6 +217,11 @@ rec { url = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt"; }; + ncsa = spdx { + shortName = "NCSA"; + fullName = "University of Illinois/NCSA Open Source License"; + }; + ofl = spdx { shortName = "OFL-1.1"; fullName = "SIL Open Font License 1.1"; diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 184fd7036a0f08712cf85dad253b20dcf7181699..9ff9f7ea27ae396c96f403240b1cfc48b3cece63 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -19,21 +19,26 @@ astsmtl = "Alexander Tsamutali "; aszlig = "aszlig "; auntie = "Jonathan Glines "; + aycanirican = "Aycan iRiCAN "; bbenoist = "Baptist BENOIST "; bennofs = "Benno Fünfstück "; berdario = "Dario Bertini "; + bergey = "Daniel Bergey "; bjg = "Brian Gough "; bjornfor = "Bjørn Forsman "; bluescreen303 = "Mathijs Kwik "; bodil = "Bodil Stokke "; bosu = "Boris Sukholitko "; calrama = "Moritz Maxeiner "; + campadrenalin = "Philip Horger "; cfouche = "Chaddaï Fouché "; chaoflow = "Florian Friesdorf "; coconnor = "Corey O'Connor "; + copumpkin = "Dan Peebles "; coroa = "Jonas Hörsch "; cstrahan = "Charles Strahan "; DamienCassou = "Damien Cassou "; + doublec = "Chris Double "; ederoyd46 = "Matthew Brown "; edwtjo = "Edward Tjörnhammar "; eelco = "Eelco Dolstra "; @@ -41,7 +46,9 @@ ertes = "Ertugrul Söylemez "; falsifian = "James Cook "; flosse = "Markus Kohlhase "; + funfunctor = "Edward O'Callaghan "; fuuzetsu = "Mateusz Kowalczyk "; + gal_bolle = "Florent Becker "; garbas = "Rok Garbas "; goibhniu = "Cillian de Róiste "; guibert = "David Guibert "; @@ -58,15 +65,18 @@ kkallio = "Karn Kallio "; ktosiek = "Tomasz Kontusz "; lethalman = "Luca Bruno "; + lhvwb = "Nathaniel Baxter "; linquize = "Linquize "; lovek323 = "Jason O'Conal "; ludo = "Ludovic Courtès "; madjar = "Georges Dubus "; + manveru = "Michael Fellinger "; marcweber = "Marc Weber "; matejc = "Matej Cotman "; meisternu = "Matt Miemiec "; modulistic = "Pablo Costa "; mornfall = "Petr Ročkai "; + MP2E = "Cray Elliott "; msackman = "Matthew Sackman "; nathan-gs = "Nathan Bijnens "; notthemessiah = "Brian Cohen "; diff --git a/lib/modules.nix b/lib/modules.nix index bcaadc7fd97798fe4656463de0f721720715f7a4..9fe26083cfd40fb600e2931bcd309ee28a467603 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -277,13 +277,14 @@ rec { fixupOptionType = loc: opt: let options' = opt.options or - (throw "Option `${showOption loc'}' has type optionSet but has no option attribute."); + (throw "Option `${showOption loc'}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}."); coerce = x: if isFunction x then x else { config, ... }: { options = x; }; options = map coerce (flatten options'); f = tp: - if tp.name == "option set" then types.submodule options + if tp.name == "option set" || tp.name == "submodule" then + throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}." else if tp.name == "attribute set of option sets" then types.attrsOf (types.submodule options) else if tp.name == "list or attribute set of option sets" then types.loaOf (types.submodule options) else if tp.name == "list of option sets" then types.listOf (types.submodule options) diff --git a/lib/sources.nix b/lib/sources.nix index a80e4397d6a4e0025227af2c2548892b8f8e210f..4ed16d65d2b72906b0e9b7df25a3b5c915466d3d 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -21,12 +21,12 @@ rec { # Get all files ending with the specified suffices from the given - # directory. E.g. `sourceFilesBySuffices ./dir [".xml" ".c"]'. + # directory or its descendants. E.g. `sourceFilesBySuffices ./dir + # [".xml" ".c"]'. sourceFilesBySuffices = path: exts: let filter = name: type: let base = baseNameOf (toString name); - in type != "directory" && lib.any (ext: lib.hasSuffix ext base) exts; + in type == "directory" || lib.any (ext: lib.hasSuffix ext base) exts; in builtins.filterSource filter path; - } diff --git a/lib/strings.nix b/lib/strings.nix index efdc265465f31aa3bec18941bad3acddfa1dd7fa..31b0f56e09b060ba864cd10b09817366818cc4e1 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -34,6 +34,9 @@ rec { concatStringsSep = separator: list: concatStrings (intersperse separator list); + concatMapStringsSep = sep: f: list: concatStringsSep sep (map f list); + concatImapStringsSep = sep: f: list: concatStringsSep sep (lib.imap f list); + # Construct a Unix-style search path consisting of each `subDir" # directory of the given list of packages. For example, diff --git a/nixos/doc/config-examples/basic.nix b/nixos/doc/config-examples/basic.nix deleted file mode 100644 index da37cfb8c28601ade565db95ce363020cb9a4ed2..0000000000000000000000000000000000000000 --- a/nixos/doc/config-examples/basic.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - boot = { - loader.grub.device = "/dev/sda"; - }; - - fileSystems = [ - { mountPoint = "/"; - device = "/dev/sda1"; - } - ]; - - swapDevices = [ - { device = "/dev/sdb1"; } - ]; - - services = { - openssh = { - enable = true; - }; - }; -} diff --git a/nixos/doc/config-examples/closed-install-configuration.nix b/nixos/doc/config-examples/closed-install-configuration.nix deleted file mode 100644 index 0cebacdb0ccdcff6be5fb3e046b36563bd77fba1..0000000000000000000000000000000000000000 --- a/nixos/doc/config-examples/closed-install-configuration.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - boot = { - loader.grub.device = "/dev/sda"; - copyKernels = true; - bootMount = "(hd0,0)"; - }; - - fileSystems = [ - { mountPoint = "/"; - device = "/dev/sda3"; - } - { mountPoint = "/boot"; - device = "/dev/sda1"; - neededForBoot = true; - } - ]; - - swapDevices = [ - { device = "/dev/sda2"; } - ]; - - services = { - sshd = { - enable = true; - }; - }; - - fonts = { - enableFontConfig = false; - }; - -} diff --git a/nixos/doc/config-examples/root-on-lvm.nix b/nixos/doc/config-examples/root-on-lvm.nix deleted file mode 100644 index 2ea1e547921f85247982a979b1e8c9d7b35c011a..0000000000000000000000000000000000000000 --- a/nixos/doc/config-examples/root-on-lvm.nix +++ /dev/null @@ -1,27 +0,0 @@ -# This configuration has / on a LVM volume. Since Grub -# doesn't know about LVM, a separate /boot is therefore -# needed. -# -# In this example, labels are used for file systems and -# swap devices: "boot" might be /dev/sda1, "root" might be -# /dev/my-volume-group/root, and "swap" might be /dev/sda2. -# In particular there is no specific reference to the fact -# that / is on LVM; that's figured out automatically. - -{ - boot.loader.grub.device = "/dev/sda"; - boot.initrd.kernelModules = ["ata_piix"]; - - fileSystems = [ - { mountPoint = "/"; - label = "root"; - } - { mountPoint = "/boot"; - label = "boot"; - } - ]; - - swapDevices = [ - { label = "swap"; } - ]; -} diff --git a/nixos/doc/config-examples/svn-server.nix b/nixos/doc/config-examples/svn-server.nix deleted file mode 100644 index e727007117b1f7bb49b25fe913d7e3fa1720eca6..0000000000000000000000000000000000000000 --- a/nixos/doc/config-examples/svn-server.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - boot = { - loader.grub.device = "/dev/sda"; - }; - - fileSystems = [ - { mountPoint = "/"; - device = "/dev/sda1"; - } - ]; - - services = { - - sshd = { - enable = true; - }; - - httpd = { - enable = true; - adminAddr = "admin@example.org"; - - subservices = { - - subversion = { - enable = true; - dataDir = "/data/subversion"; - notificationSender = "svn@example.org"; - }; - - }; - - }; - - }; - -} diff --git a/nixos/doc/config-examples/x86_64-usbstick.nix b/nixos/doc/config-examples/x86_64-usbstick.nix deleted file mode 100644 index 374d3ba3bc74f4982425d96a2e26dd47d6b30034..0000000000000000000000000000000000000000 --- a/nixos/doc/config-examples/x86_64-usbstick.nix +++ /dev/null @@ -1,20 +0,0 @@ -# Configuration file used to install NixOS-x86_64 on a USB stick. - -{ - boot = { - loader.grub.device = "/dev/sda"; - initrd = { - kernelModules = ["usb_storage" "ehci_hcd" "ohci_hcd"]; - }; - }; - - fileSystems = [ - { mountPoint = "/"; - label = "nixos-usb"; - } - ]; - - fonts = { - enableFontConfig = false; - }; -} diff --git a/nixos/doc/manual/administration/boot-problems.xml b/nixos/doc/manual/administration/boot-problems.xml new file mode 100644 index 0000000000000000000000000000000000000000..be6ff3aac0fe8b4858bd00e5035fce061bfbe05b --- /dev/null +++ b/nixos/doc/manual/administration/boot-problems.xml @@ -0,0 +1,65 @@ +
+ +Boot Problems + +If NixOS fails to boot, there are a number of kernel command +line parameters that may help you to identify or fix the issue. You +can add these parameters in the GRUB boot menu by pressing “e” to +modify the selected boot entry and editing the line starting with +linux. The following are some useful kernel command +line parameters that are recognised by the NixOS boot scripts or by +systemd: + + + + boot.shell_on_fail + Start a root shell if something goes wrong in + stage 1 of the boot process (the initial ramdisk). This is + disabled by default because there is no authentication for the + root shell. + + + boot.debug1 + Start an interactive shell in stage 1 before + anything useful has been done. That is, no modules have been + loaded and no file systems have been mounted, except for + /proc and + /sys. + + + boot.trace + Print every shell command executed by the stage 1 + and 2 boot scripts. + + + single + Boot into rescue mode (a.k.a. single user mode). + This will cause systemd to start nothing but the unit + rescue.target, which runs + sulogin to prompt for the root password and + start a root login shell. Exiting the shell causes the system to + continue with the normal boot process. + + + systemd.log_level=debug systemd.log_target=console + Make systemd very verbose and send log messages to + the console instead of the journal. + + + + +For more parameters recognised by systemd, see +systemd1. + +If no login prompts or X11 login screens appear (e.g. due to +hanging dependencies), you can press Alt+ArrowUp. If you’re lucky, +this will start rescue mode (described above). (Also note that since +most units have a 90-second timeout before systemd gives up on them, +the agetty login prompts should appear eventually +unless something is very wrong.) + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/cleaning-store.xml b/nixos/doc/manual/administration/cleaning-store.xml new file mode 100644 index 0000000000000000000000000000000000000000..41dc65795b68f760d595b21469a79b5444508ee3 --- /dev/null +++ b/nixos/doc/manual/administration/cleaning-store.xml @@ -0,0 +1,62 @@ + + +Cleaning the Nix Store + +Nix has a purely functional model, meaning that packages are +never upgraded in place. Instead new versions of packages end up in a +different location in the Nix store (/nix/store). +You should periodically run Nix’s garbage +collector to remove old, unreferenced packages. This is +easy: + + +$ nix-collect-garbage + + +Alternatively, you can use a systemd unit that does the same in the +background: + + +$ systemctl start nix-gc.service + + +You can tell NixOS in configuration.nix to run +this unit automatically at certain points in time, for instance, every +night at 03:15: + + +nix.gc.automatic = true; +nix.gc.dates = "03:15"; + + + + +The commands above do not remove garbage collector roots, such +as old system configurations. Thus they do not remove the ability to +roll back to previous configurations. The following command deletes +old roots, removing the ability to roll back to them: + +$ nix-collect-garbage -d + +You can also do this for specific profiles, e.g. + +$ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations old + +Note that NixOS system configurations are stored in the profile +/nix/var/nix/profiles/system. + +Another way to reclaim disk space (often as much as 40% of the +size of the Nix store) is to run Nix’s store optimiser, which seeks +out identical files in the store and replaces them with hard links to +a single copy. + +$ nix-store --optimise + +Since this command needs to read the entire Nix store, it can take +quite a while to finish. + + \ No newline at end of file diff --git a/nixos/doc/manual/administration/container-networking.xml b/nixos/doc/manual/administration/container-networking.xml new file mode 100644 index 0000000000000000000000000000000000000000..adea3e69840d503bc18a902db38080027841ddbb --- /dev/null +++ b/nixos/doc/manual/administration/container-networking.xml @@ -0,0 +1,50 @@ +
+ + +Container Networking + +When you create a container using nixos-container +create, it gets it own private IPv4 address in the range +10.233.0.0/16. You can get the container’s IPv4 +address as follows: + + +$ nixos-container show-ip foo +10.233.4.2 + +$ ping -c1 10.233.4.2 +64 bytes from 10.233.4.2: icmp_seq=1 ttl=64 time=0.106 ms + + + + +Networking is implemented using a pair of virtual Ethernet +devices. The network interface in the container is called +eth0, while the matching interface in the host is +called ve-container-name +(e.g., ve-foo). The container has its own network +namespace and the CAP_NET_ADMIN capability, so it +can perform arbitrary network configuration such as setting up +firewall rules, without affecting or having access to the host’s +network. + +By default, containers cannot talk to the outside network. If +you want that, you should set up Network Address Translation (NAT) +rules on the host to rewrite container traffic to use your external +IP address. This can be accomplished using the following configuration +on the host: + + +networking.nat.enable = true; +networking.nat.internalInterfaces = ["ve-+"]; +networking.nat.externalInterface = "eth0"; + +where eth0 should be replaced with the desired +external interface. Note that ve-+ is a wildcard +that matches all container interfaces. + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/containers.xml b/nixos/doc/manual/administration/containers.xml new file mode 100644 index 0000000000000000000000000000000000000000..4cd2c8ae55637acebc3fb057c9124132ed8ceb3c --- /dev/null +++ b/nixos/doc/manual/administration/containers.xml @@ -0,0 +1,34 @@ + + +Container Management + +NixOS allows you to easily run other NixOS instances as +containers. Containers are a light-weight +approach to virtualisation that runs software in the container at the +same speed as in the host system. NixOS containers share the Nix store +of the host, making container creation very efficient. + +Currently, NixOS containers are not perfectly isolated +from the host system. This means that a user with root access to the +container can do things that affect the host. So you should not give +container root access to untrusted users. + +NixOS containers can be created in two ways: imperatively, using +the command nixos-container, and declaratively, by +specifying them in your configuration.nix. The +declarative approach implies that containers get upgraded along with +your host system when you run nixos-rebuild, which +is often not what you want. By contrast, in the imperative approach, +containers are configured and updated independently from the host +system. + + + + + + + diff --git a/nixos/doc/manual/administration/control-groups.xml b/nixos/doc/manual/administration/control-groups.xml new file mode 100644 index 0000000000000000000000000000000000000000..86c684cdfe5d3741564831d256a491e4f4a69504 --- /dev/null +++ b/nixos/doc/manual/administration/control-groups.xml @@ -0,0 +1,75 @@ + + +Control Groups + +To keep track of the processes in a running system, systemd uses +control groups (cgroups). A control group is a +set of processes used to allocate resources such as CPU, memory or I/O +bandwidth. There can be multiple control group hierarchies, allowing +each kind of resource to be managed independently. + +The command systemd-cgls lists all control +groups in the systemd hierarchy, which is what +systemd uses to keep track of the processes belonging to each service +or user session: + + +$ systemd-cgls +├─user +│ └─eelco +│ └─c1 +│ ├─ 2567 -:0 +│ ├─ 2682 kdeinit4: kdeinit4 Running... +│ ├─ ... +│ └─10851 sh -c less -R +└─system + ├─httpd.service + │ ├─2444 httpd -f /nix/store/3pyacby5cpr55a03qwbnndizpciwq161-httpd.conf -DNO_DETACH + │ └─... + ├─dhcpcd.service + │ └─2376 dhcpcd --config /nix/store/f8dif8dsi2yaa70n03xir8r653776ka6-dhcpcd.conf + └─ ... + + +Similarly, systemd-cgls cpu shows the cgroups in +the CPU hierarchy, which allows per-cgroup CPU scheduling priorities. +By default, every systemd service gets its own CPU cgroup, while all +user sessions are in the top-level CPU cgroup. This ensures, for +instance, that a thousand run-away processes in the +httpd.service cgroup cannot starve the CPU for one +process in the postgresql.service cgroup. (By +contrast, it they were in the same cgroup, then the PostgreSQL process +would get 1/1001 of the cgroup’s CPU time.) You can limit a service’s +CPU share in configuration.nix: + + +systemd.services.httpd.serviceConfig.CPUShares = 512; + + +By default, every cgroup has 1024 CPU shares, so this will halve the +CPU allocation of the httpd.service cgroup. + +There also is a memory hierarchy that +controls memory allocation limits; by default, all processes are in +the top-level cgroup, so any service or session can exhaust all +available memory. Per-cgroup memory limits can be specified in +configuration.nix; for instance, to limit +httpd.service to 512 MiB of RAM (excluding swap) +and 640 MiB of RAM (including swap): + + +systemd.services.httpd.serviceConfig.MemoryLimit = "512M"; +systemd.services.httpd.serviceConfig.ControlGroupAttribute = [ "memory.memsw.limit_in_bytes 640M" ]; + + + + +The command systemd-cgtop shows a +continuously updated list of all cgroups with their CPU and memory +usage. + + \ No newline at end of file diff --git a/nixos/doc/manual/administration/declarative-containers.xml b/nixos/doc/manual/administration/declarative-containers.xml new file mode 100644 index 0000000000000000000000000000000000000000..177ebdd8db175a7581698e83e9f157573065f28b --- /dev/null +++ b/nixos/doc/manual/administration/declarative-containers.xml @@ -0,0 +1,52 @@ +
+ +Declarative Container Specification + +You can also specify containers and their configuration in the +host’s configuration.nix. For example, the +following specifies that there shall be a container named +database running PostgreSQL: + + +containers.database = + { config = + { config, pkgs, ... }: + { services.postgresql.enable = true; + services.postgresql.package = pkgs.postgresql92; + }; + }; + + +If you run nixos-rebuild switch, the container will +be built and started. If the container was already running, it will be +updated in place, without rebooting. + +By default, declarative containers share the network namespace +of the host, meaning that they can listen on (privileged) +ports. However, they cannot change the network configuration. You can +give a container its own network as follows: + + +containers.database = + { privateNetwork = true; + hostAddress = "192.168.100.10"; + localAddress = "192.168.100.11"; + }; + + +This gives the container a private virtual Ethernet interface with IP +address 192.168.100.11, which is hooked up to a +virtual Ethernet interface on the host with IP address +192.168.100.10. (See the next section for details +on container networking.) + +To disable the container, just remove it from +configuration.nix and run nixos-rebuild +switch. Note that this will not delete the root directory of +the container in /var/lib/containers. + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/imperative-containers.xml b/nixos/doc/manual/administration/imperative-containers.xml new file mode 100644 index 0000000000000000000000000000000000000000..6131d4e04ea87caf930d644e6be67b27b3a52fbe --- /dev/null +++ b/nixos/doc/manual/administration/imperative-containers.xml @@ -0,0 +1,124 @@ +
+ +Imperative Container Management + +We’ll cover imperative container management using +nixos-container first. You create a container with +identifier foo as follows: + + +$ nixos-container create foo + + +This creates the container’s root directory in +/var/lib/containers/foo and a small configuration +file in /etc/containers/foo.conf. It also builds +the container’s initial system configuration and stores it in +/nix/var/nix/profiles/per-container/foo/system. You +can modify the initial configuration of the container on the command +line. For instance, to create a container that has +sshd running, with the given public key for +root: + + +$ nixos-container create foo --config 'services.openssh.enable = true; \ + users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];' + + + + +Creating a container does not start it. To start the container, +run: + + +$ nixos-container start foo + + +This command will return as soon as the container has booted and has +reached multi-user.target. On the host, the +container runs within a systemd unit called +container@container-name.service. +Thus, if something went wrong, you can get status info using +systemctl: + + +$ systemctl status container@foo + + + + +If the container has started succesfully, you can log in as +root using the root-login operation: + + +$ nixos-container root-login foo +[root@foo:~]# + + +Note that only root on the host can do this (since there is no +authentication). You can also get a regular login prompt using the +login operation, which is available to all users on +the host: + + +$ nixos-container login foo +foo login: alice +Password: *** + + +With nixos-container run, you can execute arbitrary +commands in the container: + + +$ nixos-container run foo -- uname -a +Linux foo 3.4.82 #1-NixOS SMP Thu Mar 20 14:44:05 UTC 2014 x86_64 GNU/Linux + + + + +There are several ways to change the configuration of the +container. First, on the host, you can edit +/var/lib/container/name/etc/nixos/configuration.nix, +and run + + +$ nixos-container update foo + + +This will build and activate the new configuration. You can also +specify a new configuration on the command line: + + +$ nixos-container update foo --config 'services.httpd.enable = true; \ + services.httpd.adminAddr = "foo@example.org";' + +$ curl http://$(nixos-container show-ip foo)/ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">… + + +However, note that this will overwrite the container’s +/etc/nixos/configuration.nix. + +Alternatively, you can change the configuration from within the +container itself by running nixos-rebuild switch +inside the container. Note that the container by default does not have +a copy of the NixOS channel, so you should run nix-channel +--update first. + +Containers can be stopped and started using +nixos-container stop and nixos-container +start, respectively, or by using +systemctl on the container’s service unit. To +destroy a container, including its file system, do + + +$ nixos-container destroy foo + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/logging.xml b/nixos/doc/manual/administration/logging.xml new file mode 100644 index 0000000000000000000000000000000000000000..1d5df7770e298ec8c2b9ba8fcf6d343e62d1d6de --- /dev/null +++ b/nixos/doc/manual/administration/logging.xml @@ -0,0 +1,52 @@ + + +Logging + +System-wide logging is provided by systemd’s +journal, which subsumes traditional logging +daemons such as syslogd and klogd. Log entries are kept in binary +files in /var/log/journal/. The command +journalctl allows you to see the contents of the +journal. For example, + + +$ journalctl -b + + +shows all journal entries since the last reboot. (The output of +journalctl is piped into less by +default.) You can use various options and match operators to restrict +output to messages of interest. For instance, to get all messages +from PostgreSQL: + + +$ journalctl -u postgresql.service +-- Logs begin at Mon, 2013-01-07 13:28:01 CET, end at Tue, 2013-01-08 01:09:57 CET. -- +... +Jan 07 15:44:14 hagbard postgres[2681]: [2-1] LOG: database system is shut down +-- Reboot -- +Jan 07 15:45:10 hagbard postgres[2532]: [1-1] LOG: database system was shut down at 2013-01-07 15:44:14 CET +Jan 07 15:45:13 hagbard postgres[2500]: [1-1] LOG: database system is ready to accept connections + + +Or to get all messages since the last reboot that have at least a +“critical” severity level: + + +$ journalctl -b -p crit +Dec 17 21:08:06 mandark sudo[3673]: pam_unix(sudo:auth): auth could not identify password for [alice] +Dec 29 01:30:22 mandark kernel[6131]: [1053513.909444] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1) + + + + +The system journal is readable by root and by users in the +wheel and systemd-journal +groups. All users have a private journal that can be read using +journalctl. + + \ No newline at end of file diff --git a/nixos/doc/manual/administration/maintenance-mode.xml b/nixos/doc/manual/administration/maintenance-mode.xml new file mode 100644 index 0000000000000000000000000000000000000000..15c1f902da79245ccf9b227b581a8b7cf710cc6c --- /dev/null +++ b/nixos/doc/manual/administration/maintenance-mode.xml @@ -0,0 +1,18 @@ +
+ +Maintenance Mode + +You can enter rescue mode by running: + + +$ systemctl rescue + +This will eventually give you a single-user root shell. Systemd will +stop (almost) all system services. To get out of maintenance mode, +just exit from the rescue shell. + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/network-problems.xml b/nixos/doc/manual/administration/network-problems.xml new file mode 100644 index 0000000000000000000000000000000000000000..5ba1bfd5ac9ac7724f5949011b4c340972cbd9d0 --- /dev/null +++ b/nixos/doc/manual/administration/network-problems.xml @@ -0,0 +1,33 @@ +
+ +Network Problems + +Nix uses a so-called binary cache to +optimise building a package from source into downloading it as a +pre-built binary. That is, whenever a command like +nixos-rebuild needs a path in the Nix store, Nix +will try to download that path from the Internet rather than build it +from source. The default binary cache is +http://cache.nixos.org/. If this cache is unreachable, Nix +operations may take a long time due to HTTP connection timeouts. You +can disable the use of the binary cache by adding , e.g. + + +$ nixos-rebuild switch --option use-binary-caches false + + +If you have an alternative binary cache at your disposal, you can use +it instead: + + +$ nixos-rebuild switch --option binary-caches http://my-cache.example.org/ + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/rebooting.xml b/nixos/doc/manual/administration/rebooting.xml new file mode 100644 index 0000000000000000000000000000000000000000..d1db7b141cf2e6ce5b3416463d1f08e2ad9315f9 --- /dev/null +++ b/nixos/doc/manual/administration/rebooting.xml @@ -0,0 +1,44 @@ + + +Rebooting and Shutting Down + +The system can be shut down (and automatically powered off) by +doing: + + +$ shutdown + + +This is equivalent to running systemctl +poweroff. + +To reboot the system, run + + +$ reboot + + +which is equivalent to systemctl reboot. +Alternatively, you can quickly reboot the system using +kexec, which bypasses the BIOS by directly loading +the new kernel into memory: + + +$ systemctl kexec + + + + +The machine can be suspended to RAM (if supported) using +systemctl suspend, and suspended to disk using +systemctl hibernate. + +These commands can be run by any user who is logged in locally, +i.e. on a virtual console or in X11; otherwise, the user is asked for +authentication. + + \ No newline at end of file diff --git a/nixos/doc/manual/administration/rollback.xml b/nixos/doc/manual/administration/rollback.xml new file mode 100644 index 0000000000000000000000000000000000000000..23a3ece7c0702ba4e98073b9895e6a4150bde56a --- /dev/null +++ b/nixos/doc/manual/administration/rollback.xml @@ -0,0 +1,48 @@ +
+ +Rolling Back Configuration Changes + +After running nixos-rebuild to switch to a +new configuration, you may find that the new configuration doesn’t +work very well. In that case, there are several ways to return to a +previous configuration. + +First, the GRUB boot manager allows you to boot into any +previous configuration that hasn’t been garbage-collected. These +configurations can be found under the GRUB submenu “NixOS - All +configurations”. This is especially useful if the new configuration +fails to boot. After the system has booted, you can make the selected +configuration the default for subsequent boots: + + +$ /run/current-system/bin/switch-to-configuration boot + + + +Second, you can switch to the previous configuration in a running +system: + + +$ nixos-rebuild switch --rollback + +This is equivalent to running: + + +$ /nix/var/nix/profiles/system-N-link/bin/switch-to-configuration switch + +where N is the number of the NixOS system +configuration. To get a list of the available configurations, do: + + +$ ls -l /nix/var/nix/profiles/system-*-link +... +lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> /nix/store/202b...-nixos-13.07pre4932_5a676e4-4be1055 + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/running.xml b/nixos/doc/manual/administration/running.xml new file mode 100644 index 0000000000000000000000000000000000000000..9091511ed527a25b7c4bd6d9edd964d3a02a8624 --- /dev/null +++ b/nixos/doc/manual/administration/running.xml @@ -0,0 +1,24 @@ + + +Administration + + +This chapter describes various aspects of managing a running +NixOS system, such as how to use the systemd +service manager. + + + + + + + + + + + + diff --git a/nixos/doc/manual/administration/service-mgmt.xml b/nixos/doc/manual/administration/service-mgmt.xml new file mode 100644 index 0000000000000000000000000000000000000000..c0940a42f30726e5d5909940e119e7beb6833389 --- /dev/null +++ b/nixos/doc/manual/administration/service-mgmt.xml @@ -0,0 +1,83 @@ + + +Service Management + +In NixOS, all system services are started and monitored using +the systemd program. Systemd is the “init” process of the system +(i.e. PID 1), the parent of all other processes. It manages a set of +so-called “units”, which can be things like system services +(programs), but also mount points, swap files, devices, targets +(groups of units) and more. Units can have complex dependencies; for +instance, one unit can require that another unit must be successfully +started before the first unit can be started. When the system boots, +it starts a unit named default.target; the +dependencies of this unit cause all system services to be started, +file systems to be mounted, swap files to be activated, and so +on. + +The command systemctl is the main way to +interact with systemd. Without any arguments, it +shows the status of active units: + + +$ systemctl +-.mount loaded active mounted / +swapfile.swap loaded active active /swapfile +sshd.service loaded active running SSH Daemon +graphical.target loaded active active Graphical Interface +... + + + + +You can ask for detailed status information about a unit, for +instance, the PostgreSQL database service: + + +$ systemctl status postgresql.service +postgresql.service - PostgreSQL Server + Loaded: loaded (/nix/store/pn3q73mvh75gsrl8w7fdlfk3fq5qm5mw-unit/postgresql.service) + Active: active (running) since Mon, 2013-01-07 15:55:57 CET; 9h ago + Main PID: 2390 (postgres) + CGroup: name=systemd:/system/postgresql.service + ├─2390 postgres + ├─2418 postgres: writer process + ├─2419 postgres: wal writer process + ├─2420 postgres: autovacuum launcher process + ├─2421 postgres: stats collector process + └─2498 postgres: zabbix zabbix [local] idle + +Jan 07 15:55:55 hagbard postgres[2394]: [1-1] LOG: database system was shut down at 2013-01-07 15:55:05 CET +Jan 07 15:55:57 hagbard postgres[2390]: [1-1] LOG: database system is ready to accept connections +Jan 07 15:55:57 hagbard postgres[2420]: [1-1] LOG: autovacuum launcher started +Jan 07 15:55:57 hagbard systemd[1]: Started PostgreSQL Server. + + +Note that this shows the status of the unit (active and running), all +the processes belonging to the service, as well as the most recent log +messages from the service. + + + +Units can be stopped, started or restarted: + + +$ systemctl stop postgresql.service +$ systemctl start postgresql.service +$ systemctl restart postgresql.service + + +These operations are synchronous: they wait until the service has +finished starting or stopping (or has failed). Starting a unit will +cause the dependencies of that unit to be started as well (if +necessary). + + + + diff --git a/nixos/doc/manual/administration/store-corruption.xml b/nixos/doc/manual/administration/store-corruption.xml new file mode 100644 index 0000000000000000000000000000000000000000..0160cb45358ba15747eb1a38864b546bb4d2159e --- /dev/null +++ b/nixos/doc/manual/administration/store-corruption.xml @@ -0,0 +1,37 @@ +
+ +Nix Store Corruption + +After a system crash, it’s possible for files in the Nix store +to become corrupted. (For instance, the Ext4 file system has the +tendency to replace un-synced files with zero bytes.) NixOS tries +hard to prevent this from happening: it performs a +sync before switching to a new configuration, and +Nix’s database is fully transactional. If corruption still occurs, +you may be able to fix it automatically. + +If the corruption is in a path in the closure of the NixOS +system configuration, you can fix it by doing + + +$ nixos-rebuild switch --repair + + +This will cause Nix to check every path in the closure, and if its +cryptographic hash differs from the hash recorded in Nix’s database, +the path is rebuilt or redownloaded. + +You can also scan the entire Nix store for corrupt paths: + + +$ nix-store --verify --check-contents --repair + + +Any corrupt paths will be redownloaded if they’re available in a +binary cache; otherwise, they cannot be repaired. + +
\ No newline at end of file diff --git a/nixos/doc/manual/administration/troubleshooting.xml b/nixos/doc/manual/administration/troubleshooting.xml new file mode 100644 index 0000000000000000000000000000000000000000..351fb1883310af5997346522adcffbcdfe37123c --- /dev/null +++ b/nixos/doc/manual/administration/troubleshooting.xml @@ -0,0 +1,18 @@ + + +Troubleshooting + +This chapter describes solutions to common problems you might +encounter when you manage your NixOS system. + + + + + + + + diff --git a/nixos/doc/manual/administration/user-sessions.xml b/nixos/doc/manual/administration/user-sessions.xml new file mode 100644 index 0000000000000000000000000000000000000000..05e2c1a9b29fb6e3c261b38707bf39caf14458c3 --- /dev/null +++ b/nixos/doc/manual/administration/user-sessions.xml @@ -0,0 +1,53 @@ + + +User Sessions + +Systemd keeps track of all users who are logged into the system +(e.g. on a virtual console or remotely via SSH). The command +loginctl allows querying and manipulating user +sessions. For instance, to list all user sessions: + + +$ loginctl + SESSION UID USER SEAT + c1 500 eelco seat0 + c3 0 root seat0 + c4 500 alice + + +This shows that two users are logged in locally, while another is +logged in remotely. (“Seats” are essentially the combinations of +displays and input devices attached to the system; usually, there is +only one seat.) To get information about a session: + + +$ loginctl session-status c3 +c3 - root (0) + Since: Tue, 2013-01-08 01:17:56 CET; 4min 42s ago + Leader: 2536 (login) + Seat: seat0; vc3 + TTY: /dev/tty3 + Service: login; type tty; class user + State: online + CGroup: name=systemd:/user/root/c3 + ├─ 2536 /nix/store/10mn4xip9n7y9bxqwnsx7xwx2v2g34xn-shadow-4.1.5.1/bin/login -- + ├─10339 -bash + └─10355 w3m nixos.org + + +This shows that the user is logged in on virtual console 3. It also +lists the processes belonging to this session. Since systemd keeps +track of this, you can terminate a session in a way that ensures that +all the session’s processes are gone: + + +$ loginctl terminate-session c3 + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/configuration.xml b/nixos/doc/manual/configuration.xml deleted file mode 100644 index d35a5fff4aa4a4b9f9398cd6c5c4cadd789efa3c..0000000000000000000000000000000000000000 --- a/nixos/doc/manual/configuration.xml +++ /dev/null @@ -1,1557 +0,0 @@ - - -Configuring NixOS - -This chapter describes how to configure various aspects of a -NixOS machine through the configuration file -/etc/nixos/configuration.nix. As described in -, changes to this file only take -effect after you run nixos-rebuild. - - - - -
Configuration syntax - -
The basics - -The NixOS configuration file -/etc/nixos/configuration.nix is actually a -Nix expression, which is the Nix package -manager’s purely functional language for describing how to build -packages and configurations. This means you have all the expressive -power of that language at your disposal, including the ability to -abstract over common patterns, which is very useful when managing -complex systems. The syntax and semantics of the Nix language are -fully described in the Nix -manual, but here we give a short overview of the most important -constructs useful in NixOS configuration files. - -The NixOS configuration file generally looks like this: - - -{ config, pkgs, ... }: - -{ option definitions -} - - -The first line ({ config, pkgs, ... }:) denotes -that this is actually a function that takes at least the two arguments - config and pkgs. (These are -explained later.) The function returns a set of -option definitions ({ ... }). These definitions have the -form name = -value, where -name is the name of an option and -value is its value. For example, - - -{ config, pkgs, ... }: - -{ services.httpd.enable = true; - services.httpd.adminAddr = "alice@example.org"; - services.httpd.documentRoot = "/webroot"; -} - - -defines a configuration with three option definitions that together -enable the Apache HTTP Server with /webroot as -the document root. - -Sets can be nested, and in fact dots in option names are -shorthand for defining a set containing another set. For instance, - defines a set named -services that contains a set named -httpd, which in turn contains an option definition -named enable with value true. -This means that the example above can also be written as: - - -{ config, pkgs, ... }: - -{ services = { - httpd = { - enable = true; - adminAddr = "alice@example.org"; - documentRoot = "/webroot"; - }; - }; -} - - -which may be more convenient if you have lots of option definitions -that share the same prefix (such as -services.httpd). - -NixOS checks your option definitions for correctness. For -instance, if you try to define an option that doesn’t exist (that is, -doesn’t have a corresponding option declaration), -nixos-rebuild will give an error like: - -The option `services.httpd.enabl' defined in `/etc/nixos/configuration.nix' does not exist. - -Likewise, values in option definitions must have a correct type. For -instance, must be a Boolean -(true or false). Trying to give -it a value of another type, such as a string, will cause an error: - -The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is not a boolean. - - - - -Options have various types of values. The most important are: - - - - Strings - - Strings are enclosed in double quotes, e.g. - - -networking.hostName = "dexter"; - - - Special characters can be escaped by prefixing them with a - backslash (e.g. \"). - - Multi-line strings can be enclosed in double - single quotes, e.g. - - -networking.extraHosts = - '' - 127.0.0.2 other-localhost - 10.0.0.1 server - ''; - - - The main difference is that preceding whitespace is - automatically stripped from each line, and that characters like - " and \ are not special - (making it more convenient for including things like shell - code). - - - - - Booleans - - These can be true or - false, e.g. - - -networking.firewall.enable = true; -networking.firewall.allowPing = false; - - - - - - - Integers - - For example, - - -boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 60; - - - (Note that here the attribute name - net.ipv4.tcp_keepalive_time is enclosed in - quotes to prevent it from being interpreted as a set named - net containing a set named - ipv4, and so on. This is because it’s not a - NixOS option but the literal name of a Linux kernel - setting.) - - - - - Sets - - Sets were introduced above. They are name/value pairs - enclosed in braces, as in the option definition - - -fileSystems."/boot" = - { device = "/dev/sda1"; - fsType = "ext4"; - options = "rw,data=ordered,relatime"; - }; - - - - - - - Lists - - The important thing to note about lists is that list - elements are separated by whitespace, like this: - - -boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ]; - - - List elements can be any other type, e.g. sets: - - -swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; - - - - - - - Packages - - Usually, the packages you need are already part of the Nix - Packages collection, which is a set that can be accessed through - the function argument pkgs. Typical uses: - - -environment.systemPackages = - [ pkgs.thunderbird - pkgs.emacs - ]; - -postgresql.package = pkgs.postgresql90; - - - The latter option definition changes the default PostgreSQL - package used by NixOS’s PostgreSQL service to 9.0. For more - information on packages, including how to add new ones, see - . - - - - - - - -
- - -
Abstractions - -If you find yourself repeating yourself over and over, it’s time -to abstract. Take, for instance, this Apache HTTP Server configuration: - - -{ - services.httpd.virtualHosts = - [ { hostName = "example.org"; - documentRoot = "/webroot"; - adminAddr = "alice@example.org"; - enableUserDir = true; - } - { hostName = "example.org"; - documentRoot = "/webroot"; - adminAddr = "alice@example.org"; - enableUserDir = true; - enableSSL = true; - sslServerCert = "/root/ssl-example-org.crt"; - sslServerKey = "/root/ssl-example-org.key"; - } - ]; -} - - -It defines two virtual hosts with nearly identical configuration; the -only difference is that the second one has SSL enabled. To prevent -this duplication, we can use a let: - - -let - exampleOrgCommon = - { hostName = "example.org"; - documentRoot = "/webroot"; - adminAddr = "alice@example.org"; - enableUserDir = true; - }; -in -{ - services.httpd.virtualHosts = - [ exampleOrgCommon - (exampleOrgCommon // { - enableSSL = true; - sslServerCert = "/root/ssl-example-org.crt"; - sslServerKey = "/root/ssl-example-org.key"; - }) - ]; -} - - -The let exampleOrgCommon = -... defines a variable named -exampleOrgCommon. The // -operator merges two attribute sets, so the configuration of the second -virtual host is the set exampleOrgCommon extended -with the SSL options. - -You can write a let wherever an expression is -allowed. Thus, you also could have written: - - -{ - services.httpd.virtualHosts = - let exampleOrgCommon = ...; in - [ exampleOrgCommon - (exampleOrgCommon // { ... }) - ]; -} - - -but not { let exampleOrgCommon = -...; in ...; -} since attributes (as opposed to attribute values) are not -expressions. - -Functions provide another method of -abstraction. For instance, suppose that we want to generate lots of -different virtual hosts, all with identical configuration except for -the host name. This can be done as follows: - - -{ - services.httpd.virtualHosts = - let - makeVirtualHost = name: - { hostName = name; - documentRoot = "/webroot"; - adminAddr = "alice@example.org"; - }; - in - [ (makeVirtualHost "example.org") - (makeVirtualHost "example.com") - (makeVirtualHost "example.gov") - (makeVirtualHost "example.nl") - ]; -} - - -Here, makeVirtualHost is a function that takes a -single argument name and returns the configuration -for a virtual host. That function is then called for several names to -produce the list of virtual host configurations. - -We can further improve on this by using the function -map, which applies another function to every -element in a list: - - -{ - services.httpd.virtualHosts = - let - makeVirtualHost = ...; - in map makeVirtualHost - [ "example.org" "example.com" "example.gov" "example.nl" ]; -} - - -(The function map is called a -higher-order function because it takes another -function as an argument.) - -What if you need more than one argument, for instance, if we -want to use a different documentRoot for each -virtual host? Then we can make makeVirtualHost a -function that takes a set as its argument, like this: - - -{ - services.httpd.virtualHosts = - let - makeVirtualHost = { name, root }: - { hostName = name; - documentRoot = root; - adminAddr = "alice@example.org"; - }; - in map makeVirtualHost - [ { name = "example.org"; root = "/sites/example.org"; } - { name = "example.com"; root = "/sites/example.com"; } - { name = "example.gov"; root = "/sites/example.gov"; } - { name = "example.nl"; root = "/sites/example.nl"; } - ]; -} - - -But in this case (where every root is a subdirectory of -/sites named after the virtual host), it would -have been shorter to define makeVirtualHost as - -makeVirtualHost = name: - { hostName = name; - documentRoot = "/sites/${name}"; - adminAddr = "alice@example.org"; - }; - - -Here, the construct -${...} allows the result -of an expression to be spliced into a string. - -
- - -
Modularity - -The NixOS configuration mechanism is modular. If your -configuration.nix becomes too big, you can split -it into multiple files. Likewise, if you have multiple NixOS -configurations (e.g. for different computers) with some commonality, -you can move the common configuration into a shared file. - -Modules have exactly the same syntax as -configuration.nix. In fact, -configuration.nix is itself a module. You can -use other modules by including them from -configuration.nix, e.g.: - - -{ config, pkgs, ... }: - -{ imports = [ ./vpn.nix ./kde.nix ]; - services.httpd.enable = true; - environment.systemPackages = [ pkgs.emacs ]; - ... -} - - -Here, we include two modules from the same directory, -vpn.nix and kde.nix. The -latter might look like this: - - -{ config, pkgs, ... }: - -{ services.xserver.enable = true; - services.xserver.displayManager.kdm.enable = true; - services.xserver.desktopManager.kde4.enable = true; - environment.systemPackages = [ pkgs.kde4.kscreensaver ]; -} - - -Note that both configuration.nix and -kde.nix define the option -. When multiple modules -define an option, NixOS will try to merge the -definitions. In the case of -, that’s easy: the lists of -packages can simply be concatenated. The value in -configuration.nix is merged last, so for -list-type options, it will appear at the end of the merged list. If -you want it to appear first, you can use mkBefore: - - -boot.kernelModules = mkBefore [ "kvm-intel" ]; - - -This causes the kvm-intel kernel module to be -loaded before any other kernel modules. - -For other types of options, a merge may not be possible. For -instance, if two modules define -, -nixos-rebuild will give an error: - - -The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc/nixos/httpd.nix' and `/etc/nixos/configuration.nix'. - - -When that happens, it’s possible to force one definition take -precedence over the others: - - -services.httpd.adminAddr = pkgs.lib.mkForce "bob@example.org"; - - - - -When using multiple modules, you may need to access -configuration values defined in other modules. This is what the -config function argument is for: it contains the -complete, merged system configuration. That is, -config is the result of combining the -configurations returned by every moduleIf you’re -wondering how it’s possible that the (indirect) -result of a function is passed as an -input to that same function: that’s because Nix -is a “lazy” language — it only computes values when they are needed. -This works as long as no individual configuration value depends on -itself.. For example, here is a module that adds -some packages to only if - is set to -true somewhere else: - - -{ config, pkgs, ... }: - -{ environment.systemPackages = - if config.services.xserver.enable then - [ pkgs.firefox - pkgs.thunderbird - ] - else - [ ]; -} - - - - -With multiple modules, it may not be obvious what the final -value of a configuration option is. The command - allows you to find out: - - -$ nixos-option services.xserver.enable -true - -$ nixos-option boot.kernelModules -[ "tun" "ipv6" "loop" ... ] - - -Interactive exploration of the configuration is possible using -nix-repl, -a read-eval-print loop for Nix expressions. It’s not installed by -default; run nix-env -i nix-repl to get it. A -typical use: - - -$ nix-repl '<nixos>' - -nix-repl> config.networking.hostName -"mandark" - -nix-repl> map (x: x.hostName) config.services.httpd.virtualHosts -[ "example.org" "example.gov" ] - - - - -
- - -
Syntax summary - -Below is a summary of the most important syntactic constructs in -the Nix expression language. It’s not complete. In particular, there -are many other built-in functions. See the Nix -manual for the rest. - - - - - - - - Example - Description - - - - - - Basic values - - - "Hello world" - A string - - - "${pkgs.bash}/bin/sh" - A string containing an expression (expands to "/nix/store/hash-bash-version/bin/sh") - - - true, false - Booleans - - - 123 - An integer - - - ./foo.png - A path (relative to the containing Nix expression) - - - - Compound values - - - { x = 1; y = 2; } - An set with attributes names x and y - - - { foo.bar = 1; } - A nested set, equivalent to { foo = { bar = 1; }; } - - - rec { x = "bla"; y = x + "bar"; } - A recursive set, equivalent to { x = "foo"; y = "foobar"; } - - - [ "foo" "bar" ] - A list with two elements - - - - Operators - - - "foo" + "bar" - String concatenation - - - 1 + 2 - Integer addition - - - "foo" == "f" + "oo" - Equality test (evaluates to true) - - - "foo" != "bar" - Inequality test (evaluates to true) - - - !true - Boolean negation - - - { x = 1; y = 2; }.x - Attribute selection (evaluates to 1) - - - { x = 1; y = 2; }.z or 3 - Attribute selection with default (evaluates to 3) - - - { x = 1; y = 2; } // { z = 3; } - Merge two sets (attributes in the right-hand set taking precedence) - - - - Control structures - - - if 1 + 1 == 2 then "yes!" else "no!" - Conditional expression - - - assert 1 + 1 == 2; "yes!" - Assertion check (evaluates to "yes!") - - - let x = "foo"; y = "bar"; in x + y - Variable definition - - - with pkgs.lib; head [ 1 2 3 ] - Add all attributes from the given set to the scope - (evaluates to 1) - - - - Functions (lambdas) - - - x: x + 1 - A function that expects an integer and returns it increased by 1 - - - (x: x + 1) 100 - A function call (evaluates to 101) - - - let inc = x: x + 1; in inc (inc (inc 100)) - A function bound to a variable and subsequently called by name (evaluates to 103) - - - { x, y }: x + y - A function that expects a set with required attributes - x and y and concatenates - them - - - { x, y ? "bar" }: x + y - A function that expects a set with required attribute - x and optional y, using - "bar" as default value for - y - - - { x, y, ... }: x + y - A function that expects a set with required attributes - x and y and ignores any - other attributes - - - { x, y } @ args: x + y - A function that expects a set with required attributes - x and y, and binds the - whole set to args - - - - Built-in functions - - - import ./foo.nix - Load and return Nix expression in given file - - - map (x: x + x) [ 1 2 3 ] - Apply a function to every element of a list (evaluates to [ 2 4 6 ]) - - - - - - - -
- - -
- - - - -
Package management - -This section describes how to add additional packages to your -system. NixOS has two distinct styles of package management: - - - - Declarative, where you declare - what packages you want in your - configuration.nix. Every time you run - nixos-rebuild, NixOS will ensure that you get a - consistent set of binaries corresponding to your - specification. - - Ad hoc, where you install, - upgrade and uninstall packages via the nix-env - command. This style allows mixing packages from different Nixpkgs - versions. It’s the only choice for non-root - users. - - - - - -The next two sections describe these two styles. - - -
Declarative package management - -With declarative package management, you specify which packages -you want on your system by setting the option -. For instance, adding the -following line to configuration.nix enables the -Mozilla Thunderbird email application: - - -environment.systemPackages = [ pkgs.thunderbird ]; - - -The effect of this specification is that the Thunderbird package from -Nixpkgs will be built or downloaded as part of the system when you run -nixos-rebuild switch. - -You can get a list of the available packages as follows: - -$ nix-env -qaP '*' --description -nixos.pkgs.firefox firefox-23.0 Mozilla Firefox - the browser, reloaded -... - - -The first column in the output is the attribute -name, such as -nixos.pkgs.thunderbird. (The -nixos prefix allows distinguishing between -different channels that you might have.) - -To “uninstall” a package, simply remove it from - and run -nixos-rebuild switch. - - -
Customising packages - -Some packages in Nixpkgs have options to enable or disable -optional functionality or change other aspects of the package. For -instance, the Firefox wrapper package (which provides Firefox with a -set of plugins such as the Adobe Flash player) has an option to enable -the Google Talk plugin. It can be set in -configuration.nix as follows: - - -nixpkgs.config.firefox.enableGoogleTalkPlugin = true; - - - -Unfortunately, Nixpkgs currently lacks a way to query -available configuration options. - -Apart from high-level options, it’s possible to tweak a package -in almost arbitrary ways, such as changing or disabling dependencies -of a package. For instance, the Emacs package in Nixpkgs by default -has a dependency on GTK+ 2. If you want to build it against GTK+ 3, -you can specify that as follows: - - -environment.systemPackages = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ]; - - -The function override performs the call to the Nix -function that produces Emacs, with the original arguments amended by -the set of arguments specified by you. So here the function argument -gtk gets the value pkgs.gtk3, -causing Emacs to depend on GTK+ 3. (The parentheses are necessary -because in Nix, function application binds more weakly than list -construction, so without them, -environment.systemPackages would be a list with two -elements.) - -Even greater customisation is possible using the function -overrideDerivation. While the -override mechanism above overrides the arguments of -a package function, overrideDerivation allows -changing the result of the function. This -permits changing any aspect of the package, such as the source code. -For instance, if you want to override the source code of Emacs, you -can say: - - -environment.systemPackages = - [ (pkgs.lib.overrideDerivation pkgs.emacs (attrs: { - name = "emacs-25.0-pre"; - src = /path/to/my/emacs/tree; - })) - ]; - - -Here, overrideDerivation takes the Nix derivation -specified by pkgs.emacs and produces a new -derivation in which the original’s name and -src attribute have been replaced by the given -values. The original attributes are accessible via -attrs. - -The overrides shown above are not global. They do not affect -the original package; other packages in Nixpkgs continue to depend on -the original rather than the customised package. This means that if -another package in your system depends on the original package, you -end up with two instances of the package. If you want to have -everything depend on your customised instance, you can apply a -global override as follows: - - -nixpkgs.config.packageOverrides = pkgs: - { emacs = pkgs.emacs.override { gtk = pkgs.gtk3; }; - }; - - -The effect of this definition is essentially equivalent to modifying -the emacs attribute in the Nixpkgs source tree. -Any package in Nixpkgs that depends on emacs will -be passed your customised instance. (However, the value -pkgs.emacs in -nixpkgs.config.packageOverrides refers to the -original rather than overridden instance, to prevent an infinite -recursion.) - -
- -
Adding custom packages - -It’s possible that a package you need is not available in NixOS. -In that case, you can do two things. First, you can clone the Nixpkgs -repository, add the package to your clone, and (optionally) submit a -patch or pull request to have it accepted into the main Nixpkgs -repository. This is described in detail in the Nixpkgs manual. -In short, you clone Nixpkgs: - - -$ git clone git://github.com/NixOS/nixpkgs.git -$ cd nixpkgs - - -Then you write and test the package as described in the Nixpkgs -manual. Finally, you add it to -environment.systemPackages, e.g. - - -environment.systemPackages = [ pkgs.my-package ]; - - -and you run nixos-rebuild, specifying your own -Nixpkgs tree: - - -$ nixos-rebuild switch -I nixpkgs=/path/to/my/nixpkgs - - - -The second possibility is to add the package outside of the -Nixpkgs tree. For instance, here is how you specify a build of the -GNU Hello -package directly in configuration.nix: - - -environment.systemPackages = - let - my-hello = with pkgs; stdenv.mkDerivation rec { - name = "hello-2.8"; - src = fetchurl { - url = "mirror://gnu/hello/${name}.tar.gz"; - sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; - }; - }; - in - [ my-hello ]; - - -Of course, you can also move the definition of -my-hello into a separate Nix expression, e.g. - -environment.systemPackages = [ (import ./my-hello.nix) ]; - -where my-hello.nix contains: - -with import <nixpkgs> {}; # bring all of Nixpkgs into scope - -stdenv.mkDerivation rec { - name = "hello-2.8"; - src = fetchurl { - url = "mirror://gnu/hello/${name}.tar.gz"; - sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; - }; -} - - -This allows testing the package easily: - -$ nix-build my-hello.nix -$ ./result/bin/hello -Hello, world! - - - - -
- -
- - -
Ad hoc package management - -With the command nix-env, you can install and -uninstall packages from the command line. For instance, to install -Mozilla Thunderbird: - - -$ nix-env -iA nixos.pkgs.thunderbird - -If you invoke this as root, the package is installed in the Nix -profile /nix/var/nix/profiles/default and visible -to all users of the system; otherwise, the package ends up in -/nix/var/nix/profiles/per-user/username/profile -and is not visible to other users. The flag -specifies the package by its attribute name; without it, the package -is installed by matching against its package name -(e.g. thunderbird). The latter is slower because -it requires matching against all available Nix packages, and is -ambiguous if there are multiple matching packages. - -Packages come from the NixOS channel. You typically upgrade a -package by updating to the latest version of the NixOS channel: - -$ nix-channel --update nixos - -and then running nix-env -i again. Other packages -in the profile are not affected; this is the -crucial difference with the declarative style of package management, -where running nixos-rebuild switch causes all -packages to be updated to their current versions in the NixOS channel. -You can however upgrade all packages for which there is a newer -version by doing: - -$ nix-env -u '*' - - - -A package can be uninstalled using the -flag: - -$ nix-env -e thunderbird - - - -Finally, you can roll back an undesirable -nix-env action: - -$ nix-env --rollback - - - -nix-env has many more flags. For details, -see the -nix-env1 -manpage or the Nix manual. - -
- - -
- - - - -
User management - -NixOS supports both declarative and imperative styles of user -management. In the declarative style, users are specified in -configuration.nix. For instance, the following -states that a user account named alice shall exist: - - -users.extraUsers.alice = - { createHome = true; - home = "/home/alice"; - description = "Alice Foobar"; - extraGroups = [ "wheel" "networkmanager" ]; - useDefaultShell = true; - openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ]; - }; - - -Note that alice is a member of the -wheel and networkmanager groups, -which allows her to use sudo to execute commands as -root and to configure the network, respectively. -Also note the SSH public key that allows remote logins with the -corresponding private key. Users created in this way do not have a -password by default, so they cannot log in via mechanisms that require -a password. However, you can use the passwd program -to set a password, which is retained across invocations of -nixos-rebuild. - -A user ID (uid) is assigned automatically. You can also specify -a uid manually by adding - - - uid = 1000; - - -to the user specification. - -Groups can be specified similarly. The following states that a -group named students shall exist: - - -users.extraGroups.students.gid = 1000; - - -As with users, the group ID (gid) is optional and will be assigned -automatically if it’s missing. - -Currently declarative user management is not perfect: -nixos-rebuild does not know how to realise certain -configuration changes. This includes removing a user or group, and -removing group membership from a user. - -In the imperative style, users and groups are managed by -commands such as useradd, -groupmod and so on. For instance, to create a user -account named alice: - - -$ useradd -m alice - -The flag causes the creation of a home directory -for the new user, which is generally what you want. The user does not -have an initial password and therefore cannot log in. A password can -be set using the passwd utility: - - -$ passwd alice -Enter new UNIX password: *** -Retype new UNIX password: *** - - -A user can be deleted using userdel: - - -$ userdel -r alice - -The flag deletes the user’s home directory. -Accounts can be modified using usermod. Unix -groups can be managed using groupadd, -groupmod and groupdel. - -
- - - - -
File systems - -You can define file systems using the - configuration option. For instance, the -following definition causes NixOS to mount the Ext4 file system on -device /dev/disk/by-label/data onto the mount -point /data: - - -fileSystems."/data" = - { device = "/dev/disk/by-label/data"; - fsType = "ext4"; - }; - - -Mount points are created automatically if they don’t already exist. -For , it’s best to use the topology-independent -device aliases in /dev/disk/by-label and -/dev/disk/by-uuid, as these don’t change if the -topology changes (e.g. if a disk is moved to another IDE -controller). - -You can usually omit the file system type -(), since mount can usually -detect the type and load the necessary kernel module automatically. -However, if the file system is needed at early boot (in the initial -ramdisk) and is not ext2, ext3 -or ext4, then it’s best to specify - to ensure that the kernel module is -available. - -
LUKS-encrypted file systems - -NixOS supports file systems that are encrypted using -LUKS (Linux Unified Key Setup). For example, -here is how you create an encrypted Ext4 file system on the device -/dev/sda2: - - -$ cryptsetup luksFormat /dev/sda2 - -WARNING! -======== -This will overwrite data on /dev/sda2 irrevocably. - -Are you sure? (Type uppercase yes): YES -Enter LUKS passphrase: *** -Verify passphrase: *** - -$ cryptsetup luksOpen /dev/sda2 crypted -Enter passphrase for /dev/sda2: *** - -$ mkfs.ext4 /dev/mapper/crypted - - -To ensure that this file system is automatically mounted at boot time -as /, add the following to -configuration.nix: - - -boot.initrd.luks.devices = [ { device = "/dev/sda2"; name = "crypted"; } ]; -fileSystems."/".device = "/dev/mapper/crypted"; - - - - -
- -
- - - - -
X Window System - -The X Window System (X11) provides the basis of NixOS’ graphical -user interface. It can be enabled as follows: - -services.xserver.enable = true; - -The X server will automatically detect and use the appropriate video -driver from a set of X.org drivers (such as vesa -and intel). You can also specify a driver -manually, e.g. - -services.xserver.videoDrivers = [ "r128" ]; - -to enable X.org’s xf86-video-r128 driver. - -You also need to enable at least one desktop or window manager. -Otherwise, you can only log into a plain undecorated -xterm window. Thus you should pick one or more of -the following lines: - -services.xserver.desktopManager.kde4.enable = true; -services.xserver.desktopManager.xfce.enable = true; -services.xserver.windowManager.xmonad.enable = true; -services.xserver.windowManager.twm.enable = true; -services.xserver.windowManager.icewm.enable = true; - - - -NixOS’s default display manager (the -program that provides a graphical login prompt and manages the X -server) is SLiM. You can select KDE’s kdm instead: - -services.xserver.displayManager.kdm.enable = true; - - - -The X server is started automatically at boot time. If you -don’t want this to happen, you can set: - -services.xserver.autorun = false; - -The X server can then be started manually: - -$ systemctl start display-manager.service - - - - -
NVIDIA graphics cards - -NVIDIA provides a proprietary driver for its graphics cards that -has better 3D performance than the X.org drivers. It is not enabled -by default because it’s not free software. You can enable it as follows: - -services.xserver.videoDrivers = [ "nvidia" ]; - -You may need to reboot after enabling this driver to prevent a clash -with other kernel modules. - -On 64-bit systems, if you want full acceleration for 32-bit -programs such as Wine, you should also set the following: - -services.xserver.driSupport32Bit = true; - - - -
- - -
Touchpads - -Support for Synaptics touchpads (found in many laptops such as -the Dell Latitude series) can be enabled as follows: - -services.xserver.synaptics.enable = true; - -The driver has many options (see ). For -instance, the following enables two-finger scrolling: - -services.xserver.synaptics.twoFingerScroll = true; - - - -
- - -
- - - - -
Networking - -
NetworkManager - -To facilitate network configuration, some desktop environments -use NetworkManager. You can enable NetworkManager by setting: - - -services.networkmanager.enable = true; - - -Some desktop managers (e.g., GNOME) enable NetworkManager -automatically for you. - -All users that should have permission to change network settings -must belong to the networkmanager group. - -services.networkmanager and -services.wireless can not be enabled at the same time: -you can still connect to the wireless networks using -NetworkManager. - -
- -
Secure shell access - -Secure shell (SSH) access to your machine can be enabled by -setting: - - -services.openssh.enable = true; - - -By default, root logins using a password are disallowed. They can be -disabled entirely by setting -services.openssh.permitRootLogin to -"no". - -You can declaratively specify authorised RSA/DSA public keys for -a user as follows: - - - -users.extraUsers.alice.openssh.authorizedKeys.keys = - [ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ]; - - - - -
- - -
IPv4 configuration - -By default, NixOS uses DHCP (specifically, -dhcpcd) to automatically configure network -interfaces. However, you can configure an interface manually as -follows: - - -networking.interfaces.eth0 = { ipAddress = "192.168.1.2"; prefixLength = 24; }; - - -(The network prefix can also be specified using the option -subnetMask, -e.g. "255.255.255.0", but this is deprecated.) -Typically you’ll also want to set a default gateway and set of name -servers: - - -networking.defaultGateway = "192.168.1.1"; -networking.nameservers = [ "8.8.8.8" ]; - - - - -Statically configured interfaces are set up by the systemd -service -interface-name-cfg.service. -The default gateway and name server configuration is performed by -network-setup.service. - -The host name is set using : - - -networking.hostName = "cartman"; - - -The default host name is nixos. Set it to the -empty string ("") to allow the DHCP server to -provide the host name. - -
- - -
IPv6 configuration - -IPv6 is enabled by default. Stateless address autoconfiguration -is used to automatically assign IPv6 addresses to all interfaces. You -can disable IPv6 support globally by setting: - - -networking.enableIPv6 = false; - - - - -
- - -
Firewall - -NixOS has a simple stateful firewall that blocks incoming -connections and other unexpected packets. The firewall applies to -both IPv4 and IPv6 traffic. It is enabled by default. It can be -disabled as follows: - - -networking.firewall.enable = false; - - -If the firewall is enabled, you can open specific TCP ports to the -outside world: - - -networking.firewall.allowedTCPPorts = [ 80 443 ]; - - -Note that TCP port 22 (ssh) is opened automatically if the SSH daemon -is enabled (). UDP -ports can be opened through -. Also of -interest is - - -networking.firewall.allowPing = true; - - -to allow the machine to respond to ping requests. (ICMPv6 pings are -always allowed.) - -
- - -
Wireless networks - -For a desktop installation using NetworkManager (e.g., GNOME), -you just have to make sure the user is in the -networkmanager group and you can skip the rest of this -section on wireless networks. - - -NixOS will start wpa_supplicant for you if you enable this setting: - - -networking.wireless.enable = true; - - -NixOS currently does not generate wpa_supplicant's -configuration file, /etc/wpa_supplicant.conf. You should edit this file -yourself to define wireless networks, WPA keys and so on (see -wpa_supplicant.conf(5)). - - - -If you are using WPA2 the wpa_passphrase tool might be useful -to generate the wpa_supplicant.conf. - - -$ wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf - -After you have edited the wpa_supplicant.conf, -you need to restart the wpa_supplicant service. - - -$ systemctl restart wpa_supplicant.service - - - -
- - -
Ad-hoc configuration - -You can use to specify -shell commands to be run at the end of -network-setup.service. This is useful for doing -network configuration not covered by the existing NixOS modules. For -instance, to statically configure an IPv6 address: - - -networking.localCommands = - '' - ip -6 addr add 2001:610:685:1::1/64 dev eth0 - ''; - - - - -
- - - - - -
- - - - -
Linux kernel - -You can override the Linux kernel and associated packages using -the option . For instance, this -selects the Linux 3.10 kernel: - -boot.kernelPackages = pkgs.linuxPackages_3_10; - -Note that this not only replaces the kernel, but also packages that -are specific to the kernel version, such as the NVIDIA video drivers. -This ensures that driver packages are consistent with the -kernel. - -The default Linux kernel configuration should be fine for most users. You can see the configuration of your current kernel with the following command: - -cat /proc/config.gz | gunzip - -If you want to change the kernel configuration, you can use the - feature (see ). For instance, to enable -support for the kernel debugger KGDB: - - -nixpkgs.config.packageOverrides = pkgs: - { linux_3_4 = pkgs.linux_3_4.override { - extraConfig = - '' - KGDB y - ''; - }; - }; - - -extraConfig takes a list of Linux kernel -configuration options, one per line. The name of the option should -not include the prefix CONFIG_. The option value -is typically y, n or -m (to build something as a kernel module). - -Kernel modules for hardware devices are generally loaded -automatically by udev. You can force a module to -be loaded via , e.g. - -boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ]; - -If the module is required early during the boot (e.g. to mount the -root file system), you can use -: - -boot.initrd.extraKernelModules = [ "cifs" ]; - -This causes the specified modules and their dependencies to be added -to the initial ramdark. - -Kernel runtime parameters can be set through -, e.g. - -boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 120; - -sets the kernel’s TCP keepalive time to 120 seconds. To see the -available parameters, run sysctl -a. - -
- - - - - -
diff --git a/nixos/doc/manual/configuration/abstractions.xml b/nixos/doc/manual/configuration/abstractions.xml new file mode 100644 index 0000000000000000000000000000000000000000..cbd54bca62f92674191f221fe52b2bdb32a3e948 --- /dev/null +++ b/nixos/doc/manual/configuration/abstractions.xml @@ -0,0 +1,166 @@ +
+ +Abstractions + +If you find yourself repeating yourself over and over, it’s time +to abstract. Take, for instance, this Apache HTTP Server configuration: + + +{ + services.httpd.virtualHosts = + [ { hostName = "example.org"; + documentRoot = "/webroot"; + adminAddr = "alice@example.org"; + enableUserDir = true; + } + { hostName = "example.org"; + documentRoot = "/webroot"; + adminAddr = "alice@example.org"; + enableUserDir = true; + enableSSL = true; + sslServerCert = "/root/ssl-example-org.crt"; + sslServerKey = "/root/ssl-example-org.key"; + } + ]; +} + + +It defines two virtual hosts with nearly identical configuration; the +only difference is that the second one has SSL enabled. To prevent +this duplication, we can use a let: + + +let + exampleOrgCommon = + { hostName = "example.org"; + documentRoot = "/webroot"; + adminAddr = "alice@example.org"; + enableUserDir = true; + }; +in +{ + services.httpd.virtualHosts = + [ exampleOrgCommon + (exampleOrgCommon // { + enableSSL = true; + sslServerCert = "/root/ssl-example-org.crt"; + sslServerKey = "/root/ssl-example-org.key"; + }) + ]; +} + + +The let exampleOrgCommon = +... defines a variable named +exampleOrgCommon. The // +operator merges two attribute sets, so the configuration of the second +virtual host is the set exampleOrgCommon extended +with the SSL options. + +You can write a let wherever an expression is +allowed. Thus, you also could have written: + + +{ + services.httpd.virtualHosts = + let exampleOrgCommon = ...; in + [ exampleOrgCommon + (exampleOrgCommon // { ... }) + ]; +} + + +but not { let exampleOrgCommon = +...; in ...; +} since attributes (as opposed to attribute values) are not +expressions. + +Functions provide another method of +abstraction. For instance, suppose that we want to generate lots of +different virtual hosts, all with identical configuration except for +the host name. This can be done as follows: + + +{ + services.httpd.virtualHosts = + let + makeVirtualHost = name: + { hostName = name; + documentRoot = "/webroot"; + adminAddr = "alice@example.org"; + }; + in + [ (makeVirtualHost "example.org") + (makeVirtualHost "example.com") + (makeVirtualHost "example.gov") + (makeVirtualHost "example.nl") + ]; +} + + +Here, makeVirtualHost is a function that takes a +single argument name and returns the configuration +for a virtual host. That function is then called for several names to +produce the list of virtual host configurations. + +We can further improve on this by using the function +map, which applies another function to every +element in a list: + + +{ + services.httpd.virtualHosts = + let + makeVirtualHost = ...; + in map makeVirtualHost + [ "example.org" "example.com" "example.gov" "example.nl" ]; +} + + +(The function map is called a +higher-order function because it takes another +function as an argument.) + +What if you need more than one argument, for instance, if we +want to use a different documentRoot for each +virtual host? Then we can make makeVirtualHost a +function that takes a set as its argument, like this: + + +{ + services.httpd.virtualHosts = + let + makeVirtualHost = { name, root }: + { hostName = name; + documentRoot = root; + adminAddr = "alice@example.org"; + }; + in map makeVirtualHost + [ { name = "example.org"; root = "/sites/example.org"; } + { name = "example.com"; root = "/sites/example.com"; } + { name = "example.gov"; root = "/sites/example.gov"; } + { name = "example.nl"; root = "/sites/example.nl"; } + ]; +} + + +But in this case (where every root is a subdirectory of +/sites named after the virtual host), it would +have been shorter to define makeVirtualHost as + +makeVirtualHost = name: + { hostName = name; + documentRoot = "/sites/${name}"; + adminAddr = "alice@example.org"; + }; + + +Here, the construct +${...} allows the result +of an expression to be spliced into a string. + +
diff --git a/nixos/doc/manual/configuration/ad-hoc-network-config.xml b/nixos/doc/manual/configuration/ad-hoc-network-config.xml new file mode 100644 index 0000000000000000000000000000000000000000..26a572ba1fb560f036b1bf0f5934d5adf01f25ea --- /dev/null +++ b/nixos/doc/manual/configuration/ad-hoc-network-config.xml @@ -0,0 +1,24 @@ +
+ +Ad-Hoc Configuration + +You can use to specify +shell commands to be run at the end of +network-setup.service. This is useful for doing +network configuration not covered by the existing NixOS modules. For +instance, to statically configure an IPv6 address: + + +networking.localCommands = + '' + ip -6 addr add 2001:610:685:1::1/64 dev eth0 + ''; + + + + +
diff --git a/nixos/doc/manual/configuration/ad-hoc-packages.xml b/nixos/doc/manual/configuration/ad-hoc-packages.xml new file mode 100644 index 0000000000000000000000000000000000000000..e237e20c4fffcd594b2a5c260dca57e308c2e8c3 --- /dev/null +++ b/nixos/doc/manual/configuration/ad-hoc-packages.xml @@ -0,0 +1,63 @@ +
+ +Ad-Hoc Package Management + +With the command nix-env, you can install and +uninstall packages from the command line. For instance, to install +Mozilla Thunderbird: + + +$ nix-env -iA nixos.pkgs.thunderbird + +If you invoke this as root, the package is installed in the Nix +profile /nix/var/nix/profiles/default and visible +to all users of the system; otherwise, the package ends up in +/nix/var/nix/profiles/per-user/username/profile +and is not visible to other users. The flag +specifies the package by its attribute name; without it, the package +is installed by matching against its package name +(e.g. thunderbird). The latter is slower because +it requires matching against all available Nix packages, and is +ambiguous if there are multiple matching packages. + +Packages come from the NixOS channel. You typically upgrade a +package by updating to the latest version of the NixOS channel: + +$ nix-channel --update nixos + +and then running nix-env -i again. Other packages +in the profile are not affected; this is the +crucial difference with the declarative style of package management, +where running nixos-rebuild switch causes all +packages to be updated to their current versions in the NixOS channel. +You can however upgrade all packages for which there is a newer +version by doing: + +$ nix-env -u '*' + + + +A package can be uninstalled using the +flag: + +$ nix-env -e thunderbird + + + +Finally, you can roll back an undesirable +nix-env action: + +$ nix-env --rollback + + + +nix-env has many more flags. For details, +see the +nix-env1 +manpage or the Nix manual. + +
diff --git a/nixos/doc/manual/configuration/adding-custom-packages.xml b/nixos/doc/manual/configuration/adding-custom-packages.xml new file mode 100644 index 0000000000000000000000000000000000000000..c1789fcbc0419b5f8c5d963d1ee3a2b64ee15eca --- /dev/null +++ b/nixos/doc/manual/configuration/adding-custom-packages.xml @@ -0,0 +1,84 @@ +
+ +Adding Custom Packages + +It’s possible that a package you need is not available in NixOS. +In that case, you can do two things. First, you can clone the Nixpkgs +repository, add the package to your clone, and (optionally) submit a +patch or pull request to have it accepted into the main Nixpkgs +repository. This is described in detail in the Nixpkgs manual. +In short, you clone Nixpkgs: + + +$ git clone git://github.com/NixOS/nixpkgs.git +$ cd nixpkgs + + +Then you write and test the package as described in the Nixpkgs +manual. Finally, you add it to +environment.systemPackages, e.g. + + +environment.systemPackages = [ pkgs.my-package ]; + + +and you run nixos-rebuild, specifying your own +Nixpkgs tree: + + +$ nixos-rebuild switch -I nixpkgs=/path/to/my/nixpkgs + + + +The second possibility is to add the package outside of the +Nixpkgs tree. For instance, here is how you specify a build of the +GNU Hello +package directly in configuration.nix: + + +environment.systemPackages = + let + my-hello = with pkgs; stdenv.mkDerivation rec { + name = "hello-2.8"; + src = fetchurl { + url = "mirror://gnu/hello/${name}.tar.gz"; + sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; + }; + }; + in + [ my-hello ]; + + +Of course, you can also move the definition of +my-hello into a separate Nix expression, e.g. + +environment.systemPackages = [ (import ./my-hello.nix) ]; + +where my-hello.nix contains: + +with import <nixpkgs> {}; # bring all of Nixpkgs into scope + +stdenv.mkDerivation rec { + name = "hello-2.8"; + src = fetchurl { + url = "mirror://gnu/hello/${name}.tar.gz"; + sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; + }; +} + + +This allows testing the package easily: + +$ nix-build my-hello.nix +$ ./result/bin/hello +Hello, world! + + + + +
diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml new file mode 100644 index 0000000000000000000000000000000000000000..2a58ff25941c14b39d1e8ba28ce8f134f9c53cb8 --- /dev/null +++ b/nixos/doc/manual/configuration/config-file.xml @@ -0,0 +1,213 @@ +
+ +NixOS Configuration File + +The NixOS configuration file generally looks like this: + + +{ config, pkgs, ... }: + +{ option definitions +} + + +The first line ({ config, pkgs, ... }:) denotes +that this is actually a function that takes at least the two arguments + config and pkgs. (These are +explained later.) The function returns a set of +option definitions ({ ... }). These definitions have the +form name = +value, where +name is the name of an option and +value is its value. For example, + + +{ config, pkgs, ... }: + +{ services.httpd.enable = true; + services.httpd.adminAddr = "alice@example.org"; + services.httpd.documentRoot = "/webroot"; +} + + +defines a configuration with three option definitions that together +enable the Apache HTTP Server with /webroot as +the document root. + +Sets can be nested, and in fact dots in option names are +shorthand for defining a set containing another set. For instance, + defines a set named +services that contains a set named +httpd, which in turn contains an option definition +named enable with value true. +This means that the example above can also be written as: + + +{ config, pkgs, ... }: + +{ services = { + httpd = { + enable = true; + adminAddr = "alice@example.org"; + documentRoot = "/webroot"; + }; + }; +} + + +which may be more convenient if you have lots of option definitions +that share the same prefix (such as +services.httpd). + +NixOS checks your option definitions for correctness. For +instance, if you try to define an option that doesn’t exist (that is, +doesn’t have a corresponding option declaration), +nixos-rebuild will give an error like: + +The option `services.httpd.enabl' defined in `/etc/nixos/configuration.nix' does not exist. + +Likewise, values in option definitions must have a correct type. For +instance, must be a Boolean +(true or false). Trying to give +it a value of another type, such as a string, will cause an error: + +The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is not a boolean. + + + + +Options have various types of values. The most important are: + + + + Strings + + Strings are enclosed in double quotes, e.g. + + +networking.hostName = "dexter"; + + + Special characters can be escaped by prefixing them with a + backslash (e.g. \"). + + Multi-line strings can be enclosed in double + single quotes, e.g. + + +networking.extraHosts = + '' + 127.0.0.2 other-localhost + 10.0.0.1 server + ''; + + + The main difference is that preceding whitespace is + automatically stripped from each line, and that characters like + " and \ are not special + (making it more convenient for including things like shell + code). + + + + + Booleans + + These can be true or + false, e.g. + + +networking.firewall.enable = true; +networking.firewall.allowPing = false; + + + + + + + Integers + + For example, + + +boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 60; + + + (Note that here the attribute name + net.ipv4.tcp_keepalive_time is enclosed in + quotes to prevent it from being interpreted as a set named + net containing a set named + ipv4, and so on. This is because it’s not a + NixOS option but the literal name of a Linux kernel + setting.) + + + + + Sets + + Sets were introduced above. They are name/value pairs + enclosed in braces, as in the option definition + + +fileSystems."/boot" = + { device = "/dev/sda1"; + fsType = "ext4"; + options = "rw,data=ordered,relatime"; + }; + + + + + + + Lists + + The important thing to note about lists is that list + elements are separated by whitespace, like this: + + +boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ]; + + + List elements can be any other type, e.g. sets: + + +swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; + + + + + + + Packages + + Usually, the packages you need are already part of the Nix + Packages collection, which is a set that can be accessed through + the function argument pkgs. Typical uses: + + +environment.systemPackages = + [ pkgs.thunderbird + pkgs.emacs + ]; + +postgresql.package = pkgs.postgresql90; + + + The latter option definition changes the default PostgreSQL + package used by NixOS’s PostgreSQL service to 9.0. For more + information on packages, including how to add new ones, see + . + + + + + + + +
diff --git a/nixos/doc/manual/configuration/config-syntax.xml b/nixos/doc/manual/configuration/config-syntax.xml new file mode 100644 index 0000000000000000000000000000000000000000..87847f8451ec354b91a3919b5f9e476e18c8ca7a --- /dev/null +++ b/nixos/doc/manual/configuration/config-syntax.xml @@ -0,0 +1,27 @@ + + +Configuration Syntax + +The NixOS configuration file +/etc/nixos/configuration.nix is actually a +Nix expression, which is the Nix package +manager’s purely functional language for describing how to build +packages and configurations. This means you have all the expressive +power of that language at your disposal, including the ability to +abstract over common patterns, which is very useful when managing +complex systems. The syntax and semantics of the Nix language are +fully described in the Nix +manual, but here we give a short overview of the most important +constructs useful in NixOS configuration files. + + + + + + + diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml new file mode 100644 index 0000000000000000000000000000000000000000..8fde0dc7e6110ecec227bb1ccd8afcfeff84f7e0 --- /dev/null +++ b/nixos/doc/manual/configuration/configuration.xml @@ -0,0 +1,32 @@ + + +Configuration + + + +This chapter describes how to configure various aspects of a +NixOS machine through the configuration file +/etc/nixos/configuration.nix. As described in +, changes to this file only take +effect after you run nixos-rebuild. + + + + + + + + + + + + + + + + + diff --git a/nixos/doc/manual/configuration/customizing-packages.xml b/nixos/doc/manual/configuration/customizing-packages.xml new file mode 100644 index 0000000000000000000000000000000000000000..6ee7a95dc6fa6fe2d24c9b5681ad3cb7109ddc78 --- /dev/null +++ b/nixos/doc/manual/configuration/customizing-packages.xml @@ -0,0 +1,92 @@ +
+ +Customising Packages + +Some packages in Nixpkgs have options to enable or disable +optional functionality or change other aspects of the package. For +instance, the Firefox wrapper package (which provides Firefox with a +set of plugins such as the Adobe Flash player) has an option to enable +the Google Talk plugin. It can be set in +configuration.nix as follows: + + +nixpkgs.config.firefox.enableGoogleTalkPlugin = true; + + + +Unfortunately, Nixpkgs currently lacks a way to query +available configuration options. + +Apart from high-level options, it’s possible to tweak a package +in almost arbitrary ways, such as changing or disabling dependencies +of a package. For instance, the Emacs package in Nixpkgs by default +has a dependency on GTK+ 2. If you want to build it against GTK+ 3, +you can specify that as follows: + + +environment.systemPackages = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ]; + + +The function override performs the call to the Nix +function that produces Emacs, with the original arguments amended by +the set of arguments specified by you. So here the function argument +gtk gets the value pkgs.gtk3, +causing Emacs to depend on GTK+ 3. (The parentheses are necessary +because in Nix, function application binds more weakly than list +construction, so without them, +environment.systemPackages would be a list with two +elements.) + +Even greater customisation is possible using the function +overrideDerivation. While the +override mechanism above overrides the arguments of +a package function, overrideDerivation allows +changing the result of the function. This +permits changing any aspect of the package, such as the source code. +For instance, if you want to override the source code of Emacs, you +can say: + + +environment.systemPackages = + [ (pkgs.lib.overrideDerivation pkgs.emacs (attrs: { + name = "emacs-25.0-pre"; + src = /path/to/my/emacs/tree; + })) + ]; + + +Here, overrideDerivation takes the Nix derivation +specified by pkgs.emacs and produces a new +derivation in which the original’s name and +src attribute have been replaced by the given +values. The original attributes are accessible via +attrs. + +The overrides shown above are not global. They do not affect +the original package; other packages in Nixpkgs continue to depend on +the original rather than the customised package. This means that if +another package in your system depends on the original package, you +end up with two instances of the package. If you want to have +everything depend on your customised instance, you can apply a +global override as follows: + + +nixpkgs.config.packageOverrides = pkgs: + { emacs = pkgs.emacs.override { gtk = pkgs.gtk3; }; + }; + + +The effect of this definition is essentially equivalent to modifying +the emacs attribute in the Nixpkgs source tree. +Any package in Nixpkgs that depends on emacs will +be passed your customised instance. (However, the value +pkgs.emacs in +nixpkgs.config.packageOverrides refers to the +original rather than overridden instance, to prevent an infinite +recursion.) + +
diff --git a/nixos/doc/manual/configuration/declarative-packages.xml b/nixos/doc/manual/configuration/declarative-packages.xml new file mode 100644 index 0000000000000000000000000000000000000000..6de38b452e24552c75b43a60ed6681593a429215 --- /dev/null +++ b/nixos/doc/manual/configuration/declarative-packages.xml @@ -0,0 +1,43 @@ +
+ +Declarative Package Management + +With declarative package management, you specify which packages +you want on your system by setting the option +. For instance, adding the +following line to configuration.nix enables the +Mozilla Thunderbird email application: + + +environment.systemPackages = [ pkgs.thunderbird ]; + + +The effect of this specification is that the Thunderbird package from +Nixpkgs will be built or downloaded as part of the system when you run +nixos-rebuild switch. + +You can get a list of the available packages as follows: + +$ nix-env -qaP '*' --description +nixos.pkgs.firefox firefox-23.0 Mozilla Firefox - the browser, reloaded +... + + +The first column in the output is the attribute +name, such as +nixos.pkgs.thunderbird. (The +nixos prefix allows distinguishing between +different channels that you might have.) + +To “uninstall” a package, simply remove it from + and run +nixos-rebuild switch. + + + + +
diff --git a/nixos/doc/manual/configuration/file-systems.xml b/nixos/doc/manual/configuration/file-systems.xml new file mode 100644 index 0000000000000000000000000000000000000000..d1b324af3f1273fcacc91c6b8f63ebdc16fe61a5 --- /dev/null +++ b/nixos/doc/manual/configuration/file-systems.xml @@ -0,0 +1,40 @@ + + +File Systems + +You can define file systems using the + configuration option. For instance, the +following definition causes NixOS to mount the Ext4 file system on +device /dev/disk/by-label/data onto the mount +point /data: + + +fileSystems."/data" = + { device = "/dev/disk/by-label/data"; + fsType = "ext4"; + }; + + +Mount points are created automatically if they don’t already exist. +For , it’s best to use the topology-independent +device aliases in /dev/disk/by-label and +/dev/disk/by-uuid, as these don’t change if the +topology changes (e.g. if a disk is moved to another IDE +controller). + +You can usually omit the file system type +(), since mount can usually +detect the type and load the necessary kernel module automatically. +However, if the file system is needed at early boot (in the initial +ramdisk) and is not ext2, ext3 +or ext4, then it’s best to specify + to ensure that the kernel module is +available. + + + + diff --git a/nixos/doc/manual/configuration/firewall.xml b/nixos/doc/manual/configuration/firewall.xml new file mode 100644 index 0000000000000000000000000000000000000000..87406c28c2f767372cae9837d2f6835a253d91dd --- /dev/null +++ b/nixos/doc/manual/configuration/firewall.xml @@ -0,0 +1,38 @@ +
+ +Firewall + +NixOS has a simple stateful firewall that blocks incoming +connections and other unexpected packets. The firewall applies to +both IPv4 and IPv6 traffic. It is enabled by default. It can be +disabled as follows: + + +networking.firewall.enable = false; + + +If the firewall is enabled, you can open specific TCP ports to the +outside world: + + +networking.firewall.allowedTCPPorts = [ 80 443 ]; + + +Note that TCP port 22 (ssh) is opened automatically if the SSH daemon +is enabled (). UDP +ports can be opened through +. Also of +interest is + + +networking.firewall.allowPing = true; + + +to allow the machine to respond to ping requests. (ICMPv6 pings are +always allowed.) + +
diff --git a/nixos/doc/manual/configuration/ipv4-config.xml b/nixos/doc/manual/configuration/ipv4-config.xml new file mode 100644 index 0000000000000000000000000000000000000000..053501b1736d2982b977351fe6a556329cb7b5a6 --- /dev/null +++ b/nixos/doc/manual/configuration/ipv4-config.xml @@ -0,0 +1,44 @@ +
+ +IPv4 Configuration + +By default, NixOS uses DHCP (specifically, +dhcpcd) to automatically configure network +interfaces. However, you can configure an interface manually as +follows: + + +networking.interfaces.eth0.ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ]; + + +Typically you’ll also want to set a default gateway and set of name +servers: + + +networking.defaultGateway = "192.168.1.1"; +networking.nameservers = [ "8.8.8.8" ]; + + + + +Statically configured interfaces are set up by the systemd +service +interface-name-cfg.service. +The default gateway and name server configuration is performed by +network-setup.service. + +The host name is set using : + + +networking.hostName = "cartman"; + + +The default host name is nixos. Set it to the +empty string ("") to allow the DHCP server to +provide the host name. + +
diff --git a/nixos/doc/manual/configuration/ipv6-config.xml b/nixos/doc/manual/configuration/ipv6-config.xml new file mode 100644 index 0000000000000000000000000000000000000000..592bf20e545d33e2945e07f3d82871f85b664406 --- /dev/null +++ b/nixos/doc/manual/configuration/ipv6-config.xml @@ -0,0 +1,19 @@ +
+ +IPv6 Configuration + +IPv6 is enabled by default. Stateless address autoconfiguration +is used to automatically assign IPv6 addresses to all interfaces. You +can disable IPv6 support globally by setting: + + +networking.enableIPv6 = false; + + + + +
diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml new file mode 100644 index 0000000000000000000000000000000000000000..8fe2f5255df32e4383c98fdd85aca0deecb9fe2d --- /dev/null +++ b/nixos/doc/manual/configuration/linux-kernel.xml @@ -0,0 +1,69 @@ + + +Linux Kernel + +You can override the Linux kernel and associated packages using +the option . For instance, this +selects the Linux 3.10 kernel: + +boot.kernelPackages = pkgs.linuxPackages_3_10; + +Note that this not only replaces the kernel, but also packages that +are specific to the kernel version, such as the NVIDIA video drivers. +This ensures that driver packages are consistent with the +kernel. + +The default Linux kernel configuration should be fine for most users. You can see the configuration of your current kernel with the following command: + +cat /proc/config.gz | gunzip + +If you want to change the kernel configuration, you can use the + feature (see ). For instance, to enable +support for the kernel debugger KGDB: + + +nixpkgs.config.packageOverrides = pkgs: + { linux_3_4 = pkgs.linux_3_4.override { + extraConfig = + '' + KGDB y + ''; + }; + }; + + +extraConfig takes a list of Linux kernel +configuration options, one per line. The name of the option should +not include the prefix CONFIG_. The option value +is typically y, n or +m (to build something as a kernel module). + +Kernel modules for hardware devices are generally loaded +automatically by udev. You can force a module to +be loaded via , e.g. + +boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ]; + +If the module is required early during the boot (e.g. to mount the +root file system), you can use +: + +boot.initrd.extraKernelModules = [ "cifs" ]; + +This causes the specified modules and their dependencies to be added +to the initial ramdark. + +Kernel runtime parameters can be set through +, e.g. + +boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 120; + +sets the kernel’s TCP keepalive time to 120 seconds. To see the +available parameters, run sysctl -a. + + diff --git a/nixos/doc/manual/configuration/luks-file-systems.xml b/nixos/doc/manual/configuration/luks-file-systems.xml new file mode 100644 index 0000000000000000000000000000000000000000..45475dbcd446584e397abf7f44ca8f28faa02578 --- /dev/null +++ b/nixos/doc/manual/configuration/luks-file-systems.xml @@ -0,0 +1,42 @@ +
+ +LUKS-Encrypted File Systems + +NixOS supports file systems that are encrypted using +LUKS (Linux Unified Key Setup). For example, +here is how you create an encrypted Ext4 file system on the device +/dev/sda2: + + +$ cryptsetup luksFormat /dev/sda2 + +WARNING! +======== +This will overwrite data on /dev/sda2 irrevocably. + +Are you sure? (Type uppercase yes): YES +Enter LUKS passphrase: *** +Verify passphrase: *** + +$ cryptsetup luksOpen /dev/sda2 crypted +Enter passphrase for /dev/sda2: *** + +$ mkfs.ext4 /dev/mapper/crypted + + +To ensure that this file system is automatically mounted at boot time +as /, add the following to +configuration.nix: + + +boot.initrd.luks.devices = [ { device = "/dev/sda2"; name = "crypted"; } ]; +fileSystems."/".device = "/dev/mapper/crypted"; + + + + +
diff --git a/nixos/doc/manual/configuration/modularity.xml b/nixos/doc/manual/configuration/modularity.xml new file mode 100644 index 0000000000000000000000000000000000000000..d95091bd1628b8136cf43db7595855af698cd35f --- /dev/null +++ b/nixos/doc/manual/configuration/modularity.xml @@ -0,0 +1,143 @@ +
+ +Modularity + +The NixOS configuration mechanism is modular. If your +configuration.nix becomes too big, you can split +it into multiple files. Likewise, if you have multiple NixOS +configurations (e.g. for different computers) with some commonality, +you can move the common configuration into a shared file. + +Modules have exactly the same syntax as +configuration.nix. In fact, +configuration.nix is itself a module. You can +use other modules by including them from +configuration.nix, e.g.: + + +{ config, pkgs, ... }: + +{ imports = [ ./vpn.nix ./kde.nix ]; + services.httpd.enable = true; + environment.systemPackages = [ pkgs.emacs ]; + ... +} + + +Here, we include two modules from the same directory, +vpn.nix and kde.nix. The +latter might look like this: + + +{ config, pkgs, ... }: + +{ services.xserver.enable = true; + services.xserver.displayManager.kdm.enable = true; + services.xserver.desktopManager.kde4.enable = true; + environment.systemPackages = [ pkgs.kde4.kscreensaver ]; +} + + +Note that both configuration.nix and +kde.nix define the option +. When multiple modules +define an option, NixOS will try to merge the +definitions. In the case of +, that’s easy: the lists of +packages can simply be concatenated. The value in +configuration.nix is merged last, so for +list-type options, it will appear at the end of the merged list. If +you want it to appear first, you can use mkBefore: + + +boot.kernelModules = mkBefore [ "kvm-intel" ]; + + +This causes the kvm-intel kernel module to be +loaded before any other kernel modules. + +For other types of options, a merge may not be possible. For +instance, if two modules define +, +nixos-rebuild will give an error: + + +The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc/nixos/httpd.nix' and `/etc/nixos/configuration.nix'. + + +When that happens, it’s possible to force one definition take +precedence over the others: + + +services.httpd.adminAddr = pkgs.lib.mkForce "bob@example.org"; + + + + +When using multiple modules, you may need to access +configuration values defined in other modules. This is what the +config function argument is for: it contains the +complete, merged system configuration. That is, +config is the result of combining the +configurations returned by every moduleIf you’re +wondering how it’s possible that the (indirect) +result of a function is passed as an +input to that same function: that’s because Nix +is a “lazy” language — it only computes values when they are needed. +This works as long as no individual configuration value depends on +itself.. For example, here is a module that adds +some packages to only if + is set to +true somewhere else: + + +{ config, pkgs, ... }: + +{ environment.systemPackages = + if config.services.xserver.enable then + [ pkgs.firefox + pkgs.thunderbird + ] + else + [ ]; +} + + + + +With multiple modules, it may not be obvious what the final +value of a configuration option is. The command + allows you to find out: + + +$ nixos-option services.xserver.enable +true + +$ nixos-option boot.kernelModules +[ "tun" "ipv6" "loop" ... ] + + +Interactive exploration of the configuration is possible using +nix-repl, +a read-eval-print loop for Nix expressions. It’s not installed by +default; run nix-env -i nix-repl to get it. A +typical use: + + +$ nix-repl '<nixos>' + +nix-repl> config.networking.hostName +"mandark" + +nix-repl> map (x: x.hostName) config.services.httpd.virtualHosts +[ "example.org" "example.gov" ] + + + + +
diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml new file mode 100644 index 0000000000000000000000000000000000000000..e65060021b40964e329b3dbba98c2547d1ecb7c2 --- /dev/null +++ b/nixos/doc/manual/configuration/network-manager.xml @@ -0,0 +1,27 @@ +
+ +NetworkManager + +To facilitate network configuration, some desktop environments +use NetworkManager. You can enable NetworkManager by setting: + + +services.networkmanager.enable = true; + + +Some desktop managers (e.g., GNOME) enable NetworkManager +automatically for you. + +All users that should have permission to change network settings +must belong to the networkmanager group. + +services.networkmanager and +services.wireless can not be enabled at the same time: +you can still connect to the wireless networks using +NetworkManager. + +
diff --git a/nixos/doc/manual/configuration/networking.xml b/nixos/doc/manual/configuration/networking.xml new file mode 100644 index 0000000000000000000000000000000000000000..5f08bc1f12756e20c6d8215f25634cbb6cf1be0e --- /dev/null +++ b/nixos/doc/manual/configuration/networking.xml @@ -0,0 +1,22 @@ + + +Networking + +This section describes how to configure networking components on +your NixOS machine. + + + + + + + + + + + + diff --git a/nixos/doc/manual/configuration/package-mgmt.xml b/nixos/doc/manual/configuration/package-mgmt.xml new file mode 100644 index 0000000000000000000000000000000000000000..73c1722da02c6c252976f0fe1626e6717652dfcf --- /dev/null +++ b/nixos/doc/manual/configuration/package-mgmt.xml @@ -0,0 +1,34 @@ + + +Package Management + +This section describes how to add additional packages to your +system. NixOS has two distinct styles of package management: + + + + Declarative, where you declare + what packages you want in your + configuration.nix. Every time you run + nixos-rebuild, NixOS will ensure that you get a + consistent set of binaries corresponding to your + specification. + + Ad hoc, where you install, + upgrade and uninstall packages via the nix-env + command. This style allows mixing packages from different Nixpkgs + versions. It’s the only choice for non-root + users. + + + + + + + + + diff --git a/nixos/doc/manual/configuration/ssh.xml b/nixos/doc/manual/configuration/ssh.xml new file mode 100644 index 0000000000000000000000000000000000000000..7c928baaf896c20590786b94eeedc3a09a67c448 --- /dev/null +++ b/nixos/doc/manual/configuration/ssh.xml @@ -0,0 +1,32 @@ +
+ +Secure Shell Access + +Secure shell (SSH) access to your machine can be enabled by +setting: + + +services.openssh.enable = true; + + +By default, root logins using a password are disallowed. They can be +disabled entirely by setting +services.openssh.permitRootLogin to +"no". + +You can declaratively specify authorised RSA/DSA public keys for +a user as follows: + + + +users.extraUsers.alice.openssh.authorizedKeys.keys = + [ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ]; + + + + +
diff --git a/nixos/doc/manual/configuration/summary.xml b/nixos/doc/manual/configuration/summary.xml new file mode 100644 index 0000000000000000000000000000000000000000..9bb5e35e16bc6bd5f4a9f6661b35cc436b878dea --- /dev/null +++ b/nixos/doc/manual/configuration/summary.xml @@ -0,0 +1,191 @@ +
+ +Syntax Summary + +Below is a summary of the most important syntactic constructs in +the Nix expression language. It’s not complete. In particular, there +are many other built-in functions. See the Nix +manual for the rest. + + + + + + + + Example + Description + + + + + + Basic values + + + "Hello world" + A string + + + "${pkgs.bash}/bin/sh" + A string containing an expression (expands to "/nix/store/hash-bash-version/bin/sh") + + + true, false + Booleans + + + 123 + An integer + + + ./foo.png + A path (relative to the containing Nix expression) + + + + Compound values + + + { x = 1; y = 2; } + An set with attributes names x and y + + + { foo.bar = 1; } + A nested set, equivalent to { foo = { bar = 1; }; } + + + rec { x = "bla"; y = x + "bar"; } + A recursive set, equivalent to { x = "foo"; y = "foobar"; } + + + [ "foo" "bar" ] + A list with two elements + + + + Operators + + + "foo" + "bar" + String concatenation + + + 1 + 2 + Integer addition + + + "foo" == "f" + "oo" + Equality test (evaluates to true) + + + "foo" != "bar" + Inequality test (evaluates to true) + + + !true + Boolean negation + + + { x = 1; y = 2; }.x + Attribute selection (evaluates to 1) + + + { x = 1; y = 2; }.z or 3 + Attribute selection with default (evaluates to 3) + + + { x = 1; y = 2; } // { z = 3; } + Merge two sets (attributes in the right-hand set taking precedence) + + + + Control structures + + + if 1 + 1 == 2 then "yes!" else "no!" + Conditional expression + + + assert 1 + 1 == 2; "yes!" + Assertion check (evaluates to "yes!") + + + let x = "foo"; y = "bar"; in x + y + Variable definition + + + with pkgs.lib; head [ 1 2 3 ] + Add all attributes from the given set to the scope + (evaluates to 1) + + + + Functions (lambdas) + + + x: x + 1 + A function that expects an integer and returns it increased by 1 + + + (x: x + 1) 100 + A function call (evaluates to 101) + + + let inc = x: x + 1; in inc (inc (inc 100)) + A function bound to a variable and subsequently called by name (evaluates to 103) + + + { x, y }: x + y + A function that expects a set with required attributes + x and y and concatenates + them + + + { x, y ? "bar" }: x + y + A function that expects a set with required attribute + x and optional y, using + "bar" as default value for + y + + + { x, y, ... }: x + y + A function that expects a set with required attributes + x and y and ignores any + other attributes + + + { x, y } @ args: x + y + A function that expects a set with required attributes + x and y, and binds the + whole set to args + + + + Built-in functions + + + import ./foo.nix + Load and return Nix expression in given file + + + map (x: x + x) [ 1 2 3 ] + Apply a function to every element of a list (evaluates to [ 2 4 6 ]) + + + + + + + +
diff --git a/nixos/doc/manual/configuration/user-mgmt.xml b/nixos/doc/manual/configuration/user-mgmt.xml new file mode 100644 index 0000000000000000000000000000000000000000..40dc687d03bba822f7125ed93c854dcfcf527910 --- /dev/null +++ b/nixos/doc/manual/configuration/user-mgmt.xml @@ -0,0 +1,95 @@ + + +User Management + +NixOS supports both declarative and imperative styles of user +management. In the declarative style, users are specified in +configuration.nix. For instance, the following +states that a user account named alice shall exist: + + +users.extraUsers.alice = + { createHome = true; + home = "/home/alice"; + description = "Alice Foobar"; + extraGroups = [ "wheel" "networkmanager" ]; + useDefaultShell = true; + openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ]; + }; + + +Note that alice is a member of the +wheel and networkmanager groups, +which allows her to use sudo to execute commands as +root and to configure the network, respectively. +Also note the SSH public key that allows remote logins with the +corresponding private key. Users created in this way do not have a +password by default, so they cannot log in via mechanisms that require +a password. However, you can use the passwd program +to set a password, which is retained across invocations of +nixos-rebuild. + +If you set users.mutableUsers to false, then the contents of /etc/passwd +and /etc/group will be congruent to your NixOS configuration. For instance, +if you remove a user from users.extraUsers and run nixos-rebuild, the user +account will cease to exist. Also, imperative commands for managing users +and groups, such as useradd, are no longer available. + +A user ID (uid) is assigned automatically. You can also specify +a uid manually by adding + + + uid = 1000; + + +to the user specification. + +Groups can be specified similarly. The following states that a +group named students shall exist: + + +users.extraGroups.students.gid = 1000; + + +As with users, the group ID (gid) is optional and will be assigned +automatically if it’s missing. + +Currently declarative user management is not perfect: +nixos-rebuild does not know how to realise certain +configuration changes. This includes removing a user or group, and +removing group membership from a user. + +In the imperative style, users and groups are managed by +commands such as useradd, +groupmod and so on. For instance, to create a user +account named alice: + + +$ useradd -m alice + +The flag causes the creation of a home directory +for the new user, which is generally what you want. The user does not +have an initial password and therefore cannot log in. A password can +be set using the passwd utility: + + +$ passwd alice +Enter new UNIX password: *** +Retype new UNIX password: *** + + +A user can be deleted using userdel: + + +$ userdel -r alice + +The flag deletes the user’s home directory. +Accounts can be modified using usermod. Unix +groups can be managed using groupadd, +groupmod and groupdel. + + diff --git a/nixos/doc/manual/configuration/wireless.xml b/nixos/doc/manual/configuration/wireless.xml new file mode 100644 index 0000000000000000000000000000000000000000..373a9168cc871c8f2c9148deb9cc00df99dc4560 --- /dev/null +++ b/nixos/doc/manual/configuration/wireless.xml @@ -0,0 +1,41 @@ +
+ +Wireless Networks + +For a desktop installation using NetworkManager (e.g., GNOME), +you just have to make sure the user is in the +networkmanager group and you can skip the rest of this +section on wireless networks. + + +NixOS will start wpa_supplicant for you if you enable this setting: + + +networking.wireless.enable = true; + + +NixOS currently does not generate wpa_supplicant's +configuration file, /etc/wpa_supplicant.conf. You should edit this file +yourself to define wireless networks, WPA keys and so on (see +wpa_supplicant.conf(5)). + + + +If you are using WPA2 the wpa_passphrase tool might be useful +to generate the wpa_supplicant.conf. + + +$ wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf + +After you have edited the wpa_supplicant.conf, +you need to restart the wpa_supplicant service. + + +$ systemctl restart wpa_supplicant.service + + +
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml new file mode 100644 index 0000000000000000000000000000000000000000..bc58bb1f0669df30215ba028e1606df7b3bb00dc --- /dev/null +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -0,0 +1,94 @@ + + +X Window System + +The X Window System (X11) provides the basis of NixOS’ graphical +user interface. It can be enabled as follows: + +services.xserver.enable = true; + +The X server will automatically detect and use the appropriate video +driver from a set of X.org drivers (such as vesa +and intel). You can also specify a driver +manually, e.g. + +services.xserver.videoDrivers = [ "r128" ]; + +to enable X.org’s xf86-video-r128 driver. + +You also need to enable at least one desktop or window manager. +Otherwise, you can only log into a plain undecorated +xterm window. Thus you should pick one or more of +the following lines: + +services.xserver.desktopManager.kde4.enable = true; +services.xserver.desktopManager.xfce.enable = true; +services.xserver.windowManager.xmonad.enable = true; +services.xserver.windowManager.twm.enable = true; +services.xserver.windowManager.icewm.enable = true; + + + +NixOS’s default display manager (the +program that provides a graphical login prompt and manages the X +server) is SLiM. You can select KDE’s kdm instead: + +services.xserver.displayManager.kdm.enable = true; + + + +The X server is started automatically at boot time. If you +don’t want this to happen, you can set: + +services.xserver.autorun = false; + +The X server can then be started manually: + +$ systemctl start display-manager.service + + + + +NVIDIA Graphics Cards + +NVIDIA provides a proprietary driver for its graphics cards that +has better 3D performance than the X.org drivers. It is not enabled +by default because it’s not free software. You can enable it as follows: + +services.xserver.videoDrivers = [ "nvidia" ]; + +You may need to reboot after enabling this driver to prevent a clash +with other kernel modules. + +On 64-bit systems, if you want full acceleration for 32-bit +programs such as Wine, you should also set the following: + +services.xserver.driSupport32Bit = true; + + + + + + +Touchpads + +Support for Synaptics touchpads (found in many laptops such as +the Dell Latitude series) can be enabled as follows: + +services.xserver.synaptics.enable = true; + +The driver has many options (see ). For +instance, the following enables two-finger scrolling: + +services.xserver.synaptics.twoFingerScroll = true; + + + + + + + diff --git a/nixos/doc/manual/containers.xml b/nixos/doc/manual/containers.xml deleted file mode 100644 index 2530d5195212a2dc5f79c8bc2439d1ecf833a23d..0000000000000000000000000000000000000000 --- a/nixos/doc/manual/containers.xml +++ /dev/null @@ -1,242 +0,0 @@ - - -Containers - -NixOS allows you to easily run other NixOS instances as -containers. Containers are a light-weight -approach to virtualisation that runs software in the container at the -same speed as in the host system. NixOS containers share the Nix store -of the host, making container creation very efficient. - -Currently, NixOS containers are not perfectly isolated -from the host system. This means that a user with root access to the -container can do things that affect the host. So you should not give -container root access to untrusted users. - -NixOS containers can be created in two ways: imperatively, using -the command nixos-container, and declaratively, by -specifying them in your configuration.nix. The -declarative approach implies that containers get upgraded along with -your host system when you run nixos-rebuild, which -is often not what you want. By contrast, in the imperative approach, -containers are configured and updated independently from the host -system. - - -
Imperative container management - -We’ll cover imperative container management using -nixos-container first. You create a container with -identifier foo as follows: - - -$ nixos-container create foo - - -This creates the container’s root directory in -/var/lib/containers/foo and a small configuration -file in /etc/containers/foo.conf. It also builds -the container’s initial system configuration and stores it in -/nix/var/nix/profiles/per-container/foo/system. You -can modify the initial configuration of the container on the command -line. For instance, to create a container that has -sshd running, with the given public key for -root: - - -$ nixos-container create foo --config 'services.openssh.enable = true; \ - users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];' - - - - -Creating a container does not start it. To start the container, -run: - - -$ nixos-container start foo - - -This command will return as soon as the container has booted and has -reached multi-user.target. On the host, the -container runs within a systemd unit called -container@container-name.service. -Thus, if something went wrong, you can get status info using -systemctl: - - -$ systemctl status container@foo - - - - -If the container has started succesfully, you can log in as -root using the root-login operation: - - -$ nixos-container root-login foo -[root@foo:~]# - - -Note that only root on the host can do this (since there is no -authentication). You can also get a regular login prompt using the -login operation, which is available to all users on -the host: - - -$ nixos-container login foo -foo login: alice -Password: *** - - -With nixos-container run, you can execute arbitrary -commands in the container: - - -$ nixos-container run foo -- uname -a -Linux foo 3.4.82 #1-NixOS SMP Thu Mar 20 14:44:05 UTC 2014 x86_64 GNU/Linux - - - - -There are several ways to change the configuration of the -container. First, on the host, you can edit -/var/lib/container/name/etc/nixos/configuration.nix, -and run - - -$ nixos-container update foo - - -This will build and activate the new configuration. You can also -specify a new configuration on the command line: - - -$ nixos-container update foo --config 'services.httpd.enable = true; \ - services.httpd.adminAddr = "foo@example.org";' - -$ curl http://$(nixos-container show-ip foo)/ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">… - - -However, note that this will overwrite the container’s -/etc/nixos/configuration.nix. - -Alternatively, you can change the configuration from within the -container itself by running nixos-rebuild switch -inside the container. Note that the container by default does not have -a copy of the NixOS channel, so you should run nix-channel ---update first. - -Containers can be stopped and started using -nixos-container stop and nixos-container -start, respectively, or by using -systemctl on the container’s service unit. To -destroy a container, including its file system, do - - -$ nixos-container destroy foo - - - - -
- - -
Declarative container specification - -You can also specify containers and their configuration in the -host’s configuration.nix. For example, the -following specifies that there shall be a container named -database running PostgreSQL: - - -containers.database = - { config = - { config, pkgs, ... }: - { services.postgresql.enable = true; - services.postgresql.package = pkgs.postgresql92; - }; - }; - - -If you run nixos-rebuild switch, the container will -be built and started. If the container was already running, it will be -updated in place, without rebooting. - -By default, declarative containers share the network namespace -of the host, meaning that they can listen on (privileged) -ports. However, they cannot change the network configuration. You can -give a container its own network as follows: - - -containers.database = - { privateNetwork = true; - hostAddress = "192.168.100.10"; - localAddress = "192.168.100.11"; - }; - - -This gives the container a private virtual Ethernet interface with IP -address 192.168.100.11, which is hooked up to a -virtual Ethernet interface on the host with IP address -192.168.100.10. (See the next section for details -on container networking.) - -To disable the container, just remove it from -configuration.nix and run nixos-rebuild -switch. Note that this will not delete the root directory of -the container in /var/lib/containers. - -
- - -
Networking - -When you create a container using nixos-container -create, it gets it own private IPv4 address in the range -10.233.0.0/16. You can get the container’s IPv4 -address as follows: - - -$ nixos-container show-ip foo -10.233.4.2 - -$ ping -c1 10.233.4.2 -64 bytes from 10.233.4.2: icmp_seq=1 ttl=64 time=0.106 ms - - - - -Networking is implemented using a pair of virtual Ethernet -devices. The network interface in the container is called -eth0, while the matching interface in the host is -called ve-container-name -(e.g., ve-foo). The container has its own network -namespace and the CAP_NET_ADMIN capability, so it -can perform arbitrary network configuration such as setting up -firewall rules, without affecting or having access to the host’s -network. - -By default, containers cannot talk to the outside network. If -you want that, you should set up Network Address Translation (NAT) -rules on the host to rewrite container traffic to use your external -IP address. This can be accomplished using the following configuration -on the host: - - -networking.nat.enable = true; -networking.nat.internalInterfaces = ["ve-+"]; -networking.nat.externalInterface = "eth0"; - -where eth0 should be replaced with the desired -external interface. Note that ve-+ is a wildcard -that matches all container interfaces. - -
- - -
- diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 55533a05b066e9f0b9ea403990f1536bce542029..47e01437ccc417bff72baa2e4daf5821235f0f30 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -36,30 +36,29 @@ let -o $out ${./options-to-docbook.xsl} ${optionsXML} ''; + sources = sourceFilesBySuffices ./. [".xml"]; + + copySources = + '' + cp -prd $sources/* . # */ + chmod -R u+w . + cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml + ln -s ${optionsDocBook} options-db.xml + echo "${version}" > version + ''; + in rec { # Generate the NixOS manual. manual = stdenv.mkDerivation { name = "nixos-manual"; - sources = sourceFilesBySuffices ./. [".xml"]; + inherit sources; buildInputs = [ libxml2 libxslt ]; - xsltFlags = '' - --param section.autolabel 1 - --param section.label.includes.component.label 1 - --param html.stylesheet 'style.css' - --param xref.with.number.and.title 1 - --param toc.section.depth 3 - --param admon.style ''' - --param callout.graphics.extension '.gif' - ''; - buildCommand = '' - ln -s $sources/*.xml . # */ - ln -s ${optionsDocBook} options-db.xml - echo "${version}" > version + ${copySources} # Check the validity of the manual sources. xmllint --noout --nonet --xinclude --noxincludenode \ @@ -69,10 +68,20 @@ in rec { # Generate the HTML manual. dst=$out/share/doc/nixos mkdir -p $dst - xsltproc $xsltFlags --nonet --xinclude \ - --output $dst/manual.html \ - ${docbook5_xsl}/xml/xsl/docbook/xhtml/docbook.xsl \ - ./manual.xml + xsltproc \ + --param section.autolabel 1 \ + --param section.label.includes.component.label 1 \ + --stringparam html.stylesheet style.css \ + --param xref.with.number.and.title 1 \ + --param toc.section.depth 3 \ + --stringparam admon.style "" \ + --stringparam callout.graphics.extension .gif \ + --param chunk.section.depth 0 \ + --param chunk.first.sections 1 \ + --param use.id.as.filename 1 \ + --stringparam generate.toc "book toc chapter toc appendix toc" \ + --nonet --xinclude --output $dst/ \ + ${docbook5_xsl}/xml/xsl/docbook/xhtml/chunkfast.xsl ./manual.xml mkdir -p $dst/images/callouts cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/images/callouts/ @@ -90,7 +99,7 @@ in rec { manualPDF = stdenv.mkDerivation { name = "nixos-manual-pdf"; - sources = sourceFilesBySuffices ./. [".xml"]; + inherit sources; buildInputs = [ libxml2 libxslt dblatex tetex ]; @@ -98,9 +107,7 @@ in rec { # TeX needs a writable font cache. export VARTEXFONTS=$TMPDIR/texfonts - ln -s $sources/*.xml . # */ - ln -s ${optionsDocBook} options-db.xml - echo "${version}" > version + ${copySources} dst=$out/share/doc/nixos mkdir -p $dst @@ -117,13 +124,12 @@ in rec { manpages = stdenv.mkDerivation { name = "nixos-manpages"; - sources = sourceFilesBySuffices ./. [".xml"]; + inherit sources; buildInputs = [ libxml2 libxslt ]; buildCommand = '' - ln -s $sources/*.xml . # */ - ln -s ${optionsDocBook} options-db.xml + ${copySources} # Check the validity of the manual sources. xmllint --noout --nonet --xinclude --noxincludenode \ diff --git a/nixos/doc/manual/development.xml b/nixos/doc/manual/development.xml deleted file mode 100644 index 2f0c2a7aa8da0e24ba1dd9f3f4d586b7e4cdcdb0..0000000000000000000000000000000000000000 --- a/nixos/doc/manual/development.xml +++ /dev/null @@ -1,1119 +0,0 @@ - - -Development - -This chapter describes how you can modify and extend -NixOS. - - - - -
- -Getting the sources - -By default, NixOS’s nixos-rebuild command -uses the NixOS and Nixpkgs sources provided by the -nixos-unstable channel (kept in -/nix/var/nix/profiles/per-user/root/channels/nixos). -To modify NixOS, however, you should check out the latest sources from -Git. This is done using the following command: - - -$ nixos-checkout /my/sources - - -or - - -$ mkdir -p /my/sources -$ cd /my/sources -$ nix-env -i git -$ git clone git://github.com/NixOS/nixpkgs.git - - -This will check out the latest NixOS sources to -/my/sources/nixpkgs/nixos -and the Nixpkgs sources to -/my/sources/nixpkgs. -(The NixOS source tree lives in a subdirectory of the Nixpkgs -repository.) - -It’s often inconvenient to develop directly on the master -branch, since if somebody has just committed (say) a change to GCC, -then the binary cache may not have caught up yet and you’ll have to -rebuild everything from source. So you may want to create a local -branch based on your current NixOS version: - - -$ nixos-version -14.04.273.ea1952b (Baboon) - -$ git checkout -b local ea1952b - - -Or, to base your local branch on the latest version available in the -NixOS channel: - - -$ curl -sI http://nixos.org/channels/nixos-unstable/ | grep Location -Location: http://releases.nixos.org/nixos/unstable/nixos-14.10pre43986.acaf4a6/ - -$ git checkout -b local acaf4a6 - - -You can then use git rebase to sync your local -branch with the upstream branch, and use git -cherry-pick to copy commits from your local branch to the -upstream branch. - -If you want to rebuild your system using your (modified) -sources, you need to tell nixos-rebuild about them -using the flag: - - -$ nixos-rebuild switch -I nixpkgs=/my/sources/nixpkgs - - - - -If you want nix-env to use the expressions in -/my/sources, use nix-env -f -/my/sources/nixpkgs, or change -the default by adding a symlink in -~/.nix-defexpr: - - -$ ln -s /my/sources/nixpkgs ~/.nix-defexpr/nixpkgs - - -You may want to delete the symlink -~/.nix-defexpr/channels_root to prevent root’s -NixOS channel from clashing with your own tree. - - - -
- - - - -
- -Writing NixOS modules - -NixOS has a modular system for declarative configuration. This -system combines multiple modules to produce the -full system configuration. One of the modules that constitute the -configuration is /etc/nixos/configuration.nix. -Most of the others live in the nixos/modules -subdirectory of the Nixpkgs tree. - -Each NixOS module is a file that handles one logical aspect of -the configuration, such as a specific kind of hardware, a service, or -network settings. A module configuration does not have to handle -everything from scratch; it can use the functionality provided by -other modules for its implementation. Thus a module can -declare options that can be used by other -modules, and conversely can define options -provided by other modules in its own implementation. For example, the -module pam.nix -declares the option that allows -other modules (e.g. sshd.nix) -to define PAM services; and it defines the option - (declared by etc.nix) -to cause files to be created in -/etc/pam.d. - -In , we saw the following structure -of NixOS modules: - - -{ config, pkgs, ... }: - -{ option definitions -} - - -This is actually an abbreviated form of module -that only defines options, but does not declare any. The structure of -full NixOS modules is shown in . - -Structure of NixOS modules - -{ config, pkgs, ... }: - -{ - imports = - [ paths of other modules - ]; - - options = { - option declarations - }; - - config = { - option definitions - }; -} - - -The meaning of each part is as follows. - - - - This line makes the current Nix expression a function. The - variable pkgs contains Nixpkgs, while - config contains the full system configuration. - This line can be omitted if there is no reference to - pkgs and config inside the - module. - - - - This list enumerates the paths to other NixOS modules that - should be included in the evaluation of the system configuration. - A default set of modules is defined in the file - modules/module-list.nix. These don't need to - be added in the import list. - - - - The attribute options is a nested set of - option declarations (described below). - - - - The attribute config is a nested set of - option definitions (also described - below). - - - - - - shows a module that handles -the regular update of the “locate” database, an index of all files in -the file system. This module declares two options that can be defined -by other modules (typically the user’s -configuration.nix): - (whether the database should -be updated) and (when the -update should be done). It implements its functionality by defining -two options declared by other modules: - (the set of all systemd services) -and (the list of -commands to be executed periodically by cron). - -NixOS module for the “locate” service - -{ config, lib, pkgs, ... }: - -with lib; - -let locatedb = "/var/cache/locatedb"; in - -{ - options = { - - services.locate = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - If enabled, NixOS will periodically update the database of - files used by the locate command. - ''; - }; - - period = mkOption { - type = types.str; - default = "15 02 * * *"; - description = '' - This option defines (in the format used by cron) when the - locate database is updated. The default is to update at - 02:15 at night every day. - ''; - }; - - }; - - }; - - config = { - - systemd.services.update-locatedb = - { description = "Update Locate Database"; - path = [ pkgs.su ]; - script = - '' - mkdir -m 0755 -p $(dirname ${locatedb}) - exec updatedb --localuser=nobody --output=${locatedb} --prunepaths='/tmp /var/tmp /media /run' - ''; - }; - - services.cron.systemCronJobs = optional config.services.locate.enable - "${config.services.locate.period} root ${config.systemd.package}/bin/systemctl start update-locatedb.service"; - - }; -} - - -
Option declarations - -An option declaration specifies the name, type and description -of a NixOS configuration option. It is illegal to define an option -that hasn’t been declared in any module. A option declaration -generally looks like this: - - -options = { - name = mkOption { - type = type specification; - default = default value; - example = example value; - description = "Description for use in the NixOS manual."; - }; -}; - - - - -The function mkOption accepts the following arguments. - - - - - type - - The type of the option (see below). It may be omitted, - but that’s not advisable since it may lead to errors that are - hard to diagnose. - - - - - default - - The default value used if no value is defined by any - module. A default is not required; in that case, if the option - value is ever used, an error will be thrown. - - - - - example - - An example value that will be shown in the NixOS manual. - - - - - description - - A textual description of the option, in DocBook format, - that will be included in the NixOS manual. - - - - - - - -Here is a non-exhaustive list of option types: - - - - - types.bool - - A Boolean. - - - - - types.int - - An integer. - - - - - types.str - - A string. - - - - - types.lines - - A string. If there are multiple definitions, they are - concatenated, with newline characters in between. - - - - - types.path - - A path, defined as anything that, when coerced to a - string, starts with a slash. This includes derivations. - - - - - types.listOf t - - A list of elements of type t - (e.g., types.listOf types.str is a list of - strings). Multiple definitions are concatenated together. - - - - - types.attrsOf t - - A set of elements of type t - (e.g., types.attrsOf types.int is a set of - name/value pairs, the values being integers). - - - - - types.nullOr t - - Either the value null or something of - type t. - - - - - -You can also create new types using the function -mkOptionType. See -lib/types.nix in Nixpkgs for details. - -
- - -
Option definitions - -Option definitions are generally straight-forward bindings of values to option names, like - - -config = { - services.httpd.enable = true; -}; - - -However, sometimes you need to wrap an option definition or set of -option definitions in a property to achieve -certain effects: - -Delaying conditionals - -If a set of option definitions is conditional on the value of -another option, you may need to use mkIf. -Consider, for instance: - - -config = if config.services.httpd.enable then { - environment.systemPackages = [ ... ]; - ... -} else {}; - - -This definition will cause Nix to fail with an “infinite recursion” -error. Why? Because the value of - depends on the value -being constructed here. After all, you could also write the clearly -circular and contradictory: - -config = if config.services.httpd.enable then { - services.httpd.enable = false; -} else { - services.httpd.enable = true; -}; - - -The solution is to write: - - -config = mkIf config.services.httpd.enable { - environment.systemPackages = [ ... ]; - ... -}; - - -The special function mkIf causes the evaluation of -the conditional to be “pushed down” into the individual definitions, -as if you had written: - - -config = { - environment.systemPackages = if config.services.httpd.enable then [ ... ] else []; - ... -}; - - - - - - -Setting priorities - -A module can override the definitions of an option in other -modules by setting a priority. All option -definitions that do not have the lowest priority value are discarded. -By default, option definitions have priority 1000. You can specify an -explicit priority by using mkOverride, e.g. - - -services.openssh.enable = mkOverride 10 false; - - -This definition causes all other definitions with priorities above 10 -to be discarded. The function mkForce is -equal to mkOverride 50. - - - -Merging configurations - -In conjunction with mkIf, it is sometimes -useful for a module to return multiple sets of option definitions, to -be merged together as if they were declared in separate modules. This -can be done using mkMerge: - - -config = mkMerge - [ # Unconditional stuff. - { environment.systemPackages = [ ... ]; - } - # Conditional stuff. - (mkIf config.services.bla.enable { - environment.systemPackages = [ ... ]; - }) - ]; - - - - - - -
- - -
Important options - -NixOS has many options, but some are of particular importance to -module writers. - - - - - - - This set defines files in /etc. A - typical use is: - -environment.etc."os-release".text = - '' - NAME=NixOS - ... - ''; - - which causes a file named /etc/os-release - to be created with the given contents. - - - - - - - A set of shell script fragments that must be executed - whenever the configuration is activated (i.e., at boot time, or - after running nixos-rebuild switch). For instance, - -system.activationScripts.media = - '' - mkdir -m 0755 -p /media - ''; - - causes the directory /media to be created. - Activation scripts must be idempotent. They should not start - background processes such as daemons; use - for that. - - - - - - - This is the set of systemd services. Example: - -systemd.services.dhcpcd = - { description = "DHCP Client"; - wantedBy = [ "multi-user.target" ]; - after = [ "systemd-udev-settle.service" ]; - path = [ dhcpcd pkgs.nettools pkgs.openresolv ]; - serviceConfig = - { Type = "forking"; - PIDFile = "/run/dhcpcd.pid"; - ExecStart = "${dhcpcd}/sbin/dhcpcd --config ${dhcpcdConf}"; - Restart = "always"; - }; - }; - - which creates the systemd unit - dhcpcd.service. The option - determined which other units pull this - one in; multi-user.target is the default - target of the system, so dhcpcd.service will - always be started. The option - provides the main - command for the service; it’s also possible to provide pre-start - actions, stop scripts, and so on. - - - - - - - - If your service requires special UIDs or GIDs, you can - define them with these options. See for details. - - - - - -
- - -
- - - - -
- -Building specific parts of NixOS - -With the command nix-build, you can build -specific parts of your NixOS configuration. This is done as follows: - - -$ cd /path/to/nixpkgs/nixos -$ nix-build -A config.option - -where option is a NixOS option with type -“derivation” (i.e. something that can be built). Attributes of -interest include: - - - - - system.build.toplevel - - The top-level option that builds the entire NixOS system. - Everything else in your configuration is indirectly pulled in by - this option. This is what nixos-rebuild - builds and what /run/current-system points - to afterwards. - - A shortcut to build this is: - - -$ nix-build -A system - - - - - - system.build.manual.manual - The NixOS manual. - - - - system.build.etc - A tree of symlinks that form the static parts of - /etc. - - - - system.build.initialRamdisk - system.build.kernel - - The initial ramdisk and kernel of the system. This allows - a quick way to test whether the kernel and the initial ramdisk - boot correctly, by using QEMU’s and - options: - - -$ nix-build -A config.system.build.initialRamdisk -o initrd -$ nix-build -A config.system.build.kernel -o kernel -$ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null - - - - - - - - system.build.nixos-rebuild - system.build.nixos-install - system.build.nixos-generate-config - - These build the corresponding NixOS commands. - - - - - systemd.units.unit-name.unit - - This builds the unit with the specified name. Note that - since unit names contain dots - (e.g. httpd.service), you need to put them - between quotes, like this: - - -$ nix-build -A 'config.systemd.units."httpd.service".unit' - - - You can also test individual units, without rebuilding the whole - system, by putting them in - /run/systemd/system: - - -$ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \ - /run/systemd/system/tmp-httpd.service -$ systemctl daemon-reload -$ systemctl start tmp-httpd.service - - - Note that the unit must not have the same name as any unit in - /etc/systemd/system since those take - precedence over /run/systemd/system. - That’s why the unit is installed as - tmp-httpd.service here. - - - - - - - -
- - - - -
- -Building your own NixOS CD - -Building a NixOS CD is as easy as configuring your own computer. The -idea is to use another module which will replace -your configuration.nix to configure the system that -would be installed on the CD. - -Default CD/DVD configurations are available -inside nixos/modules/installer/cd-dvd. To build them -you have to set NIXOS_CONFIG before -running nix-build to build the ISO. - - -$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix - - - -Before burning your CD/DVD, you can check the content of the image by mounting anywhere like -suggested by the following command: - - -$ mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso - - - -
- - - - -
- -Testing the installer - -Building, burning, and booting from an installation CD is rather -tedious, so here is a quick way to see if the installer works -properly: - - -$ nix-build -A config.system.build.nixos-install -$ mount -t tmpfs none /mnt -$ ./result/bin/nixos-install - -To start a login shell in the new NixOS installation in -/mnt: - - -$ ./result/bin/nixos-install --chroot - - - - -
- - - - - -
- -NixOS tests - -When you add some feature to NixOS, you should write a test for -it. NixOS tests are kept in the directory nixos/tests, -and are executed (using Nix) by a testing framework that automatically -starts one or more virtual machines containing the NixOS system(s) -required for the test. - -Writing tests - -A NixOS test is a Nix expression that has the following structure: - - -import ./make-test.nix { - - # Either the configuration of a single machine: - machine = - { config, pkgs, ... }: - { configuration… - }; - - # Or a set of machines: - nodes = - { machine1 = - { config, pkgs, ... }: { }; - machine2 = - { config, pkgs, ... }: { }; - … - }; - - testScript = - '' - Perl code… - ''; -} - - -The attribute testScript is a bit of Perl code that -executes the test (described below). During the test, it will start -one or more virtual machines, the configuration of which is described -by the attribute machine (if you need only one -machine in your test) or by the attribute nodes (if -you need multiple machines). For instance, login.nix -only needs a single machine to test whether users can log in on the -virtual console, whether device ownership is correctly maintained when -switching between consoles, and so on. On the other hand, nfs.nix, -which tests NFS client and server functionality in the Linux kernel -(including whether locks are maintained across server crashes), -requires three machines: a server and two clients. - -There are a few special NixOS configuration options for test -VMs: - - - - - - - - The memory of the VM in - megabytes. - - - - - The virtual networks to which the VM is - connected. See nat.nix - for an example. - - - - - By default, the Nix store in the VM is not - writable. If you enable this option, a writable union file system - is mounted on top of the Nix store to make it appear - writable. This is necessary for tests that run Nix operations that - modify the store. - - - - -For more options, see the module qemu-vm.nix. - -The test script is a sequence of Perl statements that perform -various actions, such as starting VMs, executing commands in the VMs, -and so on. Each virtual machine is represented as an object stored in -the variable $name, -where name is the identifier of the machine -(which is just machine if you didn’t specify -multiple machines using the nodes attribute). For -instance, the following starts the machine, waits until it has -finished booting, then executes a command and checks that the output -is more-or-less correct: - - -$machine->start; -$machine->waitForUnit("default.target"); -$machine->succeed("uname") =~ /Linux/; - - -The first line is actually unnecessary; machines are implicitly -started when you first execute an action on them (such as -waitForUnit or succeed). If you -have multiple machines, you can speed up the test by starting them in -parallel: - - -startAll; - - - - -The following methods are available on machine objects: - - - - - start - Start the virtual machine. This method is - asynchronous — it does not wait for the machine to finish - booting. - - - - shutdown - Shut down the machine, waiting for the VM to - exit. - - - - crash - Simulate a sudden power failure, by telling the VM - to exit immediately. - - - - block - Simulate unplugging the Ethernet cable that - connects the machine to the other machines. - - - - unblock - Undo the effect of - block. - - - - screenshot - Take a picture of the display of the virtual - machine, in PNG format. The screenshot is linked from the HTML - log. - - - - sendMonitorCommand - Send a command to the QEMU monitor. This is rarely - used, but allows doing stuff such as attaching virtual USB disks - to a running machine. - - - - sendKeys - Simulate pressing keys on the virtual keyboard, - e.g., sendKeys("ctrl-alt-delete"). - - - - sendChars - Simulate typing a sequence of characters on the - virtual keyboard, e.g., sendKeys("foobar\n") - will type the string foobar followed by the - Enter key. - - - - execute - Execute a shell command, returning a list - (status, - stdout). - - - - succeed - Execute a shell command, raising an exception if - the exit status is not zero, otherwise returning the standard - output. - - - - fail - Like succeed, but raising - an exception if the command returns a zero status. - - - - waitUntilSucceeds - Repeat a shell command with 1-second intervals - until it succeeds. - - - - waitUntilFails - Repeat a shell command with 1-second intervals - until it fails. - - - - waitForUnit - Wait until the specified systemd unit has reached - the “active” state. - - - - waitForFile - Wait until the specified file - exists. - - - - waitForOpenPort - Wait until a process is listening on the given TCP - port (on localhost, at least). - - - - waitForClosedPort - Wait until nobody is listening on the given TCP - port. - - - - waitForX - Wait until the X11 server is accepting - connections. - - - - waitForWindow - Wait until an X11 window has appeared whose name - matches the given regular expression, e.g., - waitForWindow(qr/Terminal/). - - - - - - - - - -Running tests - -You can run tests using nix-build. For -example, to run the test login.nix, -you just do: - - -$ nix-build '<nixpkgs/nixos/tests/login.nix>' - - -or, if you don’t want to rely on NIX_PATH: - - -$ cd /my/nixpkgs/nixos/tests -$ nix-build login.nix -… -running the VM test script -machine: QEMU running (pid 8841) -… -6 out of 6 tests succeeded - - -After building/downloading all required dependencies, this will -perform a build that starts a QEMU/KVM virtual machine containing a -NixOS system. The virtual machine mounts the Nix store of the host; -this makes VM creation very fast, as no disk image needs to be -created. Afterwards, you can view a pretty-printed log of the test: - - -$ firefox result/log.html - - - - -It is also possible to run the test environment interactively, -allowing you to experiment with the VMs. For example: - - -$ nix-build login.nix -A driver -$ ./result/bin/nixos-run-vms - - -The script nixos-run-vms starts the virtual -machines defined by test. The root file system of the VMs is created -on the fly and kept across VM restarts in -./hostname.qcow2. - -Finally, the test itself can be run interactively. This is -particularly useful when developing or debugging a test: - - -$ nix-build tests/ -A nfs.driver -$ ./result/bin/nixos-test-driver -starting VDE switch for network 1 -> - - -You can then take any Perl statement, e.g. - - -> startAll -> $machine->succeed("touch /tmp/foo") - - -The function testScript executes the entire test -script and drops you back into the test driver command line upon its -completion. This allows you to inspect the state of the VMs after the -test (e.g. to debug the test script). - - - -
- - -
diff --git a/nixos/doc/manual/development/building-nixos.xml b/nixos/doc/manual/development/building-nixos.xml new file mode 100644 index 0000000000000000000000000000000000000000..21c5bfe6a5b1fbbc182c50b1bc75cea1d0d61346 --- /dev/null +++ b/nixos/doc/manual/development/building-nixos.xml @@ -0,0 +1,32 @@ + + +Building Your Own NixOS CD + +Building a NixOS CD is as easy as configuring your own computer. The +idea is to use another module which will replace +your configuration.nix to configure the system that +would be installed on the CD. + +Default CD/DVD configurations are available +inside nixos/modules/installer/cd-dvd. To build them +you have to set NIXOS_CONFIG before +running nix-build to build the ISO. + + +$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix + + + +Before burning your CD/DVD, you can check the content of the image by mounting anywhere like +suggested by the following command: + + +$ mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/building-parts.xml b/nixos/doc/manual/development/building-parts.xml new file mode 100644 index 0000000000000000000000000000000000000000..cb8dee039c8e07c896c824d5ccd515bd7ce71c04 --- /dev/null +++ b/nixos/doc/manual/development/building-parts.xml @@ -0,0 +1,113 @@ + + +Building Specific Parts of NixOS + +With the command nix-build, you can build +specific parts of your NixOS configuration. This is done as follows: + + +$ cd /path/to/nixpkgs/nixos +$ nix-build -A config.option + +where option is a NixOS option with type +“derivation” (i.e. something that can be built). Attributes of +interest include: + + + + + system.build.toplevel + + The top-level option that builds the entire NixOS system. + Everything else in your configuration is indirectly pulled in by + this option. This is what nixos-rebuild + builds and what /run/current-system points + to afterwards. + + A shortcut to build this is: + + +$ nix-build -A system + + + + + + system.build.manual.manual + The NixOS manual. + + + + system.build.etc + A tree of symlinks that form the static parts of + /etc. + + + + system.build.initialRamdisk + system.build.kernel + + The initial ramdisk and kernel of the system. This allows + a quick way to test whether the kernel and the initial ramdisk + boot correctly, by using QEMU’s and + options: + + +$ nix-build -A config.system.build.initialRamdisk -o initrd +$ nix-build -A config.system.build.kernel -o kernel +$ qemu-system-x86_64 -kernel ./kernel/bzImage -initrd ./initrd/initrd -hda /dev/null + + + + + + + + system.build.nixos-rebuild + system.build.nixos-install + system.build.nixos-generate-config + + These build the corresponding NixOS commands. + + + + + systemd.units.unit-name.unit + + This builds the unit with the specified name. Note that + since unit names contain dots + (e.g. httpd.service), you need to put them + between quotes, like this: + + +$ nix-build -A 'config.systemd.units."httpd.service".unit' + + + You can also test individual units, without rebuilding the whole + system, by putting them in + /run/systemd/system: + + +$ cp $(nix-build -A 'config.systemd.units."httpd.service".unit')/httpd.service \ + /run/systemd/system/tmp-httpd.service +$ systemctl daemon-reload +$ systemctl start tmp-httpd.service + + + Note that the unit must not have the same name as any unit in + /etc/systemd/system since those take + precedence over /run/systemd/system. + That’s why the unit is installed as + tmp-httpd.service here. + + + + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml new file mode 100644 index 0000000000000000000000000000000000000000..747159c44270166d7c80be1ee116fc7460b53c81 --- /dev/null +++ b/nixos/doc/manual/development/development.xml @@ -0,0 +1,20 @@ + + +Development + + +This chapter describes how you can modify and extend +NixOS. + + + + + + + + + diff --git a/nixos/doc/manual/development/nixos-tests.xml b/nixos/doc/manual/development/nixos-tests.xml new file mode 100644 index 0000000000000000000000000000000000000000..a98da99333090456f779161511018a2813287166 --- /dev/null +++ b/nixos/doc/manual/development/nixos-tests.xml @@ -0,0 +1,19 @@ + + +NixOS Tests + +When you add some feature to NixOS, you should write a test for +it. NixOS tests are kept in the directory nixos/tests, +and are executed (using Nix) by a testing framework that automatically +starts one or more virtual machines containing the NixOS system(s) +required for the test. + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml new file mode 100644 index 0000000000000000000000000000000000000000..6d93dc5c0094473b6e7a4f27af7359549680eaec --- /dev/null +++ b/nixos/doc/manual/development/option-declarations.xml @@ -0,0 +1,141 @@ +
+ +Option Declarations + +An option declaration specifies the name, type and description +of a NixOS configuration option. It is illegal to define an option +that hasn’t been declared in any module. A option declaration +generally looks like this: + + +options = { + name = mkOption { + type = type specification; + default = default value; + example = example value; + description = "Description for use in the NixOS manual."; + }; +}; + + + + +The function mkOption accepts the following arguments. + + + + + type + + The type of the option (see below). It may be omitted, + but that’s not advisable since it may lead to errors that are + hard to diagnose. + + + + + default + + The default value used if no value is defined by any + module. A default is not required; in that case, if the option + value is ever used, an error will be thrown. + + + + + example + + An example value that will be shown in the NixOS manual. + + + + + description + + A textual description of the option, in DocBook format, + that will be included in the NixOS manual. + + + + + + + +Here is a non-exhaustive list of option types: + + + + + types.bool + + A Boolean. + + + + + types.int + + An integer. + + + + + types.str + + A string. + + + + + types.lines + + A string. If there are multiple definitions, they are + concatenated, with newline characters in between. + + + + + types.path + + A path, defined as anything that, when coerced to a + string, starts with a slash. This includes derivations. + + + + + types.listOf t + + A list of elements of type t + (e.g., types.listOf types.str is a list of + strings). Multiple definitions are concatenated together. + + + + + types.attrsOf t + + A set of elements of type t + (e.g., types.attrsOf types.int is a set of + name/value pairs, the values being integers). + + + + + types.nullOr t + + Either the value null or something of + type t. + + + + + +You can also create new types using the function +mkOptionType. See +lib/types.nix in Nixpkgs for details. + +
\ No newline at end of file diff --git a/nixos/doc/manual/development/option-def.xml b/nixos/doc/manual/development/option-def.xml new file mode 100644 index 0000000000000000000000000000000000000000..4e267ecfd1e3e7085480c19304ee2bc00c78272f --- /dev/null +++ b/nixos/doc/manual/development/option-def.xml @@ -0,0 +1,112 @@ +
+ +Option Definitions + +Option definitions are generally straight-forward bindings of values to option names, like + + +config = { + services.httpd.enable = true; +}; + + +However, sometimes you need to wrap an option definition or set of +option definitions in a property to achieve +certain effects: + +Delaying Conditionals + +If a set of option definitions is conditional on the value of +another option, you may need to use mkIf. +Consider, for instance: + + +config = if config.services.httpd.enable then { + environment.systemPackages = [ ... ]; + ... +} else {}; + + +This definition will cause Nix to fail with an “infinite recursion” +error. Why? Because the value of + depends on the value +being constructed here. After all, you could also write the clearly +circular and contradictory: + +config = if config.services.httpd.enable then { + services.httpd.enable = false; +} else { + services.httpd.enable = true; +}; + + +The solution is to write: + + +config = mkIf config.services.httpd.enable { + environment.systemPackages = [ ... ]; + ... +}; + + +The special function mkIf causes the evaluation of +the conditional to be “pushed down” into the individual definitions, +as if you had written: + + +config = { + environment.systemPackages = if config.services.httpd.enable then [ ... ] else []; + ... +}; + + + + + + +Setting Priorities + +A module can override the definitions of an option in other +modules by setting a priority. All option +definitions that do not have the lowest priority value are discarded. +By default, option definitions have priority 1000. You can specify an +explicit priority by using mkOverride, e.g. + + +services.openssh.enable = mkOverride 10 false; + + +This definition causes all other definitions with priorities above 10 +to be discarded. The function mkForce is +equal to mkOverride 50. + + + +Merging Configurations + +In conjunction with mkIf, it is sometimes +useful for a module to return multiple sets of option definitions, to +be merged together as if they were declared in separate modules. This +can be done using mkMerge: + + +config = mkMerge + [ # Unconditional stuff. + { environment.systemPackages = [ ... ]; + } + # Conditional stuff. + (mkIf config.services.bla.enable { + environment.systemPackages = [ ... ]; + }) + ]; + + + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/development/running-nixos-tests.xml b/nixos/doc/manual/development/running-nixos-tests.xml new file mode 100644 index 0000000000000000000000000000000000000000..d9be761eb01d79e7f3d574a9ca99aecb24a1a456 --- /dev/null +++ b/nixos/doc/manual/development/running-nixos-tests.xml @@ -0,0 +1,77 @@ +
+ +Running Tests + +You can run tests using nix-build. For +example, to run the test login.nix, +you just do: + + +$ nix-build '<nixpkgs/nixos/tests/login.nix>' + + +or, if you don’t want to rely on NIX_PATH: + + +$ cd /my/nixpkgs/nixos/tests +$ nix-build login.nix +… +running the VM test script +machine: QEMU running (pid 8841) +… +6 out of 6 tests succeeded + + +After building/downloading all required dependencies, this will +perform a build that starts a QEMU/KVM virtual machine containing a +NixOS system. The virtual machine mounts the Nix store of the host; +this makes VM creation very fast, as no disk image needs to be +created. Afterwards, you can view a pretty-printed log of the test: + + +$ firefox result/log.html + + + + +It is also possible to run the test environment interactively, +allowing you to experiment with the VMs. For example: + + +$ nix-build login.nix -A driver +$ ./result/bin/nixos-run-vms + + +The script nixos-run-vms starts the virtual +machines defined by test. The root file system of the VMs is created +on the fly and kept across VM restarts in +./hostname.qcow2. + +Finally, the test itself can be run interactively. This is +particularly useful when developing or debugging a test: + + +$ nix-build tests/ -A nfs.driver +$ ./result/bin/nixos-test-driver +starting VDE switch for network 1 +> + + +You can then take any Perl statement, e.g. + + +> startAll +> $machine->succeed("touch /tmp/foo") + + +The function testScript executes the entire test +script and drops you back into the test driver command line upon its +completion. This allows you to inspect the state of the VMs after the +test (e.g. to debug the test script). + +
\ No newline at end of file diff --git a/nixos/doc/manual/development/sources.xml b/nixos/doc/manual/development/sources.xml new file mode 100644 index 0000000000000000000000000000000000000000..992a07af9813bf325e7c8da089d4cac22e5b5e12 --- /dev/null +++ b/nixos/doc/manual/development/sources.xml @@ -0,0 +1,95 @@ + + +Getting the Sources + +By default, NixOS’s nixos-rebuild command +uses the NixOS and Nixpkgs sources provided by the +nixos-unstable channel (kept in +/nix/var/nix/profiles/per-user/root/channels/nixos). +To modify NixOS, however, you should check out the latest sources from +Git. This is done using the following command: + + +$ nixos-checkout /my/sources + + +or + + +$ mkdir -p /my/sources +$ cd /my/sources +$ nix-env -i git +$ git clone git://github.com/NixOS/nixpkgs.git + + +This will check out the latest NixOS sources to +/my/sources/nixpkgs/nixos +and the Nixpkgs sources to +/my/sources/nixpkgs. +(The NixOS source tree lives in a subdirectory of the Nixpkgs +repository.) + +It’s often inconvenient to develop directly on the master +branch, since if somebody has just committed (say) a change to GCC, +then the binary cache may not have caught up yet and you’ll have to +rebuild everything from source. So you may want to create a local +branch based on your current NixOS version: + + +$ nixos-version +14.04.273.ea1952b (Baboon) + +$ git checkout -b local ea1952b + + +Or, to base your local branch on the latest version available in the +NixOS channel: + + +$ curl -sI http://nixos.org/channels/nixos-unstable/ | grep Location +Location: http://releases.nixos.org/nixos/unstable/nixos-14.10pre43986.acaf4a6/ + +$ git checkout -b local acaf4a6 + + +You can then use git rebase to sync your local +branch with the upstream branch, and use git +cherry-pick to copy commits from your local branch to the +upstream branch. + +If you want to rebuild your system using your (modified) +sources, you need to tell nixos-rebuild about them +using the flag: + + +$ nixos-rebuild switch -I nixpkgs=/my/sources/nixpkgs + + + + +If you want nix-env to use the expressions in +/my/sources, use nix-env -f +/my/sources/nixpkgs, or change +the default by adding a symlink in +~/.nix-defexpr: + + +$ ln -s /my/sources/nixpkgs ~/.nix-defexpr/nixpkgs + + +You may want to delete the symlink +~/.nix-defexpr/channels_root to prevent root’s +NixOS channel from clashing with your own tree. + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/testing-installer.xml b/nixos/doc/manual/development/testing-installer.xml new file mode 100644 index 0000000000000000000000000000000000000000..87e40e326171fa0a1aaba31aa6b332ecbec94c2c --- /dev/null +++ b/nixos/doc/manual/development/testing-installer.xml @@ -0,0 +1,27 @@ + + +Testing the Installer + +Building, burning, and booting from an installation CD is rather +tedious, so here is a quick way to see if the installer works +properly: + + +$ nix-build -A config.system.build.nixos-install +$ mount -t tmpfs none /mnt +$ ./result/bin/nixos-install + +To start a login shell in the new NixOS installation in +/mnt: + + +$ ./result/bin/nixos-install --chroot + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/writing-modules.xml b/nixos/doc/manual/development/writing-modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..9cf29e5dc57dec766b70f6c7ced1a45771149cb9 --- /dev/null +++ b/nixos/doc/manual/development/writing-modules.xml @@ -0,0 +1,175 @@ + + +Writing NixOS Modules + +NixOS has a modular system for declarative configuration. This +system combines multiple modules to produce the +full system configuration. One of the modules that constitute the +configuration is /etc/nixos/configuration.nix. +Most of the others live in the nixos/modules +subdirectory of the Nixpkgs tree. + +Each NixOS module is a file that handles one logical aspect of +the configuration, such as a specific kind of hardware, a service, or +network settings. A module configuration does not have to handle +everything from scratch; it can use the functionality provided by +other modules for its implementation. Thus a module can +declare options that can be used by other +modules, and conversely can define options +provided by other modules in its own implementation. For example, the +module pam.nix +declares the option that allows +other modules (e.g. sshd.nix) +to define PAM services; and it defines the option + (declared by etc.nix) +to cause files to be created in +/etc/pam.d. + +In , we saw the following structure +of NixOS modules: + + +{ config, pkgs, ... }: + +{ option definitions +} + + +This is actually an abbreviated form of module +that only defines options, but does not declare any. The structure of +full NixOS modules is shown in . + +Structure of NixOS Modules + +{ config, pkgs, ... }: + +{ + imports = + [ paths of other modules + ]; + + options = { + option declarations + }; + + config = { + option definitions + }; +} + + +The meaning of each part is as follows. + + + + This line makes the current Nix expression a function. The + variable pkgs contains Nixpkgs, while + config contains the full system configuration. + This line can be omitted if there is no reference to + pkgs and config inside the + module. + + + + This list enumerates the paths to other NixOS modules that + should be included in the evaluation of the system configuration. + A default set of modules is defined in the file + modules/module-list.nix. These don't need to + be added in the import list. + + + + The attribute options is a nested set of + option declarations (described below). + + + + The attribute config is a nested set of + option definitions (also described + below). + + + + + + shows a module that handles +the regular update of the “locate” database, an index of all files in +the file system. This module declares two options that can be defined +by other modules (typically the user’s +configuration.nix): + (whether the database should +be updated) and (when the +update should be done). It implements its functionality by defining +two options declared by other modules: + (the set of all systemd services) +and (the list of +commands to be executed periodically by cron). + +NixOS Module for the “locate” Service + +{ config, lib, pkgs, ... }: + +with lib; + +let locatedb = "/var/cache/locatedb"; in + +{ + options = { + + services.locate = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + If enabled, NixOS will periodically update the database of + files used by the locate command. + ''; + }; + + period = mkOption { + type = types.str; + default = "15 02 * * *"; + description = '' + This option defines (in the format used by cron) when the + locate database is updated. The default is to update at + 02:15 at night every day. + ''; + }; + + }; + + }; + + config = { + + systemd.services.update-locatedb = + { description = "Update Locate Database"; + path = [ pkgs.su ]; + script = + '' + mkdir -m 0755 -p $(dirname ${locatedb}) + exec updatedb --localuser=nobody --output=${locatedb} --prunepaths='/tmp /var/tmp /media /run' + ''; + }; + + services.cron.systemCronJobs = optional config.services.locate.enable + "${config.services.locate.period} root ${config.systemd.package}/bin/systemctl start update-locatedb.service"; + + }; +} + + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml new file mode 100644 index 0000000000000000000000000000000000000000..bbb655eed2a6221c0f1650201765f24f14e55039 --- /dev/null +++ b/nixos/doc/manual/development/writing-nixos-tests.xml @@ -0,0 +1,251 @@ +
+ +Writing Tests + +A NixOS test is a Nix expression that has the following structure: + + +import ./make-test.nix { + + # Either the configuration of a single machine: + machine = + { config, pkgs, ... }: + { configuration… + }; + + # Or a set of machines: + nodes = + { machine1 = + { config, pkgs, ... }: { }; + machine2 = + { config, pkgs, ... }: { }; + … + }; + + testScript = + '' + Perl code… + ''; +} + + +The attribute testScript is a bit of Perl code that +executes the test (described below). During the test, it will start +one or more virtual machines, the configuration of which is described +by the attribute machine (if you need only one +machine in your test) or by the attribute nodes (if +you need multiple machines). For instance, login.nix +only needs a single machine to test whether users can log in on the +virtual console, whether device ownership is correctly maintained when +switching between consoles, and so on. On the other hand, nfs.nix, +which tests NFS client and server functionality in the Linux kernel +(including whether locks are maintained across server crashes), +requires three machines: a server and two clients. + +There are a few special NixOS configuration options for test +VMs: + + + + + + + + The memory of the VM in + megabytes. + + + + + The virtual networks to which the VM is + connected. See nat.nix + for an example. + + + + + By default, the Nix store in the VM is not + writable. If you enable this option, a writable union file system + is mounted on top of the Nix store to make it appear + writable. This is necessary for tests that run Nix operations that + modify the store. + + + + +For more options, see the module qemu-vm.nix. + +The test script is a sequence of Perl statements that perform +various actions, such as starting VMs, executing commands in the VMs, +and so on. Each virtual machine is represented as an object stored in +the variable $name, +where name is the identifier of the machine +(which is just machine if you didn’t specify +multiple machines using the nodes attribute). For +instance, the following starts the machine, waits until it has +finished booting, then executes a command and checks that the output +is more-or-less correct: + + +$machine->start; +$machine->waitForUnit("default.target"); +$machine->succeed("uname") =~ /Linux/; + + +The first line is actually unnecessary; machines are implicitly +started when you first execute an action on them (such as +waitForUnit or succeed). If you +have multiple machines, you can speed up the test by starting them in +parallel: + + +startAll; + + + + +The following methods are available on machine objects: + + + + + start + Start the virtual machine. This method is + asynchronous — it does not wait for the machine to finish + booting. + + + + shutdown + Shut down the machine, waiting for the VM to + exit. + + + + crash + Simulate a sudden power failure, by telling the VM + to exit immediately. + + + + block + Simulate unplugging the Ethernet cable that + connects the machine to the other machines. + + + + unblock + Undo the effect of + block. + + + + screenshot + Take a picture of the display of the virtual + machine, in PNG format. The screenshot is linked from the HTML + log. + + + + sendMonitorCommand + Send a command to the QEMU monitor. This is rarely + used, but allows doing stuff such as attaching virtual USB disks + to a running machine. + + + + sendKeys + Simulate pressing keys on the virtual keyboard, + e.g., sendKeys("ctrl-alt-delete"). + + + + sendChars + Simulate typing a sequence of characters on the + virtual keyboard, e.g., sendKeys("foobar\n") + will type the string foobar followed by the + Enter key. + + + + execute + Execute a shell command, returning a list + (status, + stdout). + + + + succeed + Execute a shell command, raising an exception if + the exit status is not zero, otherwise returning the standard + output. + + + + fail + Like succeed, but raising + an exception if the command returns a zero status. + + + + waitUntilSucceeds + Repeat a shell command with 1-second intervals + until it succeeds. + + + + waitUntilFails + Repeat a shell command with 1-second intervals + until it fails. + + + + waitForUnit + Wait until the specified systemd unit has reached + the “active” state. + + + + waitForFile + Wait until the specified file + exists. + + + + waitForOpenPort + Wait until a process is listening on the given TCP + port (on localhost, at least). + + + + waitForClosedPort + Wait until nobody is listening on the given TCP + port. + + + + waitForX + Wait until the X11 server is accepting + connections. + + + + waitForWindow + Wait until an X11 window has appeared whose name + matches the given regular expression, e.g., + waitForWindow(qr/Terminal/). + + + + + + +
\ No newline at end of file diff --git a/nixos/doc/manual/installation.xml b/nixos/doc/manual/installation.xml deleted file mode 100644 index 4cbfcc229fa43b76cc4d5082724383615df396f0..0000000000000000000000000000000000000000 --- a/nixos/doc/manual/installation.xml +++ /dev/null @@ -1,570 +0,0 @@ - - -Installing NixOS - - - - -
- -Obtaining NixOS - -NixOS ISO images can be downloaded from the NixOS -homepage. These can be burned onto a CD. It is also possible -to copy them onto a USB stick and install NixOS from there. For -details, see the NixOS -Wiki. - -As an alternative to installing NixOS yourself, you can get a -running NixOS system through several other means: - - - - Using virtual appliances in Open Virtualization Format (OVF) - that can be imported into VirtualBox. These are available from - the NixOS - homepage. - - - Using AMIs for Amazon’s EC2. To find one for your region - and instance type, please refer to the list - of most recent AMIs. - - - Using NixOps, the NixOS-based cloud deployment tool, which - allows you to provision VirtualBox and EC2 NixOS instances from - declarative specifications. Check out the NixOps - homepage for details. - - - - - -
- - - - -
- -Installation - - - - Boot from the CD. - - The CD contains a basic NixOS installation. (It - also contains Memtest86+, useful if you want to test new hardware.) - When it’s finished booting, it should have detected most of your - hardware and brought up networking (check - ifconfig). Networking is necessary for the - installer, since it will download lots of stuff (such as source - tarballs or Nixpkgs channel binaries). It’s best if you have a DHCP - server on your network. Otherwise configure networking manually - using ifconfig. - - The NixOS manual is available on virtual console 8 - (press Alt+F8 to access). - - Login as root and the empty - password. - - If you downloaded the graphical ISO image, you can - run start display-manager to start KDE. - - The NixOS installer doesn’t do any partitioning or - formatting yet, so you need to that yourself. Use the following - commands: - - - - For partitioning: - fdisk. - - For initialising Ext4 partitions: - mkfs.ext4. It is recommended that you assign a - unique symbolic label to the file system using the option - , since this - makes the file system configuration independent from device - changes. For example: - - -$ mkfs.ext4 -L nixos /dev/sda1 - - - - For creating swap partitions: - mkswap. Again it’s recommended to assign a - label to the swap partition: . - - For creating LVM volumes, the LVM commands, e.g., - - -$ pvcreate /dev/sda1 /dev/sdb1 -$ vgcreate MyVolGroup /dev/sda1 /dev/sdb1 -$ lvcreate --size 2G --name bigdisk MyVolGroup -$ lvcreate --size 1G --name smalldisk MyVolGroup - - - - For creating software RAID devices, use - mdadm. - - - - - - Mount the target file system on which NixOS should - be installed on /mnt, e.g. - - -$ mount /dev/disk/by-label/nixos /mnt - - - - - If your machine has a limited amount of memory, you - may want to activate swap devices now (swapon - device). The installer (or - rather, the build actions that it may spawn) may need quite a bit of - RAM, depending on your configuration. - - - - You now need to create a file - /mnt/etc/nixos/configuration.nix that - specifies the intended configuration of the system. This is - because NixOS has a declarative configuration - model: you create or edit a description of the desired - configuration of your system, and then NixOS takes care of making - it happen. The syntax of the NixOS configuration file is - described in , while a - list of available configuration options appears in . A minimal example is shown in . - - The command nixos-generate-config can - generate an initial configuration file for you: - - -$ nixos-generate-config --root /mnt - - You should then edit - /mnt/etc/nixos/configuration.nix to suit your - needs: - - -$ nano /mnt/etc/nixos/configuration.nix - - - The vim text editor is also available. - - You must set the option - to specify on which disk - the GRUB boot loader is to be installed. Without it, NixOS cannot - boot. - - Another critical option is , - specifying the file systems that need to be mounted by NixOS. - However, you typically don’t need to set it yourself, because - nixos-generate-config sets it automatically in - /mnt/etc/nixos/hardware-configuration.nix - from your currently mounted file systems. (The configuration file - hardware-configuration.nix is included from - configuration.nix and will be overwritten by - future invocations of nixos-generate-config; - thus, you generally should not modify it.) - - Depending on your hardware configuration or type of - file system, you may need to set the option - to include the kernel - modules that are necessary for mounting the root file system, - otherwise the installed system will not be able to boot. (If this - happens, boot from the CD again, mount the target file system on - /mnt, fix - /mnt/etc/nixos/configuration.nix and rerun - nixos-install.) In most cases, - nixos-generate-config will figure out the - required modules. - - Examples of real-world NixOS configuration files can be - found at . - - - - Do the installation: - - -$ nixos-install - - Cross fingers. If this fails due to a temporary problem (such as - a network issue while downloading binaries from the NixOS binary - cache), you can just re-run nixos-install. - Otherwise, fix your configuration.nix and - then re-run nixos-install. - - As the last step, nixos-install will ask - you to set the password for the root user, e.g. - - -setting root password... -Enter new UNIX password: *** -Retype new UNIX password: *** - - - - - - - If everything went well: - - -$ reboot - - - - - - You should now be able to boot into the installed NixOS. - The GRUB boot menu shows a list of available - configurations (initially just one). Every time you - change the NixOS configuration (see ), a new item appears in the menu. - This allows you to easily roll back to another configuration if - something goes wrong. - - You should log in and change the root - password with passwd. - - You’ll probably want to create some user accounts as well, - which can be done with useradd: - - -$ useradd -c 'Eelco Dolstra' -m eelco -$ passwd eelco - - - - You may also want to install some software. For instance, - - -$ nix-env -qa \* - - shows what packages are available, and - - -$ nix-env -i w3m - - install the w3m browser. - - - - - -To summarise, shows a -typical sequence of commands for installing NixOS on an empty hard -drive (here /dev/sda). shows a corresponding configuration Nix expression. - -Commands for installing NixOS on <filename>/dev/sda</filename> - -$ fdisk /dev/sda # (or whatever device you want to install on) -$ mkfs.ext4 -L nixos /dev/sda1 -$ mkswap -L swap /dev/sda2 -$ swapon /dev/sda2 -$ mount /dev/disk/by-label/nixos /mnt -$ nixos-generate-config --root /mnt -$ nano /mnt/etc/nixos/configuration.nix -$ nixos-install -$ reboot - - -NixOS configuration - -{ config, pkgs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - boot.loader.grub.device = "/dev/sda"; - - # Note: setting fileSystems is generally not - # necessary, since nixos-generate-config figures them out - # automatically in hardware-configuration.nix. - #fileSystems."/".device = "/dev/disk/by-label/nixos"; - - # Enable the OpenSSH server. - services.sshd.enable = true; -} - - -
- -UEFI Installation - -NixOS can also be installed on UEFI systems. The procedure -is by and large the same as a BIOS installation, with the following -changes: - - - - You should boot the live CD in UEFI mode (consult your - specific hardware's documentation for instructions). You may find - the rEFInd - boot manager useful. - - - Instead of fdisk, you should use - gdisk to partition your disks. You will need to - have a separate partition for /boot with - partition code EF00, and it should be formatted as a - vfat filesystem. - - - You must set to - true. nixos-generate-config - should do this automatically for new configurations when booted in - UEFI mode. - - - After having mounted your installation partition to - /mnt, you must mount the boot partition - to /mnt/boot. - - - You may want to look at the options starting with - and - as well. - - - To see console messages during early boot, add "fbcon" - to your . - - - - -
- -
- -Booting from a USB stick - -For systems without CD drive, the NixOS livecd can be booted from -a usb stick. For non-UEFI installations, -unetbootin -will work. For UEFI installations, you should mount the ISO, copy its contents -verbatim to your drive, then either: - - - - Change the label of the disk partition to the label of the ISO - (visible with the blkid command), or - - - Edit loader/entries/nixos-livecd.conf on the drive - and change the root= field in the options - line to point to your drive (see the documentation on root= - in - the kernel documentation for more details). - - - -
- -
- - - - -
- -Changing the configuration - -The file /etc/nixos/configuration.nix -contains the current configuration of your machine. Whenever you’ve -changed something to that file, you should do - - -$ nixos-rebuild switch - -to build the new configuration, make it the default configuration for -booting, and try to realise the configuration in the running system -(e.g., by restarting system services). - -These commands must be executed as root, so you should -either run them from a root shell or by prefixing them with -sudo -i. - -You can also do - - -$ nixos-rebuild test - -to build the configuration and switch the running system to it, but -without making it the boot default. So if (say) the configuration -locks up your machine, you can just reboot to get back to a working -configuration. - -There is also - - -$ nixos-rebuild boot - -to build the configuration and make it the boot default, but not -switch to it now (so it will only take effect after the next -reboot). - -You can make your configuration show up in a different submenu -of the GRUB 2 boot screen by giving it a different profile -name, e.g. - - -$ nixos-rebuild switch -p test - -which causes the new configuration (and previous ones created using --p test) to show up in the GRUB submenu “NixOS - -Profile 'test'”. This can be useful to separate test configurations -from “stable” configurations. - -Finally, you can do - - -$ nixos-rebuild build - -to build the configuration but nothing more. This is useful to see -whether everything compiles cleanly. - -If you have a machine that supports hardware virtualisation, you -can also test the new configuration in a sandbox by building and -running a QEMU virtual machine that contains the -desired configuration. Just do - - -$ nixos-rebuild build-vm -$ ./result/bin/run-*-vm - - -The VM does not have any data from your host system, so your existing -user accounts and home directories will not be available. You can -forward ports on the host to the guest. For instance, the following -will forward host port 2222 to guest port 22 (SSH): - - -$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm - - -allowing you to log in via SSH (assuming you have set the appropriate -passwords or SSH authorized keys): - - -$ ssh -p 2222 localhost - - - - -
- - - - -
- -Upgrading NixOS - -The best way to keep your NixOS installation up to date is to -use one of the NixOS channels. A channel is a -Nix mechanism for distributing Nix expressions and associated -binaries. The NixOS channels are updated automatically from NixOS’s -Git repository after certain tests have passed and all packages have -been built. These channels are: - - - - Stable channels, such as nixos-14.04. - These only get conservative bug fixes and package upgrades. For - instance, a channel update may cause the Linux kernel on your - system to be upgraded from 3.4.66 to 3.4.67 (a minor bug fix), but - not from 3.4.x to - 3.11.x (a major change that has the - potential to break things). Stable channels are generally - maintained until the next stable branch is created. - - - The unstable channel, nixos-unstable. - This corresponds to NixOS’s main development branch, and may thus - see radical changes between channel updates. It’s not recommended - for production systems. - - - -To see what channels are available, go to . (Note that the URIs of the -various channels redirect to a directory that contains the channel’s -latest version and includes ISO images and VirtualBox -appliances.) - -When you first install NixOS, you’re automatically subscribed to -the NixOS channel that corresponds to your installation source. For -instance, if you installed from a 14.04 ISO, you will be subscribed to -the nixos-14.04 channel. To see which NixOS -channel you’re subscribed to, run the following as root: - - -$ nix-channel --list | grep nixos -nixos https://nixos.org/channels/nixos-unstable - - -To switch to a different NixOS channel, do - - -$ nix-channel --add http://nixos.org/channels/channel-name nixos - - -(Be sure to include the nixos parameter at the -end.) For instance, to use the NixOS 14.04 stable channel: - - -$ nix-channel --add http://nixos.org/channels/nixos-14.04 nixos - - -But it you want to live on the bleeding edge: - - -$ nix-channel --add http://nixos.org/channels/nixos-unstable nixos - - - - -You can then upgrade NixOS to the latest version in your chosen -channel by running - - -$ nixos-rebuild switch --upgrade - - -which is equivalent to the more verbose nix-channel --update -nixos; nixos-rebuild switch. - -It is generally safe to switch back and forth between -channels. The only exception is that a newer NixOS may also have a -newer Nix version, which may involve an upgrade of Nix’s database -schema. This cannot be undone easily, so in that case you will not be -able to go back to your original channel. - -
- -
diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml new file mode 100644 index 0000000000000000000000000000000000000000..aa31742434e45091588017c4f2298d274b1df552 --- /dev/null +++ b/nixos/doc/manual/installation/changing-config.xml @@ -0,0 +1,90 @@ + + +Changing the Configuration + +The file /etc/nixos/configuration.nix +contains the current configuration of your machine. Whenever you’ve +changed something to that file, you should do + + +$ nixos-rebuild switch + +to build the new configuration, make it the default configuration for +booting, and try to realise the configuration in the running system +(e.g., by restarting system services). + +These commands must be executed as root, so you should +either run them from a root shell or by prefixing them with +sudo -i. + +You can also do + + +$ nixos-rebuild test + +to build the configuration and switch the running system to it, but +without making it the boot default. So if (say) the configuration +locks up your machine, you can just reboot to get back to a working +configuration. + +There is also + + +$ nixos-rebuild boot + +to build the configuration and make it the boot default, but not +switch to it now (so it will only take effect after the next +reboot). + +You can make your configuration show up in a different submenu +of the GRUB 2 boot screen by giving it a different profile +name, e.g. + + +$ nixos-rebuild switch -p test + +which causes the new configuration (and previous ones created using +-p test) to show up in the GRUB submenu “NixOS - +Profile 'test'”. This can be useful to separate test configurations +from “stable” configurations. + +Finally, you can do + + +$ nixos-rebuild build + +to build the configuration but nothing more. This is useful to see +whether everything compiles cleanly. + +If you have a machine that supports hardware virtualisation, you +can also test the new configuration in a sandbox by building and +running a QEMU virtual machine that contains the +desired configuration. Just do + + +$ nixos-rebuild build-vm +$ ./result/bin/run-*-vm + + +The VM does not have any data from your host system, so your existing +user accounts and home directories will not be available. You can +forward ports on the host to the guest. For instance, the following +will forward host port 2222 to guest port 22 (SSH): + + +$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm + + +allowing you to log in via SSH (assuming you have set the appropriate +passwords or SSH authorized keys): + + +$ ssh -p 2222 localhost + + + + + diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml new file mode 100644 index 0000000000000000000000000000000000000000..ee61bedc4183a827bada575cba23a67fb7379cc0 --- /dev/null +++ b/nixos/doc/manual/installation/installation.xml @@ -0,0 +1,21 @@ + + +Installation + + + +This section describes how to obtain, install, and configure +NixOS for first-time use. + + + + + + + + + diff --git a/nixos/doc/manual/installation/installing-uefi.xml b/nixos/doc/manual/installation/installing-uefi.xml new file mode 100644 index 0000000000000000000000000000000000000000..dbd5606c4a56211263a0946373514b1646fb9ac0 --- /dev/null +++ b/nixos/doc/manual/installation/installing-uefi.xml @@ -0,0 +1,51 @@ +
+ +UEFI Installation + +NixOS can also be installed on UEFI systems. The procedure +is by and large the same as a BIOS installation, with the following +changes: + + + + You should boot the live CD in UEFI mode (consult your + specific hardware's documentation for instructions). You may find + the rEFInd + boot manager useful. + + + Instead of fdisk, you should use + gdisk to partition your disks. You will need to + have a separate partition for /boot with + partition code EF00, and it should be formatted as a + vfat filesystem. + + + You must set to + true. nixos-generate-config + should do this automatically for new configurations when booted in + UEFI mode. + + + After having mounted your installation partition to + /mnt, you must mount the boot partition + to /mnt/boot. + + + You may want to look at the options starting with + and + as well. + + + To see console messages during early boot, add "fbcon" + to your . + + + + +
diff --git a/nixos/doc/manual/installation/installing-usb.xml b/nixos/doc/manual/installation/installing-usb.xml new file mode 100644 index 0000000000000000000000000000000000000000..97e3d2eaa1c0f3a9ea8716d4d7e9b3817ad05f8a --- /dev/null +++ b/nixos/doc/manual/installation/installing-usb.xml @@ -0,0 +1,30 @@ +
+ +Booting from a USB Drive + +For systems without CD drive, the NixOS livecd can be booted from +a usb stick. For non-UEFI installations, +unetbootin +will work. For UEFI installations, you should mount the ISO, copy its contents +verbatim to your drive, then either: + + + + Change the label of the disk partition to the label of the ISO + (visible with the blkid command), or + + + Edit loader/entries/nixos-livecd.conf on the drive + and change the root= field in the options + line to point to your drive (see the documentation on root= + in + the kernel documentation for more details). + + + + +
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml new file mode 100644 index 0000000000000000000000000000000000000000..b140c56fbee1c311d320dcc55db30eb2acd3b743 --- /dev/null +++ b/nixos/doc/manual/installation/installing.xml @@ -0,0 +1,264 @@ + + +Installing NixOS + + + + Boot from the CD. + + The CD contains a basic NixOS installation. (It + also contains Memtest86+, useful if you want to test new hardware.) + When it’s finished booting, it should have detected most of your + hardware and brought up networking (check + ifconfig). Networking is necessary for the + installer, since it will download lots of stuff (such as source + tarballs or Nixpkgs channel binaries). It’s best if you have a DHCP + server on your network. Otherwise configure networking manually + using ifconfig. + + The NixOS manual is available on virtual console 8 + (press Alt+F8 to access). + + Login as root and the empty + password. + + If you downloaded the graphical ISO image, you can + run start display-manager to start KDE. + + The NixOS installer doesn’t do any partitioning or + formatting yet, so you need to that yourself. Use the following + commands: + + + + For partitioning: + fdisk. + + For initialising Ext4 partitions: + mkfs.ext4. It is recommended that you assign a + unique symbolic label to the file system using the option + , since this + makes the file system configuration independent from device + changes. For example: + + +$ mkfs.ext4 -L nixos /dev/sda1 + + + + For creating swap partitions: + mkswap. Again it’s recommended to assign a + label to the swap partition: . + + For creating LVM volumes, the LVM commands, e.g., + + +$ pvcreate /dev/sda1 /dev/sdb1 +$ vgcreate MyVolGroup /dev/sda1 /dev/sdb1 +$ lvcreate --size 2G --name bigdisk MyVolGroup +$ lvcreate --size 1G --name smalldisk MyVolGroup + + + + For creating software RAID devices, use + mdadm. + + + + + + Mount the target file system on which NixOS should + be installed on /mnt, e.g. + + +$ mount /dev/disk/by-label/nixos /mnt + + + + + If your machine has a limited amount of memory, you + may want to activate swap devices now (swapon + device). The installer (or + rather, the build actions that it may spawn) may need quite a bit of + RAM, depending on your configuration. + + + + You now need to create a file + /mnt/etc/nixos/configuration.nix that + specifies the intended configuration of the system. This is + because NixOS has a declarative configuration + model: you create or edit a description of the desired + configuration of your system, and then NixOS takes care of making + it happen. The syntax of the NixOS configuration file is + described in , while a + list of available configuration options appears in . A minimal example is shown in . + + The command nixos-generate-config can + generate an initial configuration file for you: + + +$ nixos-generate-config --root /mnt + + You should then edit + /mnt/etc/nixos/configuration.nix to suit your + needs: + + +$ nano /mnt/etc/nixos/configuration.nix + + + The vim text editor is also available. + + You must set the option + to specify on which disk + the GRUB boot loader is to be installed. Without it, NixOS cannot + boot. + + Another critical option is , + specifying the file systems that need to be mounted by NixOS. + However, you typically don’t need to set it yourself, because + nixos-generate-config sets it automatically in + /mnt/etc/nixos/hardware-configuration.nix + from your currently mounted file systems. (The configuration file + hardware-configuration.nix is included from + configuration.nix and will be overwritten by + future invocations of nixos-generate-config; + thus, you generally should not modify it.) + + Depending on your hardware configuration or type of + file system, you may need to set the option + to include the kernel + modules that are necessary for mounting the root file system, + otherwise the installed system will not be able to boot. (If this + happens, boot from the CD again, mount the target file system on + /mnt, fix + /mnt/etc/nixos/configuration.nix and rerun + nixos-install.) In most cases, + nixos-generate-config will figure out the + required modules. + + Examples of real-world NixOS configuration files can be + found at . + + + + Do the installation: + + +$ nixos-install + + Cross fingers. If this fails due to a temporary problem (such as + a network issue while downloading binaries from the NixOS binary + cache), you can just re-run nixos-install. + Otherwise, fix your configuration.nix and + then re-run nixos-install. + + As the last step, nixos-install will ask + you to set the password for the root user, e.g. + + +setting root password... +Enter new UNIX password: *** +Retype new UNIX password: *** + + + + + + + If everything went well: + + +$ reboot + + + + + + You should now be able to boot into the installed NixOS. The GRUB boot menu shows a list + of available configurations (initially just one). Every time + you change the NixOS configuration (seeChanging + Configuration ), a new item appears in the menu. This allows you to + easily roll back to another configuration if something goes wrong. + + You should log in and change the root + password with passwd. + + You’ll probably want to create some user accounts as well, + which can be done with useradd: + + +$ useradd -c 'Eelco Dolstra' -m eelco +$ passwd eelco + + + + You may also want to install some software. For instance, + + +$ nix-env -qa \* + + shows what packages are available, and + + +$ nix-env -i w3m + + install the w3m browser. + + + + + +To summarise, shows a +typical sequence of commands for installing NixOS on an empty hard +drive (here /dev/sda). shows a corresponding configuration Nix expression. + +Commands for Installing NixOS on <filename>/dev/sda</filename> + +$ fdisk /dev/sda # (or whatever device you want to install on) +$ mkfs.ext4 -L nixos /dev/sda1 +$ mkswap -L swap /dev/sda2 +$ swapon /dev/sda2 +$ mount /dev/disk/by-label/nixos /mnt +$ nixos-generate-config --root /mnt +$ nano /mnt/etc/nixos/configuration.nix +$ nixos-install +$ reboot + + +NixOS Configuration + +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + boot.loader.grub.device = "/dev/sda"; + + # Note: setting fileSystems is generally not + # necessary, since nixos-generate-config figures them out + # automatically in hardware-configuration.nix. + #fileSystems."/".device = "/dev/disk/by-label/nixos"; + + # Enable the OpenSSH server. + services.sshd.enable = true; +} + + + + + + diff --git a/nixos/doc/manual/installation/obtaining.xml b/nixos/doc/manual/installation/obtaining.xml new file mode 100644 index 0000000000000000000000000000000000000000..ceeeb5c0ac099374e9318f582964a767a491ecc8 --- /dev/null +++ b/nixos/doc/manual/installation/obtaining.xml @@ -0,0 +1,44 @@ + + +Obtaining NixOS + +NixOS ISO images can be downloaded from the NixOS +homepage. These can be burned onto a CD. It is also possible +to copy them onto a USB stick and install NixOS from there. For +details, see the NixOS +Wiki. + +As an alternative to installing NixOS yourself, you can get a +running NixOS system through several other means: + + + + Using virtual appliances in Open Virtualization Format (OVF) + that can be imported into VirtualBox. These are available from + the NixOS + homepage. + + + Using AMIs for Amazon’s EC2. To find one for your region + and instance type, please refer to the list + of most recent AMIs. + + + Using NixOps, the NixOS-based cloud deployment tool, which + allows you to provision VirtualBox and EC2 NixOS instances from + declarative specifications. Check out the NixOps + homepage for details. + + + + + + diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml new file mode 100644 index 0000000000000000000000000000000000000000..ed71a7e23a30f7ef0384378602be9aa5054cb22c --- /dev/null +++ b/nixos/doc/manual/installation/upgrading.xml @@ -0,0 +1,90 @@ + + +Upgrading NixOS + +The best way to keep your NixOS installation up to date is to +use one of the NixOS channels. A channel is a +Nix mechanism for distributing Nix expressions and associated +binaries. The NixOS channels are updated automatically from NixOS’s +Git repository after certain tests have passed and all packages have +been built. These channels are: + + + + Stable channels, such as nixos-14.04. + These only get conservative bug fixes and package upgrades. For + instance, a channel update may cause the Linux kernel on your + system to be upgraded from 3.4.66 to 3.4.67 (a minor bug fix), but + not from 3.4.x to + 3.11.x (a major change that has the + potential to break things). Stable channels are generally + maintained until the next stable branch is created. + + + The unstable channel, nixos-unstable. + This corresponds to NixOS’s main development branch, and may thus + see radical changes between channel updates. It’s not recommended + for production systems. + + + +To see what channels are available, go to . (Note that the URIs of the +various channels redirect to a directory that contains the channel’s +latest version and includes ISO images and VirtualBox +appliances.) + +When you first install NixOS, you’re automatically subscribed to +the NixOS channel that corresponds to your installation source. For +instance, if you installed from a 14.04 ISO, you will be subscribed to +the nixos-14.04 channel. To see which NixOS +channel you’re subscribed to, run the following as root: + + +$ nix-channel --list | grep nixos +nixos https://nixos.org/channels/nixos-unstable + + +To switch to a different NixOS channel, do + + +$ nix-channel --add http://nixos.org/channels/channel-name nixos + + +(Be sure to include the nixos parameter at the +end.) For instance, to use the NixOS 14.04 stable channel: + + +$ nix-channel --add http://nixos.org/channels/nixos-14.04 nixos + + +But it you want to live on the bleeding edge: + + +$ nix-channel --add http://nixos.org/channels/nixos-unstable nixos + + + + +You can then upgrade NixOS to the latest version in your chosen +channel by running + + +$ nixos-rebuild switch --upgrade + + +which is equivalent to the more verbose nix-channel --update +nixos; nixos-rebuild switch. + +It is generally safe to switch back and forth between +channels. The only exception is that a newer NixOS may also have a +newer Nix version, which may involve an upgrade of Nix’s database +schema. This cannot be undone easily, so in that case you will not be +able to go back to your original channel. + + diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml index f51a04cdf25bef81c68f49c976478c398af0b2fd..a3ad76209ac8194704b5bec29eebeea3d36727a8 100644 --- a/nixos/doc/manual/manual.xml +++ b/nixos/doc/manual/manual.xml @@ -1,15 +1,14 @@ - + xmlns:xi="http://www.w3.org/2001/XInclude" + version="5.0" + xml:id="NixOSManual"> + - NixOS Manual Version - - Preface @@ -29,19 +28,14 @@ - - - - + + + - - - - - + - Configuration options + Configuration Options diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml new file mode 100644 index 0000000000000000000000000000000000000000..fb82d5adcefb07976ca344b1f21bf090c56d4f0c --- /dev/null +++ b/nixos/doc/manual/release-notes/release-notes.xml @@ -0,0 +1,17 @@ + + +Release Notes + + +This section lists the release notes for each stable version of NixOS. + + + + + + + diff --git a/nixos/doc/manual/release-notes/rl-1310.xml b/nixos/doc/manual/release-notes/rl-1310.xml new file mode 100644 index 0000000000000000000000000000000000000000..234fb5a643f6ae2e41aa0b0353b1286cbcb7e129 --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-1310.xml @@ -0,0 +1,11 @@ + + +Release 13.10 (“Aardvark”, 2013/10/31) + +This is the first stable release branch of NixOS. + + \ No newline at end of file diff --git a/nixos/doc/manual/release-notes.xml b/nixos/doc/manual/release-notes/rl-1404.xml similarity index 83% rename from nixos/doc/manual/release-notes.xml rename to nixos/doc/manual/release-notes/rl-1404.xml index 52e88bb4c861430d0477ed3c451b4bd256c3a9fd..74af1ed12741778509d31fd2f115eb19761128e3 100644 --- a/nixos/doc/manual/release-notes.xml +++ b/nixos/doc/manual/release-notes/rl-1404.xml @@ -1,34 +1,8 @@ - - -Release notes - - - -
- -Release 14.10 (“Caterpillar”, 2014/10/??) - -When upgrading from a previous release, please be aware of the -following incompatible changes: - - - - The host side of a container virtual Ethernet pair - is now called ve-container-name - rather than c-container-name. - - - - - -
- - - - -
+ Release 14.04 (“Baboon”, 2014/04/30) @@ -183,16 +157,4 @@ networking.firewall.enable = false; -
- - - -
- -Release 13.10 (“Aardvark”, 2013/10/31) - -This is the first stable release branch of NixOS. - -
- -
+ \ No newline at end of file diff --git a/nixos/doc/manual/release-notes/rl-1410.xml b/nixos/doc/manual/release-notes/rl-1410.xml new file mode 100644 index 0000000000000000000000000000000000000000..09da15ce2361f8dea6d96a6fabb91138e5b07258 --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-1410.xml @@ -0,0 +1,22 @@ + + +Release 14.10 (“Caterpillar”, 2014/10/??) + +When upgrading from a previous release, please be aware of the +following incompatible changes: + + + + The host side of a container virtual Ethernet pair + is now called ve-container-name + rather than c-container-name. + + + + + + \ No newline at end of file diff --git a/nixos/doc/manual/running.xml b/nixos/doc/manual/running.xml deleted file mode 100644 index e1a358df2aacb47d82ec1d86436ee00ac5ddb7d1..0000000000000000000000000000000000000000 --- a/nixos/doc/manual/running.xml +++ /dev/null @@ -1,369 +0,0 @@ - - -Running NixOS - -This chapter describes various aspects of managing a running -NixOS system, such as how to use the systemd -service manager. - - - - -
Service management - -In NixOS, all system services are started and monitored using -the systemd program. Systemd is the “init” process of the system -(i.e. PID 1), the parent of all other processes. It manages a set of -so-called “units”, which can be things like system services -(programs), but also mount points, swap files, devices, targets -(groups of units) and more. Units can have complex dependencies; for -instance, one unit can require that another unit must be successfully -started before the first unit can be started. When the system boots, -it starts a unit named default.target; the -dependencies of this unit cause all system services to be started, -file systems to be mounted, swap files to be activated, and so -on. - -The command systemctl is the main way to -interact with systemd. Without any arguments, it -shows the status of active units: - - -$ systemctl --.mount loaded active mounted / -swapfile.swap loaded active active /swapfile -sshd.service loaded active running SSH Daemon -graphical.target loaded active active Graphical Interface -... - - - - -You can ask for detailed status information about a unit, for -instance, the PostgreSQL database service: - - -$ systemctl status postgresql.service -postgresql.service - PostgreSQL Server - Loaded: loaded (/nix/store/pn3q73mvh75gsrl8w7fdlfk3fq5qm5mw-unit/postgresql.service) - Active: active (running) since Mon, 2013-01-07 15:55:57 CET; 9h ago - Main PID: 2390 (postgres) - CGroup: name=systemd:/system/postgresql.service - ├─2390 postgres - ├─2418 postgres: writer process - ├─2419 postgres: wal writer process - ├─2420 postgres: autovacuum launcher process - ├─2421 postgres: stats collector process - └─2498 postgres: zabbix zabbix [local] idle - -Jan 07 15:55:55 hagbard postgres[2394]: [1-1] LOG: database system was shut down at 2013-01-07 15:55:05 CET -Jan 07 15:55:57 hagbard postgres[2390]: [1-1] LOG: database system is ready to accept connections -Jan 07 15:55:57 hagbard postgres[2420]: [1-1] LOG: autovacuum launcher started -Jan 07 15:55:57 hagbard systemd[1]: Started PostgreSQL Server. - - -Note that this shows the status of the unit (active and running), all -the processes belonging to the service, as well as the most recent log -messages from the service. - - - -Units can be stopped, started or restarted: - - -$ systemctl stop postgresql.service -$ systemctl start postgresql.service -$ systemctl restart postgresql.service - - -These operations are synchronous: they wait until the service has -finished starting or stopping (or has failed). Starting a unit will -cause the dependencies of that unit to be started as well (if -necessary). - - - -
- - - - -
Rebooting and shutting down - -The system can be shut down (and automatically powered off) by -doing: - - -$ shutdown - - -This is equivalent to running systemctl -poweroff. - -To reboot the system, run - - -$ reboot - - -which is equivalent to systemctl reboot. -Alternatively, you can quickly reboot the system using -kexec, which bypasses the BIOS by directly loading -the new kernel into memory: - - -$ systemctl kexec - - - - -The machine can be suspended to RAM (if supported) using -systemctl suspend, and suspended to disk using -systemctl hibernate. - -These commands can be run by any user who is logged in locally, -i.e. on a virtual console or in X11; otherwise, the user is asked for -authentication. - -
- - - - -
User sessions - -Systemd keeps track of all users who are logged into the system -(e.g. on a virtual console or remotely via SSH). The command -loginctl allows querying and manipulating user -sessions. For instance, to list all user sessions: - - -$ loginctl - SESSION UID USER SEAT - c1 500 eelco seat0 - c3 0 root seat0 - c4 500 alice - - -This shows that two users are logged in locally, while another is -logged in remotely. (“Seats” are essentially the combinations of -displays and input devices attached to the system; usually, there is -only one seat.) To get information about a session: - - -$ loginctl session-status c3 -c3 - root (0) - Since: Tue, 2013-01-08 01:17:56 CET; 4min 42s ago - Leader: 2536 (login) - Seat: seat0; vc3 - TTY: /dev/tty3 - Service: login; type tty; class user - State: online - CGroup: name=systemd:/user/root/c3 - ├─ 2536 /nix/store/10mn4xip9n7y9bxqwnsx7xwx2v2g34xn-shadow-4.1.5.1/bin/login -- - ├─10339 -bash - └─10355 w3m nixos.org - - -This shows that the user is logged in on virtual console 3. It also -lists the processes belonging to this session. Since systemd keeps -track of this, you can terminate a session in a way that ensures that -all the session’s processes are gone: - - -$ loginctl terminate-session c3 - - - - -
- - - - -
Control groups - -To keep track of the processes in a running system, systemd uses -control groups (cgroups). A control group is a -set of processes used to allocate resources such as CPU, memory or I/O -bandwidth. There can be multiple control group hierarchies, allowing -each kind of resource to be managed independently. - -The command systemd-cgls lists all control -groups in the systemd hierarchy, which is what -systemd uses to keep track of the processes belonging to each service -or user session: - - -$ systemd-cgls -├─user -│ └─eelco -│ └─c1 -│ ├─ 2567 -:0 -│ ├─ 2682 kdeinit4: kdeinit4 Running... -│ ├─ ... -│ └─10851 sh -c less -R -└─system - ├─httpd.service - │ ├─2444 httpd -f /nix/store/3pyacby5cpr55a03qwbnndizpciwq161-httpd.conf -DNO_DETACH - │ └─... - ├─dhcpcd.service - │ └─2376 dhcpcd --config /nix/store/f8dif8dsi2yaa70n03xir8r653776ka6-dhcpcd.conf - └─ ... - - -Similarly, systemd-cgls cpu shows the cgroups in -the CPU hierarchy, which allows per-cgroup CPU scheduling priorities. -By default, every systemd service gets its own CPU cgroup, while all -user sessions are in the top-level CPU cgroup. This ensures, for -instance, that a thousand run-away processes in the -httpd.service cgroup cannot starve the CPU for one -process in the postgresql.service cgroup. (By -contrast, it they were in the same cgroup, then the PostgreSQL process -would get 1/1001 of the cgroup’s CPU time.) You can limit a service’s -CPU share in configuration.nix: - - -systemd.services.httpd.serviceConfig.CPUShares = 512; - - -By default, every cgroup has 1024 CPU shares, so this will halve the -CPU allocation of the httpd.service cgroup. - -There also is a memory hierarchy that -controls memory allocation limits; by default, all processes are in -the top-level cgroup, so any service or session can exhaust all -available memory. Per-cgroup memory limits can be specified in -configuration.nix; for instance, to limit -httpd.service to 512 MiB of RAM (excluding swap) -and 640 MiB of RAM (including swap): - - -systemd.services.httpd.serviceConfig.MemoryLimit = "512M"; -systemd.services.httpd.serviceConfig.ControlGroupAttribute = [ "memory.memsw.limit_in_bytes 640M" ]; - - - - -The command systemd-cgtop shows a -continuously updated list of all cgroups with their CPU and memory -usage. - -
- - - - -
Logging - -System-wide logging is provided by systemd’s -journal, which subsumes traditional logging -daemons such as syslogd and klogd. Log entries are kept in binary -files in /var/log/journal/. The command -journalctl allows you to see the contents of the -journal. For example, - - -$ journalctl -b - - -shows all journal entries since the last reboot. (The output of -journalctl is piped into less by -default.) You can use various options and match operators to restrict -output to messages of interest. For instance, to get all messages -from PostgreSQL: - - -$ journalctl -u postgresql.service --- Logs begin at Mon, 2013-01-07 13:28:01 CET, end at Tue, 2013-01-08 01:09:57 CET. -- -... -Jan 07 15:44:14 hagbard postgres[2681]: [2-1] LOG: database system is shut down --- Reboot -- -Jan 07 15:45:10 hagbard postgres[2532]: [1-1] LOG: database system was shut down at 2013-01-07 15:44:14 CET -Jan 07 15:45:13 hagbard postgres[2500]: [1-1] LOG: database system is ready to accept connections - - -Or to get all messages since the last reboot that have at least a -“critical” severity level: - - -$ journalctl -b -p crit -Dec 17 21:08:06 mandark sudo[3673]: pam_unix(sudo:auth): auth could not identify password for [alice] -Dec 29 01:30:22 mandark kernel[6131]: [1053513.909444] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1) - - - - -The system journal is readable by root and by users in the -wheel and systemd-journal -groups. All users have a private journal that can be read using -journalctl. - -
- - - - -
Cleaning up the Nix store - -Nix has a purely functional model, meaning that packages are -never upgraded in place. Instead new versions of packages end up in a -different location in the Nix store (/nix/store). -You should periodically run Nix’s garbage -collector to remove old, unreferenced packages. This is -easy: - - -$ nix-collect-garbage - - -Alternatively, you can use a systemd unit that does the same in the -background: - - -$ systemctl start nix-gc.service - - -You can tell NixOS in configuration.nix to run -this unit automatically at certain points in time, for instance, every -night at 03:15: - - -nix.gc.automatic = true; -nix.gc.dates = "03:15"; - - - - -The commands above do not remove garbage collector roots, such -as old system configurations. Thus they do not remove the ability to -roll back to previous configurations. The following command deletes -old roots, removing the ability to roll back to them: - -$ nix-collect-garbage -d - -You can also do this for specific profiles, e.g. - -$ nix-env -p /nix/var/nix/profiles/per-user/eelco/profile --delete-generations old - -Note that NixOS system configurations are stored in the profile -/nix/var/nix/profiles/system. - -Another way to reclaim disk space (often as much as 40% of the -size of the Nix store) is to run Nix’s store optimiser, which seeks -out identical files in the store and replaces them with hard links to -a single copy. - -$ nix-store --optimise - -Since this command needs to read the entire Nix store, it can take -quite a while to finish. - -
- - -
diff --git a/nixos/doc/manual/style.css b/nixos/doc/manual/style.css index e2204c159e22db8a9e31efcd71e649360d57b253..3118b37ead1f2000b940a1c67a9d66b822757b0d 100644 --- a/nixos/doc/manual/style.css +++ b/nixos/doc/manual/style.css @@ -262,7 +262,6 @@ table.simplelist margin-bottom: 1em; } -div.affiliation -{ - font-style: italic; -} \ No newline at end of file +div.navheader table, div.navfooter table { + box-shadow: none; +} diff --git a/nixos/doc/manual/troubleshooting.xml b/nixos/doc/manual/troubleshooting.xml deleted file mode 100644 index c7d65112b64925f8c267bf836cdbb773299f973f..0000000000000000000000000000000000000000 --- a/nixos/doc/manual/troubleshooting.xml +++ /dev/null @@ -1,199 +0,0 @@ - - -Troubleshooting - - - - -
Boot problems - -If NixOS fails to boot, there are a number of kernel command -line parameters that may help you to identify or fix the issue. You -can add these parameters in the GRUB boot menu by pressing “e” to -modify the selected boot entry and editing the line starting with -linux. The following are some useful kernel command -line parameters that are recognised by the NixOS boot scripts or by -systemd: - - - - boot.shell_on_fail - Start a root shell if something goes wrong in - stage 1 of the boot process (the initial ramdisk). This is - disabled by default because there is no authentication for the - root shell. - - - boot.debug1 - Start an interactive shell in stage 1 before - anything useful has been done. That is, no modules have been - loaded and no file systems have been mounted, except for - /proc and - /sys. - - - boot.trace - Print every shell command executed by the stage 1 - and 2 boot scripts. - - - single - Boot into rescue mode (a.k.a. single user mode). - This will cause systemd to start nothing but the unit - rescue.target, which runs - sulogin to prompt for the root password and - start a root login shell. Exiting the shell causes the system to - continue with the normal boot process. - - - systemd.log_level=debug systemd.log_target=console - Make systemd very verbose and send log messages to - the console instead of the journal. - - - - -For more parameters recognised by systemd, see -systemd1. - -If no login prompts or X11 login screens appear (e.g. due to -hanging dependencies), you can press Alt+ArrowUp. If you’re lucky, -this will start rescue mode (described above). (Also note that since -most units have a 90-second timeout before systemd gives up on them, -the agetty login prompts should appear eventually -unless something is very wrong.) - -
- - - - -
Maintenance mode - -You can enter rescue mode by running: - - -$ systemctl rescue - -This will eventually give you a single-user root shell. Systemd will -stop (almost) all system services. To get out of maintenance mode, -just exit from the rescue shell. - -
- - - - -
Rolling back configuration changes - -After running nixos-rebuild to switch to a -new configuration, you may find that the new configuration doesn’t -work very well. In that case, there are several ways to return to a -previous configuration. - -First, the GRUB boot manager allows you to boot into any -previous configuration that hasn’t been garbage-collected. These -configurations can be found under the GRUB submenu “NixOS - All -configurations”. This is especially useful if the new configuration -fails to boot. After the system has booted, you can make the selected -configuration the default for subsequent boots: - - -$ /run/current-system/bin/switch-to-configuration boot - - - -Second, you can switch to the previous configuration in a running -system: - - -$ nixos-rebuild switch --rollback - -This is equivalent to running: - - -$ /nix/var/nix/profiles/system-N-link/bin/switch-to-configuration switch - -where N is the number of the NixOS system -configuration. To get a list of the available configurations, do: - - -$ ls -l /nix/var/nix/profiles/system-*-link -... -lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> /nix/store/202b...-nixos-13.07pre4932_5a676e4-4be1055 - - - - -
- - - - -
Nix store corruption - -After a system crash, it’s possible for files in the Nix store -to become corrupted. (For instance, the Ext4 file system has the -tendency to replace un-synced files with zero bytes.) NixOS tries -hard to prevent this from happening: it performs a -sync before switching to a new configuration, and -Nix’s database is fully transactional. If corruption still occurs, -you may be able to fix it automatically. - -If the corruption is in a path in the closure of the NixOS -system configuration, you can fix it by doing - - -$ nixos-rebuild switch --repair - - -This will cause Nix to check every path in the closure, and if its -cryptographic hash differs from the hash recorded in Nix’s database, -the path is rebuilt or redownloaded. - -You can also scan the entire Nix store for corrupt paths: - - -$ nix-store --verify --check-contents --repair - - -Any corrupt paths will be redownloaded if they’re available in a -binary cache; otherwise, they cannot be repaired. - -
- - - - -
Nix network issues - -Nix uses a so-called binary cache to -optimise building a package from source into downloading it as a -pre-built binary. That is, whenever a command like -nixos-rebuild needs a path in the Nix store, Nix -will try to download that path from the Internet rather than build it -from source. The default binary cache is -http://cache.nixos.org/. If this cache is unreachable, Nix -operations may take a long time due to HTTP connection timeouts. You -can disable the use of the binary cache by adding , e.g. - - -$ nixos-rebuild switch --option use-binary-caches false - - -If you have an alternative binary cache at your disposal, you can use -it instead: - - -$ nixos-rebuild switch --option binary-caches http://my-cache.example.org/ - - - - -
- - -
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index 498c0a3778360255fe1dc6e1b58a0e487939aca3..50b3b424166bab7f005478cec80f6a5cdabc369e 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -48,10 +48,11 @@ rec { let interfacesNumbered = zipTwoLists config.virtualisation.vlans (range 1 255); interfaces = flip map interfacesNumbered ({ first, second }: - nameValuePair "eth${toString second}" - { ipAddress = "192.168.${toString first}.${toString m.second}"; - subnetMask = "255.255.255.0"; - }); + nameValuePair "eth${toString second}" { ip4 = + [ { address = "192.168.${toString first}.${toString m.second}"; + prefixLength = 24; + } ]; + }); in { key = "ip-address"; config = @@ -60,7 +61,7 @@ rec { networking.interfaces = listToAttrs interfaces; networking.primaryIPAddress = - optionalString (interfaces != []) (head interfaces).value.ipAddress; + optionalString (interfaces != []) (head (head interfaces).value.ip4).address; # Put the IP addresses of all VMs in this machine's # /etc/hosts file. If a machine has multiple diff --git a/nixos/lib/make-system-tarball.nix b/nixos/lib/make-system-tarball.nix index 8fed9a34882727cb3d5ae893c43c36b91ce09585..3bd891fdbc2b1b8ad7d2f6ea12ecac03d54b600c 100644 --- a/nixos/lib/make-system-tarball.nix +++ b/nixos/lib/make-system-tarball.nix @@ -15,6 +15,9 @@ # store path whose closure will be copied, and `symlink' is a # symlink to `object' that will be added to the tarball. storeContents ? [] + + # Extra tar arguments +, extraArgs ? "" }: stdenv.mkDerivation { @@ -22,7 +25,7 @@ stdenv.mkDerivation { builder = ./make-system-tarball.sh; buildInputs = [perl xz]; - inherit fileName pathsFromGraph; + inherit fileName pathsFromGraph extraArgs; # !!! should use XML. sources = map (x: x.source) contents; diff --git a/nixos/lib/make-system-tarball.sh b/nixos/lib/make-system-tarball.sh index 096d96ac1c810de33ff59269ff4b61ac7173360d..2eb668115a6ffe9c8efc62a7280685c0bdd6cbe0 100644 --- a/nixos/lib/make-system-tarball.sh +++ b/nixos/lib/make-system-tarball.sh @@ -50,7 +50,7 @@ done mkdir -p $out/tarball -tar cvJf $out/tarball/$fileName.tar.xz * +tar cvJf $out/tarball/$fileName.tar.xz * $extraArgs mkdir -p $out/nix-support echo $system > $out/nix-support/system diff --git a/nixos/maintainers/scripts/gce/create-gce.sh b/nixos/maintainers/scripts/gce/create-gce.sh index 8bf36f33c7db4068e41013a4ea40ff2eb7025101..fc476fb6e4032b3dde5d8a31eba3be9b9158e5d1 100755 --- a/nixos/maintainers/scripts/gce/create-gce.sh +++ b/nixos/maintainers/scripts/gce/create-gce.sh @@ -1,5 +1,6 @@ #! /bin/sh -e +BUCKET_NAME=${BUCKET_NAME:-nixos} export NIX_PATH=nixpkgs=../../../.. export NIXOS_CONFIG=$(dirname $(readlink -f $0))/../../../modules/virtualisation/google-compute-image.nix export TIMESTAMP=$(date +%Y%m%d%H%M) @@ -8,7 +9,7 @@ nix-build '' \ -A config.system.build.googleComputeImage --argstr system x86_64-linux -o gce --option extra-binary-caches http://hydra.nixos.org -j 10 img=$(echo gce/*.tar.gz) -if ! gsutil ls gs://nixos/$(basename $img); then - gsutil cp $img gs://nixos/$(basename $img) +if ! gsutil ls gs://${BUCKET_NAME}/$(basename $img); then + gsutil cp $img gs://${BUCKET_NAME}/$(basename $img) fi -gcutil addimage $(basename $img .raw.tar.gz | sed 's|\.|-|' | sed 's|_|-|') gs://nixos/$(basename $img) +gcloud compute images create $(basename $img .raw.tar.gz | sed 's|\.|-|' | sed 's|_|-|') --source-uri gs://${BUCKET_NAME}/$(basename $img) diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix index 49b1e1d42a3f81775d44fae8653869f063dca250..f6060a910a155a4385479da170a0e19d4f523cce 100644 --- a/nixos/modules/config/fonts/fonts.nix +++ b/nixos/modules/config/fonts/fonts.nix @@ -11,7 +11,7 @@ with lib; # TODO: find another name for it. fonts = mkOption { type = types.listOf types.path; - example = [ pkgs.dejavu_fonts ]; + example = literalExample "[ pkgs.dejavu_fonts ]"; description = "List of primary font paths."; apply = list: list ++ [ # - the user's current profile diff --git a/nixos/modules/config/gtk-exe-env.nix b/nixos/modules/config/gtk-exe-env.nix new file mode 100644 index 0000000000000000000000000000000000000000..b565072e3a71d0c87db3810967361d9cf0ec02cf --- /dev/null +++ b/nixos/modules/config/gtk-exe-env.nix @@ -0,0 +1,41 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ + ]; + + options = { + gtkPlugins = lib.mkOption { + type = lib.types.listOf lib.types.path; + default = []; + description = '' + Plugin packages for GTK+ such as input methods. + ''; + }; + }; + + config = { + environment.variables = if builtins.length config.gtkPlugins > 0 + then + let + paths = [ pkgs.gtk2 pkgs.gtk3 ] ++ config.gtkPlugins; + env = pkgs.buildEnv { + name = "gtk-exe-env"; + + inherit paths; + + postBuild = lib.concatStringsSep "\n" + (map (d: d.gtkExeEnvPostBuild or "") paths); + + ignoreCollisions = true; + }; + in { + GTK_EXE_PREFIX = builtins.toString env; + GTK_PATH = [ + "${env}/lib/gtk-2.0" + "${env}/lib/gtk-3.0" + ]; + } + else {}; + }; +} diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index fd1e55f673ae83f84d947695d9f0cab57a3e54bc..136a5bda7459dfbec1e1e6bd20d0cd95e7b97b20 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -7,6 +7,9 @@ with lib; let cfg = config.networking; + dnsmasqResolve = config.services.dnsmasq.enable && + config.services.dnsmasq.resolveLocalQueries; + hasLocalResolver = config.services.bind.enable || dnsmasqResolve; in @@ -74,9 +77,12 @@ in '' + optionalString cfg.dnsSingleRequest '' # only send one DNS request at a time resolv_conf_options='single-request' - '' + optionalString config.services.bind.enable '' + '' + optionalString hasLocalResolver '' # This hosts runs a full-blown DNS resolver. name_servers='127.0.0.1' + '' + optionalString dnsmasqResolve '' + dnsmasq_conf=/etc/dnsmasq-conf.conf + dnsmasq_resolv=/etc/dnsmasq-resolv.conf ''; }; diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix index 17f3ed00b9be5cde42eaf53e3bb6acc9369b2768..32a7987617ad36b7fa6da8723aa45e2f0ba31a1b 100644 --- a/nixos/modules/config/power-management.nix +++ b/nixos/modules/config/power-management.nix @@ -35,7 +35,9 @@ in powerUpCommands = mkOption { type = types.lines; default = ""; - example = "${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda"; + example = literalExample '' + "''${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda" + ''; description = '' Commands executed when the machine powers up. That is, @@ -47,7 +49,9 @@ in powerDownCommands = mkOption { type = types.lines; default = ""; - example = "${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda"; + example = literalExample '' + "''${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda" + ''; description = '' Commands executed when the machine powers down. That is, diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 96593885e5b7361c7e91fba3c98546904c2e1087..1b84bbaf10c531066ad918e068953cea98ed86bc 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -81,7 +81,7 @@ in { package = mkOption { type = types.package; default = pulseaudioFull; - example = literalExample "pulseaudioFull"; + example = literalExample "pkgs.pulseaudioFull"; description = '' The PulseAudio derivation to use. This can be used to disable features (such as JACK support, Bluetooth) that are enabled in the diff --git a/nixos/modules/config/qt-plugin-env.nix b/nixos/modules/config/qt-plugin-env.nix new file mode 100644 index 0000000000000000000000000000000000000000..c598656041658732c5174cc01222dba74dcc840b --- /dev/null +++ b/nixos/modules/config/qt-plugin-env.nix @@ -0,0 +1,37 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ + ]; + + options = { + qtPlugins = lib.mkOption { + type = lib.types.listOf lib.types.path; + default = []; + description = '' + Plugin packages for Qt such as input methods. + ''; + }; + }; + + config = { + environment.variables = if builtins.length config.qtPlugins > 0 + then + let + paths = [ pkgs.qt48 ] ++ config.qtPlugins; + env = pkgs.buildEnv { + name = "qt-plugin-env"; + + inherit paths; + + postBuild = lib.concatStringsSep "\n" + (map (d: d.qtPluginEnvPostBuild or "") paths); + + ignoreCollisions = true; + }; + in { + QT_PLUGIN_PATH = [ (builtins.toString env) ]; + } + else {}; + }; +} diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix index cc079cdc58560915987207b7d95f15eb80539199..2559c53ac163ec246f9fbc367430e9a5a2d793ad 100644 --- a/nixos/modules/config/shells-environment.nix +++ b/nixos/modules/config/shells-environment.nix @@ -122,7 +122,9 @@ in environment.binsh = mkOption { default = "${config.system.build.binsh}/bin/sh"; - example = "\${pkgs.dash}/bin/dash"; + example = literalExample '' + "''${pkgs.dash}/bin/dash" + ''; type = types.path; description = '' The shell executable that is linked system-wide to diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 6b4c38172e959b49244ef45179a3bf1330a662ad..f3e86bfd201924107f52f7fa8cdc886c3eb661a1 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -63,7 +63,7 @@ in systemPackages = mkOption { type = types.listOf types.path; default = []; - example = "[ pkgs.icecat3 pkgs.thunderbird ]"; + example = literalExample "[ pkgs.firefox pkgs.thunderbird ]"; description = '' The set of packages that appear in /run/current-system/sw. These packages are diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 7783f13b14b1defe7c4ea9667ff98b193235cd62..a55593c2bad880635d9fce70e9ece8d1a1843419 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -100,6 +100,36 @@ let description = "The path to the user's shell."; }; + subUidRanges = mkOption { + type = types.listOf types.optionSet; + default = []; + example = [ + { startUid = 1000; count = 1; } + { startUid = 100001; count = 65534; } + ]; + options = [ subordinateUidRange ]; + description = '' + Subordinate user ids that user is allowed to use. + They are set into /etc/subuid and are used + by newuidmap for user namespaces. + ''; + }; + + subGidRanges = mkOption { + type = types.listOf types.optionSet; + default = []; + example = [ + { startGid = 100; count = 1; } + { startGid = 1001; count = 999; } + ]; + options = [ subordinateGidRange ]; + description = '' + Subordinate group ids that user is allowed to use. + They are set into /etc/subgid and are used + by newgidmap for user namespaces. + ''; + }; + createHome = mkOption { type = types.bool; default = false; @@ -211,6 +241,36 @@ let }; + subordinateUidRange = { + startUid = mkOption { + type = types.int; + description = '' + Start of the range of subordinate user ids that user is + allowed to use. + ''; + }; + count = mkOption { + type = types.int; + default = 1; + description = ''Count of subordinate user ids''; + }; + }; + + subordinateGidRange = { + startGid = mkOption { + type = types.int; + description = '' + Start of the range of subordinate group ids that user is + allowed to use. + ''; + }; + count = mkOption { + type = types.int; + default = 1; + description = ''Count of subordinate group ids''; + }; + }; + getGroup = gname: let groups = mapAttrsToList (n: g: g) ( @@ -249,22 +309,36 @@ let u.description u.home u.shell ]; + filterNull = a: filter (x: hasAttr a x && getAttr a x != null); + sortOn = a: sort (as1: as2: lessThan (getAttr a as1) (getAttr a as2)); groupFile = pkgs.writeText "group" ( concatStringsSep "\n" (map (g: mkGroupEntry g.name) ( - let f = g: g.gid != null; in - sortOn "gid" (filter f (attrValues cfg.extraGroups)) + sortOn "gid" (filterNull "gid" (attrValues cfg.extraGroups)) )) ); passwdFile = pkgs.writeText "passwd" ( concatStringsSep "\n" (map (u: mkPasswdEntry u.name) ( - let f = u: u.createUser && (u.uid != null); in - sortOn "uid" (filter f (attrValues cfg.extraUsers)) + sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers)) )) ); + mkSubuidEntry = user: concatStrings ( + map (range: "${user.name}:${toString range.startUid}:${toString range.count}\n") + user.subUidRanges); + + subuidFile = concatStrings (map mkSubuidEntry ( + sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers)))); + + mkSubgidEntry = user: concatStrings ( + map (range: "${user.name}:${toString range.startGid}:${toString range.count}\n") + user.subGidRanges); + + subgidFile = concatStrings (map mkSubgidEntry ( + sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers)))); + # If mutableUsers is true, this script adds all users/groups defined in # users.extra{Users,Groups} to /etc/{passwd,group} iff there isn't any # existing user/group with the same name in those files. @@ -504,6 +578,15 @@ in { # for backwards compatibility system.activationScripts.groups = stringAfter [ "users" ] ""; + environment.etc."subuid" = { + text = subuidFile; + mode = "0644"; + }; + environment.etc."subgid" = { + text = subgidFile; + mode = "0644"; + }; + assertions = [ { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique); message = "uids and gids must be unique!"; diff --git a/nixos/modules/config/vpnc.nix b/nixos/modules/config/vpnc.nix new file mode 100644 index 0000000000000000000000000000000000000000..68d755232ebe5a97e67ef7e8c52bb6713f11c5da --- /dev/null +++ b/nixos/modules/config/vpnc.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.networking.vpnc; + mkServiceDef = name: value: + { + name = "vpnc/${name}.conf"; + value = { text = value; }; + }; + +in +{ + options = { + networking.vpnc = { + services = mkOption { + type = types.attrsOf types.str; + default = {}; + example = { + test = + '' + IPSec gateway 192.168.1.1 + IPSec ID someID + IPSec secret secretKey + Xauth username name + Xauth password pass + ''; + }; + description = + '' + The names of cisco VPNs and their associated definitions + ''; + }; + }; + }; + + config.environment.etc = mapAttrs' mkServiceDef cfg.services; +} + + diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index d43fa22038180e4cc820f6907cfc31e541fe9df7..623cfdedd269c99155302de94adb05e2404afa19 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -113,11 +113,12 @@ in }; isoImage.contents = mkOption { - example = + example = literalExample '' [ { source = pkgs.memtest86 + "/memtest.bin"; target = "boot/memtest.bin"; } - ]; + ] + ''; description = '' This option lists files to be copied to fixed locations in the generated ISO image. @@ -125,7 +126,7 @@ in }; isoImage.storeContents = mkOption { - example = [pkgs.stdenv]; + example = literalExample "[ pkgs.stdenv ]"; description = '' This option lists additional derivations to be included in the Nix store in the generated ISO image. diff --git a/nixos/modules/installer/cd-dvd/system-tarball.nix b/nixos/modules/installer/cd-dvd/system-tarball.nix index eaecbe1381f50f6e84f22997c6ff34076235e33e..c24fe97fba461ffe7493123007cad1736f2d3af9 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball.nix @@ -15,11 +15,12 @@ in { options = { tarball.contents = mkOption { - example = + example = literalExample '' [ { source = pkgs.memtest86 + "/memtest.bin"; target = "boot/memtest.bin"; } - ]; + ] + ''; description = '' This option lists files to be copied to fixed locations in the generated ISO image. @@ -27,7 +28,7 @@ in }; tarball.storeContents = mkOption { - example = [pkgs.stdenv]; + example = literalExample "[ pkgs.stdenv ]"; description = '' This option lists additional derivations to be included in the Nix store in the generated ISO image. diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index a55eda1cb8fd786cfaab017f7a33c311e5b8dda6..86952486ade00cac251e119d54a68831f3bc26d7 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -30,6 +30,9 @@ while [ "$#" -gt 0 ]; do absolute_path=$(readlink -m $given_path) extraBuildFlags+=("$i" "/mnt$absolute_path") ;; + --root) + mountPoint="$1"; shift 1 + ;; --show-trace) extraBuildFlags+=("$i") ;; diff --git a/nixos/modules/misc/crashdump.nix b/nixos/modules/misc/crashdump.nix index d68f38bae2f521e79a5a31ea984b3020f8174343..773b5ac9da3e3536eb69c40b33abca98892aea69 100644 --- a/nixos/modules/misc/crashdump.nix +++ b/nixos/modules/misc/crashdump.nix @@ -28,7 +28,7 @@ in # We don't want to evaluate all of linuxPackages for the manual # - some of it might not even evaluate correctly. defaultText = "pkgs.linuxPackages"; - example = "pkgs.linuxPackages_2_6_25"; + example = literalExample "pkgs.linuxPackages_2_6_25"; description = '' This will override the boot.kernelPackages, and will add some kernel configuration parameters for the crash dump to work. diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index fa81ff8a83986c8b9da67462c615d10903e0fdc5..efd8b253cd4c33627f84b00616ae1bbb72cf55a3 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -141,6 +141,15 @@ unifi = 131; gdm = 132; dhcpd = 133; + siproxd = 134; + mlmmj = 135; + neo4j = 136; + riemann = 137; + riemanndash = 138; + radvd = 139; + zookeeper = 140; + dnsmasq = 141; + uhub = 142; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -256,6 +265,11 @@ docker = 131; gdm = 132; tss = 133; + siproxd = 134; + mlmmj = 135; + riemann = 137; + riemanndash = 138; + uhub = 142; # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399! diff --git a/nixos/modules/misc/meta.nix b/nixos/modules/misc/meta.nix new file mode 100644 index 0000000000000000000000000000000000000000..22622706f2c889c20308e9c4d14e56832c27ac5a --- /dev/null +++ b/nixos/modules/misc/meta.nix @@ -0,0 +1,63 @@ +{ config, lib, ... }: + +with lib; + +let + maintainer = mkOptionType { + name = "maintainer"; + check = email: elem email (attrValues lib.maintainers); + merge = loc: defs: listToAttrs (singleton (nameValuePair (last defs).file (last defs).value)); + }; + + listOfMaintainers = types.listOf maintainer // { + # Returns list of + # { "module-file" = [ + # "maintainer1 " + # "maintainer2 " ]; + # } + merge = loc: defs: + zipAttrs + (flatten (imap (n: def: imap (m: def': + maintainer.merge (loc ++ ["[${toString n}-${toString m}]"]) + [{ inherit (def) file; value = def'; }]) def.value) defs)); + }; + + docFile = types.path // { + # Returns tuples of + # { file = "module location"; value = ; } + merge = loc: defs: defs; + }; +in + +{ + options = { + meta = { + + maintainers = mkOption { + type = listOfMaintainers; + internal = true; + default = []; + example = [ lib.maintainers.all ]; + description = '' + List of maintainers of each module. This option should be defined at + most once per module. + ''; + }; + + doc = mkOption { + type = docFile; + internal = true; + example = "./meta.xml"; + description = '' + Documentation prologe for the set of options of each module. This + option should be defined at most once per module. + ''; + }; + + }; + }; + + config = { + meta.maintainers = singleton lib.maintainers.pierron; + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 453899175e01b77813dced77fa1d4078027f55dd..76d1ed8a9d43bdbfebab49a87d060204ba7cab69 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -5,6 +5,7 @@ ./config/fonts/fonts.nix ./config/fonts/ghostscript.nix ./config/gnu.nix + ./config/gtk-exe-env.nix ./config/i18n.nix ./config/krb5.nix ./config/ldap.nix @@ -13,12 +14,14 @@ ./config/nsswitch.nix ./config/power-management.nix ./config/pulseaudio.nix + ./config/qt-plugin-env.nix ./config/shells-environment.nix ./config/swap.nix ./config/sysctl.nix ./config/system-environment.nix ./config/system-path.nix ./config/timezone.nix + ./config/vpnc.nix ./config/unix-odbc-drivers.nix ./config/users-groups.nix ./config/zram.nix @@ -43,6 +46,7 @@ ./misc/ids.nix ./misc/lib.nix ./misc/locate.nix + ./misc/meta.nix ./misc/nixpkgs.nix ./misc/passthru.nix ./misc/version.nix @@ -59,8 +63,10 @@ ./programs/shell.nix ./programs/ssh.nix ./programs/ssmtp.nix + ./programs/uim.nix ./programs/venus.nix ./programs/wvdial.nix + ./programs/freetds.nix ./programs/zsh/zsh.nix ./rename.nix ./security/apparmor.nix @@ -100,6 +106,7 @@ ./services/databases/monetdb.nix ./services/databases/mongodb.nix ./services/databases/mysql.nix + ./services/databases/neo4j.nix ./services/databases/openldap.nix ./services/databases/postgresql.nix ./services/databases/redis.nix @@ -142,6 +149,7 @@ ./services/mail/dovecot.nix ./services/mail/freepops.nix ./services/mail/mail.nix + ./services/mail/mlmmj.nix ./services/mail/opensmtpd.nix ./services/mail/postfix.nix ./services/mail/spamassassin.nix @@ -159,14 +167,19 @@ ./services/misc/nix-ssh-serve.nix ./services/misc/rippled.nix ./services/misc/rogue.nix + ./services/misc/siproxd.nix ./services/misc/svnserve.nix ./services/misc/synergy.nix + ./services/misc/uhub.nix + ./services/misc/zookeeper.nix ./services/monitoring/apcupsd.nix ./services/monitoring/dd-agent.nix ./services/monitoring/graphite.nix ./services/monitoring/monit.nix ./services/monitoring/munin.nix ./services/monitoring/nagios.nix + ./services/monitoring/riemann.nix + ./services/monitoring/riemann-dash.nix ./services/monitoring/smartd.nix ./services/monitoring/statsd.nix ./services/monitoring/systemhealth.nix @@ -180,6 +193,7 @@ ./services/network-filesystems/rsyncd.nix ./services/network-filesystems/samba.nix ./services/networking/amuled.nix + ./services/networking/atftpd.nix ./services/networking/avahi-daemon.nix ./services/networking/bind.nix ./services/networking/bitlbee.nix @@ -217,6 +231,7 @@ ./services/networking/ntpd.nix ./services/networking/oidentd.nix ./services/networking/openfire.nix + ./services/networking/openntpd.nix ./services/networking/openvpn.nix ./services/networking/polipo.nix ./services/networking/prayer.nix @@ -252,6 +267,7 @@ ./services/search/elasticsearch.nix ./services/search/solr.nix ./services/security/clamav.nix + ./services/security/fail2ban.nix ./services/security/fprot.nix ./services/security/frandom.nix ./services/security/haveged.nix @@ -293,6 +309,7 @@ ./services/x11/window-managers/awesome.nix #./services/x11/window-managers/compiz.nix ./services/x11/window-managers/default.nix + ./services/x11/window-managers/fluxbox.nix ./services/x11/window-managers/icewm.nix ./services/x11/window-managers/bspwm.nix ./services/x11/window-managers/metacity.nix @@ -348,6 +365,7 @@ ./virtualisation/docker.nix ./virtualisation/libvirtd.nix #./virtualisation/nova.nix + ./virtualisation/openvswitch.nix ./virtualisation/virtualbox-guest.nix #./virtualisation/xen-dom0.nix ] diff --git a/nixos/modules/profiles/all-hardware.nix b/nixos/modules/profiles/all-hardware.nix index 511c118e2bf5b77bdf52a11c6e6ae75f7c9f6d4c..6385ee69500f32de733565ce52e917c78e8b378c 100644 --- a/nixos/modules/profiles/all-hardware.nix +++ b/nixos/modules/profiles/all-hardware.nix @@ -8,7 +8,7 @@ { # The initrd has to contain any module that might be necessary for - # mounting the CD/DVD. + # supporting the most important parts of HW like drives. boot.initrd.availableKernelModules = [ # SATA/PATA support. "ahci" @@ -43,7 +43,7 @@ "virtio_net" "virtio_pci" "virtio_blk" "virtio_balloon" "virtio_console" # Keyboards - "hid_apple" + "usbhid" "hid_apple" "hid_logitech_dj" "hid_lenovo_tpkbd" "hid_roccat" ]; # Include lots of firmware. diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 80c3e83fe812109c304323584451a0b60aa773bc..4a510805b019ad938871c5f89048d5468f0d7275 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -52,7 +52,7 @@ in STRIGI_PLUGIN_PATH = [ "${i}/lib/strigi/" ]; QT_PLUGIN_PATH = [ "${i}/lib/qt4/plugins" "${i}/lib/kde4/plugins" ]; QTWEBKIT_PLUGIN_PATH = [ "${i}/lib/mozilla/plugins/" ]; - GTK_PATH = [ "${i}/lib/gtk-2.0" ]; + GTK_PATH = [ "${i}/lib/gtk-2.0" "${i}/lib/gtk-3.0" ]; XDG_CONFIG_DIRS = [ "${i}/etc/xdg" ]; XDG_DATA_DIRS = [ "${i}/share" ]; MOZ_PLUGIN_PATH = [ "${i}/lib/mozilla/plugins" ]; diff --git a/nixos/modules/programs/freetds.nix b/nixos/modules/programs/freetds.nix new file mode 100644 index 0000000000000000000000000000000000000000..398fd104363b86ca4d4a852ce1b6f408d223bc8f --- /dev/null +++ b/nixos/modules/programs/freetds.nix @@ -0,0 +1,61 @@ +# Global configuration for freetds environment. + +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.environment.freetds; + +in +{ + ###### interface + + options = { + + environment.freetds = mkOption { + type = types.attrsOf types.str; + default = {}; + example = { + MYDATABASE = + '' + host = 10.0.2.100 + port = 1433 + tds version = 7.2 + ''; + }; + description = + '' + Configure freetds database entries. Each attribute denotes + a section within freetds.conf, and the value (a string) is the config + content for that section. When at least one entry is configured + the global environment variables FREETDSCONF, FREETDS and SYBASE + will be configured to allow the programs that use freetds to find the + library and config. + ''; + + }; + + }; + + ###### implementation + + config = mkIf (length (attrNames cfg) > 0) { + + environment.variables.FREETDSCONF = "/etc/freetds.conf"; + environment.variables.FREETDS = "/etc/freetds.conf"; + environment.variables.SYBASE = "${pkgs.freetds}"; + + environment.etc."freetds.conf" = { text = + (concatStrings (mapAttrsToList (name: value: + '' + [${name}] + ${value} + '' + ) cfg)); + }; + + }; + +} diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index 658b08b3d87082404835cbbaed1aa21ddcef7b7a..5c2ea07c5549b29aeee09abacdee850959a0202e 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -83,7 +83,7 @@ in security.pam.services = { chsh = { rootOK = true; }; chfn = { rootOK = true; }; - su = { rootOK = true; forwardXAuth = true; }; + su = { rootOK = true; forwardXAuth = true; logFailures = true; }; passwd = {}; # Note: useradd, groupadd etc. aren't setuid root, so it # doesn't really matter what the PAM config says as long as it @@ -100,7 +100,9 @@ in chgpasswd = { rootOK = true; }; }; - security.setuidPrograms = [ "passwd" "chfn" "su" "newgrp" ]; + security.setuidPrograms = [ "passwd" "chfn" "su" "newgrp" + "newuidmap" "newgidmap" # new in shadow 4.2.x + ]; }; diff --git a/nixos/modules/programs/uim.nix b/nixos/modules/programs/uim.nix new file mode 100644 index 0000000000000000000000000000000000000000..237da3415dc380dda66f59a3b604fcf1e477d6bc --- /dev/null +++ b/nixos/modules/programs/uim.nix @@ -0,0 +1,29 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.uim; +in +{ + options = { + uim = { + enable = mkOption { + type = types.bool; + default = false; + example = true; + description = "enable UIM input method"; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.uim ]; + gtkPlugins = [ pkgs.uim ]; + qtPlugins = [ pkgs.uim ]; + environment.variables.GTK_IM_MODULE = "uim"; + environment.variables.QT_IM_MODULE = "uim"; + environment.variables.XMODIFIERS = "@im=uim"; + services.xserver.displayManager.sessionCommands = "uim-xim &"; + }; +} diff --git a/nixos/modules/programs/virtualbox.nix b/nixos/modules/programs/virtualbox.nix index e2dd76219eb08f345b40a268613361555651fc61..fec1a7b61f32e92a4c4e62655961f5b38bf3ae23 100644 --- a/nixos/modules/programs/virtualbox.nix +++ b/nixos/modules/programs/virtualbox.nix @@ -44,5 +44,5 @@ let virtualbox = config.boot.kernelPackages.virtualbox; in ''; }; - networking.interfaces.vboxnet0 = { ipAddress = "192.168.56.1"; prefixLength = 24; }; + networking.interfaces.vboxnet0.ip4 = [ { address = "192.168.56.1"; prefixLength = 24; } ]; } diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index b1b75a0068d4fb7f100eb0f03a113c7bf6307dc4..844a9da0eb46140a75f95017d6d57f690fc5b430 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -126,12 +126,28 @@ let description = "Whether to show the message of the day."; }; + makeHomeDir = mkOption { + default = false; + type = types.bool; + description = '' + Whether to try to create home directories for users + with $HOMEs pointing to nonexistent + locations on session login. + ''; + }; + updateWtmp = mkOption { default = false; type = types.bool; description = "Whether to update /var/log/wtmp."; }; + logFailures = mkOption { + default = false; + type = types.bool; + description = "Whether to log authentication failures in /var/log/faillog."; + }; + text = mkOption { type = types.nullOr types.lines; description = "Contents of the PAM service file."; @@ -159,6 +175,8 @@ let # Authentication management. ${optionalString cfg.rootOK "auth sufficient pam_rootok.so"} + ${optionalString cfg.logFailures + "auth required pam_tally.so"} ${optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth) "auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=~/.ssh/authorized_keys:~/.ssh/authorized_keys2:/etc/ssh/authorized_keys.d/%u"} ${optionalString cfg.usbAuth @@ -192,6 +210,8 @@ let "session ${ if config.boot.isContainer then "optional" else "required" } pam_loginuid.so"} + ${optionalString cfg.makeHomeDir + "session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=/etc/skel umask=0022"} ${optionalString cfg.updateWtmp "session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"} ${optionalString config.users.ldap.enable diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix index 373afffd3fb5868c0a84b84af93427e296f03c22..22dbdf6a6bf418e04079f3505785a638d93a5e8a 100644 --- a/nixos/modules/security/setuid-wrappers.nix +++ b/nixos/modules/security/setuid-wrappers.nix @@ -77,7 +77,9 @@ in config = { security.setuidPrograms = - [ "fusermount" "wodim" "cdrdao" "growisofs" ]; + [ "mount.nfs" "mount.nfs4" "mount.cifs" + "fusermount" "umount" + "wodim" "cdrdao" "growisofs" ]; system.activationScripts.setuid = let diff --git a/nixos/modules/services/audio/mopidy.nix b/nixos/modules/services/audio/mopidy.nix index 5b865cf4c1be4f793d26733d5cdf98ece434d303..a7a7e8ae688b3bd9996ee5511881c2f06874c0c4 100644 --- a/nixos/modules/services/audio/mopidy.nix +++ b/nixos/modules/services/audio/mopidy.nix @@ -49,7 +49,7 @@ in { extensionPackages = mkOption { default = []; type = types.listOf types.package; - example = [ mopidy-spotify ]; + example = literalExample "[ pkgs.mopidy-spotify ]"; description = '' Mopidy extensions that should be loaded by the service. ''; diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix index 48ad7582b7e631ffceed2bbbbc7d2e415462e134..091b5cfd4d59fd5418a0450dfb0458a067eb920f 100644 --- a/nixos/modules/services/backup/rsnapshot.nix +++ b/nixos/modules/services/backup/rsnapshot.nix @@ -31,7 +31,7 @@ in cronIntervals = mkOption { default = {}; - example = { "hourly" = "0 * * * *"; "daily" = "50 21 * * *"; }; + example = { hourly = "0 * * * *"; daily = "50 21 * * *"; }; type = types.attrsOf types.string; description = '' Periodicity at which intervals should be run by cron. diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix new file mode 100644 index 0000000000000000000000000000000000000000..2ef49a95166e367c05a87fa81421a47c004f1e7e --- /dev/null +++ b/nixos/modules/services/databases/neo4j.nix @@ -0,0 +1,143 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.neo4j; + + serverConfig = pkgs.writeText "neo4j-server.properties" '' + org.neo4j.server.database.location=${cfg.dataDir}/data/graph.db + org.neo4j.server.webserver.address=${cfg.host} + org.neo4j.server.webserver.port=${toString cfg.port} + ${optionalString cfg.enableHttps '' + org.neo4j.server.webserver.https.enabled=true + org.neo4j.server.webserver.https.port=${toString cfg.httpsPort} + org.neo4j.server.webserver.https.cert.location=${cfg.cert} + org.neo4j.server.webserver.https.key.location=${cfg.key} + org.neo4j.server.webserver.https.keystore.location=${cfg.dataDir}/data/keystore + ''} + org.neo4j.server.webadmin.rrdb.location=${cfg.dataDir}/data/rrd + org.neo4j.server.webadmin.data.uri=/db/data/ + org.neo4j.server.webadmin.management.uri=/db/manage/ + org.neo4j.server.db.tuning.properties=${pkgs.neo4j}/share/neo4j/conf/neo4j.properties + org.neo4j.server.manage.console_engines=shell + ${cfg.extraServerConfig} + ''; + + loggingConfig = pkgs.writeText "logging.properties" cfg.loggingConfig; + + wrapperConfig = pkgs.writeText "neo4j-wrapper.conf" '' + wrapper.java.additional=-Dorg.neo4j.server.properties=${serverConfig} + wrapper.java.additional=-Djava.util.logging.config.file=${loggingConfig} + wrapper.java.additional=-XX:+UseConcMarkSweepGC + wrapper.java.additional=-XX:+CMSClassUnloadingEnabled + wrapper.pidfile=${cfg.dataDir}/neo4j-server.pid + wrapper.name=neo4j + ''; + +in { + + ###### interface + + options.services.neo4j = { + enable = mkOption { + description = "Whether to enable neo4j."; + default = false; + type = types.uniq types.bool; + }; + + host = mkOption { + description = "Neo4j listen address."; + default = "127.0.0.1"; + type = types.str; + }; + + port = mkOption { + description = "Neo4j port to listen for HTTP traffic."; + default = 7474; + type = types.int; + }; + + enableHttps = mkOption { + description = "Enable https for Neo4j."; + default = false; + type = types.bool; + }; + + httpsPort = mkOption { + description = "Neo4j port to listen for HTTPS traffic."; + default = 7473; + type = types.int; + }; + + cert = mkOption { + description = "Neo4j https certificate."; + default = "${cfg.dataDir}/conf/ssl/neo4j.cert"; + type = types.path; + }; + + key = mkOption { + description = "Neo4j https certificate key."; + default = "${cfg.dataDir}/conf/ssl/neo4j.key"; + type = types.path; + }; + + dataDir = mkOption { + description = "Neo4j data directory."; + default = "/var/lib/neo4j"; + type = types.path; + }; + + loggingConfig = mkOption { + description = "Neo4j logging configuration."; + default = '' + handlers=java.util.logging.ConsoleHandler + .level=INFO + org.neo4j.server.level=INFO + + java.util.logging.ConsoleHandler.level=INFO + java.util.logging.ConsoleHandler.formatter=org.neo4j.server.logging.SimpleConsoleFormatter + java.util.logging.ConsoleHandler.filter=org.neo4j.server.logging.NeoLogFilter + ''; + type = types.lines; + }; + + extraServerConfig = mkOption { + description = "Extra configuration for neo4j server."; + default = ""; + type = types.lines; + }; + + }; + + ###### implementation + + config = mkIf cfg.enable { + systemd.services.neo4j = { + description = "Neo4j Daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-interfaces.target" ]; + environment = { NEO4J_INSTANCE = cfg.dataDir; }; + serviceConfig = { + ExecStart = "${pkgs.neo4j}/bin/neo4j console"; + User = "neo4j"; + PermissionsStartOnly = true; + }; + preStart = '' + mkdir -m 0700 -p ${cfg.dataDir}/{data/graph.db,conf} + ln -fs ${wrapperConfig} ${cfg.dataDir}/conf/neo4j-wrapper.conf + if [ "$(id -u)" = 0 ]; then chown -R neo4j ${cfg.dataDir}; fi + ''; + }; + + environment.systemPackages = [ pkgs.neo4j ]; + + users.extraUsers = singleton { + name = "neo4j"; + uid = config.ids.uids.neo4j; + description = "Neo4j daemon user"; + home = cfg.dataDir; + }; + }; + +} diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml new file mode 100644 index 0000000000000000000000000000000000000000..e98b431bd60a2e0ffda7f9e080f63ab771af78dc --- /dev/null +++ b/nixos/modules/services/databases/postgresql.xml @@ -0,0 +1,77 @@ + + +PostgreSQL + + + + +Source: modules/services/databases/postgresql.nix + +Upstream documentation: + + + +PostgreSQL is an advanced, free relational database. + +
Configuring + +To enable PostgreSQL, add the following to your +configuration.nix: + + +services.postgresql.enable = true; +services.postgresql.package = pkgs.postgresql93; + + +Note that you are required to specify the desired version of +PostgreSQL (e.g. pkgs.postgresql93). Since +upgrading your PostgreSQL version requires a database dump and reload +(see below), NixOS cannot provide a default value for + such as the most recent +release of PostgreSQL. + + + +By default, PostgreSQL stores its databases in +/var/db/postgresql. You can override this using +, e.g. + + +services.postgresql.dataDir = "/data/postgresql"; + + + + +
+ + +
Upgrading + +FIXME: document dump/upgrade/load cycle. + +
+ + +
Options + +FIXME: auto-generated list of module options. + +
+ + +
diff --git a/nixos/modules/services/hardware/tcsd.nix b/nixos/modules/services/hardware/tcsd.nix index 26b2c884b8f106e3b62d5462e62d19399711c257..d7f6c188feb8d77c157260af758d42e5a7f091f3 100644 --- a/nixos/modules/services/hardware/tcsd.nix +++ b/nixos/modules/services/hardware/tcsd.nix @@ -1,8 +1,8 @@ # tcsd daemon. -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: -with pkgs.lib; +with lib; let cfg = config.services.tcsd; diff --git a/nixos/modules/services/hardware/thermald.nix b/nixos/modules/services/hardware/thermald.nix new file mode 100644 index 0000000000000000000000000000000000000000..5233794a20cc76915b37f477642c4a2396506bc4 --- /dev/null +++ b/nixos/modules/services/hardware/thermald.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.thermald; +in { + ###### interface + options = { + services.thermald = { + enable = mkOption { + default = false; + description = '' + Whether to enable thermald, the temperature management daemon. + ''; + }; + }; + }; + + ###### implementation + config = mkIf cfg.enable { + systemd.services.thermald = { + description = "Thermal Daemon Service"; + wantedBy = [ "multi-user.target" ]; + script = "exec ${pkgs.thermald}/sbin/thermald --no-daemon --dbus-enable"; + }; + }; +} diff --git a/nixos/modules/services/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix index 8b892a33bb7df6649e4ab232898ccb80b556edc4..0b3f0cabb00770fdb1b77c122f71ef05742610cf 100644 --- a/nixos/modules/services/logging/syslog-ng.nix +++ b/nixos/modules/services/logging/syslog-ng.nix @@ -49,7 +49,9 @@ in { extraModulePaths = mkOption { type = types.listOf types.str; default = []; - example = [ "${pkgs.syslogng_incubator}/lib/syslog-ng" ]; + example = literalExample '' + [ "''${pkgs.syslogng_incubator}/lib/syslog-ng" ] + ''; description = '' A list of paths that should be included in syslog-ng's --module-path option. They should usually diff --git a/nixos/modules/services/mail/mlmmj.nix b/nixos/modules/services/mail/mlmmj.nix new file mode 100644 index 0000000000000000000000000000000000000000..637974f05cd16b0d6b70312ff9dd27fa7d282b3e --- /dev/null +++ b/nixos/modules/services/mail/mlmmj.nix @@ -0,0 +1,128 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.mlmmj; + stateDir = "/var/lib/mlmmj"; + spoolDir = "/var/spool/mlmmj"; + listDir = domain: list: "${spoolDir}/${domain}/${list}"; + listCtl = domain: list: "${listDir domain list}/control"; + transport = domain: list: "${domain}--${list}@local.list.mlmmj mlmmj:${domain}/${list}"; + virtual = domain: list: "${list}@${domain} ${domain}--${list}@local.list.mlmmj"; + alias = domain: list: "${list}: \"|${pkgs.mlmmj}/mlmmj-receive -L ${listDir domain list}/\""; + subjectPrefix = list: "[${list}]"; + listAddress = domain: list: "${list}@${domain}"; + customHeaders = list: domain: [ "List-Id: ${list}" "Reply-To: ${list}@${domain}" ]; + footer = domain: list: "To unsubscribe send a mail to ${list}+unsubscribe@${domain}"; + createList = d: l: '' + ${pkgs.coreutils}/bin/mkdir -p ${listCtl d l} + echo ${listAddress d l} > ${listCtl d l}/listadress + echo "${lib.concatStringsSep "\n" (customHeaders d l)}" > ${listCtl d l}/customheaders + echo ${footer d l} > ${listCtl d l}/footer + echo ${subjectPrefix l} > ${listCtl d l}/prefix + ''; +in + +{ + + ###### interface + + options = { + + services.mlmmj = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Enable mlmmj"; + }; + + user = mkOption { + type = types.str; + default = "mlmmj"; + description = "mailinglist local user"; + }; + + group = mkOption { + type = types.str; + default = "mlmmj"; + description = "mailinglist local group"; + }; + + listDomain = mkOption { + type = types.str; + default = "localhost"; + description = "Set the mailing list domain"; + }; + + mailLists = mkOption { + type = types.listOf types.str; + default = []; + description = "The collection of hosted maillists"; + }; + + }; + + }; + + ###### implementation + + config = mkIf cfg.enable { + + users.extraUsers = singleton { + name = cfg.user; + description = "mlmmj user"; + home = stateDir; + createHome = true; + uid = config.ids.uids.mlmmj; + group = cfg.group; + useDefaultShell = true; + }; + + users.extraGroups = singleton { + name = cfg.group; + gid = config.ids.gids.mlmmj; + }; + + services.postfix = { + enable = true; + recipientDelimiter= "+"; + extraMasterConf = '' + mlmmj unix - n n - - pipe flags=ORhu user=mlmmj argv=${pkgs.mlmmj}/bin/mlmmj-recieve -F -L ${spoolDir}/$nextHop + ''; + + extraAliases = concatMapStrings (alias cfg.listDomain) cfg.mailLists; + + extraConfig = '' + transport = hash:${stateDir}/transports + virtual = hash:${stateDir}/virtuals + ''; + }; + + environment.systemPackages = [ pkgs.mlmmj ]; + + system.activationScripts.mlmmj = '' + ${pkgs.coreutils}/bin/mkdir -p ${stateDir} ${spoolDir}/${cfg.listDomain} + ${pkgs.coreutils}/bin/chown -R ${cfg.user}:${cfg.group} ${spoolDir} + ${lib.concatMapStrings (createList cfg.listDomain) cfg.mailLists} + echo ${lib.concatMapStrings (virtual cfg.listDomain) cfg.mailLists} > ${stateDir}/virtuals + echo ${cfg.listDomain} mailman: > ${stateDir}/transports + echo ${lib.concatMapStrings (transport cfg.listDomain) cfg.mailLists} >> ${stateDir}/transports + ''; + + systemd.services."mlmmj-maintd" = { + description = "mlmmj maintenance daemon"; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStart = "${pkgs.mlmmj}/bin/mlmmj-maintd -F -d ${spoolDir}/${cfg.listDomain}"; + }; + }; + + }; + +} diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 808c5dcbdc6f32a122eddc41fb287f0b2c43cda0..c0d7885280a588e286ffbf1af2b36eb43282f12e 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -28,7 +28,7 @@ let options = eval.options; }; - entry = "${manual.manual}/share/doc/nixos/manual.html"; + entry = "${manual.manual}/share/doc/nixos/index.html"; help = pkgs.writeScriptBin "nixos-help" '' diff --git a/nixos/modules/services/misc/siproxd.nix b/nixos/modules/services/misc/siproxd.nix new file mode 100644 index 0000000000000000000000000000000000000000..9e8fb6c228f21814c06f5a2eace9a1fd91a96023 --- /dev/null +++ b/nixos/modules/services/misc/siproxd.nix @@ -0,0 +1,180 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.siproxd; + + conf = '' + daemonize = 0 + rtp_proxy_enable = 1 + user = siproxd + if_inbound = ${cfg.ifInbound} + if_outbound = ${cfg.ifOutbound} + sip_listen_port = ${toString cfg.sipListenPort} + rtp_port_low = ${toString cfg.rtpPortLow} + rtp_port_high = ${toString cfg.rtpPortHigh} + rtp_dscp = ${toString cfg.rtpDscp} + sip_dscp = ${toString cfg.sipDscp} + ${optionalString (cfg.hostsAllowReg != []) "hosts_allow_reg = ${concatStringsSep "," cfg.hostsAllowReg}"} + ${optionalString (cfg.hostsAllowSip != []) "hosts_allow_sip = ${concatStringsSep "," cfg.hostsAllowSip}"} + ${optionalString (cfg.hostsDenySip != []) "hosts_deny_sip = ${concatStringsSep "," cfg.hostsDenySip}"} + ${if (cfg.passwordFile != "") then "proxy_auth_pwfile = ${cfg.passwordFile}" else ""} + ${cfg.extraConfig} + ''; + + confFile = builtins.toFile "siproxd.conf" conf; + +in +{ + ##### interface + + options = { + + services.siproxd = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable the Siproxd SIP + proxy/masquerading daemon. + ''; + }; + + ifInbound = mkOption { + type = types.str; + example = "eth0"; + description = "Local network interface"; + }; + + ifOutbound = mkOption { + type = types.str; + example = "ppp0"; + description = "Public network interface"; + }; + + hostsAllowReg = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "192.168.1.0/24" "192.168.2.0/24" ]; + description = '' + Acess control list for incoming SIP registrations. + ''; + }; + + hostsAllowSip = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "123.45.0.0/16" "123.46.0.0/16" ]; + description = '' + Acess control list for incoming SIP traffic. + ''; + }; + + hostsDenySip = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "10.0.0.0/8" "11.0.0.0/8" ]; + description = '' + Acess control list for denying incoming + SIP registrations and traffic. + ''; + }; + + sipListenPort = mkOption { + type = types.int; + default = 5060; + description = '' + Port to listen for incoming SIP messages. + ''; + }; + + rtpPortLow = mkOption { + type = types.int; + default = 7070; + description = '' + Bottom of UDP port range for incoming and outgoing RTP traffic + ''; + }; + + rtpPortHigh = mkOption { + type = types.int; + default = 7089; + description = '' + Top of UDP port range for incoming and outgoing RTP traffic + ''; + }; + + rtpTimeout = mkOption { + type = types.int; + default = 300; + description = '' + Timeout for an RTP stream. If for the specified + number of seconds no data is relayed on an active + stream, it is considered dead and will be killed. + ''; + }; + + rtpDscp = mkOption { + type = types.int; + default = 46; + description = '' + DSCP (differentiated services) value to be assigned + to RTP packets. Allows QOS aware routers to handle + different types traffic with different priorities. + ''; + }; + + sipDscp = mkOption { + type = types.int; + default = 0; + description = '' + DSCP (differentiated services) value to be assigned + to SIP packets. Allows QOS aware routers to handle + different types traffic with different priorities. + ''; + }; + + passwordFile = mkOption { + type = types.str; + default = ""; + description = '' + Path to per-user password file. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration to add to siproxd configuration. + ''; + }; + + }; + + }; + + ##### implementation + + config = mkIf cfg.enable { + + users.extraUsers = singleton { + name = "siproxyd"; + uid = config.ids.uids.siproxd; + }; + + systemd.services.siproxd = { + description = "SIP proxy/masquerading daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "${pkgs.siproxd}/sbin/siproxd -c ${confFile}"; + }; + }; + + }; + +} diff --git a/nixos/modules/services/misc/uhub.nix b/nixos/modules/services/misc/uhub.nix new file mode 100644 index 0000000000000000000000000000000000000000..15071202b9c2ea640166b67e0d436e3cd65e29f2 --- /dev/null +++ b/nixos/modules/services/misc/uhub.nix @@ -0,0 +1,186 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.uhub; + + uhubPkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; }; + + pluginConfig = "" + + optionalString cfg.plugins.authSqlite.enable '' + plugin ${uhubPkg.mod_auth_sqlite}/mod_auth_sqlite.so "file=${cfg.plugins.authSqlite.file}" + '' + + optionalString cfg.plugins.logging.enable '' + plugin ${uhubPkg.mod_logging}/mod_logging.so ${if cfg.plugins.logging.syslog then "syslog=true" else "file=${cfg.plugins.logging.file}"} + '' + + optionalString cfg.plugins.welcome.enable '' + plugin ${uhubPkg.mod_welcome}/mod_welcome.so "motd=${pkgs.writeText "motd.txt" cfg.plugins.welcome.motd} rules=${pkgs.writeText "rules.txt" cfg.plugins.welcome.rules}" + '' + + optionalString cfg.plugins.history.enable '' + plugin ${uhubPkg.mod_chat_history}/mod_chat_history.so "history_max=${toString cfg.plugins.history.max} history_default=${toString cfg.plugins.history.default} history_connect=${toString cfg.plugins.history.connect}" + ''; + + uhubConfigFile = pkgs.writeText "uhub.conf" '' + file_acl=${pkgs.writeText "users.conf" cfg.aclConfig} + file_plugins=${pkgs.writeText "plugins.conf" pluginConfig} + server_bind_addr=${cfg.address} + server_port=${toString cfg.port} + ${lib.optionalString cfg.enableTLS "tls_enable=yes"} + ${cfg.hubConfig} + ''; + +in + +{ + options = { + + services.uhub = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the uhub ADC hub."; + }; + + port = mkOption { + type = types.int; + default = 1511; + description = "TCP port to bind the hub to."; + }; + + address = mkOption { + type = types.string; + default = "any"; + description = "Address to bind the hub to."; + }; + + enableTLS = mkOption { + type = types.bool; + default = false; + description = "Whether to enable TLS support."; + }; + + hubConfig = mkOption { + type = types.lines; + default = ""; + description = "Contents of uhub configuration file."; + }; + + aclConfig = mkOption { + type = types.lines; + default = ""; + description = "Contents of user ACL configuration file."; + }; + + plugins = { + + authSqlite = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the Sqlite authentication database plugin"; + }; + file = mkOption { + type = types.string; + example = "/var/db/uhub-users"; + description = "Path to user database. Use the uhub-passwd utility to create the database and add/remove users."; + }; + }; + + logging = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the logging plugin."; + }; + file = mkOption { + type = types.string; + default = ""; + description = "Path of log file."; + }; + syslog = mkOption { + type = types.bool; + default = false; + description = "If true then the system log is used instead of writing to file."; + }; + }; + + welcome = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the welcome plugin."; + }; + motd = mkOption { + default = ""; + type = types.lines; + description = '' + Welcome message displayed to clients after connecting + and with the !motd command. + ''; + }; + rules = mkOption { + default = ""; + type = types.lines; + description = '' + Rules message, displayed to clients with the !rules command. + ''; + }; + }; + + history = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the history plugin."; + }; + max = mkOption { + type = types.int; + default = 200; + description = "The maximum number of messages to keep in history"; + }; + default = mkOption { + type = types.int; + default = 10; + description = "When !history is provided without arguments, then this default number of messages are returned."; + }; + connect = mkOption { + type = types.int; + default = 5; + description = "The number of chat history messages to send when users connect (0 = do not send any history)."; + }; + }; + + }; + }; + + }; + + config = mkIf cfg.enable { + + users = { + extraUsers = singleton { + name = "uhub"; + uid = config.ids.uids.uhub; + }; + extraGroups = singleton { + name = "uhub"; + gid = config.ids.gids.uhub; + }; + }; + + systemd.services.uhub = { + description = "high performance peer-to-peer hub for the ADC network"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "notify"; + ExecStart = "${uhubPkg}/bin/uhub -c ${uhubConfigFile} -u uhub -g uhub -L"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + }; + }; + +} \ No newline at end of file diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix new file mode 100755 index 0000000000000000000000000000000000000000..47675b8876cc84a89536ed6d7a71cfe0da036851 --- /dev/null +++ b/nixos/modules/services/misc/zookeeper.nix @@ -0,0 +1,145 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.zookeeper; + + zookeeperConfig = '' + dataDir=${cfg.dataDir} + clientPort=${toString cfg.port} + autopurge.purgeInterval=${toString cfg.purgeInterval} + ${cfg.extraConf} + ${cfg.servers} + ''; + + configDir = pkgs.buildEnv { + name = "zookeeper-conf"; + paths = [ + (pkgs.writeTextDir "zoo.cfg" zookeeperConfig) + (pkgs.writeTextDir "log4j.properties" cfg.logging) + ]; + }; + +in { + + options.services.zookeeper = { + enable = mkOption { + description = "Whether to enable Zookeeper."; + default = false; + type = types.uniq types.bool; + }; + + port = mkOption { + description = "Zookeeper Client port."; + default = 2181; + type = types.int; + }; + + id = mkOption { + description = "Zookeeper ID."; + default = 0; + type = types.int; + }; + + purgeInterval = mkOption { + description = '' + The time interval in hours for which the purge task has to be triggered. Set to a positive integer (1 and above) to enable the auto purging. + ''; + default = 1; + type = types.int; + }; + + extraConf = mkOption { + description = "Extra configuration for Zookeeper."; + type = types.lines; + default = '' + initLimit=5 + syncLimit=2 + tickTime=2000 + ''; + }; + + servers = mkOption { + description = "All Zookeeper Servers."; + default = ""; + type = types.lines; + example = '' + server.0=host0:2888:3888 + server.1=host1:2888:3888 + server.2=host2:2888:3888 + ''; + }; + + logging = mkOption { + description = "Zookeeper logging configuration."; + default = '' + zookeeper.root.logger=INFO, CONSOLE + log4j.rootLogger=INFO, CONSOLE + log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender + log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout + log4j.appender.CONSOLE.layout.ConversionPattern=[myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n + ''; + type = types.lines; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/zookeeper"; + description = '' + Data directory for Zookeeper + ''; + }; + + extraCmdLineOptions = mkOption { + description = "Extra command line options for the Zookeeper launcher."; + default = [ "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ]; + type = types.listOf types.string; + example = [ "-Djava.net.preferIPv4Stack=true" "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ]; + }; + + preferIPv4 = mkOption { + type = types.bool; + default = true; + description = '' + Add the -Djava.net.preferIPv4Stack=true flag to the Zookeeper server. + ''; + }; + + }; + + + config = mkIf cfg.enable { + systemd.services.zookeeper = { + description = "Zookeeper Daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-interfaces.target" ]; + environment = { ZOOCFGDIR = configDir; }; + serviceConfig = { + ExecStart = '' + ${pkgs.jre}/bin/java \ + -cp "${pkgs.zookeeper}/lib/*:${pkgs.zookeeper}/${pkgs.zookeeper.name}.jar:${configDir}" \ + ${toString cfg.extraCmdLineOptions} \ + -Dzookeeper.datadir.autocreate=false \ + ${optionalString cfg.preferIPv4 "-Djava.net.preferIPv4Stack=true"} \ + org.apache.zookeeper.server.quorum.QuorumPeerMain \ + ${configDir}/zoo.cfg + ''; + User = "zookeeper"; + PermissionsStartOnly = true; + }; + preStart = '' + mkdir -m 0700 -p ${cfg.dataDir} + if [ "$(id -u)" = 0 ]; then chown zookeeper ${cfg.dataDir}; fi + echo "${toString cfg.id}" > ${cfg.dataDir}/myid + ''; + }; + + users.extraUsers = singleton { + name = "zookeeper"; + uid = config.ids.uids.zookeeper; + description = "Zookeeper daemon user"; + home = cfg.dataDir; + }; + }; +} diff --git a/nixos/modules/services/monitoring/riemann-dash.nix b/nixos/modules/services/monitoring/riemann-dash.nix new file mode 100644 index 0000000000000000000000000000000000000000..148dc04680599dc6786d997f642f61771d816add --- /dev/null +++ b/nixos/modules/services/monitoring/riemann-dash.nix @@ -0,0 +1,79 @@ +{ config, pkgs, lib, ... }: + +with pkgs; +with lib; + +let + + cfg = config.services.riemann-dash; + + conf = writeText "config.rb" '' + riemann_base = "${cfg.dataDir}" + config.store[:ws_config] = "#{riemann_base}/config/config.json" + ${cfg.config} + ''; + + launcher = writeScriptBin "riemann-dash" '' + #!/bin/sh + exec ${rubyLibs.riemann_dash}/bin/riemann-dash ${conf} + ''; + +in { + + options = { + + services.riemann-dash = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable the riemann-dash dashboard daemon. + ''; + }; + config = mkOption { + type = types.lines; + description = '' + Contents added to the end of the riemann-dash configuration file. + ''; + }; + dataDir = mkOption { + type = types.str; + default = "/var/riemann-dash"; + description = '' + Location of the riemann-base dir. The dashboard configuration file is + is stored to this directory. The directory is created automatically on + service start, and owner is set to the riemanndash user. + ''; + }; + }; + + }; + + config = mkIf cfg.enable { + + users.extraGroups.riemanndash.gid = config.ids.gids.riemanndash; + + users.extraUsers.riemanndash = { + description = "riemann-dash daemon user"; + uid = config.ids.uids.riemanndash; + group = "riemanndash"; + }; + + systemd.services.riemann-dash = { + wantedBy = [ "multi-user.target" ]; + wants = [ "riemann.service" ]; + after = [ "riemann.service" ]; + preStart = '' + mkdir -p ${cfg.dataDir}/config + chown -R riemanndash:riemanndash ${cfg.dataDir} + ''; + serviceConfig = { + User = "riemanndash"; + ExecStart = "${launcher}/bin/riemann-dash"; + PermissionsStartOnly = true; + }; + }; + + }; + +} diff --git a/nixos/modules/services/monitoring/riemann.nix b/nixos/modules/services/monitoring/riemann.nix new file mode 100644 index 0000000000000000000000000000000000000000..a1935c29a0435cfcd84734d99983a985e505530b --- /dev/null +++ b/nixos/modules/services/monitoring/riemann.nix @@ -0,0 +1,77 @@ +{ config, pkgs, lib, ... }: + +with pkgs; +with lib; + +let + + cfg = config.services.riemann; + + classpath = concatStringsSep ":" ( + cfg.extraClasspathEntries ++ [ "${riemann}/share/java/riemann.jar" ] + ); + + launcher = writeScriptBin "riemann" '' + #!/bin/sh + exec ${openjdk}/bin/java ${concatStringsSep "\n" cfg.extraJavaOpts} \ + -cp ${classpath} \ + riemann.bin ${writeText "riemann.config" cfg.config} + ''; + +in { + + options = { + + services.riemann = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable the Riemann network monitoring daemon. + ''; + }; + config = mkOption { + type = types.lines; + description = '' + Contents of the Riemann configuration file. + ''; + }; + extraClasspathEntries = mkOption { + type = with types; listOf str; + default = []; + description = '' + Extra entries added to the Java classpath when running Riemann. + ''; + }; + extraJavaOpts = mkOption { + type = with types; listOf str; + default = []; + description = '' + Extra Java options used when launching Riemann. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + + users.extraGroups.riemann.gid = config.ids.gids.riemann; + + users.extraUsers.riemann = { + description = "riemann daemon user"; + uid = config.ids.uids.riemann; + group = "riemann"; + }; + + systemd.services.riemann = { + wantedBy = [ "multi-user.target" ]; + path = [ inetutils ]; + serviceConfig = { + User = "riemann"; + ExecStart = "${launcher}/bin/riemann"; + }; + }; + + }; + +} diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix index 250035fe447f47b684f29689b84d41eb301dabc7..803bd9e9a65a0fb643d3d4ee7978f46c8cf5bdb6 100644 --- a/nixos/modules/services/monitoring/smartd.nix +++ b/nixos/modules/services/monitoring/smartd.nix @@ -62,7 +62,7 @@ in enable = mkOption { default = false; type = types.bool; - example = "true"; + example = true; description = '' Run smartd from the smartmontools package. Note that e-mail notifications will not be enabled unless you configure the list of diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix index 2217fec3b0f7def921b1e5b7dc5efb8746c0dc27..57d56cd728775506f3761cf7d4114b698620e84b 100644 --- a/nixos/modules/services/network-filesystems/nfsd.nix +++ b/nixos/modules/services/network-filesystems/nfsd.nix @@ -56,6 +56,14 @@ in default = false; description = "Whether to create the mount points in the exports file at startup time."; }; + + mountdPort = mkOption { + default = null; + example = 4002; + description = '' + Use fixed port for rpc.mountd, usefull if server is behind firewall. + ''; + }; }; }; @@ -138,7 +146,10 @@ in restartTriggers = [ exports ]; serviceConfig.Type = "forking"; - serviceConfig.ExecStart = "@${pkgs.nfsUtils}/sbin/rpc.mountd rpc.mountd"; + serviceConfig.ExecStart = '' + @${pkgs.nfsUtils}/sbin/rpc.mountd rpc.mountd \ + ${if cfg.mountdPort != null then "-p ${toString cfg.mountdPort}" else ""} + ''; serviceConfig.Restart = "always"; }; diff --git a/nixos/modules/services/networking/atftpd.nix b/nixos/modules/services/networking/atftpd.nix new file mode 100644 index 0000000000000000000000000000000000000000..ab9f8650f0f83ffa5044029b09b486ce07162851 --- /dev/null +++ b/nixos/modules/services/networking/atftpd.nix @@ -0,0 +1,51 @@ +# NixOS module for atftpd TFTP server + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.atftpd; + +in + +{ + + options = { + + services.atftpd = { + + enable = mkOption { + default = false; + type = types.uniq types.bool; + description = '' + Whenever to enable the atftpd TFTP server. + ''; + }; + + root = mkOption { + default = "/var/empty"; + type = types.uniq types.string; + description = '' + Document root directory for the atftpd. + ''; + }; + + }; + + }; + + config = mkIf cfg.enable { + + systemd.services.atftpd = { + description = "atftpd TFTP server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + # runs as nobody + serviceConfig.ExecStart = "${pkgs.atftp}/sbin/atftpd --daemon --no-fork --bind-address 0.0.0.0 ${cfg.root}"; + }; + + }; + +} diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix index 9306ffd5a18a0028e9169d98c8269819fd209dc5..0519172db9140c9b467d0c676adbb7dcbdbe05f4 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -1,13 +1,3 @@ -# You may notice the commented out sections in this file, -# it would be great to configure cjdns from nix, but cjdns -# reads its configuration from stdin, including the private -# key and admin password, all nested in a JSON structure. -# -# Until a good method of storing the keys outside the nix -# store and mixing them back into a string is devised -# (without too much shell hackery), a skeleton of the -# configuration building lies commented out. - { config, lib, pkgs, ... }: with lib; @@ -16,41 +6,35 @@ let cfg = config.services.cjdns; - /* - # can't keep keys and passwords in the nix store, - # but don't want to deal with this stdin quagmire. - - cjdrouteConf = '' { - "admin": {"bind": "${cfg.admin.bind}", "password": "\${CJDNS_ADMIN}" }, - "privateKey": "\${CJDNS_KEY}", - - "interfaces": { - '' - - + optionalString (cfg.interfaces.udp.bind.address != null) '' - "UDPInterface": [ { - "bind": "${cfg.interfaces.udp.bind.address}:"'' - ${if cfg.interfaces.upd.bind.port != null - then ${toString cfg.interfaces.udp.bind.port} - else ${RANDOM} - fi) - + '' } ]'' - - + (if cfg.interfaces.eth.bind != null then '' - "ETHInterface": [ { - "bind": "${cfg.interfaces.eth.bind}", - "beacon": ${toString cfg.interfaces.eth.beacon} - } ] - '' fi ) - + '' - }, - "router": { "interface": { "type": "TUNInterface" }, }, - "security": [ { "setuser": "nobody" } ] - } - ''; - - cjdrouteConfFile = pkgs.writeText "cjdroute.conf" cjdrouteConf - */ + # would be nice to merge 'cfg' with a //, + # but the json nesting is wacky. + cjdrouteConf = builtins.toJSON ( { + admin = { + bind = cfg.admin.bind; + password = "@CJDNS_ADMIN_PASSWORD@"; + }; + authorizedPasswords = map (p: { password = p; }) cfg.authorizedPasswords; + interfaces = { + ETHInterface = if (cfg.ETHInterface.bind != "") then [ cfg.ETHInterface ] else [ ]; + UDPInterface = if (cfg.UDPInterface.bind != "") then [ cfg.UDPInterface ] else [ ]; + }; + + privateKey = "@CJDNS_PRIVATE_KEY@"; + + resetAfterInactivitySeconds = 100; + + router = { + interface = { type = "TUNInterface"; }; + ipTunnel = { + allowedConnections = []; + outgoingConnections = []; + }; + }; + + security = [ { exemptAngel = 1; setuser = "nobody"; } ]; + + }); + in { @@ -62,146 +46,180 @@ in type = types.bool; default = false; description = '' - Enable this option to start a instance of the - cjdns network encryption and and routing engine. - Configuration will be read from confFile. + Whether to enable the cjdns network encryption + and routing engine. A file at /etc/cjdns.keys will + be created if it does not exist to contain a random + secret key that your IPv6 address will be derived from. ''; }; - confFile = mkOption { - default = "/etc/cjdroute.conf"; - description = '' - Configuration file to pipe to cjdroute. + authorizedPasswords = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "snyrfgkqsc98qh1y4s5hbu0j57xw5s0" + "z9md3t4p45mfrjzdjurxn4wuj0d8swv" + "49275fut6tmzu354pq70sr5b95qq0vj" + ]; + description = '' + Any remote cjdns nodes that offer these passwords on + connection will be allowed to route through this node. ''; }; - - /* + admin = { bind = mkOption { + type = types.string; default = "127.0.0.1:11234"; description = '' Bind the administration port to this address and port. ''; }; + }; - passwordFile = mkOption { - example = "/root/cjdns.adminPassword"; - description = '' - File containing a password to the administration port. + UDPInterface = { + bind = mkOption { + type = types.string; + default = ""; + example = "192.168.1.32:43211"; + description = '' + Address and port to bind UDP tunnels to. + ''; + }; + connectTo = mkOption { + type = types.attrsOf ( types.submodule ( + { options, ... }: + { options = { + # TODO make host an option, and add it to networking.extraHosts + password = mkOption { + type = types.str; + description = "Authorized password to the opposite end of the tunnel."; + }; + publicKey = mkOption { + type = types.str; + description = "Public key at the opposite end of the tunnel."; + }; + }; + } + )); + default = { }; + example = { + "192.168.1.1:27313" = { + password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM"; + publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k"; + }; + }; + description = '' + Credentials for making UDP tunnels. ''; }; }; - keyFile = mkOption { - type = types.str; - example = "/root/cjdns.key"; - description = '' - Path to a file containing a cjdns private key on a single line. - ''; - }; - - passwordsFile = mkOption { - type = types.str; - default = null; - example = "/root/cjdns.authorizedPasswords"; - description = '' - A file containing a list of json dictionaries with passwords. - For example: - {"password": "s8xf5z7znl4jt05g922n3wpk75wkypk"}, - { "name": "nice guy", - "password": "xhthk1mglz8tpjrbbvdlhyc092rhpx5"}, - {"password": "3qfxyhmrht7uwzq29pmhbdm9w4bnc8w"} + ETHInterface = { + bind = mkOption { + default = ""; + example = "eth0"; + description = '' + Bind to this device for native ethernet operation. ''; - }; - - interfaces = { - udp = { - bind = { - address = mkOption { - default = "0.0.0.0"; - description = '' - Address to bind UDP tunnels to; disable by setting to null; - ''; - }; - port = mkOption { - type = types.int; - default = null; - description = '' - Port to bind UDP tunnels to. - A port will be choosen at random if this is not set. - This option is required to act as the server end of - a tunnel. - ''; - }; - }; - }; + }; - eth = { - bind = mkOption { - default = null; - example = "eth0"; - description = '' - Bind to this device and operate with native wire format. - ''; - }; - - beacon = mkOption { - default = 2; - description = '' - Auto-connect to other cjdns nodes on the same network. - Options: - 0 -- Disabled. - - 1 -- Accept beacons, this will cause cjdns to accept incoming - beacon messages and try connecting to the sender. - - 2 -- Accept and send beacons, this will cause cjdns to broadcast - messages on the local network which contain a randomly - generated per-session password, other nodes which have this - set to 1 or 2 will hear the beacon messages and connect - automatically. - ''; - }; - - connectTo = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Credentials for connecting look similar to UDP credientials - except they begin with the mac address, for example: - "01:02:03:04:05:06":{"password":"a","publicKey":"b"} - ''; - }; + beacon = mkOption { + type = types.int; + default = 2; + description = '' + Auto-connect to other cjdns nodes on the same network. + Options: + 0: Disabled. + 1: Accept beacons, this will cause cjdns to accept incoming + beacon messages and try connecting to the sender. + 2: Accept and send beacons, this will cause cjdns to broadcast + messages on the local network which contain a randomly + generated per-session password, other nodes which have this + set to 1 or 2 will hear the beacon messages and connect + automatically. + ''; }; + + connectTo = mkOption { + type = types.attrsOf ( types.submodule ( + { options, ... }: + { options = { + password = mkOption { + type = types.str; + description = "Authorized password to the opposite end of the tunnel."; + }; + publicKey = mkOption { + type = types.str; + description = "Public key at the opposite end of the tunnel."; + }; + }; + } + )); + default = { }; + example = { + "01:02:03:04:05:06" = { + password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM"; + publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k"; + }; + }; + description = '' + Credentials for connecting look similar to UDP credientials + except they begin with the mac address. + ''; + }; }; - */ + }; + }; config = mkIf config.services.cjdns.enable { boot.kernelModules = [ "tun" ]; - /* - networking.firewall.allowedUDPPorts = mkIf (cfg.udp.bind.port != null) [ - cfg.udp.bind.port - ]; - */ + # networking.firewall.allowedUDPPorts = ... systemd.services.cjdns = { description = "encrypted networking for everybody"; wantedBy = [ "multi-user.target" ]; - wants = [ "network.target" ]; - before = [ "network.target" ]; - path = [ pkgs.cjdns ]; + after = [ "network-interfaces.target" ]; + + script = '' + source /etc/cjdns.keys + echo '${cjdrouteConf}' | sed \ + -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \ + -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \ + | ${pkgs.cjdns}/sbin/cjdroute + ''; serviceConfig = { Type = "forking"; - ExecStart = '' - ${pkgs.stdenv.shell} -c "${pkgs.cjdns}/sbin/cjdroute < ${cfg.confFile}" - ''; Restart = "on-failure"; }; }; + + system.activationScripts.cjdns = '' + grep -q "CJDNS_PRIVATE_KEY=" /etc/cjdns.keys || \ + echo "CJDNS_PRIVATE_KEY=$(${pkgs.cjdns}/sbin/makekey)" \ + >> /etc/cjdns.keys + + grep -q "CJDNS_ADMIN_PASSWORD=" /etc/cjdns.keys || \ + echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \ + >> /etc/cjdns.keys + + chmod 600 /etc/cjdns.keys + ''; + + assertions = [ + { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" ); + message = "Neither cjdns.ETHInterface.bind nor cjdns.UDPInterface.bind defined."; + } + { assertion = config.networking.enableIPv6; + message = "networking.enableIPv6 must be enabled for CJDNS to work"; + } + ]; + }; -} + +} \ No newline at end of file diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 5a353fc0942a58157f1362b90b15c600508d96b6..084ac69e8d5d61a444dfe59fae280dfe15c799a7 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -6,10 +6,13 @@ let dhcpcd = if !config.boot.isContainer then pkgs.dhcpcd else pkgs.dhcpcd.override { udev = null; }; + cfg = config.networking.dhcpcd; + # Don't start dhcpcd on explicitly configured interfaces or on - # interfaces that are part of a bridge. + # interfaces that are part of a bridge, bond or sit device. ignoredInterfaces = - map (i: i.name) (filter (i: i.ipAddress != null) (attrValues config.networking.interfaces)) + map (i: i.name) (filter (i: i.ip4 != [ ] || i.ipAddress != null) (attrValues config.networking.interfaces)) + ++ mapAttrsToList (i: _: i) config.networking.sits ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bridges)) ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bonds)) ++ config.networking.dhcpcd.denyInterfaces; @@ -35,9 +38,12 @@ let # Ignore peth* devices; on Xen, they're renamed physical # Ethernet cards used for bridging. Likewise for vif* and tap* # (Xen) and virbr* and vnet* (libvirt). - denyinterfaces ${toString ignoredInterfaces} lo peth* vif* tap* tun* virbr* vnet* vboxnet* + denyinterfaces ${toString ignoredInterfaces} lo peth* vif* tap* tun* virbr* vnet* vboxnet* sit* + + # Use the list of allowed interfaces if specified + ${optionalString (cfg.allowInterfaces != null) "allowinterfaces ${toString cfg.allowInterfaces}"} - ${config.networking.dhcpcd.extraConfig} + ${cfg.extraConfig} ''; # Hook for emitting ip-up/ip-down events. @@ -58,7 +64,7 @@ let # ${config.systemd.package}/bin/systemctl start ip-down.target #fi - ${config.networking.dhcpcd.runHook} + ${cfg.runHook} ''; in @@ -69,6 +75,18 @@ in options = { + networking.dhcpcd.persistent = mkOption { + type = types.bool; + default = false; + description = '' + Whenever to leave interfaces configured on dhcpcd daemon + shutdown. Set to true if you have your root or store mounted + over the network or this machine accepts SSH connections + through DHCP interfaces and clients should be notified when + it shuts down. + ''; + }; + networking.dhcpcd.denyInterfaces = mkOption { type = types.listOf types.str; default = []; @@ -80,6 +98,17 @@ in ''; }; + networking.dhcpcd.allowInterfaces = mkOption { + type = types.nullOr (types.listOf types.str); + default = null; + description = '' + Enable the DHCP client for any interface whose name matches + any of the shell glob patterns in this list. Any interface not + explicitly matched by this pattern will be denied. This pattern only + applies when non-null. + ''; + }; + networking.dhcpcd.extraConfig = mkOption { type = types.lines; default = ""; @@ -122,7 +151,7 @@ in serviceConfig = { Type = "forking"; PIDFile = "/run/dhcpcd.pid"; - ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet --config ${dhcpcdConf}"; + ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet ${optionalString cfg.persistent "--persistent"} --config ${dhcpcdConf}"; ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind"; Restart = "always"; }; diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix index 8e38b9d017a3ae5f9186f01b9c2df2a10c521a7f..d2a8af6ac8b19521eae016d2e4b3339110ff8a8e 100644 --- a/nixos/modules/services/networking/dnsmasq.nix +++ b/nixos/modules/services/networking/dnsmasq.nix @@ -6,10 +6,12 @@ let cfg = config.services.dnsmasq; dnsmasq = pkgs.dnsmasq; - serversParam = concatMapStrings (s: "-S ${s} ") cfg.servers; - dnsmasqConf = pkgs.writeText "dnsmasq.conf" '' - ${cfg.extraConfig} + ${optionalString cfg.resolveLocalQueries '' + conf-file=/etc/dnsmasq-conf.conf + resolv-file=/etc/dnsmasq-resolv.conf + ''} + ${cfg.extraConfig} ''; in @@ -29,6 +31,14 @@ in ''; }; + resolveLocalQueries = mkOption { + default = true; + description = '' + Whether dnsmasq should resolve local queries (i.e. add 127.0.0.1 to + /etc/resolv.conf) + ''; + }; + servers = mkOption { default = []; example = [ "8.8.8.8" "8.8.4.4" ]; @@ -37,6 +47,8 @@ in ''; }; + + extraConfig = mkOption { type = types.string; default = ""; @@ -55,16 +67,31 @@ in config = mkIf config.services.dnsmasq.enable { - jobs.dnsmasq = - { description = "dnsmasq daemon"; - - startOn = "ip-up"; + environment.systemPackages = [ dnsmasq ] + ++ (if cfg.resolveLocalQueries then [ pkgs.openresolv ] else []); - daemonType = "daemon"; + services.dbus.packages = [ dnsmasq ]; - exec = "${dnsmasq}/bin/dnsmasq -R ${serversParam} -o -C ${dnsmasqConf}"; + users.extraUsers = singleton + { name = "dnsmasq"; + uid = config.ids.uids.dnsmasq; + description = "Dnsmasq daemon user"; + home = "/var/empty"; }; + systemd.services.dnsmasq = { + description = "dnsmasq daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "dbus"; + BusName = "uk.org.thekelleys.dnsmasq"; + ExecStartPre = "${dnsmasq}/bin/dnsmasq --test"; + ExecStart = "${dnsmasq}/bin/dnsmasq -k --enable-dbus --user=dnsmasq -C ${dnsmasqConf}"; + ExecReload = "${dnsmasq}/bin/kill -HUP $MAINPID"; + }; + }; + }; } diff --git a/nixos/modules/services/networking/ircd-hybrid/default.nix b/nixos/modules/services/networking/ircd-hybrid/default.nix index a3d5b71740f6c3ee152cdbb5940b804dd18db37b..2c397f94d230dea0274327373622e054cc5f3062 100644 --- a/nixos/modules/services/networking/ircd-hybrid/default.nix +++ b/nixos/modules/services/networking/ircd-hybrid/default.nix @@ -66,7 +66,7 @@ in rsaKey = mkOption { default = null; - example = /root/certificates/irc.key; + example = literalExample "/root/certificates/irc.key"; description = " IRCD server RSA key. "; @@ -74,7 +74,7 @@ in certificate = mkOption { default = null; - example = /root/certificates/irc.pem; + example = literalExample "/root/certificates/irc.pem"; description = " IRCD server SSL certificate. There are some limitations - read manual. "; diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix index db8cb12287193d993aa8f2958d08d01f9bd31a06..cacd52f130fb128bba79a58232ad1779ac5fbaec 100644 --- a/nixos/modules/services/networking/nsd.nix +++ b/nixos/modules/services/networking/nsd.nix @@ -456,156 +456,131 @@ in }; - ratelimit = mkOption { - type = types.submodule ( - { options, ... }: - { options = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Enable ratelimit capabilities. - ''; - }; - - size = mkOption { - type = types.int; - default = 1000000; - description = '' - Size of the hashtable. More buckets use more memory but lower - the chance of hash hash collisions. - ''; - }; + ratelimit = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable ratelimit capabilities. + ''; + }; - ratelimit = mkOption { - type = types.int; - default = 200; - description = '' - Max qps allowed from any query source. - 0 means unlimited. With an verbosity of 2 blocked and - unblocked subnets will be logged. - ''; - }; + size = mkOption { + type = types.int; + default = 1000000; + description = '' + Size of the hashtable. More buckets use more memory but lower + the chance of hash hash collisions. + ''; + }; - whitelistRatelimit = mkOption { - type = types.int; - default = 2000; - description = '' - Max qps allowed from whitelisted sources. - 0 means unlimited. Set the rrl-whitelist option for specific - queries to apply this limit instead of the default to them. - ''; - }; + ratelimit = mkOption { + type = types.int; + default = 200; + description = '' + Max qps allowed from any query source. + 0 means unlimited. With an verbosity of 2 blocked and + unblocked subnets will be logged. + ''; + }; - slip = mkOption { - type = types.nullOr types.int; - default = null; - description = '' - Number of packets that get discarded before replying a SLIP response. - 0 disables SLIP responses. 1 will make every response a SLIP response. - ''; - }; + whitelistRatelimit = mkOption { + type = types.int; + default = 2000; + description = '' + Max qps allowed from whitelisted sources. + 0 means unlimited. Set the rrl-whitelist option for specific + queries to apply this limit instead of the default to them. + ''; + }; - ipv4PrefixLength = mkOption { - type = types.nullOr types.int; - default = null; - description = '' - IPv4 prefix length. Addresses are grouped by netblock. - ''; - }; + slip = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Number of packets that get discarded before replying a SLIP response. + 0 disables SLIP responses. 1 will make every response a SLIP response. + ''; + }; - ipv6PrefixLength = mkOption { - type = types.nullOr types.int; - default = null; - description = '' - IPv6 prefix length. Addresses are grouped by netblock. - ''; - }; + ipv4PrefixLength = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + IPv4 prefix length. Addresses are grouped by netblock. + ''; + }; - }; - }); - default = { + ipv6PrefixLength = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + IPv6 prefix length. Addresses are grouped by netblock. + ''; }; - example = {}; - description = '' - ''; }; - remoteControl = mkOption { - type = types.submodule ( - { config, options, ... }: - { options = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Wheter to enable remote control via nsd-control(8). - ''; - }; - - interfaces = mkOption { - type = types.listOf types.str; - default = [ "127.0.0.1" "::1" ]; - description = '' - Which interfaces NSD should bind to for remote control. - ''; - }; - - port = mkOption { - type = types.int; - default = 8952; - description = '' - Port number for remote control operations (uses TLS over TCP). - ''; - }; + remoteControl = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Wheter to enable remote control via nsd-control(8). + ''; + }; - serverKeyFile = mkOption { - type = types.path; - default = "/etc/nsd/nsd_server.key"; - description = '' - Path to the server private key, which is used by the server - but not by nsd-control. This file is generated by nsd-control-setup. - ''; - }; + interfaces = mkOption { + type = types.listOf types.str; + default = [ "127.0.0.1" "::1" ]; + description = '' + Which interfaces NSD should bind to for remote control. + ''; + }; - serverCertFile = mkOption { - type = types.path; - default = "/etc/nsd/nsd_server.pem"; - description = '' - Path to the server self signed certificate, which is used by the server - but and by nsd-control. This file is generated by nsd-control-setup. - ''; - }; + port = mkOption { + type = types.int; + default = 8952; + description = '' + Port number for remote control operations (uses TLS over TCP). + ''; + }; - controlKeyFile = mkOption { - type = types.path; - default = "/etc/nsd/nsd_control.key"; - description = '' - Path to the client private key, which is used by nsd-control - but not by the server. This file is generated by nsd-control-setup. - ''; - }; + serverKeyFile = mkOption { + type = types.path; + default = "/etc/nsd/nsd_server.key"; + description = '' + Path to the server private key, which is used by the server + but not by nsd-control. This file is generated by nsd-control-setup. + ''; + }; - controlCertFile = mkOption { - type = types.path; - default = "/etc/nsd/nsd_control.pem"; - description = '' - Path to the client certificate signed with the server certificate. - This file is used by nsd-control and generated by nsd-control-setup. - ''; - }; + serverCertFile = mkOption { + type = types.path; + default = "/etc/nsd/nsd_server.pem"; + description = '' + Path to the server self signed certificate, which is used by the server + but and by nsd-control. This file is generated by nsd-control-setup. + ''; + }; - }; + controlKeyFile = mkOption { + type = types.path; + default = "/etc/nsd/nsd_control.key"; + description = '' + Path to the client private key, which is used by nsd-control + but not by the server. This file is generated by nsd-control-setup. + ''; + }; - }); - default = { + controlCertFile = mkOption { + type = types.path; + default = "/etc/nsd/nsd_control.pem"; + description = '' + Path to the client certificate signed with the server certificate. + This file is used by nsd-control and generated by nsd-control-setup. + ''; }; - example = {}; - description = '' - ''; }; diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix new file mode 100644 index 0000000000000000000000000000000000000000..bd8a7a04a2af81c70a45c3844e620433f68eb912 --- /dev/null +++ b/nixos/modules/services/networking/openntpd.nix @@ -0,0 +1,49 @@ +{ pkgs, lib, config, options, ... }: + +with lib; + +let + cfg = config.services.openntpd; + + package = pkgs.openntpd.override { + privsepUser = "ntp"; + privsepPath = "/var/empty"; + }; + + cfgFile = pkgs.writeText "openntpd.conf" '' + ${concatStringsSep "\n" (map (s: "server ${s}") cfg.servers)} + ''; +in +{ + ###### interface + + options.services.openntpd = { + enable = mkEnableOption "OpenNTP time synchronization server"; + + servers = mkOption { + default = config.services.ntp.servers; + type = types.listOf types.str; + inherit (options.services.ntp.servers) description; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + services.ntp.enable = mkForce false; + + users.extraUsers = singleton { + name = "ntp"; + uid = config.ids.uids.ntp; + description = "OpenNTP daemon user"; + home = "/var/empty"; + }; + + systemd.services.openntpd = { + description = "OpenNTP Server"; + wantedBy = [ "ip-up.target" ]; + partOf = [ "ip-up.target" ]; + serviceConfig.ExecStart = "${package}/sbin/ntpd -d -f ${cfgFile}"; + }; + }; +} diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix index 950112b2dabe4ab9ae05b3ec324c8337113e585e..94beb78ef5a46b440d52e2e20f6ee6ebf36bcf44 100644 --- a/nixos/modules/services/networking/privoxy.nix +++ b/nixos/modules/services/networking/privoxy.nix @@ -6,19 +6,18 @@ let inherit (pkgs) privoxy; - stateDir = "/var/spool/privoxy"; - privoxyUser = "privoxy"; - privoxyFlags = "--no-daemon --user ${privoxyUser} ${privoxyCfg}"; - - privoxyCfg = pkgs.writeText "privoxy.conf" '' - listen-address ${config.services.privoxy.listenAddress} - logdir ${config.services.privoxy.logDir} - confdir ${privoxy}/etc - filterfile default.filter + cfg = config.services.privoxy; - ${config.services.privoxy.extraConfig} + confFile = pkgs.writeText "privoxy.conf" '' + user-manual ${privoxy}/share/doc/privoxy/user-manual + confdir ${privoxy}/etc/ + listen-address ${cfg.listenAddress} + enable-edit-actions ${if (cfg.enableEditActions == true) then "1" else "0"} + ${concatMapStrings (f: "actionsfile ${f}\n") cfg.actionsFiles} + ${concatMapStrings (f: "filterfile ${f}\n") cfg.filterFiles} + ${cfg.extraConfig} ''; in @@ -32,27 +31,51 @@ in services.privoxy = { enable = mkOption { + type = types.bool; default = false; description = '' - Whether to run the machine as a HTTP proxy server. + Whether to enable the Privoxy non-caching filtering proxy. ''; }; listenAddress = mkOption { + type = types.str; default = "127.0.0.1:8118"; description = '' Address the proxy server is listening to. ''; }; - logDir = mkOption { - default = "/var/log/privoxy" ; + actionsFiles = mkOption { + type = types.listOf types.str; + example = [ "match-all.action" "default.action" "/etc/privoxy/user.action" ]; + default = [ "match-all.action" "default.action" ]; + description = '' + List of paths to Privoxy action files. + These paths may either be absolute or relative to the privoxy configuration directory. + ''; + }; + + filterFiles = mkOption { + type = types.listOf types.str; + example = [ "default.filter" "/etc/privoxy/user.filter" ]; + default = [ "default.filter" ]; + description = '' + List of paths to Privoxy filter files. + These paths may either be absolute or relative to the privoxy configuration directory. + ''; + }; + + enableEditActions = mkOption { + type = types.bool; + default = false; description = '' - Location for privoxy log files. + Whether or not the web-based actions file editor may be used. ''; }; extraConfig = mkOption { + type = types.lines; default = "" ; description = '' Extra configuration. Contents will be added verbatim to the configuration file. @@ -62,33 +85,22 @@ in }; - ###### implementation - config = mkIf config.services.privoxy.enable { + config = mkIf cfg.enable { - environment.systemPackages = [ privoxy ]; - users.extraUsers = singleton { name = privoxyUser; uid = config.ids.uids.privoxy; description = "Privoxy daemon user"; - home = stateDir; }; - jobs.privoxy = - { name = "privoxy"; - - startOn = "startup"; - - preStart = - '' - mkdir -m 0755 -p ${stateDir} - chown ${privoxyUser} ${stateDir} - ''; - - exec = "${privoxy}/sbin/privoxy ${privoxyFlags}"; - }; + systemd.services.privoxy = { + description = "Filtering web proxy"; + after = [ "network.target" "nss-lookup.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.ExecStart = "${privoxy}/sbin/privoxy --no-daemon --user ${privoxyUser} ${confFile}"; + }; }; diff --git a/nixos/modules/services/networking/radvd.nix b/nixos/modules/services/networking/radvd.nix index 08762c9c8372b7abc14410afa90ee825cccbc9b8..0199502163a3b6b782adb65011d439bc3f6668ab 100644 --- a/nixos/modules/services/networking/radvd.nix +++ b/nixos/modules/services/networking/radvd.nix @@ -52,24 +52,32 @@ in config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.radvd ]; + users.extraUsers.radvd = + { uid = config.ids.uids.radvd; + description = "Router Advertisement Daemon User"; + }; - jobs.radvd = + systemd.services.radvd = { description = "IPv6 Router Advertisement Daemon"; - startOn = "started network-interfaces"; + wantedBy = [ "multi-user.target" ]; + + after = [ "network.target" ]; - preStart = - '' - # !!! Radvd only works if IPv6 forwarding is enabled. But - # this should probably be done somewhere else (and not - # necessarily for all interfaces). - echo 1 > /proc/sys/net/ipv6/conf/all/forwarding - ''; + path = [ pkgs.radvd ]; - exec = "${pkgs.radvd}/sbin/radvd -m syslog -s -C ${confFile}"; + preStart = '' + mkdir -m 755 -p /run/radvd + chown radvd /run/radvd + ''; - daemonType = "fork"; + serviceConfig = + { ExecStart = "@${pkgs.radvd}/sbin/radvd radvd" + + " -p /run/radvd/radvd.pid -m syslog -u radvd -C ${confFile}"; + Restart = "always"; + Type = "forking"; + PIDFile = "/run/radvd/radvd.pid"; + }; }; }; diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index e4b29a0b90900bc3ca84b9760231f270f56449ac..379dec2e92c106b923788b32a502c9af9f83e7d8 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -144,6 +144,36 @@ in ''; }; + listenAddresses = mkOption { + type = types.listOf types.optionSet; + default = []; + example = [ { addr = "192.168.3.1"; port = 22; } { addr = "0.0.0.0"; port = 64022; } ]; + description = '' + List of addresses and ports to listen on (ListenAddress directive + in config). If port is not specified for address sshd will listen + on all ports specified by ports option. + NOTE: this will override default listening on all local addresses and port 22. + NOTE: setting this option won't automatically enable given ports + in firewall configuration. + ''; + options = { + addr = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Host, IPv4 or IPv6 address to listen to. + ''; + }; + port = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Port to listen to. + ''; + }; + }; + }; + passwordAuthentication = mkOption { type = types.bool; default = true; @@ -349,6 +379,10 @@ in Port ${toString port} '') cfg.ports} + ${concatMapStrings ({ port, addr }: '' + ListenAddress ${addr}${if port != null then ":" + toString port else ""} + '') cfg.listenAddresses} + ${optionalString cfgc.setXAuthLocation '' XAuthLocation ${pkgs.xorg.xauth}/bin/xauth ''} @@ -383,6 +417,10 @@ in assertion = (data.publicKey == null && data.publicKeyFile != null) || (data.publicKey != null && data.publicKeyFile == null); message = "knownHost ${name} must contain either a publicKey or publicKeyFile"; + }) + ++ flip map cfg.listenAddresses ({ addr, port }: { + assertion = addr != null; + message = "addr must be specified in each listenAddresses entry"; }); }; diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix index 4d53cd0750fb79ae5831394b764524aec5369e72..9b26b2b324486c3ea8cb285b49ddd83b0ef2916d 100644 --- a/nixos/modules/services/networking/znc.nix +++ b/nixos/modules/services/networking/znc.nix @@ -25,85 +25,6 @@ let paths = cfg.modulePackages; }; - confOptions = { ... }: { - options = { - modules = mkOption { - type = types.listOf types.string; - default = [ "partyline" "webadmin" "adminlog" "log" ]; - example = [ "partyline" "webadmin" "adminlog" "log" ]; - description = '' - A list of modules to include in the `znc.conf` file. - ''; - }; - - userModules = mkOption { - type = types.listOf types.string; - default = [ ]; - example = [ "fish" "push" ]; - description = '' - A list of user modules to include in the `znc.conf` file. - ''; - }; - - userName = mkOption { - default = defaultUserName; - example = "johntron"; - type = types.string; - description = '' - The user name to use when generating the `znc.conf` file. - This is the user name used by the user logging into the ZNC web admin. - ''; - }; - - nick = mkOption { - default = "znc-user"; - example = "john"; - type = types.string; - description = '' - The IRC nick to use when generating the `znc.conf` file. - ''; - }; - - passBlock = mkOption { - default = defaultPassBlock; - example = "Must be the block generated by the `znc --makepass` command."; - type = types.string; - description = '' - The pass block to use when generating the `znc.conf` file. - This is the password used by the user logging into the ZNC web admin. - This is the block generated by the `znc --makepass` command. - !!! If not specified, please change this after starting the service. !!! - ''; - }; - - port = mkOption { - default = 5000; - example = 5000; - type = types.int; - description = '' - Specifies the port on which to listen. - ''; - }; - - useSSL = mkOption { - default = true; - example = true; - type = types.bool; - description = '' - Indicates whether the ZNC server should use SSL when listening on the specified port. - ''; - }; - - extraZncConf = mkOption { - default = ""; - type = types.lines; - description = '' - Extra config to `znc.conf` file - ''; - }; - }; - }; - # Keep znc.conf in nix store, then symlink or copy into `dataDir`, depending on `mutable`. mkZncConf = confOpts: '' // Also check http://en.znc.in/wiki/Configuration @@ -211,24 +132,97 @@ in ''; }; - confOptions = mkOption { - default = {}; - example = { - modules = [ "log" ]; - userName = "john"; - nick = "johntron"; + /* TODO: add to the documentation of the current module: + + Values to use when creating a `znc.conf` file. + + confOptions = { + modules = [ "log" ]; + userName = "john"; + nick = "johntron"; + }; + */ + confOptions = { + modules = mkOption { + type = types.listOf types.string; + default = [ "partyline" "webadmin" "adminlog" "log" ]; + example = [ "partyline" "webadmin" "adminlog" "log" ]; + description = '' + A list of modules to include in the `znc.conf` file. + ''; + }; + + userModules = mkOption { + type = types.listOf types.string; + default = [ ]; + example = [ "fish" "push" ]; + description = '' + A list of user modules to include in the `znc.conf` file. + ''; + }; + + userName = mkOption { + default = defaultUserName; + example = "johntron"; + type = types.string; + description = '' + The user name to use when generating the `znc.conf` file. + This is the user name used by the user logging into the ZNC web admin. + ''; + }; + + nick = mkOption { + default = "znc-user"; + example = "john"; + type = types.string; + description = '' + The IRC nick to use when generating the `znc.conf` file. + ''; + }; + + passBlock = mkOption { + default = defaultPassBlock; + example = "Must be the block generated by the `znc --makepass` command."; + type = types.string; + description = '' + The pass block to use when generating the `znc.conf` file. + This is the password used by the user logging into the ZNC web admin. + This is the block generated by the `znc --makepass` command. + !!! If not specified, please change this after starting the service. !!! + ''; + }; + + port = mkOption { + default = 5000; + example = 5000; + type = types.int; + description = '' + Specifies the port on which to listen. + ''; + }; + + useSSL = mkOption { + default = true; + example = true; + type = types.bool; + description = '' + Indicates whether the ZNC server should use SSL when listening on the specified port. + ''; + }; + + extraZncConf = mkOption { + default = ""; + type = types.lines; + description = '' + Extra config to `znc.conf` file + ''; }; - type = types.optionSet; - description = '' - Values to use when creating a `znc.conf` file. - ''; - options = confOptions; }; modulePackages = mkOption { type = types.listOf types.package; default = [ ]; - example = [ pkgs.zncModules.fish pkgs.zncModules.push ]; + example = literalExample "[ pkgs.zncModules.fish pkgs.zncModules.push ]"; description = '' A list of global znc module packages to add to znc. ''; @@ -280,20 +274,16 @@ in # If mutable, regenerate conf file every time. ${optionalString (!cfg.mutable) '' - ${pkgs.coreutils}/echo "znc is set to be system-managed. Now deleting old znc.conf file to be regenerated." - ${pkgs.coreutils}/rm -f ${cfg.dataDir}/configs/znc.conf + ${pkgs.coreutils}/bin/echo "znc is set to be system-managed. Now deleting old znc.conf file to be regenerated." + ${pkgs.coreutils}/bin/rm -f ${cfg.dataDir}/configs/znc.conf ''} # Ensure essential files exist. if [[ ! -f ${cfg.dataDir}/configs/znc.conf ]]; then - ${pkgs.coreutils}/bin/echo "No znc.conf file found in ${cfg.dataDir}. Creating one now." - ${if (!cfg.mutable) - then "${pkgs.coreutils}/bin/ln --force -s ${zncConfFile} ${cfg.dataDir}/.znc/configs/znc.conf" - else '' - ${pkgs.coreutils}/bin/cp --no-clobber ${zncConfFile} ${cfg.dataDir}/configs/znc.conf - ${pkgs.coreutils}/bin/chmod u+rw ${cfg.dataDir}/configs/znc.conf - ${pkgs.coreutils}/bin/chown ${cfg.user} ${cfg.dataDir}/configs/znc.conf - ''} + ${pkgs.coreutils}/bin/echo "No znc.conf file found in ${cfg.dataDir}. Creating one now." + ${pkgs.coreutils}/bin/cp --no-clobber ${zncConfFile} ${cfg.dataDir}/configs/znc.conf + ${pkgs.coreutils}/bin/chmod u+rw ${cfg.dataDir}/configs/znc.conf + ${pkgs.coreutils}/bin/chown ${cfg.user} ${cfg.dataDir}/configs/znc.conf fi if [[ ! -f ${cfg.dataDir}/znc.pem ]]; then diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix index 057891a60475afb6a54d472fb8c16ec2036f5d8f..a4d54301fc172e273dd975a3c4ae4f13099fa2b4 100644 --- a/nixos/modules/services/security/clamav.nix +++ b/nixos/modules/services/security/clamav.nix @@ -71,10 +71,10 @@ in mkdir -m 0755 -p ${stateDir} chown ${clamavUser}:${clamavGroup} ${stateDir} ''; - exec = "${pkgs.clamav}/bin/freshclam --config-file=${pkgs.writeText "freshclam.conf" cfg.updater.config}"; + exec = "${pkgs.clamav}/bin/freshclam --daemon --config-file=${pkgs.writeText "freshclam.conf" cfg.updater.config}"; }; }; }; -} \ No newline at end of file +} diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix index df21ebbd9743ac88191e6e4a668f659fa0d5b9f5..3958be33df2c6032d307797407839fde2fc667b7 100644 --- a/nixos/modules/services/ttys/agetty.nix +++ b/nixos/modules/services/ttys/agetty.nix @@ -66,6 +66,13 @@ with lib; restartIfChanged = false; }; + systemd.services."console-getty" = + { serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud console 115200,38400,9600 $TERM"; + serviceConfig.Restart = "always"; + restartIfChanged = false; + enable = mkDefault config.boot.isContainer; + }; + environment.etc = singleton { # Friendly greeting on the virtual consoles. source = pkgs.writeText "issue" '' diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index 78f3cf2b7e495179680e430480af813042df3ada..9ac28373dacb3980a6d184b3785b081c892652c4 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -130,7 +130,7 @@ let ''; - loggingConf = '' + loggingConf = (if mainCfg.logFormat != "none" then '' ErrorLog ${mainCfg.logDir}/error_log LogLevel notice @@ -141,7 +141,9 @@ let LogFormat "%{User-agent}i" agent CustomLog ${mainCfg.logDir}/access_log ${mainCfg.logFormat} - ''; + '' else '' + ErrorLog /dev/null + ''); browserHacks = '' @@ -421,7 +423,7 @@ in package = mkOption { type = types.package; default = pkgs.apacheHttpd.override { mpm = mainCfg.multiProcessingModule; }; - example = "pkgs.apacheHttpd_2_4"; + example = literalExample "pkgs.apacheHttpd_2_4"; description = '' Overridable attribute of the Apache HTTP Server package to use. ''; diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix index aa9aec87f0c4e0706181db9c2b55185b88bf7a07..bb066aa6c4764dabeb72b312aefd74642a96c29d 100644 --- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix +++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix @@ -133,6 +133,7 @@ in RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d + ${concatMapStringsSep "\n" (u: "RewriteCond %{REQUEST_URI} !^${u.urlPath}") serverInfo.vhostConfig.servedDirs} RewriteRule ${if config.enableUploads then "!^/images" else "^.*\$" diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index c2f464014ae63e24354f94b088f107f5633b3525..2af249a8e961f8603dc1711f6d164dea2f16aede 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.tomcat; - tomcat = pkgs.tomcat6; + tomcat = pkgs.tomcat7; in { diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 06bcb6dbb8be2a3795cd41737fc0aeb6c56bd28e..049c96c54e710a3c221f97e83f2011c065e3f90a 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -37,7 +37,7 @@ in { services.xserver.desktopManager.gnome3.sessionPath = mkOption { default = []; - example = "[ pkgs.gnome3.gpaste ]"; + example = literalExample "[ pkgs.gnome3.gpaste ]"; description = "Additional list of packages to be added to the session search path. Useful for gnome shell extensions or gsettings-conditionated autostart."; apply = list: list ++ [ gnome3.gnome_shell ]; @@ -51,7 +51,7 @@ in { environment.gnome3.excludePackages = mkOption { default = []; - example = "[ pkgs.gnome3.totem ]"; + example = literalExample "[ pkgs.gnome3.totem ]"; type = types.listOf types.package; description = "Which packages gnome should exclude from the default environment"; }; diff --git a/nixos/modules/services/x11/desktop-managers/kde4.nix b/nixos/modules/services/x11/desktop-managers/kde4.nix index f74dd7e0444961a656c75e4ca16b3d6e66a3763d..669ddbd904f0aa0c9f747e3193b2f5b2e132c046 100644 --- a/nixos/modules/services/x11/desktop-managers/kde4.nix +++ b/nixos/modules/services/x11/desktop-managers/kde4.nix @@ -65,7 +65,7 @@ in environment.kdePackages = mkOption { default = []; - example = "[ pkgs.kde4.kdesdk ]"; + example = literalExample "[ pkgs.kde4.kdesdk ]"; type = types.listOf types.package; description = "This option is obsolete. Please use instead."; }; diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 3bf18bd58c842c95e91c2a571fe223062fdf7b04..6e61576f501f3dfea955ecd95284961b57e08785 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -251,14 +251,16 @@ in execCmd = mkOption { type = types.str; - example = "${pkgs.slim}/bin/slim"; + example = literalExample '' + "''${pkgs.slim}/bin/slim" + ''; description = "Command to start the display manager."; }; environment = mkOption { type = types.attrsOf types.unspecified; default = {}; - example = { SLIM_CFGFILE = /etc/slim.conf; }; + example = { SLIM_CFGFILE = "/etc/slim.conf"; }; description = "Additional environment variables needed by the display manager."; }; diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index 9ee4e0dc7cb0616ad0f9cb499186d655545c4de5..c7fbfa85e3353b5aff27f7d6b6b63f5a24b1c11f 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -19,6 +19,7 @@ let reboot_cmd ${config.systemd.package}/sbin/shutdown -r now ${optionalString (cfg.defaultUser != null) ("default_user " + cfg.defaultUser)} ${optionalString cfg.autoLogin "auto_login yes"} + ${cfg.extraConfig} ''; # Unpack the SLiM theme, or use the default. @@ -89,6 +90,15 @@ in ''; }; + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration options for SLiM login manager. Do not + add options that can be configured directly. + ''; + }; + }; }; diff --git a/nixos/modules/services/x11/window-managers/fluxbox.nix b/nixos/modules/services/x11/window-managers/fluxbox.nix new file mode 100644 index 0000000000000000000000000000000000000000..4748ce99ccf2da679155809a2e91050b91129549 --- /dev/null +++ b/nixos/modules/services/x11/window-managers/fluxbox.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.windowManager.fluxbox; +in +{ + ###### interface + options = { + services.xserver.windowManager.fluxbox.enable = mkOption { + default = false; + description = "Enable the Fluxbox window manager."; + }; + }; + + ###### implementation + config = mkIf cfg.enable { + services.xserver.windowManager.session = singleton { + name = "fluxbox"; + start = '' + ${pkgs.fluxbox}/bin/startfluxbox & + waitPID=$! + ''; + }; + environment.systemPackages = [ pkgs.fluxbox ]; + }; +} diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 5f3e8003b45b7d2f01bd9cb295c0130df87fd0cc..21eaf6bb6b76f10fd65a321247e22f36923d6146 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -151,7 +151,7 @@ in modules = mkOption { type = types.listOf types.path; default = []; - example = [ pkgs.xf86_input_wacom ]; + example = literalExample "[ pkgs.xf86_input_wacom ]"; description = "Packages to be added to the module search path of the X server."; }; @@ -201,7 +201,7 @@ in vaapiDrivers = mkOption { type = types.listOf types.path; default = [ ]; - example = "[ pkgs.vaapiIntel pkgs.vaapiVdpau ]"; + example = literalExample "[ pkgs.vaapiIntel pkgs.vaapiVdpau ]"; description = '' Packages providing libva acceleration drivers. ''; diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index 9beb7fabce125d12ce88d438797fe08baeca11c0..79b173a6ead8fbb08d82b8aa6bba6ba575b1201e 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -195,6 +195,7 @@ in "xhci_hcd" "usbhid" "hid_generic" + "hid_apple" "hid_logitech_dj" "hid_lenovo_tpkbd" "hid_roccat" # Unix domain sockets (needed by udev). "unix" diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index c3aa8518b8bb783fcba1d40bd056cf87c922385c..b4900358a5dcd6a3d3ca8d5e50122c44aacff755 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -66,7 +66,6 @@ if ($explicitBootRoot ne "") { $bootRoot = $explicitBootRoot; } - # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index c923cc49c4499bc9ecdd2daa82a8914fdb6a7b46..70ff1d588a36ec05bc7d58285996c99310c0168b 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -342,40 +342,39 @@ in description = "Path where the ramfs used to update the LUKS key will be mounted in stage-1"; }; - storage = mkOption { - type = types.optionSet; - description = "Options related to the storing the salt"; - - options = { - device = mkOption { - default = /dev/sda1; - type = types.path; - description = '' - An unencrypted device that will temporarily be mounted in stage-1. - Must contain the current salt to create the challenge for this LUKS device. - ''; - }; - - fsType = mkOption { - default = "vfat"; - type = types.string; - description = "The filesystem of the unencrypted device"; - }; - - mountPoint = mkOption { - default = "/crypt-storage"; - type = types.string; - description = "Path where the unencrypted device will be mounted in stage-1"; - }; - - path = mkOption { - default = "/crypt-storage/default"; - type = types.string; - description = '' - Absolute path of the salt on the unencrypted device with - that device's root directory as "/". - ''; - }; + /* TODO: Add to the documentation of the current module: + + Options related to the storing the salt. + */ + storage = { + device = mkOption { + default = "/dev/sda1"; + type = types.path; + description = '' + An unencrypted device that will temporarily be mounted in stage-1. + Must contain the current salt to create the challenge for this LUKS device. + ''; + }; + + fsType = mkOption { + default = "vfat"; + type = types.string; + description = "The filesystem of the unencrypted device"; + }; + + mountPoint = mkOption { + default = "/crypt-storage"; + type = types.string; + description = "Path where the unencrypted device will be mounted in stage-1"; + }; + + path = mkOption { + default = "/crypt-storage/default"; + type = types.string; + description = '' + Absolute path of the salt on the unencrypted device with + that device's root directory as "/". + ''; }; }; }; diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix index 652eb046f50a785756292389f535a37258ae254e..eaf8cf1ecd6f2829f0d977dbe988a721d304cc30 100644 --- a/nixos/modules/system/boot/modprobe.nix +++ b/nixos/modules/system/boot/modprobe.nix @@ -77,6 +77,11 @@ with lib; '')} ${config.boot.extraModprobeConfig} ''; + environment.etc."modprobe.d/usb-load-ehci-first.conf".text = + '' + softdep uhci_hcd pre: ehci_hcd + softdep ohci_hcd pre: ehci_hcd + ''; environment.systemPackages = [ config.system.sbin.modprobe pkgs.kmod ]; diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 6a069c5d0540f730010ff366ed7c1c2383496b88..426da778f434dc31e7b7ce850991baf063669676 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -199,6 +199,18 @@ let { object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf; symlink = "/etc/mdadm.conf"; } + { object = pkgs.stdenv.mkDerivation { + name = "initrd-kmod-blacklist-ubuntu"; + builder = pkgs.writeText "builder.sh" '' + source $stdenv/setup + target=$out + + ${pkgs.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out + ''; + src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; + }; + symlink = "/etc/modprobe.d/ubuntu.conf"; + } ]; }; diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix index e8c3d8ab56d531e04166f64ef9b91fbaeb3ba11f..c902b9e0790577d76cffb019af6280c13dc2b608 100644 --- a/nixos/modules/tasks/filesystems/nfs.nix +++ b/nixos/modules/tasks/filesystems/nfs.nix @@ -24,13 +24,37 @@ let Method = nsswitch ''; + cfg = config.services.nfs; + in { + ###### interface + + options = { + + services.nfs = { + statdPort = mkOption { + default = null; + example = 4000; + description = '' + Use fixed port for rpc.statd, usefull if NFS server is behind firewall. + ''; + }; + lockdPort = mkOption { + default = null; + example = 4001; + description = '' + Use fixed port for NFS lock manager kernel module (lockd/nlockmgr), + usefull if NFS server is behind firewall. + ''; + }; + }; + }; ###### implementation - config = mkIf (any (fs: fs == "nfs" || fs == "nfs4") config.boot.supportedFilesystems) { + config = mkIf (any (fs: fs == "nfs" || fs == "nfs4") config.boot.supportedFilesystems) ({ services.rpcbind.enable = true; @@ -60,7 +84,10 @@ in ''; serviceConfig.Type = "forking"; - serviceConfig.ExecStart = "@${pkgs.nfsUtils}/sbin/rpc.statd rpc.statd --no-notify"; + serviceConfig.ExecStart = '' + @${pkgs.nfsUtils}/sbin/rpc.statd rpc.statd --no-notify \ + ${if cfg.statdPort != null then "-p ${toString statdPort}" else ""} + ''; serviceConfig.Restart = "always"; }; @@ -90,5 +117,9 @@ in serviceConfig.Restart = "always"; }; - }; + } // mkIf (cfg.lockdPort != null) { + boot.extraModprobeConfig = '' + options lockd nlm_udpport=${toString cfg.lockdPort} nlm_tcpport=${toString cfg.lockdPort} + ''; + }); } diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 991f9f261450613cb702c41ec2f28089ff37931f..2adb4bcfababc6f3a260d6ecdb0a7d52c842dc82 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -7,8 +7,29 @@ let cfg = config.networking; interfaces = attrValues cfg.interfaces; hasVirtuals = any (i: i.virtual) interfaces; + hasSits = cfg.sits != { }; hasBonds = cfg.bonds != { }; + addrOpts = v: + assert v == 4 || v == 6; + { + address = mkOption { + type = types.str; + description = '' + IPv${toString v} address of the interface. Leave empty to configure the + interface using DHCP. + ''; + }; + + prefixLength = mkOption { + type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128)); + description = '' + Subnet mask of the interface, specified as the number of + bits in the prefix (${if v == 4 then "24" else "64"}). + ''; + }; + }; + interfaceOpts = { name, ... }: { options = { @@ -19,10 +40,36 @@ let description = "Name of the interface."; }; + ip4 = mkOption { + default = [ ]; + example = [ + { address = "10.0.0.1"; prefixLength = 16; } + { address = "192.168.1.1"; prefixLength = 24; } + ]; + type = types.listOf types.optionSet; + options = addrOpts 4; + description = '' + List of IPv4 addresses that will be statically assigned to the interface. + ''; + }; + + ip6 = mkOption { + default = [ ]; + example = [ + { address = "fdfd:b3f0:482::1"; prefixLength = 48; } + { address = "2001:1470:fffd:2098::e006"; prefixLength = 64; } + ]; + type = types.listOf types.optionSet; + options = addrOpts 6; + description = '' + List of IPv6 addresses that will be statically assigned to the interface. + ''; + }; + ipAddress = mkOption { default = null; example = "10.0.0.1"; - type = types.nullOr (types.str); + type = types.nullOr types.str; description = '' IP address of the interface. Leave empty to configure the interface using DHCP. @@ -40,20 +87,16 @@ let }; subnetMask = mkOption { - default = ""; - example = "255.255.255.0"; - type = types.str; + default = null; description = '' - Subnet mask of the interface, specified as a bitmask. - This is deprecated; use - instead. + Defunct, supply the prefix length instead. ''; }; ipv6Address = mkOption { default = null; example = "2001:1470:fffd:2098::e006"; - type = types.nullOr types.string; + type = types.nullOr types.str; description = '' IPv6 address of the interface. Leave empty to configure the interface using NDP. @@ -223,10 +266,10 @@ in networking.interfaces = mkOption { default = {}; example = - { eth0 = { - ipAddress = "131.211.84.78"; - subnetMask = "255.255.255.128"; - }; + { eth0.ip4 = [ { + address = "131.211.84.78"; + prefixLength = 25; + } ]; }; description = '' The configuration for each network interface. If @@ -321,6 +364,66 @@ in }; }; + networking.sits = mkOption { + type = types.attrsOf types.optionSet; + default = { }; + example = { + hurricane = { + remote = "10.0.0.1"; + local = "10.0.0.22"; + ttl = 255; + }; + msipv6 = { + remote = "192.168.0.1"; + dev = "enp3s0"; + ttl = 127; + }; + }; + description = '' + This option allows you to define 6-to-4 interfaces which should be automatically created. + ''; + options = { + + remote = mkOption { + type = types.nullOr types.str; + default = null; + example = "10.0.0.1"; + description = '' + The address of the remote endpoint to forward traffic over. + ''; + }; + + local = mkOption { + type = types.nullOr types.str; + default = null; + example = "10.0.0.22"; + description = '' + The address of the local endpoint which the remote + side should send packets to. + ''; + }; + + ttl = mkOption { + type = types.nullOr types.int; + default = null; + example = 255; + description = '' + The time-to-live of the connection to the remote tunnel endpoint. + ''; + }; + + dev = mkOption { + type = types.nullOr types.str; + default = null; + example = "enp4s0f0"; + description = '' + The underlying network device on which the tunnel resides. + ''; + }; + + }; + }; + networking.vlans = mkOption { default = { }; example = { @@ -377,9 +480,16 @@ in config = { + assertions = + flip map interfaces (i: { + assertion = i.subnetMask == null; + message = "The networking.interfaces.${i.name}.subnetMask option is defunct. Use prefixLength instead."; + }); + boot.kernelModules = [ ] ++ optional cfg.enableIPv6 "ipv6" ++ optional hasVirtuals "tun" + ++ optional hasSits "sit" ++ optional hasBonds "bonding"; boot.extraModprobeConfig = @@ -472,12 +582,18 @@ in # network device, so it only gets started after the interface # has appeared, and it's stopped when the interface # disappears. - configureInterface = i: nameValuePair "${i.name}-cfg" - (let mask = - if i.prefixLength != null then toString i.prefixLength else - if i.subnetMask != "" then i.subnetMask else "32"; - staticIPv6 = cfg.enableIPv6 && i.ipv6Address != null; + configureInterface = i: + let + ips = i.ip4 ++ optionals cfg.enableIPv6 i.ip6 + ++ optional (i.ipAddress != null) { + address = i.ipAddress; + prefixLength = i.prefixLength; + } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) { + address = i.ipv6Address; + prefixLength = i.ipv6PrefixLength; + }; in + nameValuePair "${i.name}-cfg" { description = "Configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; bindsTo = [ "sys-subsystem-net-devices-${i.name}.device" ]; @@ -500,36 +616,32 @@ in echo "setting MTU to ${toString i.mtu}..." ip link set "${i.name}" mtu "${toString i.mtu}" '' - + optionalString (i.ipAddress != null) + + # Ip Setup + + '' - cur=$(ip -4 -o a show dev "${i.name}" | awk '{print $4}') - # Only do a flush/add if it's necessary. This is + curIps=$(ip -o a show dev "${i.name}" | awk '{print $4}') + # Only do an add if it's necessary. This is # useful when the Nix store is accessed via this # interface (e.g. in a QEMU VM test). - if [ "$cur" != "${i.ipAddress}/${mask}" ]; then - echo "configuring interface..." - ip -4 addr flush dev "${i.name}" - ip -4 addr add "${i.ipAddress}/${mask}" dev "${i.name}" - restart_network_setup=true - else - echo "skipping configuring interface" - fi '' - + optionalString (staticIPv6) + + flip concatMapStrings (ips) (ip: + let + address = "${ip.address}/${toString ip.prefixLength}"; + in '' - # Only do a flush/add if it's necessary. This is - # useful when the Nix store is accessed via this - # interface (e.g. in a QEMU VM test). - if ! ip -6 -o a show dev "${i.name}" | grep "${i.ipv6Address}/${toString i.ipv6prefixLength}"; then - echo "configuring interface..." - ip -6 addr flush dev "${i.name}" - ip -6 addr add "${i.ipv6Address}/${toString i.ipv6prefixLength}" dev "${i.name}" - restart_network_setup=true - else - echo "skipping configuring interface" + echo "checking ip ${address}..." + if ! echo "$curIps" | grep "${address}" >/dev/null 2>&1; then + if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then + echo "added ip ${address}..." + restart_network_setup=true + elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then + echo "failed to add ${address}" + exit 1 + fi fi - '' - + optionalString (i.ipAddress != null || staticIPv6) + '') + + optionalString (ips != [ ]) '' if [ restart_network_setup = true ]; then # Ensure that the default gateway remains set. @@ -546,7 +658,20 @@ in '' echo 1 > /proc/sys/net/ipv6/conf/${i.name}/proxy_ndp ''; - }); + preStop = + '' + echo "releasing configured ip's..." + '' + + flip concatMapStrings (ips) (ip: + let + address = "${ip.address}/${toString ip.prefixLength}"; + in + '' + echo -n "Deleting ${address}..." + ip addr del "${address}" dev "${i.name}" >/dev/null 2>&1 || echo -n " Failed" + echo "" + ''); + }; createTunDevice = i: nameValuePair "${i.name}" { description = "Virtual Network Interface ${i.name}"; @@ -641,6 +766,32 @@ in ''; }; + createSitDevice = n: v: + let + deps = optional (v.dev != null) "sys-subsystem-net-devices-${v.dev}.device"; + in + { description = "6-to-4 Tunnel Interface ${n}"; + wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ]; + bindsTo = deps; + after = deps; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + path = [ pkgs.iproute ]; + script = '' + # Remove Dead Interfaces + ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}" + ip link add "${n}" type sit \ + ${optionalString (v.remote != null) "remote \"${v.remote}\""} \ + ${optionalString (v.local != null) "local \"${v.local}\""} \ + ${optionalString (v.ttl != null) "ttl ${toString v.ttl}"} \ + ${optionalString (v.dev != null) "dev \"${v.dev}\""} + ip link set "${n}" up + ''; + postStop = '' + ip link delete "${n}" + ''; + }; + createVlanDevice = n: v: let deps = [ "sys-subsystem-net-devices-${v.interface}.device" ]; @@ -668,6 +819,7 @@ in map createTunDevice (filter (i: i.virtual) interfaces)) // mapAttrs createBridgeDevice cfg.bridges // mapAttrs createBondDevice cfg.bonds + // mapAttrs createSitDevice cfg.sits // mapAttrs createVlanDevice cfg.vlans // { "network-setup" = networkSetup; }; diff --git a/nixos/modules/tasks/trackpoint.nix b/nixos/modules/tasks/trackpoint.nix index d1c6f8ac15657bc0b1f5018559a7c4222270d773..5d1bb631b54f06aacadf91689e6c7e9e9da71966 100644 --- a/nixos/modules/tasks/trackpoint.nix +++ b/nixos/modules/tasks/trackpoint.nix @@ -36,6 +36,14 @@ with lib; configures 97. ''; }; + + emulateWheel = mkOption { + default = false; + type = types.bool; + description = '' + Enable scrolling while holding the middle mouse button. + ''; + }; }; @@ -44,17 +52,33 @@ with lib; ###### implementation - config = mkIf config.hardware.trackpoint.enable { - - services.udev.extraRules = - '' - ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/speed}="${toString config.hardware.trackpoint.speed}", ATTR{device/sensitivity}="${toString config.hardware.trackpoint.sensitivity}" - ''; - - system.activationScripts.trackpoint = + config = mkMerge [ + (mkIf config.hardware.trackpoint.enable { + services.udev.extraRules = '' - ${config.systemd.package}/bin/udevadm trigger --attr-match=name="TPPS/2 IBM TrackPoint" + ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/speed}="${toString config.hardware.trackpoint.speed}", ATTR{device/sensitivity}="${toString config.hardware.trackpoint.sensitivity}" ''; - }; + system.activationScripts.trackpoint = + '' + ${config.systemd.package}/bin/udevadm trigger --attr-match=name="TPPS/2 IBM TrackPoint" + ''; + }) + + (mkIf config.hardware.trackpoint.emulateWheel { + services.xserver.config = + '' + Section "InputClass" + Identifier "Trackpoint Wheel Emulation" + MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint" + MatchDevicePath "/dev/input/event*" + Option "EmulateWheel" "true" + Option "EmulateWheelButton" "2" + Option "Emulate3Buttons" "false" + Option "XAxisMapping" "6 7" + Option "YAxisMapping" "4 5" + EndSection + ''; + }) + ]; } diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix index 84e3aa28352070d796ecdcd6336a06fcfaf2862e..a7e8953827a69cc058b88987461727edd5e69076 100644 --- a/nixos/modules/virtualisation/container-config.nix +++ b/nixos/modules/virtualisation/container-config.nix @@ -18,77 +18,6 @@ with lib; # Shut up warnings about not having a boot loader. system.build.installBootLoader = "${pkgs.coreutils}/bin/true"; - # Provide a root login prompt on /var/lib/root-login.socket that - # doesn't ask for a password. This socket can only be used by root - # on the host. - systemd.sockets.root-login = - { description = "Root Login Socket"; - wantedBy = [ "sockets.target" ]; - socketConfig = - { ListenStream = "/var/lib/root-login.socket"; - SocketMode = "0600"; - Accept = true; - }; - }; - - systemd.services."root-login@" = - { description = "Root Login %i"; - environment.TERM = "linux"; - serviceConfig = - { Type = "simple"; - StandardInput = "socket"; - ExecStart = "${pkgs.socat}/bin/socat -t0 - \"exec:${pkgs.shadow}/bin/login -f root,pty,setsid,setpgid,stderr,ctty\""; - TimeoutStopSec = 1; # FIXME - }; - restartIfChanged = false; - }; - - # Provide a daemon on /var/lib/run-command.socket that reads a - # command from stdin and executes it. - systemd.sockets.run-command = - { description = "Run Command Socket"; - wantedBy = [ "sockets.target" ]; - socketConfig = - { ListenStream = "/var/lib/run-command.socket"; - SocketMode = "0600"; # only root can connect - Accept = true; - }; - }; - - systemd.services."run-command@" = - { description = "Run Command %i"; - environment.TERM = "linux"; - serviceConfig = - { Type = "simple"; - StandardInput = "socket"; - TimeoutStopSec = 1; # FIXME - }; - script = - '' - #! ${pkgs.stdenv.shell} -e - source /etc/bashrc - read c - eval "command=($c)" - exec "''${command[@]}" - ''; - restartIfChanged = false; - }; - - systemd.services.container-startup-done = - { description = "Container Startup Notification"; - wantedBy = [ "multi-user.target" ]; - after = [ "multi-user.target" ]; - script = - '' - if [ -p /var/lib/startup-done ]; then - echo done > /var/lib/startup-done - fi - ''; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - restartIfChanged = false; - }; - systemd.services.systemd-remount-fs.enable = false; }; diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 292b96e6eb243f9ad228fd9754ad1f34b0c55f93..d62340f2c798ebe50ddee7870fdd4b1655f3582c 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -10,7 +10,7 @@ let isExecutable = true; src = ./nixos-container.pl; perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; - inherit (pkgs) socat; + inherit (pkgs) utillinux; }; # The container's init script, a small wrapper around the regular @@ -254,9 +254,8 @@ in ExecReload = pkgs.writeScript "reload-container" '' #! ${pkgs.stdenv.shell} -e - SYSTEM_PATH=/nix/var/nix/profiles/system - echo $SYSTEM_PATH/bin/switch-to-configuration test | \ - ${pkgs.socat}/bin/socat unix:$root/var/lib/run-command.socket - + ${nixos-container}/bin/nixos-container run "$INSTANCE" -- \ + bash --login -c "/nix/var/nix/profiles/system/bin/switch-to-configuration test" ''; SyslogIdentifier = "container %i"; diff --git a/nixos/modules/virtualisation/docker-image.nix b/nixos/modules/virtualisation/docker-image.nix new file mode 100644 index 0000000000000000000000000000000000000000..13b861dc98849bfd5f552a8d01dfdcce1e957ecc --- /dev/null +++ b/nixos/modules/virtualisation/docker-image.nix @@ -0,0 +1,67 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + pkgs2storeContents = l : map (x: { object = x; symlink = "none"; }) l; + +in { + # Create the tarball + system.build.dockerImage = import ../../lib/make-system-tarball.nix { + inherit (pkgs) stdenv perl xz pathsFromGraph; + + contents = []; + extraArgs = "--owner=0"; + storeContents = [ + { object = config.system.build.toplevel + "/init"; + symlink = "/bin/init"; + } + ] ++ (pkgs2storeContents [ pkgs.stdenv ]); + }; + + boot.postBootCommands = + '' + # After booting, register the contents of the Nix store in the Nix + # database. + if [ -f /nix-path-registration ]; then + ${config.nix.package}/bin/nix-store --load-db < /nix-path-registration && + rm /nix-path-registration + fi + + # nixos-rebuild also requires a "system" profile and an + # /etc/NIXOS tag. + touch /etc/NIXOS + ${config.nix.package}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system + + # Set virtualisation to docker + echo "docker" > /run/systemd/container + ''; + + + # docker image config + require = [ + ../installer/cd-dvd/channel.nix + ../profiles/minimal.nix + ../profiles/clone-config.nix + ]; + + boot.isContainer = true; + + # Iptables do not work in docker + networking.firewall.enable = false; + + services.openssh.enable = true; + + # Socket activated ssh presents problem in docker + services.openssh.startWhenNeeded = false; + + # Allow the user to login as root without password + security.initialRootPassword = ""; + + # Some more help text. + services.mingetty.helpLine = + '' + + Log in as "root" with an empty password. + ''; +} diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index d7d700d88412d841cab51dee5d78365925b824f2..318460f4c2cf03cf2095fee568a38b0695a4c597 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -7,6 +7,7 @@ with lib; let cfg = config.virtualisation.libvirtd; + vswitch = config.virtualisation.vswitch; configFile = pkgs.writeText "libvirtd.conf" '' unix_sock_group = "libvirtd" unix_sock_rw_perms = "0770" @@ -56,6 +57,20 @@ in ''; }; + virtualisation.libvirtd.onShutdown = + mkOption { + type = types.enum ["shutdown" "suspend" ]; + default = "suspend"; + description = + '' + When shutting down / restarting the host what method should + be used to gracefully halt the guests. Setting to "shutdown" + will cause an ACPI shutdown of each guest. "suspend" will + attempt to save the state of the guests ready to restore on boot. + ''; + }; + + }; @@ -73,12 +88,17 @@ in { description = "Libvirt Virtual Machine Management Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "systemd-udev-settle.service" ]; + after = [ "systemd-udev-settle.service" ] + ++ optional vswitch.enable "vswitchd.service"; - path = - [ pkgs.bridge_utils pkgs.dmidecode pkgs.dnsmasq + path = [ + pkgs.bridge_utils + pkgs.dmidecode + pkgs.dnsmasq pkgs.ebtables - ] ++ optional cfg.enableKVM pkgs.qemu_kvm; + ] + ++ optional cfg.enableKVM pkgs.qemu_kvm + ++ optional vswitch.enable vswitch.package; preStart = '' @@ -152,7 +172,12 @@ in ${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests start || true ''; - postStop = "${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests stop"; + postStop = + '' + export PATH=${pkgs.gettext}/bin:$PATH + export ON_SHUTDOWN=${cfg.onShutdown} + ${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests stop + ''; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl index bf6f16fc6c77b0dade9bac7486a68ce85ca2ddb0..7403a42f0f1422fb8f3cbddb76dbc13a41939730 100644 --- a/nixos/modules/virtualisation/nixos-container.pl +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -7,7 +7,7 @@ use File::Slurp; use Fcntl ':flock'; use Getopt::Long qw(:config gnu_getopt); -my $socat = '@socat@/bin/socat'; +my $nsenter = "@utillinux@/bin/nsenter"; # Ensure a consistent umask. umask 0022; @@ -25,7 +25,6 @@ Usage: nixos-container list nixos-container login nixos-container root-login nixos-container run -- args... - nixos-container set-root-password nixos-container show-ip nixos-container show-host-key EOF @@ -186,6 +185,22 @@ sub stopContainer { or die "$0: failed to stop container\n"; } +# Return the PID of the init process of the container. +sub getLeader { + my $s = `machinectl show "$containerName" -p Leader`; + chomp $s; + $s =~ /^Leader=(\d+)$/ or die "unable to get container's main PID\n"; + return int($1); +} + +# Run a command in the container. +sub runInContainer { + my @args = @_; + my $leader = getLeader; + exec($nsenter, "-t", $leader, "-m", "-u", "-i", "-n", "-p", "--", @args); + die "cannot run ‘nsenter’: $!\n"; +} + if ($action eq "destroy") { die "$0: cannot destroy declarative container (remove it from your configuration.nix instead)\n" unless POSIX::access($confFile, &POSIX::W_OK); @@ -235,28 +250,14 @@ elsif ($action eq "login") { } elsif ($action eq "root-login") { - exec($socat, "unix:$root/var/lib/root-login.socket", "-,echo=0,raw"); + runInContainer("su", "root", "-l"); } elsif ($action eq "run") { shift @ARGV; shift @ARGV; - my $pid = open(SOCAT, "|-", $socat, "-t0", "-", "unix:$root/var/lib/run-command.socket") or die "$0: cannot start $socat: $!\n"; - print SOCAT join(' ', map { "'$_'" } @ARGV), "\n"; - flush SOCAT; - waitpid($pid, 0); - close(SOCAT); -} - -elsif ($action eq "set-root-password") { - # FIXME: don't get password from the command line. - my $password = $ARGV[2] or die "$0: no password given\n"; - my $pid = open(SOCAT, "|-", $socat, "-t0", "-", "unix:$root/var/lib/run-command.socket") or die "$0: cannot start $socat: $!\n"; - print SOCAT "passwd\n"; - print SOCAT "$password\n"; - print SOCAT "$password\n"; - flush SOCAT; - waitpid($pid, 0); - close(SOCAT); + # Escape command. + my $s = join(' ', map { s/'/'\\''/g; "'$_'" } @ARGV); + runInContainer("su", "root", "-l", "-c", "exec " . $s); } elsif ($action eq "show-ip") { diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix new file mode 100644 index 0000000000000000000000000000000000000000..c1579d94657c82bd83c15d5b4eb8253ee59a221f --- /dev/null +++ b/nixos/modules/virtualisation/openvswitch.nix @@ -0,0 +1,117 @@ +# Systemd services for openvswitch + +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.virtualisation.vswitch; + +in + +{ + + options = { + + virtualisation.vswitch.enable = mkOption { + type = types.bool; + default = false; + description = + '' + Enable Open vSwitch. A configuration + daemon (ovs-server) will be started. + ''; + }; + + + virtualisation.vswitch.package = mkOption { + type = types.package; + default = pkgs.openvswitch; + description = + '' + Open vSwitch package to use. + ''; + }; + + }; + + config = mkIf cfg.enable (let + + # Where the communication sockets live + runDir = "/var/run/openvswitch"; + + # Where the config database live (can't be in nix-store) + stateDir = "/var/db/openvswitch"; + + # The path to the an initialized version of the database + db = pkgs.stdenv.mkDerivation { + name = "vswitch.db"; + unpackPhase = "true"; + buildPhase = "true"; + buildInputs = with pkgs; [ + cfg.package + ]; + installPhase = + '' + ensureDir $out/ + ''; + }; + + in { + + environment.systemPackages = [ cfg.package ]; + + boot.kernelModules = [ "tun" "openvswitch" ]; + + boot.extraModulePackages = [ cfg.package ]; + + systemd.services.ovsdb = { + description = "Open_vSwitch Database Server"; + wantedBy = [ "multi-user.target" ]; + after = [ "systemd-udev-settle.service" ]; + wants = [ "vswitchd.service" ]; + path = [ cfg.package ]; + restartTriggers = [ db cfg.package ]; + # Create the config database + preStart = + '' + mkdir -p ${runDir} + mkdir -p /var/db/openvswitch + chmod +w /var/db/openvswitch + if [[ ! -e /var/db/openvswitch/conf.db ]]; then + ${cfg.package}/bin/ovsdb-tool create \ + "/var/db/openvswitch/conf.db" \ + "${cfg.package}/share/openvswitch/vswitch.ovsschema" + fi + chmod -R +w /var/db/openvswitch + ''; + serviceConfig.ExecStart = + '' + ${cfg.package}/bin/ovsdb-server \ + --remote=punix:${runDir}/db.sock \ + --private-key=db:Open_vSwitch,SSL,private_key \ + --certificate=db:Open_vSwitch,SSL,certificate \ + --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ + --unixctl=ovsdb.ctl.sock \ + /var/db/openvswitch/conf.db + ''; + serviceConfig.Restart = "always"; + serviceConfig.RestartSec = 3; + postStart = + '' + ${cfg.package}/bin/ovs-vsctl --timeout 3 --retry --no-wait init + ''; + + }; + + systemd.services.vswitchd = { + description = "Open_vSwitch Daemon"; + bindsTo = [ "ovsdb.service" ]; + after = [ "ovsdb.service" ]; + path = [ cfg.package ]; + serviceConfig.ExecStart = ''${cfg.package}/bin/ovs-vswitchd''; + }; + + }); + +} diff --git a/nixos/release.nix b/nixos/release.nix index ed413d3e928f071de2c2c6e5bc4f3b3ab87e34b5..e2b93640f917b53d1b9da411c1c362c024246105 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -78,6 +78,16 @@ let }; + makeClosure = module: forAllSystems (system: (import ./lib/eval-config.nix { + inherit system; + modules = [ module ] ++ lib.singleton + ({ config, lib, ... }: + { fileSystems."/".device = lib.mkDefault "/dev/sda1"; + boot.loader.grub.device = lib.mkDefault "/dev/sda"; + }); + }).config.system.build.toplevel); + + in rec { channel = @@ -218,6 +228,10 @@ in rec { tests.installer.rebuildCD = forAllSystems (system: (import tests/installer.nix { inherit system; }).rebuildCD.test); tests.installer.separateBoot = forAllSystems (system: (import tests/installer.nix { inherit system; }).separateBoot.test); tests.installer.simple = forAllSystems (system: (import tests/installer.nix { inherit system; }).simple.test); + tests.installer.simpleLabels = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleLabels.test); + tests.installer.simpleProvided = forAllSystems (system: (import tests/installer.nix { inherit system; }).simpleProvided.test); + tests.installer.btrfsSimple = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSimple.test); + #tests.installer.btrfsSubvols = forAllSystems (system: (import tests/installer.nix { inherit system; }).btrfsSubvols.test); tests.influxdb = callTest tests/influxdb.nix {}; tests.ipv6 = callTest tests/ipv6.nix {}; tests.jenkins = callTest tests/jenkins.nix {}; @@ -242,4 +256,46 @@ in rec { tests.udisks2 = callTest tests/udisks2.nix {}; tests.xfce = callTest tests/xfce.nix {}; + + /* Build a bunch of typical closures so that Hydra can keep track of + the evolution of closure sizes. */ + + closures = { + + smallContainer = makeClosure ({ pkgs, ... }: + { boot.isContainer = true; + services.openssh.enable = true; + }); + + tinyContainer = makeClosure ({ pkgs, ... }: + { boot.isContainer = true; + imports = [ modules/profiles/minimal.nix ]; + }); + + ec2 = makeClosure ({ pkgs, ... }: + { imports = [ modules/virtualisation/amazon-image.nix ]; + }); + + kde = makeClosure ({ pkgs, ... }: + { services.xserver.enable = true; + services.xserver.displayManager.kdm.enable = true; + services.xserver.desktopManager.kde4.enable = true; + }); + + xfce = makeClosure ({ pkgs, ... }: + { services.xserver.enable = true; + services.xserver.desktopManager.xfce.enable = true; + }); + + # Linux/Apache/PostgreSQL/PHP stack. + lapp = makeClosure ({ pkgs, ... }: + { services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + services.postgresql.enable = true; + services.postgresql.package = pkgs.postgresql93; + environment.systemPackages = [ pkgs.php ]; + }); + + }; + } diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 002e012f65f0d4242fbe71f9d6aa9dd87613f221..b12a861f723a1f7ce01248eda70aa7cfaff466fc 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -16,7 +16,7 @@ let miniupnpdConf = nodes: pkgs.writeText "miniupnpd.conf" '' ext_ifname=eth1 - listening_ip=${nodes.router.config.networking.interfaces.eth2.ipAddress}/24 + listening_ip=${(pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address}/24 allow 1024-65535 192.168.2.0/24 1024-65535 ''; @@ -53,7 +53,7 @@ in { environment.systemPackages = [ pkgs.transmission ]; virtualisation.vlans = [ 2 ]; networking.defaultGateway = - nodes.router.config.networking.interfaces.eth2.ipAddress; + (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address; networking.firewall.enable = false; }; @@ -81,7 +81,7 @@ in # Create the torrent. $tracker->succeed("mkdir /tmp/data"); $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2"); - $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${nodes.tracker.config.networking.interfaces.eth1.ipAddress}:6969/announce -o /tmp/test.torrent"); + $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${(pkgs.lib.head nodes.tracker.config.networking.interfaces.eth1.ip4).address}:6969/announce -o /tmp/test.torrent"); $tracker->succeed("chmod 644 /tmp/test.torrent"); # Start the tracker. !!! use a less crappy tracker diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index d3bbe7a8bd55e4f4779c61ac360c56d76d0941b3..6ee52fd63d8bea54a9155256b923432c2b0a71de 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -98,7 +98,7 @@ let # FIXME: OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html iface = if useEFI || grubVersion == 1 then "scsi" else "virtio"; qemuFlags = - (if iso.system == "x86_64-linux" then "-m 512 " else "-m 384 ") + + (if iso.system == "x86_64-linux" then "-m 768 " else "-m 512 ") + (optionalString (iso.system == "x86_64-linux") "-cpu kvm64 ") + (optionalString useEFI ''-L ${efiBios} -hda ''${\(Cwd::abs_path('harddisk'))} ''); hdFlags = optionalString (!useEFI) @@ -394,4 +394,78 @@ in { $machine->shutdown; ''; }; + + # Test using labels to identify volumes in grub + simpleLabels = makeInstallerTest "simpleLabels" { + createPartitions = '' + $machine->succeed( + "sgdisk -Z /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "mkfs.ext4 -L root /dev/vda3", + "mount LABEL=root /mnt", + ); + ''; + grubIdentifier = "label"; + }; + + # Test using the provided disk name within grub + # TODO: Fix udev so the symlinks are unneeded in /dev/disks + simpleProvided = makeInstallerTest "simpleProvided" { + createPartitions = '' + my $UUID = "\$(blkid -s UUID -o value /dev/vda2)"; + $machine->succeed( + "sgdisk -Z /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+100M -n 3:0:+1G -N 4 -t 1:ef02 -t 2:8300 -t 3:8200 -t 4:8300 -c 2:boot -c 4:root /dev/vda", + "mkswap /dev/vda3 -L swap", + "swapon -L swap", + "mkfs.ext4 -L boot /dev/vda2", + "mkfs.ext4 -L root /dev/vda4", + ); + $machine->execute("ln -s ../../vda2 /dev/disk/by-uuid/$UUID"); + $machine->execute("ln -s ../../vda4 /dev/disk/by-label/root"); + $machine->succeed( + "mount /dev/disk/by-label/root /mnt", + "mkdir /mnt/boot", + "mount /dev/disk/by-uuid/$UUID /mnt/boot" + ); + ''; + grubIdentifier = "provided"; + }; + + # Simple btrfs grub testing + btrfsSimple = makeInstallerTest "btrfsSimple" { + createPartitions = '' + $machine->succeed( + "sgdisk -Z /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "mkfs.btrfs -L root /dev/vda3", + "mount LABEL=root /mnt", + ); + ''; + }; + + # Test to see if we can detect /boot and /nix on subvolumes + btrfsSubvols = makeInstallerTest "btrfsSubvols" { + createPartitions = '' + $machine->succeed( + "sgdisk -Z /dev/vda", + "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", + "mkswap /dev/vda2 -L swap", + "swapon -L swap", + "mkfs.btrfs -L root /dev/vda3", + "btrfs device scan", + "mount LABEL=root /mnt", + "btrfs subvol create /mnt/boot", + "btrfs subvol create /mnt/nixos", + "umount /mnt", + "mount -o defaults,subvol=nixos LABEL=root /mnt", + "mkdir /mnt/boot", + "mount -o defaults,subvol=boot LABEL=root /mnt/boot", + ); + ''; + }; } diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index 5fdcc0e97ca987dd4e3475f5ed7bf5d6b0e4a0d3..87ed974edad38de415f3e922d2dbf60da689b8fe 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -13,7 +13,7 @@ import ./make-test.nix { { virtualisation.vlans = [ 1 ]; networking.firewall.allowPing = true; networking.defaultGateway = - nodes.router.config.networking.interfaces.eth2.ipAddress; + (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address; }; router = diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix index 409a831727bb399a0e760b651ca1fc02808d354e..49b02f46e9b474df16d3da7944c2b84973f7061f 100644 --- a/pkgs/applications/audio/audacious/default.nix +++ b/pkgs/applications/audio/audacious/default.nix @@ -1,28 +1,29 @@ { stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs , gettext, dbus_glib, libxml2, libmad, xlibs, alsaLib, libogg , libvorbis, libcdio, libcddb, flac, ffmpeg, makeWrapper +, mpg123, neon, faad2 }: let - version = "3.4.3"; + version = "3.5.1"; in stdenv.mkDerivation { name = "audacious-${version}"; src = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2"; - sha256 = "04lzwdr1lx6ghbfxzygvnbmdl420w6rm453ds5lyb0hlvzs58d0q"; + sha256 = "01wmlvpp540gdjw759wif3byh98h3b3q6f5wawzp0b0ivqd0wf6z"; }; pluginsSrc = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2"; - sha256 = "00r88q9fs9a0gicdmk2svcans7igcqgacrw303a5bn44is7pmrmy"; + sha256 = "09lyvi15hbn3pvb2izyz2bm4021917mhcdrwxrn3q3sjvx337np6"; }; buildInputs = [ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio - libcddb ffmpeg makeWrapper + libcddb ffmpeg makeWrapper mpg123 neon faad2 ]; # Here we build bouth audacious and audacious-plugins in one diff --git a/pkgs/applications/audio/beast/default.nix b/pkgs/applications/audio/beast/default.nix index 61b11c05de770f46d14e9139f612671ff69d09c0..340a83e7963ff02a6b6b66a96c10c6b9968964c1 100644 --- a/pkgs/applications/audio/beast/default.nix +++ b/pkgs/applications/audio/beast/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation { ]; meta = { - description = "BEAST - the Bedevilled Sound Engine"; + description = "A music composition and modular synthesis application"; homepage = http://beast.gtk.org; license = ["GPL-2" "LGPL-2.1"]; }; diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix index 31d5240529f7cbc1ec5124b0245ab1c7d6a05941..88931520c42a0ad5afb23b674d7317f60d21a0ef 100644 --- a/pkgs/applications/audio/cantata/default.nix +++ b/pkgs/applications/audio/cantata/default.nix @@ -39,7 +39,7 @@ assert withOnlineServices -> withTaglib; assert withReplaygain -> withTaglib; let - version = "1.3.4"; + version = "1.4.1"; pname = "cantata"; fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF"); fstats = x: map (fstat x); @@ -50,8 +50,8 @@ stdenv.mkDerivation rec { src = fetchurl { inherit name; - url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60WTYtaXk3c1IzNVU"; - sha256 = "0ris41v44nwd68f3zis9n9lyyc089dyhlxp37rrzflanrc6glpwq"; + url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60eXhuZ1Z3bGM2bjQ"; + sha256 = "b0d5a1798efd275d72dffb87bc0f016fc865dbd1384b7c9af039cebdffe0cca3"; }; buildInputs = @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (withTaglib && !withKDE4 && withDevices) udisks2; unpackPhase = "tar -xvf $src"; - sourceRoot = "cantata-1.3.4"; + sourceRoot = "${name}"; # Qt4 is implicit when KDE is switched off. cmakeFlags = stdenv.lib.flatten [ diff --git a/pkgs/applications/audio/cmus/default.nix b/pkgs/applications/audio/cmus/default.nix index 2ea37e2bd2379736a5edc0b852dc74a54c6c1c47..4f9c491a3a59be33a2d0ebe2f911367f48d1bdec 100644 --- a/pkgs/applications/audio/cmus/default.nix +++ b/pkgs/applications/audio/cmus/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses pkgconfig alsaLib flac libmad ffmpeg libvorbis mpc mp4v2 ]; meta = { - description = "cmus is a small, fast and powerful console music player for Linux and *BSD"; + description = "Small, fast and powerful console music player for Linux and *BSD"; homepage = http://cmus.sourceforge.net; license = stdenv.lib.licenses.gpl2; }; diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index 777c0ddb2e35e54592d3151e5898c44e37e08c05..e593ddf41e6f370ac8e2727409ce5e2b2bceddca 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchurl, avahi, boost, fftw, gettext, glib, glibmm, gtk -, gtkmm, intltool, jack2, ladspaH, librdf, libsndfile, lv2 -, pkgconfig, python }: +{ stdenv, fetchurl, avahi, boost, eigen, fftw, gettext, glib, glibmm, gtk +, gtkmm, intltool, jack2, ladspaH, librdf, libsndfile, lilv, lv2 +, pkgconfig, python, serd, sord, sratom }: stdenv.mkDerivation rec { name = "guitarix-${version}"; - version = "0.28.3"; + version = "0.30.0"; src = fetchurl { url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2"; - sha256 = "0ks5avylyicqfj9l1wf4gj62i8m6is2jmp0h11h5l2wbg3xiwxjd"; + sha256 = "0fbapd1pcixzlqxgzb2s2q1c64g9z9lf4hz3vy73z55cnpk72vdx"; }; buildInputs = [ - avahi boost fftw gettext glib glibmm gtk gtkmm intltool jack2 - ladspaH librdf libsndfile lv2 pkgconfig python + avahi boost eigen fftw gettext glib glibmm gtk gtkmm intltool jack2 + ladspaH librdf libsndfile lilv lv2 pkgconfig python serd sord sratom ]; configurePhase = "python waf configure --prefix=$out"; diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix index 10f15f5882cbd23b5458c313b663de61b70410fa..72e546246d50a59213f10b9e9c436850709e6d36 100644 --- a/pkgs/applications/audio/hydrogen/default.nix +++ b/pkgs/applications/audio/hydrogen/default.nix @@ -1,35 +1,19 @@ -{ stdenv, fetchurl, alsaLib, boost, glib, jack2, ladspaPlugins -, libarchive, liblrdf , libsndfile, pkgconfig, qt4, scons, subversion }: +{ stdenv, fetchurl, alsaLib, boost, cmake, glib, jack2, libarchive +, liblrdf, libsndfile, pkgconfig, qt4 }: stdenv.mkDerivation rec { - version = "0.9.5.1"; + version = "0.9.6"; name = "hydrogen-${version}"; src = fetchurl { - url = "mirror://sourceforge/hydrogen/hydrogen-${version}.tar.gz"; - sha256 = "1fvyp6gfzcqcc90dmaqbm11p272zczz5pfz1z4lj33nfr7z0bqgb"; + url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz"; + sha256 = "1z7j8aq158mp41iv78j0w6fyx98y1y51z592b4x5hkvicabgck5w"; }; buildInputs = [ - alsaLib boost glib jack2 ladspaPlugins libarchive liblrdf - libsndfile pkgconfig qt4 scons subversion + alsaLib boost cmake glib jack2 libarchive liblrdf libsndfile pkgconfig qt4 ]; - patches = [ ./scons-env.patch ]; - - postPatch = '' - sed -e 's#/usr/lib/ladspa#${ladspaPlugins}/lib/ladspa#' -i libs/hydrogen/src/preferences.cpp - sed '/\/usr/d' -i libs/hydrogen/src/preferences.cpp - sed "s#pkg_ver.rstrip().split('.')#pkg_ver.rstrip().split('.')[:3]#" -i Sconstruct - ''; - - # why doesn't scons find librdf? - buildPhase = '' - scons prefix=$out libarchive=1 lrdf=0 install - ''; - - installPhase = ":"; - meta = with stdenv.lib; { description = "Advanced drum machine"; homepage = http://www.hydrogen-music.org; diff --git a/pkgs/applications/audio/hydrogen/scons-env.patch b/pkgs/applications/audio/hydrogen/scons-env.patch deleted file mode 100644 index ebc17f67872fb1a160acdc06f63d54a276acedc7..0000000000000000000000000000000000000000 --- a/pkgs/applications/audio/hydrogen/scons-env.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- hydrogen-0.9.5/Sconstruct 2011-03-15 13:22:35.000000000 +0100 -+++ hydrogen-0.9.5/Sconstruct 2011-04-17 16:06:54.000000000 +0200 -@@ -178,7 +178,7 @@ - - includes.append( "libs/hydrogen/include" ) - -- env = Environment( options = opts ) -+ env = Environment( options = opts, ENV = os.environ ) - - - #location of qt4.py -@@ -298,7 +298,6 @@ - - for N in glob.glob('./data/i18n/hydrogen.*'): - env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data/i18n', source=N)) -- env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data', source="./data/img")) - - #add every img in ./data/img to the install list. - os.path.walk("./data/img/",install_images,env) -@@ -379,7 +379,7 @@ - - includes, a , b = get_platform_flags( opts ) - --env = Environment(options = opts, CPPPATH = includes) -+env = Environment(options = opts, ENV = os.environ) - - - Help(opts.GenerateHelpText(env)) diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix index 70ef5bdec5cb319b8641203bc4bcee9144b66242..bf01fe1a935213b4630d85c6c2eb50e86a8929a5 100644 --- a/pkgs/applications/audio/jalv/default.nix +++ b/pkgs/applications/audio/jalv/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "jalv-${version}"; - version = "1.4.4"; + version = "1.4.6"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1iql1r52rmf87q6jkxhcxa3lpq7idzzg55ma91wphywyvh29q7lf"; + sha256 = "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"; }; buildInputs = [ diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix index dd0649811bbbc9bd21aa5ae57cec8fd77934dd26..ee47d607c2bfdea1830505270a46f65a0c5180e6 100644 --- a/pkgs/applications/audio/lmms/default.nix +++ b/pkgs/applications/audio/lmms/default.nix @@ -1,24 +1,22 @@ -{ stdenv, fetchurl, SDL, alsaLib, cmake, fftwSinglePrec, jack2, libogg -, libsamplerate, libsndfile, pkgconfig, pulseaudio, qt4, freetype +{ stdenv, fetchurl, SDL, alsaLib, cmake, fftwSinglePrec, fluidsynth +, fltk13, jack2, libvorbis , libsamplerate, libsndfile, pkgconfig +, pulseaudio, qt4, freetype }: stdenv.mkDerivation rec { name = "lmms-${version}"; - version = "0.4.15"; + version = "1.0.3"; src = fetchurl { - url = "mirror://sourceforge/lmms/${name}.tar.bz2"; - sha256 = "02q2gbsqwk3hf9kvzz58a5bxmlb4cfr2mzy41wdvbxxdm2pcl101"; + url = "https://github.com/LMMS/lmms/archive/v${version}.tar.gz"; + sha256 = "191mfld3gspnxlgwcszp9kls58kdwrplj0rfw4zqsz90zdbsjnx3"; }; buildInputs = [ - SDL alsaLib cmake fftwSinglePrec jack2 libogg libsamplerate - libsndfile pkgconfig pulseaudio qt4 + SDL alsaLib cmake fftwSinglePrec fltk13 fluidsynth jack2 + libsamplerate libsndfile libvorbis pkgconfig pulseaudio qt4 ]; - # work around broken build system of 0.4.* - NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; - enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix index e5264f5c3d2f9ef9119900d16a5cd7046e99780b..5c6a1d6ac54e3dc345651823fa831ada58e87259 100644 --- a/pkgs/applications/audio/moc/default.nix +++ b/pkgs/applications/audio/moc/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ]; meta = { - description = "MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use."; + description = "An ncurses console audio player designed to be powerful and easy to use"; homepage = http://moc.daper.net/; license = stdenv.lib.licenses.gpl2; }; diff --git a/pkgs/applications/audio/mp3info/default.nix b/pkgs/applications/audio/mp3info/default.nix index 0f33726eaeed239c5d1694a48c3754b5aa64f227..ede31ac9beb69a6a3113e35ff823314212350e3c 100644 --- a/pkgs/applications/audio/mp3info/default.nix +++ b/pkgs/applications/audio/mp3info/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "MP3Info, an MP3 technical info viewer and ID3 1.x tag editor"; + description = "MP3 technical info viewer and ID3 1.x tag editor"; longDescription = '' MP3Info is a little utility used to read and modify the ID3 tags of diff --git a/pkgs/applications/audio/mpc123/default.nix b/pkgs/applications/audio/mpc123/default.nix index cd4343b1beb4a3507dd953ff8fa8145001c2cdcb..ac945bee7f743f2d982e1e11323210b445b3bfda 100644 --- a/pkgs/applications/audio/mpc123/default.nix +++ b/pkgs/applications/audio/mpc123/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://mpc123.sourceforge.net/; - description = "mpc123, a Musepack (.mpc) audio player"; + description = "A Musepack (.mpc) audio player"; license = stdenv.lib.licenses.gpl2Plus; diff --git a/pkgs/applications/audio/mpg321/default.nix b/pkgs/applications/audio/mpg321/default.nix index e58397350cb1e8f81b1e454eac2f2ed21ae10913..939c9f79e4d49fb50a89ecfaa9527bb83158b0ec 100644 --- a/pkgs/applications/audio/mpg321/default.nix +++ b/pkgs/applications/audio/mpg321/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { buildInputs = [libao libid3tag libmad zlib]; meta = { - description = "mpg321, a command-line MP3 player"; + description = "Command-line MP3 player"; homepage = http://mpg321.sourceforge.net/; license = stdenv.lib.licenses.gpl2; maintainers = [ ]; diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix index acdda1799d03c59fdcdfa094be845dfabe7557b8..d273c2381778c68b7395409a263f14e6269920cd 100644 --- a/pkgs/applications/audio/pamixer/default.nix +++ b/pkgs/applications/audio/pamixer/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "pamixer is like amixer but for pulseaudio."; + description = "Like amixer but for pulseaudio"; longDescription = "Features: - Get the current volume of the default sink, the default source or a selected one by his id - Set the volume for the default sink, the default source or any other device diff --git a/pkgs/applications/audio/petrifoo/default.nix b/pkgs/applications/audio/petrifoo/default.nix index 152ee442761e834e90003ab21f360d8904908265..197a0aa1bbe28cadafa6901718f53fda755b785c 100644 --- a/pkgs/applications/audio/petrifoo/default.nix +++ b/pkgs/applications/audio/petrifoo/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchgit, alsaLib, cmake, gtk, jack2, libgnomecanvas +{ stdenv, fetchurl, alsaLib, cmake, gtk, jack2, libgnomecanvas , libpthreadstubs, libsamplerate, libsndfile, libtool, libxml2 , pkgconfig }: stdenv.mkDerivation rec { - name = "petri-foo"; + name = "petri-foo-${version}"; + version = "0.1.87"; - src = fetchgit { - url = https://github.com/licnep/Petri-Foo.git; - rev = "eef3b6efebe842d2fa18ed32b881fea4562b84e0"; - sha256 = "a20c3f1a633500a65c099c528c7dc2405daa60738b64d881bb8f2036ae59913c"; + src = fetchurl { + url = "mirror://sourceforge/petri-foo/${name}.tar.bz2"; + sha256 = "0b25iicgn8c42487fdw32ycfrll1pm2zjgy5djvgw6mfcaa4gizh"; }; buildInputs = @@ -16,8 +16,6 @@ stdenv.mkDerivation rec { libsamplerate libsndfile libtool libxml2 pkgconfig ]; - dontUseCmakeBuildDir=true; - meta = with stdenv.lib; { description = "MIDI controllable audio sampler"; longDescription = "a fork of Specimen"; diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix index a9f4b02fa083806914ef19b4837a24026a9f6614..a91f25126c1fc1a5d06215f59b951b16f826ca52 100644 --- a/pkgs/applications/audio/pianobar/default.nix +++ b/pkgs/applications/audio/pianobar/default.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { description = "A console front-end for Pandora.com"; homepage = "http://6xq.net/projects/pianobar/"; platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.unfree; + license = stdenv.lib.licenses.mit; # expat version }; } diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix index 1ce09a6dd884dc55031f0eb97f8214fb11b0b970..235a81a6a32a3dc53f34ad10a28670be48565234 100644 --- a/pkgs/applications/audio/picard/default.nix +++ b/pkgs/applications/audio/picard/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pythonPackages, gettext, pyqt4 -, pkgconfig, libdiscid, libofa, ffmpeg, acoustidFingerprinter +, pkgconfig, libdiscid, libofa, ffmpeg, chromaprint }: pythonPackages.buildPythonPackage rec { @@ -9,14 +9,16 @@ pythonPackages.buildPythonPackage rec { src = fetchurl { url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz"; - md5 = "d1086687b7f7b0d359a731b1a25e7b66"; + sha256 = "0sbsf8hzxhxcnnjqvsd6mc23lmk7w33nln0f3w72f89mjgs6pxm6"; }; postPatch = let - fpr = "${acoustidFingerprinter}/bin/acoustid_fpcalc"; + discid = "${libdiscid}/lib/libdiscid.so.0"; + fpr = "${chromaprint}/bin/fpcalc"; in '' - sed -ri -e 's|(TextOption.*"acoustid_fpcalc"[^"]*")[^"]*|\1${fpr}|' \ - picard/ui/options/fingerprinting.py + substituteInPlace picard/disc.py --replace libdiscid.so.0 ${discid} + substituteInPlace picard/const.py \ + --replace "FPCALC_NAMES = [" "FPCALC_NAMES = ['${fpr}'," ''; buildInputs = [ @@ -46,9 +48,11 @@ pythonPackages.buildPythonPackage rec { doCheck = false; - meta = { + meta = with stdenv.lib; { homepage = "http://musicbrainz.org/doc/MusicBrainz_Picard"; description = "The official MusicBrainz tagger"; - license = stdenv.lib.licenses.gpl2; + maintainers = with maintainers; [ emery ]; + license = licenses.gpl2; + platforms = platforms.all; }; } diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 59b82d155da9ff22cd42ebd87e265570519d6fa5..47919a7d7f885a5578baddec32906c3bb50daadd 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -148,7 +148,7 @@ stdenv.mkDerivation { meta = { homepage = https://www.spotify.com/; - description = "Spotify for Linux allows you to play music from the Spotify music service"; + description = "Play music from the Spotify music service"; license = stdenv.lib.licenses.unfree; maintainers = [ stdenv.lib.maintainers.eelco ]; }; diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix index 91142691055bb9c4a0e8027e4089e5f3fbd2c8b8..67edc7f521daa8a7fda30500d573541c44695814 100644 --- a/pkgs/applications/audio/yoshimi/default.nix +++ b/pkgs/applications/audio/yoshimi/default.nix @@ -6,11 +6,11 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { name = "yoshimi-${version}"; - version = "1.2.2"; + version = "1.2.3"; src = fetchurl { url = "mirror://sourceforge/yoshimi/${name}.tar.bz2"; - sha256 = "1w23ral1qrbg9gqx833giqmchx7952f18yaa52aya9shsdlla83c"; + sha256 = "00bp699k8gnilin2rvgj35334s9jrizp82qwlmzzvvfliwcgqlqw"; }; buildInputs = [ diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix index a5aa7d5c8d95d83f0357cd3138194324a331b486..3a89b40674279810d99b0ea8bfb8e206de832ae9 100644 --- a/pkgs/applications/audio/zynaddsubfx/default.nix +++ b/pkgs/applications/audio/zynaddsubfx/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, alsaLib, cmake, jack2, fftw, fltk13, minixml -, pkgconfig, zlib +{ stdenv, fetchurl, alsaLib, cmake, jack2, fftw, fltk13, libjpeg +, minixml, pkgconfig, zlib }: stdenv.mkDerivation rec { name = "zynaddsubfx-${version}"; - version = "2.4.3"; + version = "2.4.4"; src = fetchurl { - url = "mirror://sourceforge/zynaddsubfx/ZynAddSubFX-${version}.tar.bz2"; - sha256 = "0kgmwyh4rhyqdfrdzhbzjjk2hzggkp9c4aac6sy3xv6cc1b5jjxq"; + url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.xz"; + sha256 = "15byz08p5maf3v8l1zz11xan6s0qcfasjf1b81xc8rffh13x5f53"; }; - buildInputs = [ alsaLib jack2 fftw fltk13 minixml zlib ]; + buildInputs = [ alsaLib jack2 fftw fltk13 libjpeg minixml zlib ]; nativeBuildInputs = [ cmake pkgconfig ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index d3e9a4c4679437d376bdb16f3d044f5da7650433..0c764fcf8f86d8395195c30306c26eb367022268 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "GNU ed, an implementation of the standard Unix editor"; + description = "An implementation of the standard Unix editor"; longDescription = '' GNU ed is a line-oriented text editor. It is used to create, diff --git a/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..35f9bd3ceb2a20697ae6b4f1577b4dd0aaa61046 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchgit, emacs, colorTheme}: + +stdenv.mkDerivation rec { + name = "color-theme-6.5.5"; + + src = fetchgit { + url = https://github.com/sellout/emacs-color-theme-solarized.git; + rev = "6a2c7ca0181585858e6e8054cb99db837e2ef72f"; + sha256 = "3c46a3d66c75ec4456209eeafdb03282148b289b12e8474f6a8962f3894796e8"; + }; + + buildInputs = [ emacs ]; + propagatedUserEnvPkgs = [ colorTheme ]; + + + buildPhase = '' + emacs -L . -L ${colorTheme}/share/emacs/site-lisp --batch -f batch-byte-compile *.el + ''; + + installPhase = '' + mkdir -p $out/share/emacs/site-lisp + install *.el* $out/share/emacs/site-lisp + ''; + + meta = { + description = "Precision colors for machines and people"; + homepage = http://ethanschoonover.com/solarized; + license = stdenv.lib.licenses.mit; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/idris/default.nix b/pkgs/applications/editors/emacs-modes/idris/default.nix index 28375dcb68df56755386c4ae7dd9be8ad3557000..4e9d1cfd77cdd32f60b3a712dffba38e305721eb 100644 --- a/pkgs/applications/editors/emacs-modes/idris/default.nix +++ b/pkgs/applications/editors/emacs-modes/idris/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "idris-mode"; - version = "0.9.13.1"; + version = "0.9.14"; src = fetchurl { url = "https://github.com/idris-hackers/${pname}/archive/${version}.tar.gz"; - sha256 = "0ymjbkwsq7qra691wyldw91xcdgrbx3468vvrha5jj92v7nwb8wx"; + sha256 = "1qlkbf14mcibp6h5r84fp5xdjspyaw1xdmnkmaxbypwjhhjg4s83"; }; buildInputs = [ emacs ]; diff --git a/pkgs/applications/editors/emacs-modes/js2/default.nix b/pkgs/applications/editors/emacs-modes/js2/default.nix index 47e62a281fb0aa95b081311fe9543b509bda860b..00123bfc8c7544eac0f5ef9c48ce7653a5bc8804 100644 --- a/pkgs/applications/editors/emacs-modes/js2/default.nix +++ b/pkgs/applications/editors/emacs-modes/js2/default.nix @@ -5,7 +5,8 @@ stdenv.mkDerivation { src = fetchgit { url = "git://github.com/mooz/js2-mode.git"; - sha256 = "dbdc07b864a9506a21af445c7fb1c75fbffadaac980ee7bbf752470d8054bd65"; + rev = "b250efaad886dd07b8c69d4573425d095c6652e2"; + sha256 = "30e61e7d364e9175d408bdaf57fda886a4eea22cf5cbd97abb5c307c52b05918"; }; buildInputs = [ emacs ]; diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index e5cfbcdfe1784e8963c1fd2d1fc74f91a27d03c0..caa9523af6f697c8010be54e5c22548b0c9568bb 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -2,10 +2,12 @@ , coreutils, gnugrep, which, git }: +assert stdenv.isLinux; + let buildIdea = - { name, version, build, src, description, license }: + { name, version, build, src, description, longDescription, license }: stdenv.mkDerivation rec { inherit name build src; @@ -56,6 +58,7 @@ let meta = { homepage = http://www.jetbrains.com/idea/; inherit description; + inherit longDescription; inherit license; maintainers = [ stdenv.lib.maintainers.edwtjo ]; platforms = stdenv.lib.platforms.linux; @@ -64,27 +67,39 @@ let in { - idea_community = buildIdea rec { + idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "13.1.3"; - build = "IC-135.909"; - description = "IntelliJ IDEA 13 Community Edition"; + version = "13.1.4b"; + build = "IC-135.1230"; + description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; + longDescription = '' + Lightweight IDE for Java SE, Groovy & Scala development + Powerful environment for building Google Android apps + Integration with JUnit, TestNG, popular SCMs, Ant & Maven + Free, open-source, Apache 2 licensed. + ''; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz"; - sha256 = "62ed937ef68df16eef4d32772b6510835527f95020db1c76643f17ed2c067b51"; + sha256 = "8b4ee25fd2934e06b87230b50e1474183ed4b331c1626a7fee69b96294d9616d"; }; }; - idea_ultimate = buildIdea rec { + idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "13.1.3"; - build = "IU-135.909"; - description = "IntelliJ IDEA 13 Ultimate Edition"; + version = "13.1.4b"; + build = "IU-135.1230"; + description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; + longDescription = '' + Full-featured IDE for JVM-based and polyglot development + Java EE, Spring/Hibernate and other technologies support + Deployment and debugging with most application servers + Duplicate code search, dependency structure matrix, etc. + ''; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz"; - sha256 = "6d99e49a63a197e19381a85535ab424a7832653db8cceb3bca7d53615ec7a53d"; + sha256 = "84660d97c9c3e4e7cfd6c2708f4685dc7322157f1e1c2888feac64df119f0606"; }; }; diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix index 058a54c45a71752922cda4b7909b7a9c32a15f3a..6901aed774ba44a339fab0bc555b5ed0d1a5794e 100644 --- a/pkgs/applications/editors/mg/default.nix +++ b/pkgs/applications/editors/mg/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://homepage.boetes.org/software/mg/; - description = "mg is Micro GNU/emacs, this is a portable version of the mg maintained by the OpenBSD team"; + description = "Micro GNU/emacs, a portable version of the mg maintained by the OpenBSD team"; license = "public domain"; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix index ce863312251c95ff041315b3a39dc9d50d01a0ad..a258b6341057cdc07e58465a89fb169f75f10350 100644 --- a/pkgs/applications/editors/texmacs/default.nix +++ b/pkgs/applications/editors/texmacs/default.nix @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { "${xmodmap}/bin:${which}/bin"; meta = { - description = "GNU TeXmacs, a free WYSIWYW editing platform with special features for scientists"; + description = "WYSIWYW editing platform with special features for scientists"; longDescription = '' GNU TeXmacs is a free wysiwyw (what you see is what you want) editing platform with special features for scientists. The software diff --git a/pkgs/applications/editors/wxhexeditor/default.nix b/pkgs/applications/editors/wxhexeditor/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..de423987c02bdc536f4b4c00f1c852a11b2eafec --- /dev/null +++ b/pkgs/applications/editors/wxhexeditor/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, wxGTK, autoconf, automake, libtool, python, gettext, bash }: + +stdenv.mkDerivation rec { + name = "wxHexEditor-${version}"; + version = "v0.22"; + + src = fetchurl { + url = "mirror://sourceforge/wxhexeditor/${name}-src.tar.bz2"; + sha256 = "15ir038g4lyw1q5bsay974hvj0nkg2yd9kccwxz808cd45fp411w"; + }; + + buildInputs = [ wxGTK autoconf automake libtool python gettext ]; + + patchPhase = '' + substituteInPlace Makefile --replace "/usr/local" "$out" + substituteInPlace Makefile --replace "mhash; ./configure" "mhash; ./configure --prefix=$out" + substituteInPlace udis86/autogen.sh --replace "/bin/bash" "${bash}/bin/bash" + ''; + + buildPhase = '' + make OPTFLAGS="-fopenmp" + + ''; + + meta = { + description = "Hex Editor / Disk Editor for Huge Files or Devices"; + longDescription = '' + This is not an ordinary hex editor, but could work as low level disk editor too. + If you have problems with your HDD or partition, you can recover your data from HDD or + from partition via editing sectors in raw hex. + You can edit your partition tables or you could recover files from File System by hand + with help of wxHexEditor. + Or you might want to analyze your big binary files, partitions, devices... If you need + a good reverse engineer tool like a good hex editor, you welcome. + wxHexEditor could edit HDD/SDD disk devices or partitions in raw up to exabyte sizes. + ''; + homepage = "http://www.wxhexeditor.org/"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix index 59b6992a3692e8c0a0da01348bca5bbd0808676c..2678f0a004890978cee972dd0a701b88af0d6238 100644 --- a/pkgs/applications/editors/yi/yi-contrib.nix +++ b/pkgs/applications/editors/yi/yi-contrib.nix @@ -13,7 +13,9 @@ cabal.mkDerivation (self: { homepage = "http://haskell.org/haskellwiki/Yi"; description = "Add-ons to Yi, the Haskell-Scriptable Editor"; license = "GPL"; + broken = true; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; }; }) diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix index ae5e9a83452f1fbd136ab2cd5068b160dc04b13a..9b9287a50f1238f926ddc777d54b00239c092d12 100644 --- a/pkgs/applications/editors/yi/yi.nix +++ b/pkgs/applications/editors/yi/yi.nix @@ -58,6 +58,8 @@ cabal.mkDerivation (self: { description = "The Haskell-Scriptable Editor"; license = self.stdenv.lib.licenses.gpl2; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; maintainers = [ self.stdenv.lib.maintainers.fuuzetsu ]; + broken = true; }; }) diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix index b170b784aaa482e379fd0d544e35f4961c4e5d84..de906e3d8443e2104ac2faee8cf1fedd22e90145 100644 --- a/pkgs/applications/graphics/geeqie/default.nix +++ b/pkgs/applications/graphics/geeqie/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Geeqie, a lightweight GTK+ based image viewer"; + description = "Lightweight GTK+ based image viewer"; longDescription = '' diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix index aca4d822c820865360218ac520ce8e5d6b2fc6ad..bd155c59c6b2724836c5abe61f9c523afeb2cbff 100644 --- a/pkgs/applications/graphics/gimp/2.8.nix +++ b/pkgs/applications/graphics/gimp/2.8.nix @@ -4,11 +4,11 @@ , python, pygtk, libart_lgpl, libexif, gettext, xlibs, wrapPython }: stdenv.mkDerivation rec { - name = "gimp-2.8.10"; + name = "gimp-2.8.14"; src = fetchurl { url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2"; - sha256 = "1rha8yx0pplfjziqczjrxxp16vsvpmb5ziq3c218s4w9z4cqpzg7"; + sha256 = "d82a958641c9c752d68e35f65840925c08e314cea90222ad845892a40e05b22d"; }; buildInputs = diff --git a/pkgs/applications/graphics/grafx2/default.nix b/pkgs/applications/graphics/grafx2/default.nix index 6b7c9a27694a122ac7ce7fcb242e4770992465e0..ee9df683c0a2d20e7947ecea26b2191807b13965 100644 --- a/pkgs/applications/graphics/grafx2/default.nix +++ b/pkgs/applications/graphics/grafx2/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { installPhase = ''make install prefix="$out"''; meta = { - description = "GrafX2 is a bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance."; + description = "Bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance"; homepage = http://code.google.co/p/grafx2/; license = stdenv.lib.licenses.gpl2; platforms = [ "x86_64-linux" "i686-linux" ]; diff --git a/pkgs/applications/graphics/jbrout/default.nix b/pkgs/applications/graphics/jbrout/default.nix index 2207e8884f0cc25f2095892410dd8880c7b5f4ae..496078ffdb2e3a56994af664fcbbfb20dd4507af 100644 --- a/pkgs/applications/graphics/jbrout/default.nix +++ b/pkgs/applications/graphics/jbrout/default.nix @@ -33,7 +33,7 @@ buildPythonPackage { buildInputs = [ python pyGtkGlade makeWrapper pyexiv2 lxml pil fbida which ]; meta = { homepage = "http://code.google.com/p/jbrout"; - description = "jBrout is a photo manager"; + description = "Photo manager"; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/graphics/k3d/debian-patches.nix b/pkgs/applications/graphics/k3d/debian-patches.nix deleted file mode 100644 index cf6b47ee959751c25bd09e2e44f07fe4f4490e30..0000000000000000000000000000000000000000 --- a/pkgs/applications/graphics/k3d/debian-patches.nix +++ /dev/null @@ -1,14 +0,0 @@ -# Generated by debian-patches.sh from debian-patches.txt -let - prefix = "http://patch-tracker.debian.org/patch/series/dl/k3d/0.8.0.2-18"; -in -[ - { - url = "${prefix}/disable_mutable_in_boost_gil.patch"; - sha256 = "037l86h2hszqgw8arqpzprz5qvngsb61i7lpww617mkvqrc4hiq3"; - } - { - url = "${prefix}/k3d_gtkmm224.patch"; - sha256 = "1c7z2zkqs9qw185q7bhz6vvzl6vlf1zpg9vlhc1f0cz9rgak3gji"; - } -] diff --git a/pkgs/applications/graphics/k3d/debian-patches.txt b/pkgs/applications/graphics/k3d/debian-patches.txt deleted file mode 100644 index a9b4abed2f09cf6704711b2d1c4c9b2dd6292b78..0000000000000000000000000000000000000000 --- a/pkgs/applications/graphics/k3d/debian-patches.txt +++ /dev/null @@ -1,3 +0,0 @@ -k3d/0.8.0.2-15 -disable_mutable_in_boost_gil.patch -k3d_gtkmm224.patch diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index 9f31d94ac7fb2977ad407c4f654120addab2f5c3..6a66685e42b83163bdc1a166245fbe2bd5e89035 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl , cmake, mesa, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff -, gettext, intltool, perl, gtkmm, glibmm, gtkglext +, gettext, intltool, perl, gtkmm, glibmm, gtkglext, pangox_compat, libXmu }: stdenv.mkDerivation rec { @@ -12,11 +12,10 @@ stdenv.mkDerivation rec { sha256 = "01fd2qb0zddif3wz1a2wdmwyzn81cf73678qp2gjs8iikmdz6w7x"; }; - patches = map fetchurl ((import ./debian-patches.nix) ++ - [ { - url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-gfx/k3d/files/k3d-0.7.11.0-libpng14.patch; - sha256 = "1vl7dbvxg9b54ay0n8dd2v2k3j001h8h1bpr1cbm3vrzv31lnwzx"; - } ]); + patches = [ + ./k3d_gtkmm224.patch + ./libpng-1.4.patch + ]; preConfigure = '' export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/build/lib" @@ -27,10 +26,12 @@ stdenv.mkDerivation rec { cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff gettext intltool perl - gtkmm glibmm gtkglext + gtkmm glibmm gtkglext pangox_compat libXmu ]; - doCheck = false; + #doCheck = false; + + enableParallelBuilding = true; meta = { description = "A 3D editor with support for procedural editing"; diff --git a/pkgs/applications/graphics/k3d/k3d_gtkmm224.patch b/pkgs/applications/graphics/k3d/k3d_gtkmm224.patch new file mode 100644 index 0000000000000000000000000000000000000000..2484994531f0221f1ab5a255c4e352e32982f11e --- /dev/null +++ b/pkgs/applications/graphics/k3d/k3d_gtkmm224.patch @@ -0,0 +1,40 @@ +--- a/k3dsdk/ngui/main_document_window.cpp ++++ b/k3dsdk/ngui/main_document_window.cpp +@@ -1371,7 +1371,7 @@ + Gtk::HBox import_box(false, 5); + Gtk::Label import_label(_("Choose import plugin:")); + +- Gtk::ComboBox import_combo(model); ++ Gtk::ComboBox import_combo((Glib::RefPtr &) model); + import_combo.pack_start(columns.icon, false); + import_combo.pack_start(columns.label); + import_combo.set_active(0); +@@ -1461,7 +1461,7 @@ + Gtk::HBox export_box(false, 5); + Gtk::Label export_label(_("Choose export plugin:")); + +- Gtk::ComboBox export_combo(model); ++ Gtk::ComboBox export_combo((Glib::RefPtr &) model); + export_combo.pack_start(columns.icon, false); + export_combo.pack_start(columns.label); + export_combo.set_active(0); +--- a/k3dsdk/ngui/render.cpp ++++ b/k3dsdk/ngui/render.cpp +@@ -169,7 +169,7 @@ + row[columns.separator] = false; + } + +- Gtk::ComboBox combo(model); ++ Gtk::ComboBox combo((Glib::RefPtr &) model); + + combo.pack_start(columns.icon, false); + +@@ -295,7 +295,7 @@ + row[columns.separator] = false; + } + +- Gtk::ComboBox combo(model); ++ Gtk::ComboBox combo((Glib::RefPtr &) model); + + combo.pack_start(columns.icon, false); + diff --git a/pkgs/applications/graphics/k3d/libpng-1.4.patch b/pkgs/applications/graphics/k3d/libpng-1.4.patch new file mode 100644 index 0000000000000000000000000000000000000000..e67236617afe38e2a60b7a03804c7707dd117cd2 --- /dev/null +++ b/pkgs/applications/graphics/k3d/libpng-1.4.patch @@ -0,0 +1,53 @@ +--- k3d-source-0.8.0.1/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2010-04-18 13:49:33.000000000 +0800 ++++ k3d-source-0.8.0.1-patched/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2010-06-10 21:17:51.555920268 +0800 +@@ -148,12 +148,12 @@ + // allocate/initialize the image information data + _info_ptr = png_create_info_struct(_png_ptr); + if (_info_ptr == NULL) { +- png_destroy_read_struct(&_png_ptr,png_infopp_NULL,png_infopp_NULL); ++ png_destroy_read_struct(&_png_ptr,NULL,NULL); + io_error("png_get_file_size: fail to call png_create_info_struct()"); + } + if (setjmp(png_jmpbuf(_png_ptr))) { + //free all of the memory associated with the png_ptr and info_ptr +- png_destroy_read_struct(&_png_ptr, &_info_ptr, png_infopp_NULL); ++ png_destroy_read_struct(&_png_ptr, &_info_ptr, NULL); + io_error("png_get_file_size: fail to call setjmp()"); + } + png_init_io(_png_ptr, get()); +@@ -165,7 +165,7 @@ + png_reader(const char* filename) : file_mgr(filename, "rb") { init(); } + + ~png_reader() { +- png_destroy_read_struct(&_png_ptr,&_info_ptr,png_infopp_NULL); ++ png_destroy_read_struct(&_png_ptr,&_info_ptr,NULL); + } + point2 get_dimensions() { + return point2(png_get_image_width(_png_ptr,_info_ptr), +@@ -177,7 +177,7 @@ + int bit_depth, color_type, interlace_type; + png_get_IHDR(_png_ptr, _info_ptr, + &width, &height,&bit_depth,&color_type,&interlace_type, +- int_p_NULL, int_p_NULL); ++ (int *) NULL, (int *) NULL); + io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height), + "png_read_view: input view size does not match PNG file size"); + +@@ -219,7 +219,7 @@ + int bit_depth, color_type, interlace_type; + png_get_IHDR(_png_ptr, _info_ptr, + &width, &height,&bit_depth,&color_type,&interlace_type, +- int_p_NULL, int_p_NULL); ++ (int *) NULL, (int *) NULL); + io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height), + "png_reader_color_convert::apply(): input view size does not match PNG file size"); + switch (color_type) { +@@ -308,7 +308,7 @@ + io_error_if(!_png_ptr,"png_write_initialize: fail to call png_create_write_struct()"); + _info_ptr = png_create_info_struct(_png_ptr); + if (!_info_ptr) { +- png_destroy_write_struct(&_png_ptr,png_infopp_NULL); ++ png_destroy_write_struct(&_png_ptr,NULL); + io_error("png_write_initialize: fail to call png_create_info_struct()"); + } + if (setjmp(png_jmpbuf(_png_ptr))) { diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix index cc1fe8c3a220f795c534d3124afd84762aa8c391..53c564beec72b278b39f4a5d6f16e218e68a60d2 100644 --- a/pkgs/applications/graphics/mcomix/default.nix +++ b/pkgs/applications/graphics/mcomix/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { namePrefix = ""; - name = "mcomix-0.98"; + name = "mcomix-1.00"; src = fetchurl { url = "mirror://sourceforge/mcomix/${name}.tar.bz2"; - sha256 = "93805b6c8540bd673ac4a6ef6e952f00f8fc10e59a63c7e163324a64db2a6b03"; + sha256 = "1phcdx1agacdadz8bvbibdbps1apz8idi668zmkky5cpl84k2ifq"; }; doCheck = false; @@ -28,7 +28,7 @@ buildPythonPackage rec { ''; homepage = http://mcomix.sourceforge.net/; - license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix index 4c20a41061ae8a1858944cd21ced90cca024489a..201b59ad5e128d8b3a75ae4c7674cb3c58fe0297 100644 --- a/pkgs/applications/graphics/ocrad/default.nix +++ b/pkgs/applications/graphics/ocrad/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU Ocrad, optical character recognition (OCR) program & library"; + description = "Optical character recognition (OCR) program & library"; longDescription = '' GNU Ocrad is an OCR (Optical Character Recognition) program based on diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..ecce0e260bb2a20ea07d98b21a2d7e0e21ab842e --- /dev/null +++ b/pkgs/applications/graphics/processing/default.nix @@ -0,0 +1,39 @@ +{ fetchurl, stdenv, ant, jre, makeWrapper, libXxf86vm, which }: + +stdenv.mkDerivation rec { + name = "processing-${version}"; + version = "2.2.1"; + + src = fetchurl { + url = "https://github.com/processing/processing/archive/processing-0227-${version}.tar.gz"; + sha256 = "1r8q5y0h4gpqap5jwkspc0li6566hzx5chr7hwrdn8mxlzsm50xk"; + }; + + # Stop it trying to download its own version of java + patches = [ ./use-nixpkgs-jre.patch ]; + + buildInputs = [ ant jre makeWrapper libXxf86vm which ]; + + buildPhase = "cd build && ant build"; + + installPhase = '' + mkdir -p $out/${name} + mkdir -p $out/bin + cp -r linux/work/* $out/${name}/ + makeWrapper $out/${name}/processing $out/bin/processing \ + --prefix PATH : "${jre}/bin:${which}/bin" \ + --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib + makeWrapper $out/${name}/processing-java $out/bin/processing-java \ + --prefix PATH : "${jre}/bin:${which}/bin" \ + --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib + ln -s ${jre} $out/${name}/java + ''; + + meta = with stdenv.lib; { + description = "A language and IDE for electronic arts"; + homepage = http://processing.org; + license = licenses.gpl2Plus; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch b/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch new file mode 100644 index 0000000000000000000000000000000000000000..8f6a5e2018e172d3aefd9cba7893d37be389c03c --- /dev/null +++ b/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch @@ -0,0 +1,88 @@ +From d1fb63255ff028ecc9cc66d5a6b21b24031b4b4a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= +Date: Tue, 26 Aug 2014 00:07:58 +0200 +Subject: [PATCH] patch + +--- + build/build.xml | 42 +++++++++++++++++++++--------------------- + 1 file changed, 21 insertions(+), 21 deletions(-) + +diff --git a/build/build.xml b/build/build.xml +index 4d0f0b2..c3f5c09 100755 +--- a/build/build.xml ++++ b/build/build.xml +@@ -640,10 +640,11 @@ + value="jre-tools-6u37-linux${sun.arch.data.model}.tgz" /> + --> + ++ + +- ++ + + +- +- +- ++ ++ ++ + + +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + + +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + +-- +2.1.0 + diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix index 86891f2cb93722e2e786110c31bb6e1cfa4ceeee..01b0a1414a74263d62543af12947cdb56d8b95bb 100644 --- a/pkgs/applications/graphics/qiv/default.nix +++ b/pkgs/applications/graphics/qiv/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation (rec { ''; meta = { - description = "qiv (quick image viewer)"; + description = "Quick image viewer"; homepage = http://spiegl.de/qiv/; inherit version; }; diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix index 034a147b787465982c57640574ef979609b8dce5..ba7a916e3fe437be5327aa2976ecb7e95af780b7 100644 --- a/pkgs/applications/graphics/synfigstudio/default.nix +++ b/pkgs/applications/graphics/synfigstudio/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, boost, cairo, gettext, glibmm, gtk, gtkmm +{ stdenv, fetchurl, boost, cairo, fontsConf, gettext, glibmm, gtk, gtkmm , libsigcxx, libtool, libxmlxx, pango, pkgconfig, imagemagick , intltool }: @@ -42,10 +42,14 @@ stdenv.mkDerivation rec { }; buildInputs = [ - ETL boost cairo gettext glibmm gtk gtkmm imagemagick intltool + ETL boost cairo fontsConf gettext glibmm gtk gtkmm imagemagick intltool intltool libsigcxx libtool libxmlxx pkgconfig synfig ]; + preBuild = '' + export FONTCONFIG_FILE=${fontsConf} + ''; + meta = with stdenv.lib; { description = "A 2D animation program"; homepage = http://www.synfig.org; diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix index 783832abd0036b45afae6c9484f237f14270ba7b..dbfda4e58195e5ee803c13c0c18c80e3e4cfec82 100644 --- a/pkgs/applications/graphics/ufraw/default.nix +++ b/pkgs/applications/graphics/ufraw/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://ufraw.sourceforge.net/; - description = "UFRaw, a utility to read and manipulate raw images from digital cameras"; + description = "Utility to read and manipulate raw images from digital cameras"; longDescription = '' The Unidentified Flying Raw (UFRaw) is a utility to read and diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix index dd8e01298ff49a42bb4d68eafdf6c162dac8f7f3..478553d2c00ac35398ce1e20aaed7b7c28ef64e3 100644 --- a/pkgs/applications/graphics/viewnior/default.nix +++ b/pkgs/applications/graphics/viewnior/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Viewnior is a fast and simple image viewer for GNU/Linux"; + description = "Fast and simple image viewer"; longDescription = '' Viewnior is insipred by big projects like Eye of Gnome, because of it's usability and richness,and by GPicView, because of it's lightweight design and diff --git a/pkgs/applications/graphics/xaos/default.nix b/pkgs/applications/graphics/xaos/default.nix index 8387b3486d4d72ebfdd03dafb2a3f291fbc103d7..cacefc9bcc127525235f6b9833126cebb4de5f3b 100644 --- a/pkgs/applications/graphics/xaos/default.nix +++ b/pkgs/applications/graphics/xaos/default.nix @@ -28,7 +28,7 @@ rec { name = "xaos-" + version; meta = { homepage = http://xaos.sourceforge.net/; - description = "XaoS - fractal viewer"; + description = "Fractal viewer"; license = a.stdenv.lib.licenses.gpl2Plus; }; } diff --git a/pkgs/applications/ike/default.nix b/pkgs/applications/ike/default.nix index 1414310ebf339ee889ce06ad9f3030231aea70d6..48f277ad4c98d061357de0bfeb4c372e63c87b4d 100644 --- a/pkgs/applications/ike/default.nix +++ b/pkgs/applications/ike/default.nix @@ -1,6 +1,8 @@ { stdenv, fetchurl, cmake, openssl, libedit, flex, bison, qt4, makeWrapper , gcc, nettools, iproute, linuxHeaders }: +assert stdenv.isLinux; + # NOTE: use $out/etc/iked.conf as sample configuration and also set: dhcp_file "/etc/iked.dhcp"; # launch with "iked -f /etc/iked.conf" diff --git a/pkgs/applications/misc/arbtt/default.nix b/pkgs/applications/misc/arbtt/default.nix index 0c3939b5c2563ef7e6d5eb065759848174c454c6..27f6c1223741988ff64b22db060dc16391b74bc5 100644 --- a/pkgs/applications/misc/arbtt/default.nix +++ b/pkgs/applications/misc/arbtt/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "arbtt"; - version = "0.8.1"; - sha256 = "1qzmqjm8pfj59h0hrm28pp6qhzz2am5xq81mirnnchsgg52wrfn0"; + version = "0.8.1.2"; + sha256 = "074vb84vkygxamvq7xnwlpgbch6qkbhyzbakc343230p1ryxf62q"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index 0663937c4795edf70d91536394873ba4e7ce3418..1f86a4164f692d59e46f8d43c894d966f4fde986 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -4,6 +4,8 @@ , enableLame ? false, lame ? null , enableLibmad ? true, libmad ? null , enableLibogg ? true, libogg ? null, libvorbis ? null +, enableFLAC ? true, flac ? null +, enablePNG ? true, libpng ? null }: with stdenv.lib; @@ -21,7 +23,9 @@ stdenv.mkDerivation rec { optional enableLibao libao ++ optional enableLame lame ++ optional enableLibmad libmad ++ - optionals enableLibogg [ libogg libvorbis ]; + optionals enableLibogg [ libogg libvorbis ] ++ + optional enableFLAC flac ++ + optional enablePNG libpng; meta = { description = "Sample Rate Converter for audio"; diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix new file mode 100644 index 0000000000000000000000000000000000000000..796cedc1ee2c6fab50620b889458bcc82c3328e0 --- /dev/null +++ b/pkgs/applications/misc/bitcoin/altcoins.nix @@ -0,0 +1,130 @@ +{ fetchurl, stdenv, pkgconfig +, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf +, utillinux, autogen, autoconf, autobuild, automake, db }: + +with stdenv.lib; + +let + buildAltcoin = makeOverridable ({walletName, gui ? true, ...}@a: + stdenv.mkDerivation ({ + name = "${walletName}${toString (optional (!gui) "d")}-${a.version}"; + buildInputs = [ openssl db48 boost zlib miniupnpc ] + ++ optionals gui [ qt4 qrencode ] ++ a.extraBuildInputs or []; + + configurePhase = optional gui "qmake"; + + preBuild = optional (!gui) "cd src"; + makefile = optional (!gui) "makefile.unix"; + + installPhase = if gui then '' + install -D "${walletName}-qt" "$out/bin/${walletName}-qt" + '' else '' + install -D "${walletName}d" "$out/bin/${walletName}d" + ''; + + passthru.walletName = walletName; + + meta = { + platforms = platforms.unix; + license = license.mit; + maintainers = [ maintainers.offline ]; + }; + } // a) + ); + +in rec { + inherit buildAltcoin; + + litecoin = buildAltcoin rec { + walletName = "litecoin"; + version = "0.8.5.3-rc3"; + + src = fetchurl { + url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz"; + sha256 = "1z4a7bm3z9kd7n0s38kln31z8shsd32d5d5v3br5p0jlnr5g3lk7"; + }; + + meta = { + description = "Litecoin is a lite version of Bitcoin using scrypt as a proof-of-work algorithm."; + longDescription= '' + Litecoin is a peer-to-peer Internet currency that enables instant payments + to anyone in the world. It is based on the Bitcoin protocol but differs + from Bitcoin in that it can be efficiently mined with consumer-grade hardware. + Litecoin provides faster transaction confirmations (2.5 minutes on average) + and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target + the regular computers and GPUs most people already have. + The Litecoin network is scheduled to produce 84 million currency units. + ''; + homepage = https://litecoin.org/; + }; + }; + litecoind = litecoin.override { gui = false; }; + + namecoin = buildAltcoin rec { + walletName = "namecoin"; + version = "0.3.51.00"; + gui = false; + + src = fetchurl { + url = "https://github.com/namecoin/namecoin/archive/nc${version}.tar.gz"; + sha256 = "0r6zjzichfjzhvpdy501gwy9h3zvlla3kbgb38z1pzaa0ld9siyx"; + }; + + patches = [ ./namecoin_dynamic.patch ]; + + extraBuildInputs = [ glib ]; + + meta = { + description = "Namecoin is a decentralized key/value registration and transfer system based on Bitcoin technology."; + homepage = http://namecoin.info; + }; + }; + + dogecoin = (buildAltcoin rec { + walletName = "dogecoin"; + version = "1.8.0"; + + src = fetchurl { + url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz"; + sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935"; + }; + + extraBuildInputs = [ autogen autoconf automake pkgconfig db utillinux protobuf ]; + + meta = { + description = "Wow, such coin, much shiba, very rich"; + longDescription = "wow"; + homepage = http://www.dogecoin.com/; + maintainers = [ maintainers.offline maintainers.edwtjo ]; + }; + }).override rec { + patchPhase = '' + sed -i \ + -e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \ + -e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \ + -e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \ + src/m4/dogecoin_find_bdb51.m4 + ''; + dogeConfigure = '' + ./autogen.sh \ + && ./configure --prefix=$out \ + --with-incompatible-bdb \ + --with-boost-libdir=${boost}/lib \ + ''; + dogeInstall = '' + install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli" + install -D "src/dogecoind" "$out/bin/dogecoind" + ''; + configurePhase = dogeConfigure + "--with-gui"; + installPhase = dogeInstall + "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt"; + }; + + dogecoind = dogecoin.override rec { + gui = false; + makefile = "Makefile"; + preBuild = ""; + configurePhase = dogecoin.dogeConfigure + "--without-gui"; + installPhase = dogecoin.dogeInstall; + }; + +} diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix index e38d427be8d5e50c6080cc4f58f438723cb0c05a..2b68c58b12dd6282f0b81ce6fad02b6fa9b529db 100644 --- a/pkgs/applications/misc/bitcoin/default.nix +++ b/pkgs/applications/misc/bitcoin/default.nix @@ -1,19 +1,21 @@ { fetchurl, stdenv, openssl, db48, boost, zlib, miniupnpc, qt4, utillinux -, pkgconfig, protobuf, qrencode }: +, pkgconfig, protobuf, qrencode, gui ? true }: + +with stdenv.lib; stdenv.mkDerivation rec { version = "0.9.2.1"; - name = "bitcoin-${version}"; + name = "bitcoin${toString (optional (!gui) "d")}-${version}"; src = fetchurl { - url = "https://bitcoin.org/bin/${version}/${name}-linux.tar.gz"; + url = "https://bitcoin.org/bin/${version}/bitcoin-${version}-linux.tar.gz"; sha256 = "0060f7d38b98113ab912d4c184000291d7f026eaf77ca5830deec15059678f54"; }; # hexdump from utillinux is required for tests buildInputs = [ - openssl db48 boost zlib miniupnpc qt4 utillinux pkgconfig protobuf qrencode - ]; + openssl db48 boost zlib miniupnpc utillinux pkgconfig protobuf + ] ++ optionals gui [ qt4 qrencode ]; unpackPhase = '' mkdir tmp-extract && (cd tmp-extract && tar xf $src) @@ -34,8 +36,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + passthru.walletName = "bitcoin"; + meta = { - description = "Bitcoin is a peer-to-peer currency"; + description = "Peer-to-peer electronic cash system"; longDescription= '' Bitcoin is a free open source peer-to-peer electronic cash system that is completely decentralized, without the need for a central server or trusted @@ -43,7 +47,7 @@ stdenv.mkDerivation rec { with each other, with the help of a P2P network to check for double-spending. ''; homepage = "http://www.bitcoin.org/"; - maintainers = [ stdenv.lib.maintainers.roconnor ]; - license = stdenv.lib.licenses.mit; + maintainers = [ maintainers.roconnor ]; + license = licenses.mit; }; } diff --git a/pkgs/applications/misc/bitcoin/namecoin_dynamic.patch b/pkgs/applications/misc/bitcoin/namecoin_dynamic.patch new file mode 100644 index 0000000000000000000000000000000000000000..ef4184ede73fa9744192350e0f0f0d2877a21db7 --- /dev/null +++ b/pkgs/applications/misc/bitcoin/namecoin_dynamic.patch @@ -0,0 +1,11 @@ +diff -u -r a/src/makefile.unix b/src/makefile.unix +--- a/src/makefile.unix 2014-01-22 22:07:59.801601964 -0800 ++++ b/src/makefile.unix 2014-01-22 22:08:07.980332839 -0800 +@@ -12,7 +12,6 @@ + + # for boost 1.37, add -mt to the boost libraries + LIBS= \ +- -Wl,-Bstatic \ + -l boost_system \ + -l boost_filesystem \ + -l boost_program_options \ diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 3d814bf6a30488a6cf3ca86b0e961a41364df490..00a5d15a84c95d514276c3380468c05e0c392493 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -1,30 +1,29 @@ -{ stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng -, imagemagick, libjpeg, fontconfig, podofo, qt48, icu, sqlite +{ stdenv, fetchurl, python, pyqt5, sip_4_16, poppler, pkgconfig, libpng +, imagemagick, libjpeg, fontconfig, podofo, qt5, icu, sqlite , pil, makeWrapper, unrar, chmlib, pythonPackages, xz, libusb1, libmtp +, xdg_utils }: stdenv.mkDerivation rec { - name = "calibre-1.48.0"; + name = "calibre-2.1.0"; src = fetchurl { url = "mirror://sourceforge/calibre/${name}.tar.xz"; - sha256 = "0wplmf3p4s5zwn9ri8ry18bx7k3pw1c1ngrc4msf7i8icq7hj177"; + sha256 = "1znwrmz740m08bihkmdijm193bvav4nm313xsagd5x9mjh2nffg7"; }; inherit python; - nativeBuildInputs = [ makeWrapper pkgconfig ]; - patchPhase = '' - tar xf ${qt48.src} - qtdir=$(realpath $(ls | grep qt | grep 4.8 | grep src)) - sed -i setup/build_environment.py \ - -e "s|^qt_private_inc = .*|qt_private_inc = ['$qtdir/include/%s'%(m) for m in ('QtGui', 'QtCore')]|" + sed -i "/pyqt_sip_dir/ s:=.*:= '${pyqt5}/share/sip':" \ + setup/build_environment.py ''; + nativeBuildInputs = [ makeWrapper pkgconfig ]; + buildInputs = - [ python pyqt4 sip popplerQt4 libpng imagemagick libjpeg - fontconfig podofo qt48 pil chmlib icu sqlite libusb1 libmtp + [ python pyqt5 sip_4_16 poppler libpng imagemagick libjpeg + fontconfig podofo qt5 pil chmlib icu sqlite libusb1 libmtp xdg_utils pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow pythonPackages.sqlite3 pythonPackages.netifaces pythonPackages.apsw @@ -33,14 +32,15 @@ stdenv.mkDerivation rec { installPhase = '' export HOME=$TMPDIR/fakehome - export POPPLER_INC_DIR=${popplerQt4}/include/poppler - export POPPLER_LIB_DIR=${popplerQt4}/lib + export POPPLER_INC_DIR=${poppler}/include/poppler + export POPPLER_LIB_DIR=${poppler}/lib export MAGICK_INC=${imagemagick}/include/ImageMagick export MAGICK_LIB=${imagemagick}/lib export FC_INC_DIR=${fontconfig}/include/fontconfig export FC_LIB_DIR=${fontconfig}/lib export PODOFO_INC_DIR=${podofo}/include/podofo export PODOFO_LIB_DIR=${podofo}/lib + export SIP_BIN=${sip_4_16}/bin/sip python setup.py install --prefix=$out PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py @@ -48,8 +48,12 @@ stdenv.mkDerivation rec { $out/lib/calibre/calibre/ebooks/rtf2xml/*.py" sed -i "s/env python[0-9.]*/python/" $PYFILES + sed -i "2i import sys; sys.argv[0] = 'calibre'" $out/bin/calibre + for a in $out/bin/*; do - wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH --prefix LD_LIBRARY_PATH : ${unrar}/lib --prefix PATH : ${popplerQt4}/bin + wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH \ + --prefix LD_LIBRARY_PATH : ${unrar}/lib \ + --prefix PATH : ${poppler}/bin done ''; @@ -57,7 +61,7 @@ stdenv.mkDerivation rec { description = "Comprehensive e-book software"; homepage = http://calibre-ebook.com; license = licenses.gpl3; - maintainers = with maintainers; [ viric iElectric ]; + maintainers = with maintainers; [ viric iElectric pSub ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/camlistore/default.nix b/pkgs/applications/misc/camlistore/default.nix index 56131425ab4b2f016f0b6f7e1efd71c8497e278e..9adac335c0c7f901b398bed4c2aa6a46e46073ea 100644 --- a/pkgs/applications/misc/camlistore/default.nix +++ b/pkgs/applications/misc/camlistore/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "Camlistore is a way of storing, syncing, sharing, modelling and backing up content"; + description = "A way of storing, syncing, sharing, modelling and backing up content"; homepage = https://camlistore.org; license = licenses.asl20; maintainers = with maintainers; [ cstrahan ]; diff --git a/pkgs/applications/misc/clipit/default.nix b/pkgs/applications/misc/clipit/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..57f6c229a08f3f922eed13355e4cb5efaeb10608 --- /dev/null +++ b/pkgs/applications/misc/clipit/default.nix @@ -0,0 +1,20 @@ +{ fetchurl, stdenv, intltool, pkgconfig, gtk, xdotool }: + +stdenv.mkDerivation rec { + name = "clipit-${version}"; + version = "1.4.2"; + + src = fetchurl { + url = "https://github.com/downloads/shantzu/ClipIt/${name}.tar.gz"; + sha256 = "0jrwn8qfgb15rwspdp1p8hb1nc0ngmpvgr87d4k3lhlvqg2cfqva"; + }; + + buildInputs = [ intltool pkgconfig gtk xdotool ]; + + meta = with stdenv.lib; { + description = "Lightweight GTK+ Clipboard Manager"; + homepage = "http://clipit.rspwn.com"; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/cool-old-term/default.nix b/pkgs/applications/misc/cool-old-term/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..76d78f004024e70908a534581fcb17a58b307f4f --- /dev/null +++ b/pkgs/applications/misc/cool-old-term/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchFromGitHub, qt53 }: + +stdenv.mkDerivation rec { + version = "0.9"; + name = "cool-old-term-${version}"; + + src = fetchFromGitHub { + owner = "Swordifish90"; + repo = "cool-old-term"; + rev = "2494bc05228290545df8c59c05624a4b903e9068"; + sha256 = "8462f3eded7b2219acc143258544b0dfac32d81e10cac61ff14276d426704c93"; + }; + + buildInputs = [ qt53 ]; + + buildPhase = '' + pushd ./konsole-qml-plugin + qmake konsole-qml-plugin.pro PREFIX=$out + make + popd + ''; + + installPhase = '' + pushd ./konsole-qml-plugin + make install + popd + + install -d $out/bin $out/lib/cool-old-term $out/share/cool-old-term + cp -a ./imports $out/lib/cool-old-term/ + cp -a ./app $out/share/cool-old-term/ + + cat > $out/bin/cool-old-term <src/config.h < $out/bin/nb << EOF + #!${bash}/bin/bash + $out/nb "\$@" + EOF + chmod 755 $out/bin/nb + ''; + + meta = { + description = "Small weblog engine written in Bash for the command line"; + homepage = http://nanoblogger.sourceforge.net/; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix index d8dba39ccb568ccbe4091931c8e198d7b61f7b54..658ff410d379056d92da2e451a45a8f3f9b1b169 100644 --- a/pkgs/applications/misc/pinfo/default.nix +++ b/pkgs/applications/misc/pinfo/default.nix @@ -1,12 +1,23 @@ -{stdenv, fetchurl, ncurses, readline}: +{ stdenv, fetchurl, autoreconfHook, gettext, texinfo, ncurses, readline }: stdenv.mkDerivation { - name = "pinfo-0.6.9"; + name = "pinfo-0.6.10"; + src = fetchurl { - url = https://alioth.debian.org/frs/download.php/1498/pinfo-0.6.9.tar.bz2; - sha256 = "1rbsz1y7nyz6ax9xfkw5wk6pnrhvwz2xcm0wnfnk4sb2wwq760q3"; + # homepage needed you to login to download the tarball + url = "http://pkgs.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2" + + "/fe3d3da50371b1773dfe29bf870dbc5b/pinfo-0.6.10.tar.bz2"; + sha256 = "0p8wyrpz9npjcbx6c973jspm4c3xz4zxx939nngbq49xqah8088j"; }; - buildInputs = [ncurses readline]; - configureFlags = "--with-curses=${ncurses} --with-readline=${readline}"; + buildInputs = [ autoreconfHook gettext texinfo ncurses readline ]; + + configureFlags = [ "--with-curses=${ncurses}" "--with-readline=${readline}" ]; + + meta = with stdenv.lib; { + description = "A viewer for info files"; + homepage = https://alioth.debian.org/projects/pinfo/; + license = licenses.gpl2Plus; + }; } + diff --git a/pkgs/applications/misc/posterazor/default.nix b/pkgs/applications/misc/posterazor/default.nix index 0cad2fbd2cd339739c3bfc465da5d69721470679..f55af543f18dd78452330b5c9348fb431e3c1da4 100644 --- a/pkgs/applications/misc/posterazor/default.nix +++ b/pkgs/applications/misc/posterazor/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, cmake, unzip, pkgconfig, libXpm, fltk13, freeimage }: stdenv.mkDerivation rec { - name = "posterazor-1.5"; + name = "posterazor-1.5.1"; src = fetchurl { - url = "mirror://sourceforge/posterazor/1.5/PosteRazor-1.5-Source.zip"; - sha256 = "0xy313d2j57s4wy2y3hjapbjr5zfaki0lhkfz6nw2p9gylcmwmjy"; + url = "mirror://sourceforge/posterazor/1.5.1/PosteRazor-1.5.1-Source.zip"; + sha256 = "1dqpdk8zl0smdg4fganp3hxb943q40619qmxjlga9jhjc01s7fq5"; }; buildInputs = [ cmake unzip pkgconfig libXpm fltk13 freeimage ]; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://posterazor.sourceforge.net/"; - description = "The PosteRazor cuts a raster image into pieces which can afterwards be printed out and assembled to a poster"; + description = "Cuts a raster image into pieces which can afterwards be printed out and assembled to a poster"; maintainers = [ stdenv.lib.maintainers.madjar ]; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/applications/misc/qgis/default.nix b/pkgs/applications/misc/qgis/default.nix index cc26a74802b4478d509b5fe2987ee760bf874a95..9a41bcc36ecc0104414a984b07511936b49ab721 100644 --- a/pkgs/applications/misc/qgis/default.nix +++ b/pkgs/applications/misc/qgis/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, x11, sqlite, gsl, - pyqt4, qwt, fcgi, python, libspatialindex, libspatialite }: + pyqt4, qwt, fcgi, python, libspatialindex, libspatialite, sip }: stdenv.mkDerivation rec { - name = "qgis-1.8.0"; + name = "qgis-2.4.0"; - buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 qwt + buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 sip qwt fcgi libspatialindex libspatialite ]; nativeBuildInputs = [ cmake python ]; @@ -19,7 +19,9 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://qgis.org/downloads/${name}.tar.bz2"; - sha256 = "1aq32ch61bqsvh39lmrxah1fmh18cd3nqyi1l0sn6ssa3kwf82vh"; + sha256 = "711b7d81ddff45b083a21f05c8aa5093a6a38a0ee42dfcc873234fcef1fcdd76"; + + }; meta = { diff --git a/pkgs/applications/misc/robomongo/default.nix b/pkgs/applications/misc/robomongo/default.nix index ab8a803b7cb48410f76544ea010a5cbc98fb8c10..8b0ba581612e4fe16b38170fea19bac9b150e24f 100644 --- a/pkgs/applications/misc/robomongo/default.nix +++ b/pkgs/applications/misc/robomongo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, qt5, openssl, boost, cmake, scons, python, pcre, bzip2 }: stdenv.mkDerivation { - name = "robomongo-0.8.3"; + name = "robomongo-0.8.4"; src = fetchurl { - url = https://github.com/paralect/robomongo/archive/v0.8.3.tar.gz; - sha256 = "1x8vpmqvjscjcw30hf0i5vsrg3rldlwx6z52i1hymlck2jfzkank"; + url = https://github.com/paralect/robomongo/archive/v0.8.4.tar.gz; + sha256 = "199fb08701wrw3ky7gcqyvb3z4027qjcqdnzrx5y7yi3rb4gvkzc"; }; patches = [ ./robomongo.patch ]; @@ -17,9 +17,8 @@ stdenv.mkDerivation { meta = { homepage = "http://robomongo.org/"; description = "Query GUI for mongodb"; - platforms = stdenv.lib.platforms.unix; + platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl3; maintainers = [ stdenv.lib.maintainers.amorsillo ]; - broken = true; }; } diff --git a/pkgs/applications/misc/robomongo/robomongo.patch b/pkgs/applications/misc/robomongo/robomongo.patch index 2305ca732eaebd3acab36c464cea3032ee1fecb5..3de6e940d9f9494554c7c08dee8806cdafa51315 100644 --- a/pkgs/applications/misc/robomongo/robomongo.patch +++ b/pkgs/applications/misc/robomongo/robomongo.patch @@ -1,6 +1,7 @@ Remove check for QT_NO_STYLE_GTK to avoid building with QCleanlooksStyle which results in error due to missing QCleanlooksStyle Ensure environment is preserved for scons build -- scons clears the env but we want to keep the nix build environment Fix typo in cmakelists +Add stdint.h include to mongo driver src diff -rupN robomongo-0.8.3/CMakeLists.txt robomongo-0.8.3-patched/CMakeLists.txt --- robomongo-0.8.3/CMakeLists.txt 2013-10-01 10:55:00.000000000 -0400 +++ robomongo-0.8.3-patched/CMakeLists.txt 2013-12-06 12:22:06.070659856 -0500 @@ -46,3 +47,15 @@ diff -rupN robomongo-0.8.3/src/third-party/mongodb/SConstruct robomongo-0.8.3-pa CLIENT_ARCHIVE='${CLIENT_DIST_BASENAME}${DIST_ARCHIVE_SUFFIX}', CLIENT_DIST_BASENAME=get_option('client-dist-basename'), CLIENT_LICENSE='#distsrc/client/LICENSE.txt', + +diff -rupN robomongo-0.8.4/src/third-party/mongodb/src/mongo/pch.h robomongo-0.8.4-patched/src/third-party/mongodb/src/mongo/pch.h +--- robomongo-0.8.4/src/third-party/mongodb/src/mongo/pch.h 2013-12-13 12:56:35.000000000 -0500 ++++ robomongo-0.8.4-patched/src/third-party/mongodb/src/mongo/pch.h 2014-08-20 18:16:31.788396489 -0400 +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + + #include "time.h" + #include "string.h" diff --git a/pkgs/applications/misc/stardict/stardict.nix b/pkgs/applications/misc/stardict/stardict.nix index 1ca8ec045d612a21bed103ce09c182eedfdcddb5..d4c41edde30ed5f84ba38593e991612c8111ddef 100644 --- a/pkgs/applications/misc/stardict/stardict.nix +++ b/pkgs/applications/misc/stardict/stardict.nix @@ -37,8 +37,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "stardict"; - homepage = "A international dictionary supporting fuzzy and glob style matching"; + description = "An international dictionary supporting fuzzy and glob style matching"; license = stdenv.lib.licenses.lgpl3; maintainers = with stdenv.lib.maintainers; [qknight]; }; diff --git a/pkgs/applications/misc/taffybar/default.nix b/pkgs/applications/misc/taffybar/default.nix index 6b282116343d8e1d24cbba5eae9fa3e1caecb035..09eb186013f3bea211e25d66cb3dd04012861a4f 100644 --- a/pkgs/applications/misc/taffybar/default.nix +++ b/pkgs/applications/misc/taffybar/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "taffybar"; - version = "0.4.0"; - sha256 = "1l6zl5mlpkdsvs3id6ivh4b74p65n6jr17k23y2cdwj2fr9prvr8"; + version = "0.4.1"; + sha256 = "0b4x78sq5x1w0xnc5fk4ixpbkl8cwjfyb4fq8vy21shf4n0fri26"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/applications/misc/tangogps/default.nix b/pkgs/applications/misc/tangogps/default.nix index aa1df2c9d1a6c57d3d40b4ae9055291a41e181e8..0a2c1c88c23942bbb1dc42448fafdb5a27eaae90 100644 --- a/pkgs/applications/misc/tangogps/default.nix +++ b/pkgs/applications/misc/tangogps/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "tangoGPS, a user friendly map and GPS user interface"; + description = "User friendly map and GPS user interface"; longDescription = '' tangoGPS is an easy to use, fast and lightweight mapping diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..50c4184c91e99d434609e5f64780d12535a89411 --- /dev/null +++ b/pkgs/applications/misc/tilda/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, pkgconfig +, autoreconfHook, gettext, expat +, confuse, vte, gtk +, makeWrapper +}: + +stdenv.mkDerivation rec { + + name = "tilda-${version}"; + version = "1.1.12"; + + src = fetchurl { + url = "https://github.com/lanoxx/tilda/archive/${name}.tar.gz"; + sha256 = "10kjlcdaylkisb8i0cw4wfssg52mrz2lxr5zmw3q4fpnhh2xlaix"; + }; + + buildInputs = [ pkgconfig autoreconfHook gettext confuse vte gtk makeWrapper ]; + + LD_LIBRARY_PATH = "${expat}/lib"; # ugly hack for xgettext to work during build + + postInstall = '' + wrapProgram "$out/bin/tilda" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + description = "A Gtk based drop down terminal for Linux and Unix"; + homepage = https://github.com/lanoxx/tilda/; + license = licenses.gpl3; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/applications/misc/viking/default.nix b/pkgs/applications/misc/viking/default.nix index 6508b12e1de8f84478d8a0d226c44ccbe36a57fb..9afabe0372d12b4b6d6c3007de576fae3822addc 100644 --- a/pkgs/applications/misc/viking/default.nix +++ b/pkgs/applications/misc/viking/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation { doCheck = true; meta = { - description = "Viking, a GPS data editor and analyzer"; + description = "GPS data editor and analyzer"; longDescription = '' Viking is a free/open source program to manage GPS data. You diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..c23be51c3e80e3925bdd5cc24fdf36dc28741cad --- /dev/null +++ b/pkgs/applications/misc/vym/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, qt4 }: + +stdenv.mkDerivation rec { + name = "vym-${version}"; + version = "2.2.4"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/project/vym/${version}/${name}.tar.bz2"; + sha256 = "1x4qp6wpszscbbs4czkfvskm7qjglvxm813nqv281bpy4y1hhvgs"; + }; + + buildInputs = [ pkgconfig qt4 ]; + + configurePhase = '' + qmake PREFIX="$out" + ''; + + meta = { + description = "A mind-mapping software"; + longDescription = '' + VYM (View Your Mind) is a tool to generate and manipulate maps which show your thoughts. + Such maps can help you to improve your creativity and effectivity. You can use them + for time management, to organize tasks, to get an overview over complex contexts, + to sort your ideas etc. + + Maps can be drawn by hand on paper or a flip chart and help to structure your thoughs. + While a tree like structure like shown on this page can be drawn by hand or any drawing software + vym offers much more features to work with such maps. + ''; + homepage = http://www.insilmaril.de/vym/; + license = stdenv.lib.licenses.gpl2; + maintainer = stdenv.lib.maintainers.AndersonTorres; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix index 7594014d769e712d0e1a0226175507a37bf5fa5a..6ead69db22094d6e5101ebe6c9239e02a55637bf 100644 --- a/pkgs/applications/misc/wordnet/default.nix +++ b/pkgs/applications/misc/wordnet/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { ''; meta = { - description = "WordNet, a lexical database for the English language"; + description = "Lexical database for the English language"; longDescription = '' WordNet® is a large lexical database of English. Nouns, verbs, diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix index 0bc2170340c8fe2b5daa7b923a72a18bc9c91f69..09edb086c9f2a0754ac06d8b8b486bebdb5fac15 100644 --- a/pkgs/applications/misc/xca/default.nix +++ b/pkgs/applications/misc/xca/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { homepage = http://xca.sourceforge.net/; platforms = platforms.all; license = licenses.bsd3; + broken = true; }; } diff --git a/pkgs/applications/misc/xfe/default.nix b/pkgs/applications/misc/xfe/default.nix index d09a899b897f4cb3ebdc87515f32c0af6accfa10..e216b19fab5a16b35cad45c8f180dcd16f89ac58 100644 --- a/pkgs/applications/misc/xfe/default.nix +++ b/pkgs/applications/misc/xfe/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - description = "X File Explorer (Xfe) is an MS-Explorer like file manager for X"; + description = "MS-Explorer like file manager for X"; longDescription = '' X File Explorer (Xfe) is an MS-Explorer like file manager for X. It is based on the popular, but discontinued, X Win Commander, which was developed by Maxim Baranov. diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index b9011c0236f3da5bac1497944bd747f46efbab95..46dadd280c9a18c434be9321d49045297437c1a2 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -10,7 +10,7 @@ , python, pythonPackages, perl, pkgconfig , nspr, udev, krb5 , utillinux, alsaLib -, gcc, bison, gperf +, bison, gperf , glib, gtk, dbus_glib , libXScrnSaver, libXcursor, libXtst, mesa , protobuf, speechd, libXdamage @@ -145,6 +145,8 @@ let ''; gypFlags = mkGypFlags (gypFlagsUseSystemLibs // { + linux_use_bundled_binutils = false; + linux_use_bundled_gold = false; linux_use_gold_binary = false; linux_use_gold_flags = false; proprietary_codecs = false; @@ -161,9 +163,6 @@ let werror = ""; clang = false; - # FIXME: In version 37, omnibox.mojom.js doesn't seem to be generated. - use_mojo = versionOlder source.version "37.0.0.0"; - # Google API keys, see: # http://www.chromium.org/developers/how-tos/api-keys # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, @@ -192,22 +191,12 @@ let ''; buildPhase = let - CC = "${gcc}/bin/gcc"; - CXX = "${gcc}/bin/g++"; - buildCommand = target: let - # XXX: Only needed for version 36 and older! - targetSuffix = optionalString - (versionOlder source.version "37.0.0.0" && target == "mksnapshot") - (if stdenv.is64bit then ".x64" else ".ia32"); - in '' - CC="${CC}" CC_host="${CC}" \ - CXX="${CXX}" CXX_host="${CXX}" \ - LINK_host="${CXX}" \ - "${ninja}/bin/ninja" -C "${buildPath}" \ - -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \ - "${target}${targetSuffix}" + buildCommand = target: '' + "${ninja}/bin/ninja" -C "${buildPath}" \ + -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \ + "${target}" '' + optionalString (target == "mksnapshot" || target == "chrome") '' - paxmark m "${buildPath}/${target}${targetSuffix}" + paxmark m "${buildPath}/${target}" ''; targets = extraAttrs.buildTargets or []; commands = map buildCommand targets; diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix index d7ccc412fa4f5c9c27aa63949a9576add30fb796..91c6ada51381c7c8d27f99c521aac7b79db6f77c 100644 --- a/pkgs/applications/networking/browsers/chromium/source/default.nix +++ b/pkgs/applications/networking/browsers/chromium/source/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { prePatch = "patchShebangs ."; - patches = singleton ./sandbox_userns_36.patch; + patches = [ ./sandbox_userns_36.patch ./missing_alg_import.patch ]; postPatch = '' sed -i -r \ diff --git a/pkgs/applications/networking/browsers/chromium/source/missing_alg_import.patch b/pkgs/applications/networking/browsers/chromium/source/missing_alg_import.patch new file mode 100644 index 0000000000000000000000000000000000000000..243e3fe70498fdcd8a08b96e4011e1dfc6d6fa5a --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/source/missing_alg_import.patch @@ -0,0 +1,11 @@ +diff -Naur chromium-37.0.2062.94.old/media/cast/logging/encoding_event_subscriber.cc chromium-37.0.2062.94/media/cast/logging/encoding_event_subscriber.cc +--- chromium-37.0.2062.94.old/media/cast/logging/encoding_event_subscriber.cc 2014-08-29 02:05:15.149140733 -0700 ++++ chromium-37.0.2062.94/media/cast/logging/encoding_event_subscriber.cc 2014-08-29 02:06:00.182853590 -0700 +@@ -4,6 +4,7 @@ + + #include "media/cast/logging/encoding_event_subscriber.h" + ++#include + #include + #include + diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix index 4a610827913f599d6e9b7f22220fceeb915a3859..27ba9420f4321200442f3fa920b9f8638a21d4b7 100644 --- a/pkgs/applications/networking/browsers/chromium/source/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix @@ -1,21 +1,21 @@ # This file is autogenerated from update.sh in the parent directory. { dev = { - version = "38.0.2107.3"; - sha256 = "0zb1mj3xgvvs5ijix4b52vj9dlymqkipn8srfzvhwl7g4hx5ss3v"; - sha256bin32 = "12lvvmg3bqacb0qw72bwlxm2m57s39mz2810agngdgzv0hd835cv"; - sha256bin64 = "1vw36s8nlvdsl8pjbh4gny00kvcizn1i2lznzqzysicz2rz7ncrh"; + version = "39.0.2138.3"; + sha256 = "0adkzv4ydrg02prcacqx3gk8v0ivvs57qisf220wzzicgpzklm26"; + sha256bin32 = "0rskbr55nhvpmmw6bl90iv2lr0f2chra3r5c92j3ica307y12f2q"; + sha256bin64 = "0gdyyaxiaq50jpwhvai6d67ypgjxqn8kp9fqix6nbwj4fnmdfcjx"; }; beta = { - version = "37.0.2062.58"; - sha256 = "0jck4s6nrizj9wmifsjviin9ifnviihs21fi05wzljyfnbgc4byl"; - sha256bin32 = "1cm1r8bqy66gvdhbrgn9pdc11i72dca96ab5j3m3349p6728jbgk"; - sha256bin64 = "0cpb189pn5jiplldkgy8lfbcwvfik66kjjf6y2i708xa5ggfpwfi"; + version = "38.0.2125.24"; + sha256 = "07v4vk7sc54d2hzgfms0b71cc7z6h85v9d39j110kzk0w1bpk3gy"; + sha256bin32 = "0l26ci7sqi755cm017qmbcqk74rqja5c08cbzf5v4chsa773qn0m"; + sha256bin64 = "1ibx40ijjj8z0smpzh5v6y611c57qm5raldk48h5dd1flqbgz0nr"; }; stable = { - version = "36.0.1985.125"; - sha256 = "08shkm89qzzdlrjg0rg5qiszbk6ziginsicyxqyk353y76jx10hp"; - sha256bin32 = "1ahazz56k127xncgl1lzwsmydbh0vcxq0hzrb9cm9zzdkzqjzg03"; - sha256bin64 = "0qx5316cd8l9g8w389aqi5m3csmr5s8hs7sivlk02mbs0jzi8ppc"; + version = "37.0.2062.94"; + sha256 = "0cz5kivimxcaiml6x5mysarjyfvvanbw02qz2d1y3jvl1dc1jz6j"; + sha256bin32 = "0vszphfz4mnw08yc6bid4g6q2w4f5smvfhlzyb2vvv65ndr64b8k"; + sha256bin64 = "0h4fb7v0b1w9d47iy6fk5g0fpzgczps7nzmknyk7vx68ybi39ssw"; }; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index 969ced923b3d51743e09f456fb7bee7dfe1bbe81..56ba95c661f54796fd1f20b2d1c678a9cf14cfd3 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -37,6 +37,8 @@ , systemd }: +assert stdenv.isLinux; + let version = "31.0"; sources = [ diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index ad2ea75bd704f43c38dd492ebed52cc80267ddee..e23a6d94ec1a7350362b643846451b475116e4d6 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -94,7 +94,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Mozilla Firefox - the browser, reloaded"; + description = "Web browser"; homepage = http://www.mozilla.com/en-US/firefox/; maintainers = with lib.maintainers; [ eelco wizeman ]; platforms = lib.platforms.linux; diff --git a/pkgs/applications/networking/browsers/icecat-3/default.nix b/pkgs/applications/networking/browsers/icecat-3/default.nix deleted file mode 100644 index ef2c69422b6266bac5eaf40fe4ca7187ede1d37e..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/browsers/icecat-3/default.nix +++ /dev/null @@ -1,119 +0,0 @@ -{ fetchurl, stdenv, pkgconfig, gtk, pango, perl, python, ply, zip, libIDL -, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs, alsaLib -, libnotify, gnome_vfs, libgnomeui -, freetype, fontconfig, wirelesstools ? null, pixman -, application ? "browser" }: - -# Build the WiFi stuff on Linux-based systems. -# FIXME: Disable for now until it can actually be built: -# http://thread.gmane.org/gmane.comp.gnu.gnuzilla/1376 . -#assert stdenv.isLinux -> (wirelesstools != null); - -let version = "3.6.15"; in -stdenv.mkDerivation { - name = "icecat-${version}"; - - src = fetchurl { - url = "mirror://gnu/gnuzilla/${version}/icecat-${version}.tar.xz"; - sha256 = "1px018bd81c81a4hbz0qgf89pkshkbhg4abwq1d26dwy8128cxwg"; - }; - - buildInputs = - [ libgnomeui libnotify gnome_vfs alsaLib - pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2 pixman - python ply dbus dbus_glib pango freetype fontconfig - xlibs.libXi xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt - ] - ++ (stdenv.lib.optional false /* stdenv.isLinux */ wirelesstools); - - patches = [ - ./skip-gre-registration.patch ./rpath-link.patch - ]; - - configureFlags = - [ "--enable-application=${application}" - "--enable-libxul" - "--disable-javaxpcom" - - "--enable-optimize" - "--disable-debug" - "--enable-strip" - "--with-system-jpeg" - "--with-system-zlib" - "--with-system-bz2" - # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support" - "--enable-system-cairo" - #"--enable-system-sqlite" # <-- this seems to be discouraged - "--disable-crashreporter" - ] - ++ (stdenv.lib.optional true /* (!stdenv.isLinux) */ "--disable-necko-wifi"); - - postInstall = '' - export dontPatchELF=1; - - # Strip some more stuff - strip -S "$out/lib/"*"/"* || true - - # This fixes starting IceCat when there already is a running - # instance. The `icecat' wrapper script actually expects to be - # in the same directory as `run-mozilla.sh', apparently. - libDir=$(cd $out/lib && ls -d icecat-[0-9]*) - test -n "$libDir" - - if [ -f "$out/bin/icecat" ] - then - # Fix references to /bin paths in the IceCat shell script. - substituteInPlace $out/bin/icecat \ - --replace /bin/pwd "$(type -tP pwd)" \ - --replace /bin/ls "$(type -tP ls)" - - cd $out/bin - mv icecat ../lib/$libDir/ - ln -s ../lib/$libDir/icecat . - - # Register extensions etc. - echo "running \`icecat -register'..." - (cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./icecat-bin -register) || false - fi - - if [ -f "$out/lib/$libDir/xpidl" ] - then - # XulRunner's IDL compiler. - echo "linking \`xpidl'..." - ln -s "$out/lib/$libDir/xpidl" "$out/bin" - fi - - # Put the GNU IceCat icon in the right place. - mkdir -p "$out/lib/$libDir/chrome/icons/default" - ln -s ../../../icons/default.xpm "$out/lib/$libDir/chrome/icons/default/" - ''; - - enableParallelBuilding = true; - - meta = { - description = "GNU IceCat, a free web browser based on Mozilla Firefox"; - - longDescription = '' - Gnuzilla is the GNU version of the Mozilla suite, and GNU IceCat - is the GNU version of the Firefox browser. Its main advantage - is an ethical one: it is entirely free software. While the - source code from the Mozilla project is free software, the - binaries that they release include additional non-free software. - Also, they distribute and recommend non-free software as - plug-ins. In addition, GNU IceCat includes some privacy - protection features. - ''; - - homepage = http://www.gnu.org/software/gnuzilla/; - license = [ "GPLv2+" "LGPLv2+" "MPLv1+" ]; - - maintainers = [ ]; - platforms = stdenv.lib.platforms.gnu; - }; - - passthru = { - inherit gtk version; - isFirefox3Like = true; - broken = true; - }; -} diff --git a/pkgs/applications/networking/browsers/icecat-3/rpath-link.patch b/pkgs/applications/networking/browsers/icecat-3/rpath-link.patch deleted file mode 100644 index d50784f13eea6903d81a129f399bf6653b560326..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/browsers/icecat-3/rpath-link.patch +++ /dev/null @@ -1,14 +0,0 @@ -Without this patch, IceCat ends up linking with -`-Wl,-rpath-link=/bin -Wl-,-rpath-link=/lib'. - ---- icecat-3.5/js/src/configure 2009-07-04 18:03:01.000000000 +0200 -+++ icecat-3.5/js/src/configure 2009-07-13 18:34:30.000000000 +0200 -@@ -4775,7 +4775,6 @@ HOST_AR='$(AR)' - HOST_AR_FLAGS='$(AR_FLAGS)' - - MOZ_JS_LIBS='-L$(libdir) -lmozjs' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(PREFIX)/lib' - - MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' - MOZ_XPCOM_OBSOLETE_LIBS='-L$(LIBXUL_DIST)/lib -lxpcom_compat' - diff --git a/pkgs/applications/networking/browsers/icecat-3/skip-gre-registration.patch b/pkgs/applications/networking/browsers/icecat-3/skip-gre-registration.patch deleted file mode 100644 index d1fb4e3f30abd53dd1024ae58f0fb3fe97410cc6..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/browsers/icecat-3/skip-gre-registration.patch +++ /dev/null @@ -1,12 +0,0 @@ -Skip "GRE" registration since that assumes write access to `/etc'. - ---- icecat-3.0.1-g1/xulrunner/installer/Makefile.in 2008-07-27 12:52:16.000000000 +0200 -+++ icecat-3.0.1-g1/xulrunner/installer/Makefile.in 2008-09-08 17:19:17.000000000 +0200 -@@ -71,6 +71,7 @@ $(MOZILLA_VERSION).system.conf: $(topsrc - printf "[%s]\nGRE_PATH=%s\nxulrunner=true\nabi=%s" \ - $(MOZILLA_VERSION) $(installdir) $(TARGET_XPCOM_ABI)> $@ - -+SKIP_GRE_REGISTRATION = yes - ifndef SKIP_GRE_REGISTRATION - # to register xulrunner per-user, override this with $HOME/.gre.d - regdir = /etc/gre.d 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 d39dfe3582e9871c3ce226c7ed23d33597863aca..55521a13f9cba1fbefde341f484dc80053ae003a 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -36,7 +36,7 @@ let # -> http://get.adobe.com/flashplayer/ - version = "11.2.202.394"; + version = "11.2.202.400"; src = if stdenv.system == "x86_64-linux" then @@ -47,7 +47,7 @@ let else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; - sha256 = "1w82kmda91xdsrqpkrbcbrzswnbfszy0x9hvf9wf2h14isimdknx"; + sha256 = "043bzjcqxjkjk68kba5nk77m59k6g71h32bypjpnwaigdgbhafyl"; } else if stdenv.system == "i686-linux" then if debug then { @@ -58,7 +58,7 @@ let } else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; - sha256 = "0c8wp4qn6k224krihxb08g7727wlklk9bl4h7nqp3cpp85x9hg97"; + sha256 = "1xvfzm926rj0l2mq2kybrvykrv7bjfl3m7p5mvhj1586a3x1gb6h"; } else throw "Flash Player is not supported on this platform"; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix index 8cda5ad5762fdfbe8408793d127665c8c51ba034..229aa4f23ba13f0883f8ec09f95318cbf47f4d15 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix @@ -1,20 +1,19 @@ { stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk2, gettext, intltool }: -let version = "1.0.2"; in stdenv.mkDerivation rec { name = "fribid-${version}"; + version = "1.0.4"; builder = ./builder.sh; src = fetchurl { url = "https://fribid.se/releases/source/${name}.tar.bz2"; - sha256 = "d7cd9adf04fedf50b266a5c14ddb427cbb263d3bc160ee0ade03aca9d5356e5c"; + sha256 = "a679f3a0534d5f05fac10b16b49630a898c0b721cfa24d2c827fa45485476649"; }; buildInputs = [ pkgconfig openssl libX11 gtk2 glib gettext intltool ]; patches = [ ./translation-xgettext-to-intltool.patch ./plugin-linkfix.patch - ./emulated-version.patch ./ipc-lazytrace.patch ]; @@ -22,10 +21,15 @@ stdenv.mkDerivation rec { meta = { description = "A browser plugin to manage Swedish BankID:s"; + longDescription = '' + FriBID is an open source software for the Swedish e-id system + called BankID. FriBID also supports processor architectures and + Linux/BSD distributions that the official software doesn't + support. + ''; homepage = http://fribid.se; license = [ "GPLv2" "MPLv1" ]; maintainers = [ stdenv.lib.maintainers.edwtjo ]; platforms = with stdenv.lib.platforms; linux; }; } - diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix index 5b6b2176d47e681613580f1020c4e8a82f9ae587..105e5904715c6ef33a846be3c579b273be6e479b 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix @@ -8,9 +8,6 @@ stdenv.mkDerivation rec { sha256 = "0zkvqrzibrbljiccvz3rhbmgifxadlrfjylqpz48jnjx9kggynms"; }; - patches = - stdenv.lib.optional (browser ? isFirefox3Like) ./icecat3-idldir.patch; - postConfigure = (if browser ? isFirefox3Like then '' # Cause a rebuild of these file from the IDL file, needed for GNU IceCat 3 diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index 80b09bcd8a8ec7272f46decb0a3019a70ba15314..201a6b947c1ace77e3abf00294569a24e467f1d3 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -81,6 +81,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.opera.com; - description = "The Opera web browser"; + description = "Web browser"; }; } diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix index 7c5b983f1b49874d5d871c3500121952a2b7ff84..996bda67323a397c6bfc30ddd585f2510dff083b 100644 --- a/pkgs/applications/networking/browsers/vimb/default.nix +++ b/pkgs/applications/networking/browsers/vimb/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "vimb-${version}"; - version = "2.6"; + version = "2.7"; src = fetchurl { url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz"; - sha256 = "1g6zm5fk3k52jk3vbbzj7rm0kanykd4zgxrqhlvj3qzj2nsn4a21"; + sha256 = "05i5p9827rgga4h27qy3qh4ps8aynkcr55j681ddhn16ci3dk8zr"; }; # Nixos default ca bundle diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix index 4329308ba04d2f2ccd7e54a6684d81c57d6951d1..fe93a072b2cf6fd4c8898a62bbfa7947d891cd85 100644 --- a/pkgs/applications/networking/cluster/mesos/default.nix +++ b/pkgs/applications/networking/cluster/mesos/default.nix @@ -18,7 +18,7 @@ in stdenv.mkDerivation { buildInputs = [ makeWrapper autoconf automake libtool curl sasl jdk maven - python wrapPython boto distutils-cfg + python wrapPython boto distutils-cfg setuptools ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/networking/ids/daq/default.nix b/pkgs/applications/networking/ids/daq/default.nix index 36571809a3708dec449b52d6e42b19676a799338..c80d55f94128db4d353d4e4780209a046ba838ba 100644 --- a/pkgs/applications/networking/ids/daq/default.nix +++ b/pkgs/applications/networking/ids/daq/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, flex, bison, libpcap}: stdenv.mkDerivation rec { - name = "daq-2.0.0"; + name = "daq-2.0.2"; src = fetchurl { name = "${name}.tar.gz"; - url = http://www.snort.org/downloads/2311; - sha256 = "0f0w5jfmx0n2sms4f2mfg984a27r7qh927vkd7fclvx9cbiwibzv"; + url = "http://www.snort.org/downloads/snort/${name}.tar.gz"; + sha256 = "1a39qbm9nc05yr8llawl7mz0ny1fci4acj9c2k1h4klrqikiwpfn"; }; buildInputs = [ flex bison libpcap ]; diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix index 858e99c245bad3f0b1a217144a5b58b2c31a91c3..65e46176fcb4cc468ae7f34f65c3f5b7dac4e0f9 100644 --- a/pkgs/applications/networking/ids/snort/default.nix +++ b/pkgs/applications/networking/ids/snort/default.nix @@ -1,18 +1,18 @@ {stdenv, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}: stdenv.mkDerivation rec { - name = "snort-2.9.4.6"; + name = "snort-2.9.6.2"; src = fetchurl { name = "${name}.tar.gz"; - url = http://www.snort.org/downloads/2320; - sha256 = "1g5kn36l67a5m95h2shqwqbbjb6rgl3sf1bciakal2l4n6857ang"; + url = "http://www.snort.org/downloads/snort/${name}.tar.gz"; + sha256 = "0xsxbd5h701ncnhn9sf7zkmzravlqhn1182whinphfjjw72py7cf"; }; buildInputs = [ libpcap pcre libdnet daq zlib flex bison ]; meta = { - description = "Snort is an open source network intrusion prevention and detection system (IDS/IPS)"; + description = "Network intrusion prevention and detection system (IDS/IPS)"; homepage = http://www.snort.org; license = stdenv.lib.licenses.gpl2; }; diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix index ec614bf4b8c1e5b17905f6f16e811cb431992af0..cf10c1e6fe2085f11e5685e4d9e29529a19d6562 100644 --- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix +++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "BitlBee, an IRC to other chat networks gateway"; + description = "IRC instant messaging gateway"; longDescription = '' BitlBee brings IM (instant messaging) to IRC clients. It's a diff --git a/pkgs/applications/networking/instant-messengers/carrier/2.5.0.nix b/pkgs/applications/networking/instant-messengers/carrier/2.5.0.nix index 9cf2558ef3200235f005cf79189df0300757ce47..909d6404193cf4a13e5af75bd0a91cb1129f28e3 100644 --- a/pkgs/applications/networking/instant-messengers/carrier/2.5.0.nix +++ b/pkgs/applications/networking/instant-messengers/carrier/2.5.0.nix @@ -41,7 +41,7 @@ rec { name = "carrier-2.5.0"; meta = { - description = "Carrier - PidginIM GUI fork with user-friendly development model"; + description = "PidginIM GUI fork with user-friendly development model"; homepage = http://funpidgin.sf.net; }; } // (if externalPurple2 then { diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix index 07730a8c0ee144fbac4c4bc9dc2ac3f6ff778934..e46956f3ccae8ada1046f9ec6c531cd1631de4f1 100644 --- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix +++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "Ekiga SIP client"; + description = "VOIP/Videoconferencing app with full SIP and H.323 support"; maintainers = [ maintainers.raskin ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/instant-messengers/fuze/default.nix b/pkgs/applications/networking/instant-messengers/fuze/default.nix index 9ccada87fe2f7e8254a603d18f928bb4d9b39bf1..41ffb421f8e68a455f7f7c65d8e7d6b2340b2c0b 100644 --- a/pkgs/applications/networking/instant-messengers/fuze/default.nix +++ b/pkgs/applications/networking/instant-messengers/fuze/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation { ''; meta = { - description = "Fuze for Linux"; + description = "Internet and mobile based unified communications solutions (Linux client)"; homepage = http://www.fuzebox.com; license = "unknown"; }; diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix index 6da12905f5607f4f3ecebbfc3b7952d8e14f8140..cf4c2e22ad6b8d6fb5b962f60b5d6d6ced41d409 100644 --- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix +++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix @@ -94,7 +94,7 @@ stdenv.mkDerivation { ''; meta = { - description = "HipChat Desktop Client"; + description = "Desktop client for HipChat services"; homepage = http://www.hipchat.com; license = stdenv.lib.licenses.unfree; platforms = [ "i686-linux" "x86_64-linux" ]; diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix index be12c7e8e2ae206ac105473390046adc91536283..e10b4f9c83c57adc3ef865c89b464b2fe67b7449 100644 --- a/pkgs/applications/networking/instant-messengers/linphone/default.nix +++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { description = "Open Source video SIP softphone"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.gnu; + broken = true; }; } diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix index cae0213c6be2ab49eebc458ad01813711577b4da..362bf0de9774037dfac5342b12f87cc1f1200081 100644 --- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix +++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix @@ -1,19 +1,22 @@ {stdenv, fetchurl, openssl, ncurses, pkgconfig, glib, loudmouth}: -stdenv.mkDerivation { - - name = "mcabber-0.10.1"; +stdenv.mkDerivation rec { + name = "mcabber-${version}"; + version = "0.10.3"; src = fetchurl { - url = "http://mcabber.com/files/mcabber-0.10.1.tar.bz2"; + url = "http://mcabber.com/files/mcabber-${version}.tar.bz2"; sha256 = "1248cgci1v2ypb90wfhyipwdyp1wskn3gzh78af5ai1a4w5rrjq0"; }; - meta = { homepage = "http://mcabber.com/"; - description = "Small Jabber console client"; - }; - buildInputs = [openssl ncurses pkgconfig glib loudmouth]; configureFlags = "--with-openssl=${openssl}"; + + meta = with stdenv.lib; { + homepage = http://mcabber.com/; + description = "Small Jabber console client"; + license = licenses.gpl2; + maintainers = with maintainers; [ pSub ]; + }; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index 6e6fd6d0eb6cd853bd6e0e7901a3ec470a56e6e7..814a191c457ae59d8df180c983462bfef20c5727 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { + (lib.optionalString (gnutls != null) " --enable-gnutls=yes --enable-nss=no") ; meta = with stdenv.lib; { - description = "Pidgin IM - XMPP(Jabber), AIM/ICQ, IRC, SIP etc client"; + description = "Multi-protocol instant messaging client"; homepage = http://pidgin.im; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix index eb052af1369063c349e326785f06c3da41fdd0a4..d7dc755e9abbe1cd110acc644083076e074c5cfd 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix @@ -77,6 +77,7 @@ stdenv.mkDerivation rec { description = "The TeamSpeak voice communication tool"; homepage = http://teamspeak.com/; license = "http://www.teamspeak.com/?page=downloads&type=ts3_linux_client_latest"; + maintainers = [ stdenv.lib.maintainers.lhvwb ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix index b3e1ff74cfa5c2bb8c748556c542d721fb6b93bb..f7d1a010ed8f3107a3b68015dd9b357f4b7417d9 100644 --- a/pkgs/applications/networking/instant-messengers/toxic/default.nix +++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix @@ -2,16 +2,13 @@ , libtoxcore, openal, libvpx, freealut, libconfig, pkgconfig }: let - version = "7566aa9d26"; - date = "20140728"; -in -stdenv.mkDerivation rec { - name = "toxic-${date}-${version}"; + version = "0.4.7"; +in stdenv.mkDerivation rec { + name = "toxic-${version}"; src = fetchurl { - url = "https://github.com/Tox/toxic/tarball/${version}"; - name = "${name}.tar.gz"; - sha256 = "13vns0qc0hxhab6rpz0irnzgv42mp3v1nrbwm90iymhf4xkc9nwa"; + url = "https://github.com/Tox/toxic/archive/v${version}.tar.gz"; + sha256 = "0rcrcqzvicz7787fa4b7f68qnwq6wqbyrm8ii850f1w7vnxq9dkq"; }; makeFlags = [ "-Cbuild" "VERSION=${version}" ]; diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix index 823df5c27a28f52c3d6bc5e3d3fd300575324519..b49d5f40a86bf3c46e06fc6763d95bf03d07b171 100644 --- a/pkgs/applications/networking/instant-messengers/utox/default.nix +++ b/pkgs/applications/networking/instant-messengers/utox/default.nix @@ -8,8 +8,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "notsecure"; repo = "uTox"; - rev = "d70f9bfb4ff8a156ec35803da6226b0ac8c47961"; - sha256 = "10cvsg0phv0jsrdl3zkk339c4bzn3xc82q1x90h6gcnrbg4vzmp0"; + rev = "a840b459210694fdf02671567bf33845a11d4c83"; + sha256 = "0jr0xajkv5vkq8gxspnq09k4bzc98fr3hflnz8a3lrwajyhrnpvp"; }; buildInputs = [ pkgconfig libtoxcore dbus libvpx libX11 openal freetype diff --git a/pkgs/applications/networking/jmeter/default.nix b/pkgs/applications/networking/jmeter/default.nix index 2d5e6b66bf058ff7f6adcb25f6628f7ceb13f10d..77aeb64478f07f9c7b6d80081eba1e2eaac31f9c 100644 --- a/pkgs/applications/networking/jmeter/default.nix +++ b/pkgs/applications/networking/jmeter/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Apache JMeter is a 100% pure Java desktop application designed to load test functional behavior and measure performance."; + description = "A 100% pure Java desktop application designed to load test functional behavior and measure performance"; longDescription = '' The Apache JMeter desktop application is open source software, a 100% pure Java application designed to load test functional behavior and diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index 7a1eddfa86907b5af1bd2d3d419d458582f94f4c..75ccb93ca95413478106efadea8044bfb0f68e7e 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -70,8 +70,7 @@ stdenv.mkDerivation rec { checkTarget = "test"; meta = { - description = "Notmuch -- The mail indexer"; - longDescription = ""; + description = "Mail indexer"; license = stdenv.lib.licenses.gpl3; maintainers = with stdenv.lib.maintainers; [ chaoflow garbas ]; platforms = stdenv.lib.platforms.gnu; diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix index b86579673abe9484d1e976f732255eb72a6d2a91..3d537d83f430aa183bb17502dd57d4d34bee0844 100644 --- a/pkgs/applications/networking/mailreaders/sup/default.nix +++ b/pkgs/applications/networking/mailreaders/sup/default.nix @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl2; maintainers = with stdenv.lib.maintainers; [ lovek323 ]; platforms = stdenv.lib.platforms.unix; + broken = true; }; dontStrip = true; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix index 15acd5af8dfd4633e6c8f43682da0e84b687e001..6add41edf7c315504c1cbc741c034253dbe06a7e 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -37,6 +37,8 @@ , pango }: +assert stdenv.isLinux; + let version = "31.0"; sources = [ diff --git a/pkgs/applications/networking/mumble/murmur.nix b/pkgs/applications/networking/mumble/murmur.nix index 17254aa2fdd57794391d33282a978d2e9c7cf7bd..1c06392f60b28b9eb25fc8c79fb1fbe3295c60b1 100644 --- a/pkgs/applications/networking/mumble/murmur.nix +++ b/pkgs/applications/networking/mumble/murmur.nix @@ -12,11 +12,11 @@ let in stdenv.mkDerivation rec { name = "murmur-" + version; - version = "1.2.6"; + version = "1.2.8"; src = fetchurl { url = "mirror://sourceforge/mumble/mumble-${version}.tar.gz"; - sha256 = "1zxnbwbd81p7lvscghlpkad8kynh9gbf1nhc092sp64pp37xwv47"; + sha256 = "0ng1xd7i0951kqnd9visf84y2dcwia79a1brjwfvr1wnykgw6bsc"; }; patchPhase = optional iceSupport '' diff --git a/pkgs/applications/networking/newsreaders/slrn/default.nix b/pkgs/applications/networking/newsreaders/slrn/default.nix index c933460af43b967752afd4cd66a286939ac1565a..fe13c756bd7f4b8f5b14c3f20eca5a53c30d4d02 100644 --- a/pkgs/applications/networking/newsreaders/slrn/default.nix +++ b/pkgs/applications/networking/newsreaders/slrn/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation { buildInputs = [ slang ncurses ]; meta = { - description = "The slrn (S-Lang read news) newsreader"; + description = "Text-based newsreader"; homepage = http://slrn.sourceforge.net/index.html; license = stdenv.lib.licenses.gpl2; }; diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix index 6c28840f7e5f206c8159269c869d703c1f040404..052c5311253656806de6469b712aaa2515c90e49 100644 --- a/pkgs/applications/networking/p2p/gnunet/default.nix +++ b/pkgs/applications/networking/p2p/gnunet/default.nix @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { */ meta = { - description = "GNUnet, GNU's decentralized anonymous and censorship-resistant P2P framework"; + description = "GNU's decentralized anonymous and censorship-resistant P2P framework"; longDescription = '' GNUnet is a framework for secure peer-to-peer networking that diff --git a/pkgs/applications/networking/remote/rdesktop/default.nix b/pkgs/applications/networking/remote/rdesktop/default.nix index 9ba9e3aa3fc47e56f52ef4f4dc0d9e8332da9347..7d2b7990d3f9ff7236b2049681a702f77520b32a 100644 --- a/pkgs/applications/networking/remote/rdesktop/default.nix +++ b/pkgs/applications/networking/remote/rdesktop/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation (rec { pname = "rdesktop"; - version = "1.8.1"; + version = "1.8.2"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.gz"; - sha256 = "0il248cdsxvwjsl4bswf27ld9r1a7d48jf6bycr86kf3i55q7k3n"; + sha256 = "0y0s0qjfsflp4drcn75ykx6as7mn13092bcvlp2ibhilkpa27gzv"; }; buildInputs = [openssl libX11]; @@ -19,6 +19,9 @@ stdenv.mkDerivation (rec { ]; meta = { - description = "rdesktop is an open source client for Windows Terminal Services"; + description = "Open source client for Windows Terminal Services"; + homepage = http://www.rdesktop.org/; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl2; }; }) diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index 8fb929d53e10d619697d3c3d3699c152bef47679..8304f6dc091bfa91c4a8fad405d750577356195c 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { license = stdenv.lib.licenses.gpl2; homepage = "http://remmina.sourceforge.net/"; - description = "Remmina is a remote desktop client written in GTK+"; + description = "Remote desktop client written in GTK+"; maintainers = []; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix new file mode 100644 index 0000000000000000000000000000000000000000..fa722747e5fbfb76ac48e876d6e431b83ad4f2ea --- /dev/null +++ b/pkgs/applications/networking/sync/backintime/common.nix @@ -0,0 +1,46 @@ +{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages }: + +stdenv.mkDerivation rec { + version = "1.0.36"; + + name = "backintime-common-${version}"; + + src = fetchurl { + url = "https://launchpad.net/backintime/1.0/${version}/+download/backintime-${version}.tar.gz"; + md5 = "28630bc7bd5f663ba8fcfb9ca6a742d8"; + }; + + # because upstream tarball has no top-level directory. + # https://bugs.launchpad.net/backintime/+bug/1359076 + sourceRoot = "."; + + buildInputs = [ makeWrapper gettext python2 python2Packages.dbus ]; + + installFlags = [ "DEST=$(out)" ]; + + preConfigure = "cd common"; + + dontAddPrefix = true; + + preFixup = + '' + substituteInPlace "$out/bin/backintime" \ + --replace "=\"/usr/share" "=\"$prefix/share" + wrapProgram "$out/bin/backintime" \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + --prefix PATH : "$prefix/bin:$PATH" + ''; + + meta = { + homepage = https://launchpad.net/backintime; + description = "Simple backup tool for Linux"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.DamienCassou ]; + platforms = stdenv.lib.platforms.all; + longDescription = '' + Back In Time is a simple backup tool (on top of rsync) for Linux + inspired from “flyback project” and “TimeVault”. The backup is + done by taking snapshots of a specified set of directories. + ''; + }; +} \ No newline at end of file diff --git a/pkgs/applications/networking/sync/backintime/gnome.nix b/pkgs/applications/networking/sync/backintime/gnome.nix new file mode 100644 index 0000000000000000000000000000000000000000..56d0f6c5481b2b52531c5beececa069f9bcaa7c3 --- /dev/null +++ b/pkgs/applications/networking/sync/backintime/gnome.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, makeWrapper, gettext, python2, python2Packages, gnome2, pkgconfig, pygobject, glib, libtool, backintime-common }: + +stdenv.mkDerivation rec { + inherit (backintime-common) version src sourceRoot installFlags meta; + + name = "backintime-gnome-${version}"; + + buildInputs = [ makeWrapper gettext python2 python2Packages.dbus backintime-common python2Packages.pygtk python2Packages.notify gnome2.gnome_python ]; + + preConfigure = "cd gnome"; + configureFlags = [ "--no-check" ]; + + preFixup = + '' + # Make sure all Python files refer to $prefix/share/backintime + # instead of config.get_app_path() which returns the path of the + # 'common' module, not the path of the 'gnome' module. + filelist=$(mktemp) + find "$out/share/backintime/gnome" -name "*.py" -print0 > $filelist + while IFS="" read -r -d "" file <&9; do + substituteInPlace "$file" \ + --replace "glade_file = os.path.join(config.get_app_path()," \ + "glade_file = os.path.join('$prefix/share/backintime'," \ + --replace "glade_file = os.path.join(self.config.get_app_path()," \ + "glade_file = os.path.join('$prefix/share/backintime'," + done 9< "$filelist" + rm "$filelist" + + substituteInPlace "$out/bin/backintime-gnome" \ + --replace "=\"/usr/share" "=\"$prefix/share" + + wrapProgram "$out/bin/backintime-gnome" \ + --prefix PYTHONPATH : "${gnome2.gnome_python}/lib/python2.7/site-packages/gtk-2.0:${backintime-common}/share/backintime/common:$PYTHONPATH" \ + --prefix PATH : "${backintime-common}/bin:$PATH" + ''; + +} diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 226b7f6d097bce7385405ea559264b6334385c0a..64bf287b44f08bb52359f43af829678fd1c7752c 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://syncthing.net/; - description = "Syncthing replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized"; + description = "Replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized"; license = with stdenv.lib.licenses; mit; maintainers = with stdenv.lib.maintainers; [ matejc ]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix index 9c255f493d3f835e1932d6b9ade88eb089a5366d..8d6de404f9867c074545a2f86e5b01152387b24e 100644 --- a/pkgs/applications/office/gnucash/default.nix +++ b/pkgs/applications/office/gnucash/default.nix @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - description = "GnuCash, a personal and small-business financial-accounting application"; + description = "Personal and small-business financial-accounting application"; longDescription = '' GnuCash is personal and small-business financial-accounting software, diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix index 007e093378da8fbf797be37bb55ffa7b7ec445af..0fbd2e398121c96c6d113329b49b86e58bceb093 100644 --- a/pkgs/applications/office/homebank/default.nix +++ b/pkgs/applications/office/homebank/default.nix @@ -2,7 +2,7 @@ let download_root = "http://homebank.free.fr/public/"; - name = "homebank-4.5.5"; + name = "homebank-4.6.3"; lastrelease = download_root + name + ".tar.gz"; oldrelease = download_root + "old/" + name + ".tar.gz"; in @@ -12,7 +12,7 @@ stdenv.mkDerivation { src = fetchurl { urls = [ lastrelease oldrelease ]; - sha256 = "05k4497qsb6fzr662h9yxz1amsavd287wh0sabrpr9jdbh3jcfkg"; + sha256 = "0j39788xz9m7ic277phffznbl35c1dm1g7dgq83va9nni6vipqzn"; }; buildInputs = [ pkgconfig gtk libofx intltool ]; diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 41cf1ebc33dfe3dd1001dfc641152cf8471caea9..bf6728abe637baf803c15bbca17c3a3e9d329149 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -24,8 +24,8 @@ let langsSpaces = stdenv.lib.concatStringsSep " " langs; major = "4"; minor = "3"; - patch = "0"; - tweak = "4"; + patch = "1"; + tweak = "2"; subdir = "${major}.${minor}.${patch}"; version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; @@ -79,14 +79,14 @@ let translations = fetchSrc { name = "translations"; - sha256 = "1l445284mih0c7d6v3ps1piy5pbjvisyrjjvlrqizvwxqm7bxpr1"; + sha256 = "0vj1fpr99cb124hag0hijpp3pfbbi0gak56qiikxbwbq7mab6p9h"; }; # TODO: dictionaries help = fetchSrc { name = "help"; - sha256 = "0avsc11d4nmycsxvadr0xcd8z9506sjcc89hgmliqlmhmw48ax7y"; + sha256 = "1q0vzfla764zjz6xcx6r4nc8rikwb3pr2jsraj28hhwr5b26gdfz"; }; }; @@ -96,7 +96,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; - sha256 = "1r605nwjdq20qd96chqic1bjkw7y36wmpg2lzzvv5sz6gw12rzi8"; + sha256 = "0s1j5y1gfyf3r53bbqnzirx17p49i8ah07737nrzik0ggps3lgd5"; }; # Openoffice will open libcups dynamically, so we link it directly @@ -252,7 +252,7 @@ stdenv.mkDerivation rec { ]; meta = with stdenv.lib; { - description = "LibreOffice is a comprehensive, professional-quality productivity suite, a variant of openoffice.org"; + description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org"; homepage = http://libreoffice.org/; license = licenses.lgpl3; maintainers = [ maintainers.viric maintainers.raskin ]; diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix index 4e7dacfe0a967e540ebc69a3b1b27b1b7d754079..6110a54feb55fd9499768cb3caf3666bd9d7605c 100644 --- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix +++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix @@ -184,6 +184,11 @@ md5 = "1e9ddfe25ac9577da709d7b2ea36f939"; brief = false; } +{ + name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; + md5 = "edc4d741888bc0d38e32dbaa17149596"; + brief = false; +} { name = "libfreehand-0.1.0.tar.bz2"; md5 = "5f029fef73e42a2c2ae4524a7513f97d"; @@ -326,8 +331,8 @@ } { name = "libgltf-0.0.0.tar.bz2"; - md5 = "3d9ea1f2828c46f8ba94b88a87b3326d"; - brief = false; + md5 = "ca5436e916bfe70694adfe2607782786"; + brief = true; subDir = "libgltf/"; } { diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..cca52be1a17fb82381c2517c22b5626d81435de5 --- /dev/null +++ b/pkgs/applications/office/zim/default.nix @@ -0,0 +1,82 @@ +{ stdenv, lib, fetchurl, buildPythonPackage, pythonPackages, pygtk, pygobject, python }: + +# +# TODO: Declare configuration options for the following optional dependencies: +# - File stores: hg, git, bzr +# - Included plugins depenencies: dot, ditaa, dia, any other? +# - pyxdg: Need to make it work first (see setupPyInstallFlags). +# + +buildPythonPackage rec { + name = "zim-${version}"; + version = "0.60"; + namePrefix = ""; + + src = fetchurl { + url = "http://zim-wiki.org/downloads/zim-0.61.tar.gz"; + sha256 = "0jncxkf83bwra3022jbvjfwhk5w8az0jlwr8nsvm7wa1zfrajhsq"; + }; + + propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk /*pythonPackages.pyxdg*/ pygobject ]; + + preBuild = '' + mkdir -p $tmp/home + export HOME="$tmp/home" + ''; + + setupPyInstallFlags = ["--skip-xdg-cmd"]; + + # + # Exactly identical to buildPythonPackage's version but for the + # `--old-and-unmanagable`, which I removed. This was removed because + # this is a setuptools specific flag and as zim is overriding + # the install step, setuptools could not perform its monkey + # patching trick for the command. Alternate solutions were to + # + # - Remove the custom install step (tested as working but + # also remove the possibility of performing the xdg-cmd + # stuff). + # - Explicitly replace distutils import(s) by their setuptools + # equivalent (untested). + # + # Both solutions were judged unsatisfactory as altering the code + # would be required. + # + # Note that a improved solution would be to expose the use of + # the `--old-and-unmanagable` flag as an option of passed to the + # buildPythonPackage function. + # + # Also note that I stripped all comments. + # + installPhase = '' + runHook preInstall + + mkdir -p "$out/lib/${python.libPrefix}/site-packages" + + export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + + ${python}/bin/${python.executable} setup.py install \ + --install-lib=$out/lib/${python.libPrefix}/site-packages \ + --prefix="$out" ${lib.concatStringsSep " " setupPyInstallFlags} + + eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth + if [ -e "$eapth" ]; then + # move colliding easy_install.pth to specifically named one + mv "$eapth" $(dirname "$eapth")/${name}.pth + fi + + rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* + + runHook postInstall + ''; + + # Testing fails. + doCheck = false; + + meta = { + description = "A desktop wiki"; + homepage = http://zim-wiki.org; + license = stdenv.lib.licenses.gpl2Plus; + }; +} + diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix index 696890f95f1e6eca3a0702fa60fe490656b5025d..1be1328da271d5ae7c5ecce3e62228fe160c5e27 100644 --- a/pkgs/applications/science/astronomy/gravit/default.nix +++ b/pkgs/applications/science/astronomy/gravit/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://gravit.slowchop.com"; - description = "A beautiful OpenGL-based gravity simulator"; + description = "Beautiful OpenGL-based gravity simulator"; license = stdenv.lib.licenses.gpl2; longDescription = '' diff --git a/pkgs/applications/science/biology/emboss/default.nix b/pkgs/applications/science/biology/emboss/default.nix index 96181c8ee6cbd0b5ca86b4d9bbbbc0e4af8f9385..c9974660da364194db6fecf0d612d78a37234e98 100644 --- a/pkgs/applications/science/biology/emboss/default.nix +++ b/pkgs/applications/science/biology/emboss/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { # ''; meta = { - description = "EMBOSS is 'The European Molecular Biology Open Software Suite'"; + description = "The European Molecular Biology Open Software Suite"; longDescription = ''EMBOSS is a free Open Source software analysis package specially developed for the needs of the molecular biology (e.g. EMBnet) user community, including libraries. The software automatically copes with diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix index 2a95d0cd65bb0fcc17c9f2f5b709bd114beb4430..62359baf2bc6c0bdb1f9ad44e45f97c11c871785 100644 --- a/pkgs/applications/science/logic/alt-ergo/default.nix +++ b/pkgs/applications/science/logic/alt-ergo/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { [ ocaml findlib ocamlgraph zarith lablgtk gmp ]; meta = { - description = "Alt-Ergo is a high-performance theorem prover and SMT solver"; + description = "High-performance theorem prover and SMT solver"; homepage = "http://alt-ergo.ocamlpro.com/"; license = stdenv.lib.licenses.cecill-c; # LGPL-2 compatible platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix index 8e6fde6bc240800f181a68606ebba4704ace712f..ed922b3aedbeaf19ec0308da7312059dad6d7624 100644 --- a/pkgs/applications/science/logic/coq/HEAD.nix +++ b/pkgs/applications/science/logic/coq/HEAD.nix @@ -3,7 +3,7 @@ {stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}: let - version = "8.5pre-8bc01590"; + version = "8.5pre-c70d5b2"; buildIde = lablgtk != null; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; idePath = if buildIde then '' @@ -16,17 +16,20 @@ stdenv.mkDerivation { src = fetchgit { url = git://scm.gforge.inria.fr/coq/coq.git; - rev = "8bc0159095cb0230a50c55a1611c8b77134a6060"; - sha256 = "1cp4hbk9jw78y03vwz099yvixax161h60hsbyvwiwz2z5czjxzcv"; + rev = "c70d5b27ad5872c74e20b6c997383fb4462a68dc"; + sha256 = "02wks2aivgjcf4h3ss9rn683vyawz8gl8rbysdq7awxh062316l2"; }; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; + patches = [ ./no-codesign.patch ]; + postPatch = '' UNAME=$(type -tp uname) RM=$(type -tp rm) substituteInPlace configure --replace "/bin/uname" "$UNAME" substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM" + substituteInPlace Makefile.build --replace "ifeq (\$(ARCH),Darwin)" "ifeq (\$(ARCH),Darwinx)" ''; preConfigure = '' diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 678ec6a4b049b9c44ebe487680f7a5009a3166c8..da77a4c5a9aa7baf0ad38de8ded5cd05ab85101a 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation { buildFlags = "revision coq coqide"; meta = { - description = "Coq proof assistant"; + description = "Formal proof management system"; longDescription = '' Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems diff --git a/pkgs/applications/science/logic/coq/no-codesign.patch b/pkgs/applications/science/logic/coq/no-codesign.patch new file mode 100644 index 0000000000000000000000000000000000000000..0f917fbf56d4cb591454cb2723d43108a66b3312 --- /dev/null +++ b/pkgs/applications/science/logic/coq/no-codesign.patch @@ -0,0 +1,19 @@ +diff --git a/Makefile.build b/Makefile.build +index 2963a3d..876479c 100644 +--- a/Makefile.build ++++ b/Makefile.build +@@ -101,13 +101,8 @@ BYTEFLAGS=$(CAMLDEBUG) $(USERFLAGS) + OPTFLAGS=$(CAMLDEBUGOPT) $(CAMLTIMEPROF) $(USERFLAGS) + DEPFLAGS= $(LOCALINCLUDES) -I ide -I ide/utils + +-ifeq ($(ARCH),Darwin) +-LINKMETADATA=-ccopt "-sectcreate __TEXT __info_plist config/Info-$(notdir $@).plist" +-CODESIGN=codesign -s - +-else + LINKMETADATA= + CODESIGN=true +-endif + + define bestocaml + $(if $(OPT),\ + diff --git a/pkgs/applications/science/logic/matita/default.nix b/pkgs/applications/science/logic/matita/default.nix index f601f97de62ef1530de609d00247fdde141a9b34..0f393b419f1db63b49409e719b63d5294dd180f7 100644 --- a/pkgs/applications/science/logic/matita/default.nix +++ b/pkgs/applications/science/logic/matita/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation { meta = { homepage = http://matita.cs.unibo.it/; - description = "Matita is an experimental, interactive theorem prover"; + description = "Experimental, interactive theorem prover"; license = stdenv.lib.licenses.gpl2Plus; maintainers = [ stdenv.lib.maintainers.roconnor ]; }; diff --git a/pkgs/applications/science/logic/prooftree/default.nix b/pkgs/applications/science/logic/prooftree/default.nix index caaf4a94a1ed8f52b19f7bdaac458ef50ce6e5af..94b1d5907620f29c85691d2543e163b5fb8888e5 100644 --- a/pkgs/applications/science/logic/prooftree/default.nix +++ b/pkgs/applications/science/logic/prooftree/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation (rec { configureFlags = [ "--prefix" "$(out)" ]; meta = { - description = "Prooftree is a program for proof-tree visualization"; + description = "A program for proof-tree visualization"; longDescription = '' Prooftree is a program for proof-tree visualization during interactive proof development in a theorem prover. It is currently being developed diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix index ef00b135c271fe08c6ed576ddade09fa004feab4..d4c6285875354eed1a63ecedd5208063347c7a00 100644 --- a/pkgs/applications/science/logic/tptp/default.nix +++ b/pkgs/applications/science/logic/tptp/default.nix @@ -11,14 +11,14 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="TPTP"; - version="6.0.0"; + version="6.1.0"; name="${baseName}-${version}"; urls= [ "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz" "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}/TPTP-v${version}.tgz" ]; - hash="0jnjkqdz937c7mkxvh9wc3byw5h1k19jss058fbzdxxc2hkwq1af"; + hash="054p0kx9qh619ixslxpb4qcwvcqr4kan154b3a87b546b78k7kv4"; }; in rec { diff --git a/pkgs/applications/science/logic/twelf/default.nix b/pkgs/applications/science/logic/twelf/default.nix index c6c7e4d9c1a719230740636234fca4f2e9bd9223..f9680b4757975343c1581ee17ac08b768340f346 100644 --- a/pkgs/applications/science/logic/twelf/default.nix +++ b/pkgs/applications/science/logic/twelf/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Twelf logic proof assistant"; + description = "Logic proof assistant"; longDescription = '' Twelf is a language used to specify, implement, and prove properties of deductive systems such as programming languages and logics. Large diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix index 7ab08cf8799f2f6c87c643eaffe6a7c6de852c4f..2685f5e53d063e89692fba6d46c319aa55954c56 100644 --- a/pkgs/applications/science/logic/verifast/default.nix +++ b/pkgs/applications/science/logic/verifast/default.nix @@ -1,6 +1,8 @@ { stdenv, fetchurl, gtk, gdk_pixbuf, atk, pango, glib, cairo, freetype , fontconfig, libxml2, gnome2 }: +assert stdenv.isLinux; + let libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc stdenv.gcc.gcc gtk gdk_pixbuf atk pango glib cairo diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix index 5a1a4ef19922fadaffb63ee895d804311afb17b6..b6b34d96d1541647f1c1dc0b6002786f955a2a81 100644 --- a/pkgs/applications/science/logic/yices/default.nix +++ b/pkgs/applications/science/logic/yices/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl }: +assert stdenv.isLinux; + let libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ]; in diff --git a/pkgs/applications/science/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix index 1817c43ed7bef9e79e3f4e70f503c10ca345fbb2..6e187843404d57c8d4d6b5a382740e7ff65db731 100644 --- a/pkgs/applications/science/math/fricas/default.nix +++ b/pkgs/applications/science/math/fricas/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://fricas.sourceforge.net/; - description = "Fricas CAS"; + description = "An advanced computer algebra system"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix index c4352c46f92e54871bb5a252e6eebb6a373d7f18..1439d327d6ec8fc94eeef00d8a582179b7660587 100644 --- a/pkgs/applications/science/math/glsurf/default.nix +++ b/pkgs/applications/science/math/glsurf/default.nix @@ -26,6 +26,6 @@ stdenv.mkDerivation { meta = { homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf; - description = "GlSurf: a program to draw implicit surfaces and curves"; + description = "A program to draw implicit surfaces and curves"; }; } diff --git a/pkgs/applications/science/math/jags/default.nix b/pkgs/applications/science/math/jags/default.nix index a93386149bd4ceb5f591074e65889514f05167fb..785c2460bb491141578030464501142dceb85c81 100644 --- a/pkgs/applications/science/math/jags/default.nix +++ b/pkgs/applications/science/math/jags/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { buildInputs = [gfortran liblapack blas]; meta = { - description = "JAGS: Just Another Gibbs Sampler"; + description = "Just Another Gibbs Sampler"; license = "GPL2"; homepage = http://www-ice.iarc.fr/~martyn/software/jags/; maintainers = [stdenv.lib.maintainers.andres]; diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 096796a859d00ef5de8b5ab54a9feb9e8c663715..3277d94d99b6d451d0c88a6c8006671e73c39219 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; meta = { - description = "Maxima computer algebra system"; + description = "Computer algebra system"; homepage = "http://maxima.sourceforge.net"; license = stdenv.lib.licenses.gpl2; diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix index 576a28b054f43205f73fec6d7d99effaaa2503bc..e59bb9fe666a1908bb0b6af4ca62fed74b19ebba 100644 --- a/pkgs/applications/science/math/pari/default.nix +++ b/pkgs/applications/science/math/pari/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, gmp, readline }: stdenv.mkDerivation rec { - name = "pari-2.5.5"; + version = "2.7.1"; + name = "pari-${version}"; src = fetchurl { url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz"; - sha256 = "058nw1fhggy7idii4f124ami521lv3izvngs9idfz964aks8cvvn"; + sha256 = "1gj1rddi22hinzwy7r6hljgbi252wwwyd6gapg4hvcn0ycc7jqyc"; }; buildInputs = [gmp readline]; @@ -21,5 +22,9 @@ stdenv.mkDerivation rec { license = "GPLv2+"; maintainers = with stdenv.lib.maintainers; [ertes raskin]; platforms = stdenv.lib.platforms.linux; + + inherit version; + downloadPage = "http://pari.math.u-bordeaux.fr/download.html"; + updateWalker = true; }; } diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix index 7020de0bca88a48dac90c8f2edd51055280c9fb7..0898b458593e29a212248798b3d1debf37f752f9 100644 --- a/pkgs/applications/science/misc/boinc/default.nix +++ b/pkgs/applications/science/misc/boinc/default.nix @@ -3,12 +3,12 @@ mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK, xcbutil, sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11, libxcb }: stdenv.mkDerivation rec { - name = "boinc-7.2.42"; + name = "boinc-7.4.14"; src = fetchgit { url = "git://boinc.berkeley.edu/boinc-v2.git"; - rev = "dd0d630882547c123ca0f8fda7a62e058d60f6a9"; - sha256 = "1zifpi3mjgaj68fba6kammp3x7z8n2x164zz6fj91xfiapnan56j"; + rev = "fb31ab18f94f3b5141bea03e8537d76c606cd276"; + sha256 = "1465zl8l87fm1ps5f2may6mcc3pp40mpd6wphpxnwwk1lmv48x96"; }; buildInputs = [ libtool automake autoconf m4 pkgconfig curl mesa libXmu libXi diff --git a/pkgs/applications/science/misc/fityk/default.nix b/pkgs/applications/science/misc/fityk/default.nix index db79839ba6697e975d1cc4b546053c4bb48e2df0..4c93eef2b1c012e0751692156ab7c575b8296fb3 100644 --- a/pkgs/applications/science/misc/fityk/default.nix +++ b/pkgs/applications/science/misc/fityk/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { buildInputs = [wxGTK30 boost lua zlib bzip2 xylib readline gnuplot ]; meta = { - description = "Fityk -- curve fitting and peak fitting software"; + description = "Curve fitting and peak fitting software"; license = "GPL2"; homepage = http://fityk.nieto.pl/; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix index 29a7caf769bea9ddbf8149af4f344454fff1567f..7656668f0564bdab1eabcb086ffca729dd1d835d 100644 --- a/pkgs/applications/science/misc/simgrid/default.nix +++ b/pkgs/applications/science/misc/simgrid/default.nix @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { doCheck = false; meta = { - description = "SimGrid, a simulator for distributed applications in heterogeneous environments"; + description = "Simulator for distributed applications in heterogeneous environments"; longDescription = '' SimGrid is a toolkit that provides core functionalities for the diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix index b9abf7b55b4871a115e62989b153dcc45efeaef7..879690bc91ed138fd1452c291333efdbf6d364fb 100644 --- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix +++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { meta = { homepage = "http://www.gromacs.org"; license = "GPLv2"; - description = "The GROMACS molecular dynamics software package"; + description = "Molecular dynamics software package"; longDescription = '' GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems diff --git a/pkgs/applications/science/spyder/default.nix b/pkgs/applications/science/spyder/default.nix index 1079a153ca1699624408822796cb4874bbc9f790..806d2f546cf541d7350b28b481869ef8d9977ded 100644 --- a/pkgs/applications/science/spyder/default.nix +++ b/pkgs/applications/science/spyder/default.nix @@ -43,7 +43,7 @@ buildPythonPackage rec { ''; meta = with stdenv.lib; { - description = "Scientific PYthon Development EnviRonment (SPYDER)"; + description = "Scientific python development environment"; longDescription = '' Spyder (previously known as Pydee) is a powerful interactive development environment for the Python language with advanced editing, interactive diff --git a/pkgs/applications/version-management/darcs/default.nix b/pkgs/applications/version-management/darcs/default.nix index d53b38c28c32ebb2a3cccfecc2b6dec9bc94d894..ff5c3456e22739525c0c535e9133a78259f3089e 100644 --- a/pkgs/applications/version-management/darcs/default.nix +++ b/pkgs/applications/version-management/darcs/default.nix @@ -1,24 +1,24 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! { cabal, curl, extensibleExceptions, filepath, hashedStorage -, haskeline, html, HTTP, mmap, mtl, network, parsec, random -, regexCompat, tar, terminfo, text, utf8String, vector, zlib +, haskeline, html, HTTP, mmap, mtl, network, networkUri, parsec +, random, regexCompat, tar, terminfo, text, utf8String, vector +, zlib }: cabal.mkDerivation (self: { pname = "darcs"; - version = "2.8.4"; - sha256 = "164zclgib9ql4rqykpdhhk2bad0m5v0k0iwzsj0z7nax5nxlvarz"; + version = "2.8.5"; + sha256 = "16g3ayw0wwhkjpprlkzi971ibs4dp152bmaa487512cwb3ni0hq6"; isLibrary = true; isExecutable = true; + doCheck = false; buildDepends = [ extensibleExceptions filepath hashedStorage haskeline html HTTP - mmap mtl network parsec random regexCompat tar terminfo text - utf8String vector zlib + mmap mtl network networkUri parsec random regexCompat tar terminfo + text utf8String vector zlib ]; extraLibraries = [ curl ]; - jailbreak = true; - doCheck = false; postInstall = '' mkdir -p $out/etc/bash_completion.d mv contrib/darcs_completion $out/etc/bash_completion.d/darcs diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix index 62132271ec9937947e9fba743f7878bc5f92b16d..7224d8c6900d755cc9c4a2f3f045198fd5083bed 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix @@ -17,8 +17,8 @@ cabal.mkDerivation (self: { pname = "git-annex"; - version = "5.20140817"; - sha256 = "0cly19rd250qiikzszgad2r5xz570kr00vcb8ij6icbm53pw3hxc"; + version = "5.20140831"; + sha256 = "0s2pc8bm3c79dsbafwp2pc5yghzh6vdzs9sj0mfq6rxiv27wrrwq"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index a4d16e4606072491e6f94f12a3cbc8bacf5a2856..877c65afccf57883dc0979a1a4f39826c888527f 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -133,7 +133,7 @@ stdenv.mkDerivation { meta = { homepage = http://git-scm.com/; - description = "Git, a popular distributed version control system"; + description = "Distributed version control system"; license = stdenv.lib.licenses.gpl2Plus; longDescription = '' diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix index 13c554767743095e63f1a335ce72e95c6ea0454b..afe0ac71ea49ddd7ff5f31e7a898786a5c8293c8 100644 --- a/pkgs/applications/version-management/gource/default.nix +++ b/pkgs/applications/version-management/gource/default.nix @@ -3,11 +3,12 @@ }: stdenv.mkDerivation rec { - name = "gource-0.40"; + version = "0.42"; + name = "gource-${version}"; src = fetchurl { - url = "http://gource.googlecode.com/files/${name}.tar.gz"; - sha256 = "04nirh07xjslqsph557as4s50nlf91bi6v2l7vmbifmkdf90m2cw"; + url = "https://github.com/acaudwell/Gource/releases/download/${name}/${name}.tar.gz"; + sha256 = "08ab57z44y8b5wxg1193j6hiy50njbpi6dwafjh6nb0apcq8ziz5"; }; buildInputs = [ diff --git a/pkgs/applications/version-management/guitone/default.nix b/pkgs/applications/version-management/guitone/default.nix index a396765e9186dbe12a201c9ac0b4fd43d3611244..135e7c7e1efdc5767fdb6dfcc4fe9f39094eac67 100644 --- a/pkgs/applications/version-management/guitone/default.nix +++ b/pkgs/applications/version-management/guitone/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchmtn, qt4 }: +{ stdenv, fetchurl, fetchmtn, qt4, pkgconfig, graphviz }: let version = "1.0-mtn-head"; in stdenv.mkDerivation rec { @@ -11,12 +11,12 @@ stdenv.mkDerivation rec { src = fetchmtn { dbs = ["mtn://code.monotone.ca/guitone"]; - selector = "2777cdef424c65df93fa1ff181f02ee30d4901ab"; - sha256 = "918d36a83060b84efa0ee0fe0fd058f1c871c91156d91366e2e979c886ff4271"; + selector = "3a728afdbd3943b1d86c2a249b1e2ede7bf64c27"; + sha256 = "01vs8m00phs5pl75mjkpdarynfpkqrg0qf4rsn95czi3q6nxiaq5"; branch = "net.venge.monotone.guitone"; }; - buildInputs = [ qt4 ]; + buildInputs = [ qt4 pkgconfig graphviz ]; prefixKey="PREFIX="; configureScript = "qmake guitone.pro"; diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix index e71d23132acafaf95b93896a15d75125887d330a..823638669b6877d618c04662a884f27cafb14898 100644 --- a/pkgs/applications/version-management/rcs/default.nix +++ b/pkgs/applications/version-management/rcs/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnu.org/software/rcs/; - description = "GNU RCS, a revision control system"; + description = "Revision control system"; longDescription = '' The GNU Revision Control System (RCS) manages multiple revisions of files. RCS automates the storing, retrieval, logging, diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix index 06122619066ad48e5f995ba451794e31de7ca3f6..515e2591461fa4c52fe41b4108e948ddc090784c 100644 --- a/pkgs/applications/video/gnash/default.nix +++ b/pkgs/applications/video/gnash/default.nix @@ -103,7 +103,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnu.org/software/gnash/; - description = "GNU Gnash, a libre SWF (Flash) movie player"; + description = "A libre SWF (Flash) movie player"; longDescription = '' Gnash is a GNU Flash movie player. Flash is an animation file format diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix index cb00ac81384273e3cc3bc8d61827a7a051e971bc..57c8ca574b4169fec8e25fa432fbcc89c6c75ae8 100644 --- a/pkgs/applications/video/key-mon/default.nix +++ b/pkgs/applications/video/key-mon/default.nix @@ -3,12 +3,12 @@ buildPythonPackage rec { name = "key-mon-${version}"; - version = "1.16"; + version = "1.17"; namePrefix = ""; src = fetchurl { url = "http://key-mon.googlecode.com/files/${name}.tar.gz"; - sha256 = "1pfki1fyh3q29sj6kq1chhi1h2v9ki6sp09qyww59rjraypvzsis"; + sha256 = "1liz0dxcqmchbnl1xhlxkqm3gh76wz9jxdxn9pa7dy77fnrjkl5q"; }; propagatedBuildInputs = diff --git a/pkgs/applications/video/kino/default.nix b/pkgs/applications/video/kino/default.nix index 16bd57bef34a6d21e241eb4ffe8306cc3b969d1b..7dd089537b732dc145b54a77cb0a5200ee22b761 100644 --- a/pkgs/applications/video/kino/default.nix +++ b/pkgs/applications/video/kino/default.nix @@ -85,7 +85,7 @@ stdenv.mkDerivation { meta = { - description = "Kino is a non-linear DV editor for GNU/Linux"; + description = "Non-linear DV editor for GNU/Linux"; homepage = http://www.kinodv.org/; license = stdenv.lib.licenses.gpl2; }; diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index ed64448c13a8edd2ebf68a8ac97d9eba17b8cf25..e0ab4582cd892accc029d7f5b7baf5a703c623e2 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -15,14 +15,18 @@ }: stdenv.mkDerivation rec { - name = "mkvtoolnix-6.5.0"; + version = "7.1.0"; + name = "mkvtoolnix-${version}"; src = fetchurl { url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz"; - sha256 = "0a3h878bsjbpb2r7b528xzyqzl8r82yhrniry9bnhmw7rcl53bd8"; + sha256 = "06xqy4f7gi1xj0yqb6y1wmxwvsxfxal2plfsbl33dkwd0srixj06"; }; - buildInputs = [ libmatroska flac libvorbis file boost xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ]; + buildInputs = [ + libmatroska flac libvorbis file boost xdg_utils + expat wxGTK zlib ruby gettext pkgconfig curl + ]; configureFlags = "--with-boost-libdir=${boost}/lib"; buildPhase = '' @@ -36,5 +40,7 @@ stdenv.mkDerivation rec { meta = { description = "Cross-platform tools for Matroska"; homepage = http://www.bunkus.org/videotools/mkvtoolnix/; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 4eec9afdbf3d6b358508a76835a04d99aaac1f09..db1ced49166eb6914672a9a136f89ac87fa3f2ee 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fetchgit, freetype, pkgconfig, freefont_ttf, ffmpeg, libass , lua, perl, libpthreadstubs , lua5_sockets -, python3, docutils, which +, python3, docutils, which, lib , x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null , xineramaSupport ? true, libXinerama ? null , xvSupport ? true, libXv ? null @@ -20,8 +20,9 @@ # For screenshots , libpngSupport ? true, libpng ? null # for Youtube support -, quviSupport? false, libquvi ? null -, cacaSupport? false, libcaca ? null +, quviSupport ? false, libquvi ? null +, cacaSupport ? false, libcaca ? null +, vaapiSupport ? false, libva ? null }: assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null); @@ -57,11 +58,11 @@ in stdenv.mkDerivation rec { name = "mpv-${version}"; - version = "0.4.1"; + version = "0.5.0"; src = fetchurl { url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"; - sha256 = "0wqjyzw3kk854zj263k7jyykzfaz1g27z50aqrd26hylg8k135cn"; + sha256 = "17mmc6xm8yir2p379h00q3wy7rplz2s31h6sxswmzbh72xf10g96"; }; buildInputs = with stdenv.lib; @@ -84,6 +85,7 @@ stdenv.mkDerivation rec { ++ optional quviSupport libquvi ++ optional sdl2Support SDL2 ++ optional cacaSupport libcaca + ++ optional vaapiSupport libva ; nativeBuildInputs = [ python3 lua perl ]; @@ -97,7 +99,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; configurePhase = '' - python3 ${waf} configure --prefix=$out + python3 ${waf} configure --prefix=$out ${lib.optionalString vaapiSupport "--enable-vaapi"} patchShebangs TOOLS ''; @@ -124,9 +126,9 @@ stdenv.mkDerivation rec { }; } -# Heavily based on mplayer2 expression +# Many thanks @matejc for this update: 0.5.0 and vaapi (experimental) # TODO: Wayland support -# TODO: investigate libquvi support +# TODO: investigate libquvi problems (related to Youtube support) # TODO: investigate caca support # TODO: investigate lua5_sockets bug diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix index 8bd5b7c6160af46723f86e07cb210e9751ceb12c..018be742a16032c52db5d7ecac5743f407ed8d2c 100644 --- a/pkgs/applications/video/smplayer/default.nix +++ b/pkgs/applications/video/smplayer/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, qt4 }: stdenv.mkDerivation rec { - name = "smplayer-0.8.6"; + name = "smplayer-14.3.0"; src = fetchurl { url = "mirror://sourceforge/smplayer/${name}.tar.bz2"; - sha256 = "1p70929j8prc4mgqxvsbcjxy8zwp4r9jk0mp0iddxl7vfyck74g0"; + sha256 = "9b8db20043d1528ee5c6054526779e88a172d2c757429bd7095c794d65ecbc18"; }; buildInputs = [ qt4 ]; diff --git a/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix index 3232267fa94bb24baf104d358b1fdaf35dfa95f7..875ed48c102fd1e1608112b0441e310c32e4a2ac 100644 --- a/pkgs/applications/video/xbmc/default.nix +++ b/pkgs/applications/video/xbmc/default.nix @@ -34,11 +34,11 @@ assert vdpauSupport -> libvdpau != null && ffmpeg.vdpauSupport; assert pulseSupport -> pulseaudio != null; stdenv.mkDerivation rec { - name = "xbmc-13.1"; + name = "xbmc-13.2"; src = fetchurl { - url = "https://github.com/xbmc/xbmc/archive/13.1-Gotham.tar.gz"; - sha256 = "0y56c5csfp8xhk088g47m3bzrri73z868yfx6b04gnrdmr760jrl"; + url = "https://github.com/xbmc/xbmc/archive/13.2-Gotham.tar.gz"; + sha256 = "11g5a3h6kxz1vmnhagfjhg9nqf11wy0wzqqf4h338jh3lgzmvgxc"; }; buildInputs = [ @@ -96,7 +96,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://xbmc.org/; - description = "XBMC Media Center"; + description = "Media center"; license = "GPLv2"; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.iElectric ]; diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix index 75afcb41f808445fa8f845902ecc2b2b8bc46ed6..74ce7bdfcaa6f6113111dd8da352e7ab1dc246ed 100644 --- a/pkgs/applications/virtualization/bochs/default.nix +++ b/pkgs/applications/virtualization/bochs/default.nix @@ -1,34 +1,34 @@ { stdenv, fetchurl +, pkgconfig, gtk , libX11 , mesa , sdlSupport ? true, SDL ? null , termSupport ? true , ncurses ? null, readline ? null -, wxSupport ? true , gtk ? null , wxGTK ? null , pkgconfig ? null +, wxSupport ? false, wxGTK ? null , wgetSupport ? false, wget ? null , curlSupport ? false, curl ? null }: - assert sdlSupport -> (SDL != null); assert termSupport -> (ncurses != null&& readline != null); -assert wxSupport -> (gtk != null && wxGTK != null && pkgconfig != null); +assert wxSupport -> (gtk != null && wxGTK != null); assert wgetSupport -> (wget != null); assert curlSupport -> (curl != null); stdenv.mkDerivation rec { name = "bochs-${version}"; - version = "2.6.2"; + version = "2.6.6"; src = fetchurl { url = "http://downloads.sourceforge.net/project/bochs/bochs/${version}/${name}.tar.gz"; - sha256 = "042blm1xb9ig4fh2bv8nrrfpgkcxy4hq8yrkx7mrdpm5g4mvfwyr"; + sha256 = "0nlrl218x93vz97n46aw2szsalx97r020mn43fjsif100v7zix6f"; }; buildInputs = with stdenv.lib; - [ libX11 mesa ] + [ pkgconfig gtk libX11 mesa ] ++ optionals sdlSupport [ SDL ] ++ optionals termSupport [ readline ncurses ] - ++ optionals wxSupport [ gtk wxGTK pkgconfig ] + ++ optionals wxSupport [ wxGTK ] ++ optionals wgetSupport [ wget ] ++ optionals curlSupport [ curl ]; @@ -50,6 +50,8 @@ stdenv.mkDerivation rec { --enable-pnic ''; + NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/"; + meta = { description = "An open-source IA-32 (x86) PC emulator"; longDescription = '' @@ -61,3 +63,4 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.linux; }; } +# TODO: study config.bochs.* implementation (like config.ffmpeg.* options) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 4a488a381abf06846dd31b0f5bb66d627809a0d0..f4d329221ff35763a437a2f4b9cf16ba92d7e4ac 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -1,30 +1,30 @@ { stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge_utils, devicemapper, -btrfsProgs, iptables, bash}: +btrfsProgs, iptables, bash, e2fsprogs}: stdenv.mkDerivation rec { name = "docker-${version}"; - version = "1.1.2"; + version = "1.2.0"; src = fetchurl { url = "https://github.com/dotcloud/docker/archive/v${version}.tar.gz"; - sha256 = "1pa6k3gx940ap3r96xdry6apzkm0ymqra92b2mrp25b25264cqcy"; + sha256 = "1nk74p9k17bllgw4992ixx7z3w87icp2wabbpbgfyi20k2q9mayp"; }; - buildInputs = [ makeWrapper go sqlite lxc iproute bridge_utils devicemapper btrfsProgs iptables ]; + buildInputs = [ makeWrapper go sqlite lxc iproute bridge_utils devicemapper btrfsProgs iptables e2fsprogs]; dontStrip = true; buildPhase = '' patchShebangs ./hack export AUTO_GOPATH=1 - export DOCKER_GITCOMMIT="d84a070" + export DOCKER_GITCOMMIT="fa7b24f" ./hack/make.sh dynbinary ''; installPhase = '' install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/bin/docker install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/bin/dockerinit - wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin" + wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin" # systemd install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service diff --git a/pkgs/applications/virtualization/nova/default.nix b/pkgs/applications/virtualization/nova/default.nix index c1ef20b7aa08c8492c01bf5f3276f268f3ee7269..0023cf44f33b27323218c45e73808a2f3bf2ac9b 100644 --- a/pkgs/applications/virtualization/nova/default.nix +++ b/pkgs/applications/virtualization/nova/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pythonPath = with pythonPackages; [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes - paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate + paste_deploy m2crypto ipy twisted sqlalchemy_migrate distutils_extra simplejson readline glance cheetah lockfile httplib2 # !!! should libvirt be a build-time dependency? Note that # libxml2Python is a dependency of libvirt.py. diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index 9df6967704af60c2ca6b556ec7851745b83d9de9..e451ff79a94558e557f2a8513e1b19f4a4d2bb6b 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ eventlet greenlet gflags netaddr sqlalchemy carrot routes - paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate + paste_deploy m2crypto ipy twisted sqlalchemy_migrate distutils_extra simplejson readline glance cheetah lockfile httplib2 urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3 libvirt libxml2Python ipaddr vte diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix index 8e2da5c3b7644476adc007fb3959e3b45ed7869f..6441bb8842347e1d83151faa0b909fe86c0aa716 100644 --- a/pkgs/applications/virtualization/virtinst/default.nix +++ b/pkgs/applications/virtualization/virtinst/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl }: +{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl }: with stdenv.lib; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { pythonPath = with pythonPackages; [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes - paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate + paste_deploy m2crypto ipy twisted sqlalchemy_migrate distutils_extra simplejson readline glance cheetah lockfile httplib2 # !!! should libvirt be a build-time dependency? Note that # libxml2Python is a dependency of libvirt.py. diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 682e7159ac8fbedc39a8c5ca6b10a80558fdaecf..f3e7bea3ca9a5ba8590c16cbfd2399fa5524d15f 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -11,7 +11,7 @@ with stdenv.lib; let - version = "4.3.12"; # changes ./guest-additions as well + version = "4.3.14"; # changes ./guest-additions as well forEachModule = action: '' for mod in \ @@ -31,13 +31,13 @@ let ''; # See https://github.com/NixOS/nixpkgs/issues/672 for details - extpackRevision = "93733"; + extpackRevision = "95030"; extensionPack = requireFile rec { name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack"; # IMPORTANT: Hash must be base16 encoded because it's used as an input to # VBoxExtPackHelperApp! # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS - sha256 = "f931ce41b2cc9500dc43aba004630cf7bb7050ba737eae38827e91062f072d1f"; + sha256 = "b965c3565e7933bc61019d2992f4da084944cfd9e809fbeaff330f4743d47537"; message = '' In order to use the extension pack, you need to comply with the VirtualBox Personal Use and Evaluation License (PUEL) by downloading the related binaries from: @@ -56,7 +56,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; - sha256 = "db84ddf47d1ecd316ec46417595f0252e3ec2f67e35e1e17320aba87b7c2934f"; + sha256 = "bc893adde4449a2d35d8b4d0b8b247f0f2ac62a434fd8a8f7c54f613a100855a"; }; buildInputs = diff --git a/pkgs/applications/window-managers/fluxbox/default.nix b/pkgs/applications/window-managers/fluxbox/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..af6545b615152802cc57c879f531b7932496939e --- /dev/null +++ b/pkgs/applications/window-managers/fluxbox/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, pkgconfig +, freetype, fribidi +, libXext, libXft, libXpm, libXrandr, libXrender, xextproto +, libXinerama +, imlib2 +}: + +stdenv.mkDerivation rec { + + name = "fluxbox-${version}"; + version = "1.3.5"; + + buildInputs = [ pkgconfig freetype fribidi libXext libXft libXpm libXrandr libXrender xextproto libXinerama imlib2 ]; + + src = fetchurl { + url = "mirror://sourceforge/fluxbox/${name}.tar.bz2"; + sha256 = "164dd7bf59791d09a1e729a4fcd5e7347a1004ba675629860a5cf1a271c32983"; + }; + + meta = { + description = "Full-featured, light-resource X window manager"; + longDescription = '' + Fluxbox is a X window manager based on Blackbox 0.61.1 window manager sources. + It is very light on resources and easy to handle but yet full of features to make an easy, + and extremely fast, desktop experience. It is written in C++ and licensed under MIT license. + ''; + homepage = http://fluxbox.org/; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} +# Many thanks Jack Ryan from Nix-dev mailing list! diff --git a/pkgs/applications/window-managers/ratpoison/default.nix b/pkgs/applications/window-managers/ratpoison/default.nix index 65264c20db3593f508a0772292f0a5ae5c7bd576..0eb28464e5903fdab9709f6f46700f2cda54b6a3 100644 --- a/pkgs/applications/window-managers/ratpoison/default.nix +++ b/pkgs/applications/window-managers/ratpoison/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://www.nongnu.org/ratpoison/"; - description = "Ratpoison, a simple mouse-free tiling window manager"; + description = "Simple mouse-free tiling window manager"; license = stdenv.lib.licenses.gpl2Plus; longDescription = '' diff --git a/pkgs/build-support/fetchbzr/nix-prefetch-bzr b/pkgs/build-support/fetchbzr/nix-prefetch-bzr index 2f46819323f2c16aeb8413a1d157ca839119881a..8143fca7025d7640cb07d31031f644b04f4d674c 100755 --- a/pkgs/build-support/fetchbzr/nix-prefetch-bzr +++ b/pkgs/build-support/fetchbzr/nix-prefetch-bzr @@ -43,11 +43,10 @@ fi # If we don't know the hash or a path with that hash doesn't exist, # download the file and add it to the store. if test -z "$finalPath"; then - tmpPath=/tmp/bzr-checkout-tmp-$$ - tmpFile=$tmpPath/$dstFile - mkdir $tmpPath + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/bzr-checkout-tmp-XXXXXXXX")" + trap "rm -rf \"$tmpPath\"" EXIT - trap "rm -rf $tmpPath" EXIT + tmpFile="$tmpPath/$dstFile" # Perform the checkout. bzr -Ossl.cert_reqs=none export $revarg --format=dir "$tmpFile" "$url" diff --git a/pkgs/build-support/fetchcvs/nix-prefetch-cvs b/pkgs/build-support/fetchcvs/nix-prefetch-cvs index 29e0d29b52e9b5de0ddb326ada6a38ef20730fd3..f9ed8ffa066fbf443f73e4ce0470caa1c7a04c5b 100755 --- a/pkgs/build-support/fetchcvs/nix-prefetch-cvs +++ b/pkgs/build-support/fetchcvs/nix-prefetch-cvs @@ -20,7 +20,7 @@ fi mkTempDir() { - tmpPath=$(mktemp -d -t nix-prefetch-cvs-XXXXXXXX) + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/nix-prefetch-cvs-XXXXXXXX")" trap removeTempDir EXIT SIGINT SIGQUIT } diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index fcb0126278343ea92506057b8cfacf795f7638f1..4f9dd2ac272b94a321beac996a697b29ced2dd0f 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -219,7 +219,7 @@ clone_user_rev() { local full_revision=$(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1) echo "git revision is $full_revision" - echo "git human-readable version is $(cd $dir && (git describe $full_revision 2> /dev/null || git describe --tags $full_revision 2> /dev/null || echo -- none --))" + echo "git human-readable version is $(cd $dir && (git describe $full_revision 2> /dev/null || git describe --tags $full_revision 2> /dev/null || echo -- none --))" >&2 # Allow doing additional processing before .git removal eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK" @@ -256,11 +256,11 @@ else # download the file and add it to the store. if test -z "$finalPath"; then - tmpPath=/tmp/git-checkout-tmp-$$ - tmpFile=$tmpPath/git-export - mkdir $tmpPath $tmpFile + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/git-checkout-tmp-XXXXXXXX")" + trap "rm -rf \"$tmpPath\"" EXIT - trap "rm -rf $tmpPath" EXIT + tmpFile="$tmpPath/git-export" + mkdir "$tmpFile" # Perform the checkout. clone_user_rev "$tmpFile" "$url" "$rev" diff --git a/pkgs/build-support/fetchhg/nix-prefetch-hg b/pkgs/build-support/fetchhg/nix-prefetch-hg index 075dbc9c367bd44ba6e83d7d44adccbc89133190..a8916176f8afaf53dc9179ada1b07d2e0c375ba3 100755 --- a/pkgs/build-support/fetchhg/nix-prefetch-hg +++ b/pkgs/build-support/fetchhg/nix-prefetch-hg @@ -35,11 +35,10 @@ fi # download the file and add it to the store. if test -z "$finalPath"; then - tmpPath=/tmp/hg-checkout-tmp-$$ - tmpArchive=$tmpPath/hg-archive - mkdir $tmpPath + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/hg-checkout-tmp-XXXXXXXX")" + trap "rm -rf \"$tmpPath\"" EXIT - trap "rm -rf $tmpPath" EXIT + tmpArchive="$tmpPath/hg-archive" # Perform the checkout. if [[ $url != /* ]]; then diff --git a/pkgs/build-support/fetchsvn/nix-prefetch-svn b/pkgs/build-support/fetchsvn/nix-prefetch-svn index a2ee3ac6052f92693b6a46b43c32865d9ff77a8d..03b9eb9a03dfd15ebafa6561a80205dd90e51148 100755 --- a/pkgs/build-support/fetchsvn/nix-prefetch-svn +++ b/pkgs/build-support/fetchsvn/nix-prefetch-svn @@ -41,11 +41,10 @@ fi # If we don't know the hash or a path with that hash doesn't exist, # download the file and add it to the store. if test -z "$finalPath"; then - tmpPath=/tmp/svn-checkout-tmp-$$ - tmpFile=$tmpPath/$dstFile - mkdir $tmpPath + tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/svn-checkout-tmp-XXXXXXXX")" + trap "rm -rf \"$tmpPath\"" EXIT - trap "rm -rf $tmpPath" EXIT + tmpFile="$tmpPath/$dstFile" # Perform the checkout. if test "$NIX_PREFETCH_SVN_LEAVE_DOT_SVN" != 1 diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index 41f2a59246d1ab53d749070338c18e0323d06a46..dd43068be279c73a433bc337bc8fa8d9cee4bf31 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -96,7 +96,10 @@ filterExisting() { # Syntax: wrapProgram wrapProgram() { local prog="$1" - local hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped + local progBasename=$(basename $prog) + local hiddenDir="$(dirname $prog)/../wrapped-bin/.$progBasename-wrapped-bin" + mkdir -p $hiddenDir + local hidden="$(cd "$hiddenDir"; pwd)/$progBasename" mv $prog $hidden makeWrapper $hidden $prog "$@" } diff --git a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh index 28c28f695875ea09781b410c2fda17dc0993b52a..b66001073f2706f0f279108b32744e618ea66548 100644 --- a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh +++ b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh @@ -8,6 +8,10 @@ SF_version_dir () { version_link 'http://sourceforge.net/.+/'"$1"'[0-9.]+/$' } +SF_version_tarball () { + version_link '[.]tar[.].*/download$' +} + GH_latest () { prefetch_command_rel ../fetchgit/nix-prefetch-git revision "$("$(dirname "$0")/urls-from-page.sh" "$CURRENT_URL/commits" | grep /commit/ | head -n 1 | xargs basename )" diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh index e11eb722e0e4c1ea2582ddba152a19da9b729821..e60499b60f27f9c5780c8575936257980da2346c 100755 --- a/pkgs/build-support/upstream-updater/update-walker.sh +++ b/pkgs/build-support/upstream-updater/update-walker.sh @@ -280,6 +280,12 @@ do_overwrite_just_version () { set_var_value sha256 $CURRENT_HASH } +minimize_overwrite() { + do_overwrite(){ + do_overwrite_just_version + } +} + process_config () { CONFIG_DIR="$(directory_of "$1")" CONFIG_NAME="$(basename "$1")" @@ -297,9 +303,7 @@ process_config () { exit 1; } [ -z "$(retrieve_meta fullRegenerate)" ] && eval " - do_overwrite(){ - do_overwrite_just_version - } + minimize_overwrite " fi ensure_attribute_name diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix index d4c0b4a6461ac4dc926cf6e69a6ea540798ffb2e..2eefa31691ee66dcbb775217ec80f82e9423b104 100644 --- a/pkgs/data/documentation/man-pages/default.nix +++ b/pkgs/data/documentation/man-pages/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "man-pages-3.70"; + name = "man-pages-3.71"; src = fetchurl { url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz"; - sha256 = "1qnhlicshlcz2da9k9czp75cfj7a6y90m0bhik7gzxa3s3b4f43j"; + sha256 = "981038ecffcf6db490c0bc4359f489c318654068a6ba5aa086962ac41b0d2894"; }; preBuild = diff --git a/pkgs/data/fonts/cm-unicode/default.nix b/pkgs/data/fonts/cm-unicode/default.nix index b8f7f7c6d3efd70cdbf2a6af047e9b40328dc00a..d8f6f7f83517d57d74e7bc55b01b69e99992e817 100644 --- a/pkgs/data/fonts/cm-unicode/default.nix +++ b/pkgs/data/fonts/cm-unicode/default.nix @@ -9,17 +9,16 @@ let buildInputs = map (n: builtins.getAttr n x) (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { - version="0.6.3a"; + version = "0.7.0"; baseName="cm-unicode"; name="${baseName}-${version}"; - url="ftp://canopus.iacp.dvo.ru/pub/Font/cm_unicode/${name}-otf.tar.gz"; - hash="1018gmvh7wl7sm6f3fqd917syd1yy0gz3pxmrc9lkxckcr7wz0zp"; + url="mirror://sourceforge/${baseName}/${baseName}/${version}/${name}-otf.tar.xz"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "0a0w9qm9g8qz2xh3lr61bj1ymqslqsvk4w2ybc3v2qa89nz7x2jl"; }; inherit (sourceInfo) name version; @@ -34,11 +33,8 @@ rec { ]; platforms = with a.lib.platforms; all; - }; - passthru = { - updateInfo = { - downloadPage = "http://canopus.iacp.dvo.ru/~panov/cm-unicode/download.html"; - }; + downloadPage = "http://sourceforge.net/projects/cm-unicode/files/cm-unicode/"; + inherit version; }; }) x diff --git a/pkgs/data/fonts/cm-unicode/default.upstream b/pkgs/data/fonts/cm-unicode/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..bc24cd919b23f761de3b1a77698925a7da433e5f --- /dev/null +++ b/pkgs/data/fonts/cm-unicode/default.upstream @@ -0,0 +1,7 @@ +attribute_name cm_unicode +url http://sourceforge.net/projects/cm-unicode/files/cm-unicode/ +SF_version_dir +version_link '[-]otf[.]tar[.][a-z0-9]+/download$' +SF_redirect +ensure_hash +do_overwrite() { do_overwrite_just_version; } diff --git a/pkgs/data/fonts/comic-neue/default.nix b/pkgs/data/fonts/comic-neue/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..91608d17db446dd064695030dc5001477d5f06fc --- /dev/null +++ b/pkgs/data/fonts/comic-neue/default.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl, unzip}: + +stdenv.mkDerivation rec { + name = "comic-neue-1.1"; + + src = fetchurl { + url = "http://comicneue.com/comic-neue-1.1.zip"; + sha256 = "f9442fc42252db62ea788bd0247ae0e74571678d1dbd3e3edc229389050d6923"; + }; + + buildInputs = [unzip]; + phases = [ "unpackPhase" "installPhase" ]; + sourceRoot = name; + + installPhase = '' + mkdir -p $out/share/fonts/truetype + cp -v *.ttf $out/share/fonts/truetype + ''; + + meta = with stdenv.lib; { + homepage = http://comicneue.com/; + description = "A casual type face: Make your lemonade stand look like a fortune 500 company"; + longDescription = '' + It is inspired by Comic Sans but more regular. The font was + designed by Craig Rozynski. It is available in two variants: + Comic Neue and Comic Neue Angular. The former having round and + the latter angular terminals. Both variants come in Light, + Regular, and Bold weights with Oblique variants. + ''; + license = licenses.cc0; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/fonts/fira/default.nix b/pkgs/data/fonts/fira/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..56fa9f51a4748c6857531099c82d2b8a15f02e73 --- /dev/null +++ b/pkgs/data/fonts/fira/default.nix @@ -0,0 +1,36 @@ +{stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + name = "fira-3.111"; + + src = fetchurl { + url = "http://www.carrois.com/wordpress/downloads/fira_3_1/FiraFonts3111.zip"; + sha256 = "3ced3df236b0b0eec1b390885c53ac02f3e3f830e9449414230717334a0b2457"; + }; + + buildInputs = [unzip]; + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/share/fonts/opentype + find . -name "*.otf" -exec cp -v {} $out/share/fonts/opentype \; + ''; + + meta = with stdenv.lib; { + homepage = http://www.carrois.com/fira-3-1/; + description = "Sans-serif and monospace font for Firefox OS"; + longDescription = '' + Fira Sans is a sans-serif font designed by Erik Spiekermann, + Ralph du Carrois, Anja Meiners and Botio Nikoltchev of Carrois + Type Design for Mozilla Firefox OS. It is closely related to + Spiekermann's FF Meta typeface. Available in Two, Four, Eight, + Hair, Thin, Ultra Light, Extra Light, Light, Book, Regular, + Medium, Semi Bold, Bold, Extra Bold, Heavy weights with + corresponding italic versions. Fira Mono is a matching + monospace variant of Fira Sans. It is available in regular, and + bold weights. + ''; + license = licenses.ofl; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/fonts/symbola/default.nix b/pkgs/data/fonts/symbola/default.nix index 993a4c4f46d6b7fa3194a074424654eaf735cbd3..b324e52d0212325ea1708b011c02120184bf5d49 100644 --- a/pkgs/data/fonts/symbola/default.nix +++ b/pkgs/data/fonts/symbola/default.nix @@ -1,40 +1,39 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, unzip }: stdenv.mkDerivation rec { name = "symbola-7.12"; - ttf = fetchurl { - url = "http://users.teilar.gr/~g1951d/Symbola.ttf"; - sha256 = "7acc058bd4e56cc986b2a46420520f59be402c3565c202b5dcebca7f3bfd8b5a"; + src = fetchurl { + url = "http://users.teilar.gr/~g1951d/Symbola.zip"; + sha256 = "19q5wcqk1rz8ps7jvvx1rai6x8ais79z71sm8d36hvsk2vr135al"; }; docs_pdf = fetchurl { url = "http://users.teilar.gr/~g1951d/Symbola.pdf"; - sha256 = "11bb082ba5c2780a6f94a9bcddf4f314a54e2650bb63ce3081d1dc867c5e6843"; - }; - docs_docx = fetchurl { - url = "http://users.teilar.gr/~g1951d/Symbola.docx"; - sha256 = "4f0ab494e1e5a7aac147aa7bb8b8bdba7278aee2da942a35f995feb9051515b9"; + sha256 = "11h2202p1p4np4nv5m8k41wk7431p2m35sjpmbi1ygizakkbla3p"; }; + buildInputs = [ unzip ]; + phases = [ "installPhase" ]; installPhase = '' + unzip ${src} mkdir -p $out/share/fonts/truetype - cp -v "$ttf" $out/share/fonts/truetype/"${ttf.name}" + cp -v Symbola.ttf $out/share/fonts/truetype/ + cp -v Symbola_hint.ttf $out/share/fonts/truetype/ mkdir -p "$out/doc/${name}" + cp -v Symbola.docx "$out/doc/${name}/" + cp -v Symbola.htm "$out/doc/${name}/" cp -v "$docs_pdf" "$out/doc/${name}/${docs_pdf.name}" - cp -v "$docs_docx" "$out/doc/${name}/${docs_docx.name}" ''; meta = { - description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode..."; - + description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; # In lieu of a licence: # Fonts in this site are offered free for any use; # they may be installed, embedded, opened, edited, modified, regenerated, posted, packaged and redistributed. - license = "Unicode Fonts for Ancient Scripts"; - + license = stdenv.lib.licenses.free; homepage = http://users.teilar.gr/~g1951d/; }; } diff --git a/pkgs/data/fonts/terminus-font/default.nix b/pkgs/data/fonts/terminus-font/default.nix index 3487a8012dc0b827cb3c7b120c726bb827c130ea..fa9eb0ac42d5be8c1c8de570034d76b7f4e3882c 100644 --- a/pkgs/data/fonts/terminus-font/default.nix +++ b/pkgs/data/fonts/terminus-font/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, bdftopcf, mkfontdir, mkfontscale }: stdenv.mkDerivation rec { - name = "terminus-font-4.38"; + name = "terminus-font-4.39"; src = fetchurl { url = "mirror://sourceforge/project/terminus-font/${name}/${name}.tar.gz"; - sha256 = "1dwpxmg0wiyhp7hh18mvw18gnf0y2jgbn80c4xya7rmb9mm8gx7n"; + sha256 = "1gzmn7zakvy6yrvmswyjfklnsvqrjm0imhq8rjws8rdkhqwkh21i"; }; buildInputs = [ perl bdftopcf mkfontdir mkfontscale ]; diff --git a/pkgs/data/misc/miscfiles/default.nix b/pkgs/data/misc/miscfiles/default.nix index db4d13b890fdb7e3179702ba09068dc9aab96088..a40856e591062c2b0f4fc08e78adbffdee8a4040 100644 --- a/pkgs/data/misc/miscfiles/default.nix +++ b/pkgs/data/misc/miscfiles/default.nix @@ -1,16 +1,17 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "miscfiles-1.4.2"; + name = "miscfiles-1.5"; src = fetchurl { url = "mirror://gnu/miscfiles/${name}.tar.gz"; - sha256 = "1rh10y63asyrqyp5mlmxy7y4kdp6svk2inws3y7mfx8lsrhcm6dn"; + sha256 = "005588vfrwx8ghsdv9p7zczj9lbc9a3r4m5aphcaqv8gif4siaka"; }; - meta = { + meta = with stdenv.lib; { homepage = http://www.gnu.org/software/miscfiles/; - license = stdenv.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; description = "Collection of files not of crucial importance for sysadmins"; + maintainers = with maintainers; [ pSub ]; }; } diff --git a/pkgs/desktops/e17/enlightenment/default.nix b/pkgs/desktops/e17/enlightenment/default.nix index 1c3edb07ecf127fddccd7399f6b1d6ab0d3baa2f..953c90e8003296b9927cd56d2ecee1676bdb5318 100644 --- a/pkgs/desktops/e17/enlightenment/default.nix +++ b/pkgs/desktops/e17/enlightenment/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { --disable-illume2 ''; meta = { - description = "Enlightenment, the window manager"; + description = "A window manager"; longDescription = '' The Enlightenment Desktop shell provides an efficient yet breathtaking window manager based on the Enlightenment diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix index ed794715ff8d9d328af421b9ec71097519973bfa..41ca17bd5e49a70f3f55dd386343aa17687ff5c5 100644 --- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix +++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python, pkgconfig, libgnome, GConf, pygobject, pygtk, glib, gtk, pythonDBus}: +{ stdenv, fetchurl, python, pkgconfig, libgnome, GConf, pygobject, pygtk, glib, gtk, pythonDBus, gnome_vfs}: with stdenv.lib; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { cp bonobo/*.{py,defs} $out/share/pygtk/2.0/defs/ ''; - buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus ]; + buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus gnome_vfs ]; doCheck = false; diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix index ee08975b9daa81ec5c23689f2e7c392076b4e9ec..b278dadfe24c4e3ce9940026d435297e2c7d6f25 100644 --- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix +++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix @@ -15,11 +15,9 @@ stdenv.mkDerivation rec { # `GTK_WIDGET_NO_WINDOW', all of which appear to be deprecated nowadays. CPPFLAGS = "-UGTK_DISABLE_DEPRECATED"; - meta = { + meta = with stdenv.lib; { homepage = http://projects.gnome.org/gtkglext/; - description = "GtkGLExt, an OpenGL extension to GTK+"; - longDescription = '' GtkGLExt is an OpenGL extension to GTK+. It provides additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget API @@ -27,9 +25,7 @@ stdenv.mkDerivation rec { Löf's GtkGLArea, GtkGLExt provides a GtkWidget API that enables OpenGL drawing for standard and custom GTK+ widgets. ''; - - license = stdenv.lib.licenses.lgpl2Plus; - - maintainers = [ ]; + license = licenses.lgpl2Plus; + platforms = platforms.linux; }; } diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix index b58aa99721e24a8461776d17df67b2c71be31636..983e7f416a6dd9055ca8f6116f2445a81ed00ead 100644 --- a/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Apps/Yelp; - description = "Yelp is the help viewer in Gnome."; + description = "The Gnome help viewer"; maintainers = with maintainers; [ lethalman ]; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix index 7ca35a8255f9207740d016ca61da953d23c8292b..401d5cf2f36a92e50a1741f87c5f79eb4398def8 100644 --- a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix @@ -6,11 +6,11 @@ # use packaged gnome3.gnome_icon_theme_symbolic stdenv.mkDerivation rec { - name = "gitg-0.3.2"; + name = "gitg-3.13.91"; src = fetchurl { - url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz"; - sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp"; + url = "mirror://gnome/sources/gitg/3.13/${name}.tar.xz"; + sha256 = "1c2016grvgg5f3l5xkracz85rblsc1a4brzr6vgn6kh2h494rv37"; }; preCheck = '' diff --git a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix index 17c3b4fa0a8cffb04dbad38c096320827393d132..82e2b585509438af28b3521fdfc55e64dbe64965 100644 --- a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix +++ b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix @@ -1,18 +1,20 @@ -{ stdenv, fetchurl, gnome3, libtool, pkgconfig +{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala , gtk_doc, gobjectIntrospection, libgit2, glib }: stdenv.mkDerivation rec { name = "libgit2-glib-${version}"; - version = "0.0.10"; + version = "0.0.20"; src = fetchurl { url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz"; - sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs"; + sha256 = "1s2hj0ji73ishniqvr6mx90l1ji5jjwwrwhp91i87fxk0d3sry5x"; }; + + cmakeFlags = "-DTHREADSAFE=ON"; configureScript = "sh ./autogen.sh"; - buildInputs = [ gnome3.gnome_common libtool pkgconfig + buildInputs = [ gnome3.gnome_common libtool pkgconfig vala gtk_doc gobjectIntrospection libgit2 glib ]; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix index f9fbbbe56c6259c2994ea8b615dcbe5834914bc8..8cba366faae698871a63dc92382811a6cce5ef49 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix @@ -5,11 +5,11 @@ , libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }: stdenv.mkDerivation rec { - name = "evolution-3.12.2"; + name = "evolution-3.12.5"; src = fetchurl { url = "mirror://gnome/sources/evolution/3.12/${name}.tar.xz"; - sha256 = "60742334aaf1e3b9f044c2003c44a37be5905b166e24580e9e6e6c5ae1b9f948"; + sha256 = "08y1qiydbbk4fq8rrql9sgbwsny8bwz6f7m5kbbj5zjqvf1baksj"; }; doCheck = true; diff --git a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix index 0909a4239db507e1f371a7f86178ecc47dd91b39..c65a28c344678f12b3eb01a4cfe3e2fa46adcffc 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix @@ -4,11 +4,11 @@ , gnome3, librsvg, gdk_pixbuf, file }: stdenv.mkDerivation rec { - name = "gedit-3.12.1"; + name = "gedit-3.12.2"; src = fetchurl { url = "mirror://gnome/sources/gedit/3.12/${name}.tar.xz"; - sha256 = "8e3edc62102934a8be708b0fdf27b86368fa9ede885628283bf8e91b26bbb67f"; + sha256 = "0lxnswqa0ysr57cqh062wp41sd76p6q7y3mnkl7rligd5c8hnikm"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix index d784544a183dcbdab0ba97bb32f8934fe1772791..c5f9bdb2774619e1f88985455e28f3ba1be9e1f1 100644 --- a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix @@ -4,11 +4,11 @@ , makeWrapper, itstool, gnome3, librsvg, gst_all_1 }: stdenv.mkDerivation rec { - name = "gnome-music-3.12.2"; + name = "gnome-music-3.12.2.1"; src = fetchurl { url = "mirror://gnome/sources/gnome-music/3.12/${name}.tar.xz"; - sha256 = "ec4807018166aabed0263cb3ffce672e1fc1a3e959f48a5ad48b8eb08ddb451a"; + sha256 = "1vwzjv5001pg37qc0sh4ph3srqwg3vgibbdlqpim9w2k70l9j34z"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; diff --git a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix index 7fb341948be58f8a304907ecd53a8410e2fd37f4..c6ac93b10747365aeacc39b9cbf7a7b1d45c7b20 100644 --- a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix @@ -11,11 +11,11 @@ # TODO: enable more features stdenv.mkDerivation rec { - name = "empathy-3.12.2"; + name = "empathy-3.12.5"; src = fetchurl { url = "mirror://gnome/sources/empathy/3.12/${name}.tar.xz"; - sha256 = "414d0c6b1a30b1afbf35ad04b0b9ff3ada3e06fab797a50a7147cdfe0905e7cd"; + sha256 = "0rhgpiv75aafmdh6r7d4ci59lnxqmmwg9hvsa5b3mk7j2d2pma86"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard diff --git a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix index 47b958002a39cdedf716de6c9d071ee438ce4413..7e3af8405a4bd7d395ca7f5a7648ce3a1c5b5bc2 100644 --- a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix @@ -5,11 +5,11 @@ # TODO: enable more folks backends stdenv.mkDerivation rec { - name = "folks-0.9.6"; + name = "folks-0.9.8"; src = fetchurl { url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz"; - sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f"; + sha256 = "09cbs3ihcswpi1wg8xbjmkqjbhnxa1idy1fbzmz0gah7l5mxmlfj"; }; propagatedBuildInputs = [ glib gnome3.libgee sqlite ]; diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix index 666032f56a732f75d0f3d58d318d0ba11de95dfa..19d0c9c10e8978ecef284e68ec8db39e14b3eaa3 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix @@ -3,11 +3,11 @@ , itstool, gnome3, librsvg, gdk_pixbuf }: stdenv.mkDerivation rec { - name = "gnome-calculator-3.12.1"; + name = "gnome-calculator-3.12.3"; src = fetchurl { url = "mirror://gnome/sources/gnome-calculator/3.12/${name}.tar.xz"; - sha256 = "15a75bbe19f6d2280d864f0504f6fc5b1f148fea9738b5548b64b7b8c0c64740"; + sha256 = "0bn3agh3g22iradfpzkc19a2b33b1mbf0ciy1hf2sijrczi24410"; }; NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix index 7377c839d1c960f1de5b26215f857c81b6db6f50..2a237b15c21cb68ca3b92d9fa8e09fadf3e81ba2 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }: stdenv.mkDerivation rec { - name = "gnome-user-docs-3.12.1"; + name = "gnome-user-docs-3.12.2"; src = fetchurl { url = "mirror://gnome/sources/gnome-user-docs/3.12/${name}.tar.xz"; - sha256 = "bfd084d72c688d6efb0c34bb572a704cc2ce093c97a33390eaffb5e42158d418"; + sha256 = "1cj45lpa74vkbxyila3d6pn5m1gh51nljp9fjirxmzwi1h6wg7jd"; }; buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ]; diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix index a8a1c244767cae04d2e8eaee0ebfbd3dd7e7fa37..9076d5c583903681e0739f1c42acb3a8296aef7a 100644 --- a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix @@ -3,11 +3,11 @@ , gmime, json_glib, avahi, tracker, itstool }: stdenv.mkDerivation rec { - name = "grilo-plugins-0.2.12"; + name = "grilo-plugins-0.2.13"; src = fetchurl { url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz"; - sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48"; + sha256 = "008jwm5ydl0k25p3d2fkcail40fj9y3qknihxb5fg941p8qlhm55"; }; installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ]; diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix index 6f1bfbbcfe948d92144fe6d03bd3ecdbe9d4a70a..9c0e3f9a0bc9f6220327a0707519338a2f7d184c 100644 --- a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix @@ -2,11 +2,11 @@ , libxml2, gnome3, gobjectIntrospection, libsoup }: stdenv.mkDerivation rec { - name = "grilo-0.2.10"; + name = "grilo-0.2.11"; src = fetchurl { url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz"; - sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25"; + sha256 = "8a52c37521de80d6caf08a519a708489b9e2b097c2758a0acaab6fbd26d30ea6"; }; configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ]; diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix index 4564b0d21e174fa09638fe179667e96ca5258cae..8a89425a69638b135e3404de758fddc23987e542 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "gtksourceview-${version}"; - version = "3.12.2"; + version = "3.12.3"; src = fetchurl { url = "mirror://gnome/sources/gtksourceview/3.12/gtksourceview-${version}.tar.xz"; - sha256 = "62a31eee00f633d7959efb7eec44049ebd0345d670265853dcd21c057f3f30ad"; + sha256 = "1xzmw9n9zbkaasl8xi7s5h49wiv5dq4qf8hr2pzjkack3ai5j6gk"; }; buildInputs = [ pkgconfig atk cairo glib gtk3 pango diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix index 3589299df3ec42f1be8a0de5aff2b56d11d24532..1322fdcaae31a625db997861275f9b14fce4186e 100644 --- a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix @@ -5,11 +5,11 @@ , gnome3, librsvg, gdk_pixbuf, file }: stdenv.mkDerivation rec { - name = "totem-3.12.1"; + name = "totem-3.12.2"; src = fetchurl { url = "mirror://gnome/sources/totem/3.12/${name}.tar.xz"; - sha256 = "dd168cdd4051d01131d47c24fa45bfd08b6ccf45900ac4b64bae47f6f47a35e3"; + sha256 = "1law033wxbs8v3l2fk0p1v8lf9m45dm997yhq0cmqgw10jxxiybn"; }; doCheck = true; diff --git a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix index 79155fe9b567bc19d700f32903b3570b6fb8a361..cf84f511416ba7979c9dde4db683ec54c2a7787f 100644 --- a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix @@ -8,11 +8,11 @@ , libpng, libexif, libgsf, libuuid, bzip2 }: stdenv.mkDerivation rec { - name = "tracker-1.0.1"; + name = "tracker-1.0.3"; src = fetchurl { url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz"; - sha256 = "76e7918e62526a8209f9c9226f82abe592a6332826ac7c12e6e405063181e889"; + sha256 = "11pqcldgh07mjn38dlbj6ry5qkfbpf79ln5sqx7q86hhqzh3712h"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix index 41597e47fa54ed580899d368339f7a3238aea615..011424820e827679c11b2cd36a09fb6d4e718195 100644 --- a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix @@ -3,14 +3,14 @@ stdenv.mkDerivation rec { versionMajor = "0.36"; - versionMinor = "2"; + versionMinor = "3"; moduleName = "vte"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "f45eed3aed823068c7563345ea947be0e6ddb3dacd74646e6d7d26a921e04345"; + sha256 = "54e5b07be3c0f7b158302f54ee79d4de1cb002f4259b6642b79b1e0e314a959c"; }; buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ]; diff --git a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix index 1eb6c0e3ed299dd1b12d3f4a336eca00ecc657b8..768e8bdb36ef43d87cb8b525eee776c7dff3f2f0 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix @@ -5,11 +5,11 @@ , gnome3, librsvg, gnome_doc_utils, webkitgtk }: stdenv.mkDerivation rec { - name = "geary-0.6.0"; + name = "geary-0.6.2"; src = fetchurl { url = "mirror://gnome/sources/geary/0.6/${name}.tar.xz"; - sha256 = "44ad1dc2c81c50006c751f8e72aa817f07002188da4c29e158060524a1962715"; + sha256 = "0ap40mpj89sx82kcxlhl9gipq34ks2b70yhiv9s8zc5wg0nm7rpg"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; diff --git a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix index 7ca35a8255f9207740d016ca61da953d23c8292b..401d5cf2f36a92e50a1741f87c5f79eb4398def8 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix @@ -6,11 +6,11 @@ # use packaged gnome3.gnome_icon_theme_symbolic stdenv.mkDerivation rec { - name = "gitg-0.3.2"; + name = "gitg-3.13.91"; src = fetchurl { - url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz"; - sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp"; + url = "mirror://gnome/sources/gitg/3.13/${name}.tar.xz"; + sha256 = "1c2016grvgg5f3l5xkracz85rblsc1a4brzr6vgn6kh2h494rv37"; }; preCheck = '' diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix index 2eccb9a32cf99f55224f5ec573cf3737ff684167..e424ab3635ad1ac026fe9cbb2b0a0daff7b7095a 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix @@ -4,11 +4,11 @@ , gnome3, librsvg, gdk_pixbuf, file, libnotify }: stdenv.mkDerivation rec { - name = "gnome-tweak-tool-3.10.1"; + name = "gnome-tweak-tool-3.12.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz"; - sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec"; + url = "mirror://gnome/sources/gnome-tweak-tool/3.12/${name}.tar.xz"; + sha256 = "f8811d638797ef62500770a8dccc5bc689a427c8396a0dff8cbeddffdebf0e29"; }; doCheck = true; diff --git a/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix index 17c3b4fa0a8cffb04dbad38c096320827393d132..94776c90cf992c50d4c98cc0fb1a714fdb60a7ff 100644 --- a/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix +++ b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix @@ -1,18 +1,18 @@ -{ stdenv, fetchurl, gnome3, libtool, pkgconfig +{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala , gtk_doc, gobjectIntrospection, libgit2, glib }: stdenv.mkDerivation rec { name = "libgit2-glib-${version}"; - version = "0.0.10"; + version = "0.0.20"; src = fetchurl { url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz"; - sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs"; + sha256 = "1s2hj0ji73ishniqvr6mx90l1ji5jjwwrwhp91i87fxk0d3sry5x"; }; configureScript = "sh ./autogen.sh"; - buildInputs = [ gnome3.gnome_common libtool pkgconfig + buildInputs = [ gnome3.gnome_common libtool pkgconfig vala gtk_doc gobjectIntrospection libgit2 glib ]; meta = with stdenv.lib; { diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix index 3e74c143c61b34299b82be2da50c80f5cbaac04b..484de02f05ddf98b942e6d3aa48bb13790204bfe 100644 --- a/pkgs/development/arduino/ino/default.nix +++ b/pkgs/development/arduino/ino/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { # TODO: add avrgcclibc, it must be rebuild with C++ support propagatedBuildInputs = [ arduino_core avrdude minicom pythonPackages.configobj - pythonPackages.jinja2 pythonPackages.pyserial ]; + pythonPackages.jinja2 pythonPackages.pyserial pythonPackages.six ]; patchPhase = '' echo "Patching Arduino distribution path" diff --git a/pkgs/development/compilers/agda/default.nix b/pkgs/development/compilers/agda/default.nix index 6705419add9b3ffa0fc817772623e96c50ee36a6..db160c652cfb6a2e0d91779ada98a065d906fb80 100644 --- a/pkgs/development/compilers/agda/default.nix +++ b/pkgs/development/compilers/agda/default.nix @@ -1,15 +1,16 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, alex, binary, boxes, dataHash, deepseq, emacs, equivalence -, filepath, geniplate, happy, hashable, hashtables, haskeline -, haskellSrcExts, mtl, parallel, QuickCheck, STMonadTrans, strict -, text, time, transformers, unorderedContainers, xhtml, zlib +{ cabal, alex, binary, boxes, cpphs, dataHash, deepseq, emacs +, equivalence, filepath, geniplate, happy, hashable, hashtables +, haskeline, haskellSrcExts, mtl, parallel, QuickCheck +, STMonadTrans, strict, text, time, transformers +, unorderedContainers, xhtml, zlib }: cabal.mkDerivation (self: { pname = "Agda"; - version = "2.4.0.2"; - sha256 = "13c4ipscnlnbv94k93yajrp32mwzikqa8rhc95h8pmqzhjgwyh8b"; + version = "2.4.2"; + sha256 = "0pgwx79y02a08xn5f6lghw7fsc6wilab5q2gdm9r51yi9gm32aw5"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -18,7 +19,8 @@ cabal.mkDerivation (self: { QuickCheck STMonadTrans strict text time transformers unorderedContainers xhtml zlib ]; - buildTools = [ alex emacs happy ]; + buildTools = [ alex cpphs emacs happy ]; + noHaddock = true; postInstall = '' $out/bin/agda -c --no-main $(find $out/share -name Primitive.agda) $out/bin/agda-mode compile diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix index 913ae5cd90fc0ec85db717ad91d5efdd78cc54f1..d0ae1394f894a850dbbf5272532903f1525fd755 100644 --- a/pkgs/development/compilers/agda/stdlib.nix +++ b/pkgs/development/compilers/agda/stdlib.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: rec { pname = "Agda-stdlib"; - version = "0.8"; + version = "0.8.1"; src = fetchurl { url = "https://github.com/agda/agda-stdlib/archive/v${version}.tar.gz"; - sha256 = "03gdcy2gar46qlmd6w91y05cm1x304ig6bda90ryww9qn05kif78"; + sha256 = "0ij4rg4lk0pq01ing285gbmnn23dcf2rhihdcs8bbdpjg52vl4gf"; }; buildDepends = [ filemanip Agda ]; diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix index 8c71138ab78e1a5c6ccf7e87cab33adba12e2708..b77c7e476676a70e36bbe8b0627fa68ee15fe383 100644 --- a/pkgs/development/compilers/ats2/default.nix +++ b/pkgs/development/compilers/ats2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "ats2-${version}"; - version = "0.1.0"; + version = "0.1.2"; src = fetchurl { url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz"; - sha256 = "0i7b9v7xki9j2jjjpydz0gl33af94b4jjmk75b9w20bs003v8vd4"; + sha256 = "1266hl03d4w13qrimq6jsxcmw1mjivl27l3lhf9ddqlz0vy97j6a"; }; buildInputs = [ gmp ]; diff --git a/pkgs/development/compilers/bigloo/default.nix b/pkgs/development/compilers/bigloo/default.nix index 16dfa580a1937dc43baab7c6771933ee6642be04..8564175d363d54c01314621e0eed73e59d5e24df 100644 --- a/pkgs/development/compilers/bigloo/default.nix +++ b/pkgs/development/compilers/bigloo/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { checkTarget = "test"; meta = { - description = "Bigloo, an efficient Scheme compiler"; + description = "Efficient Scheme compiler"; longDescription = '' Bigloo is a Scheme implementation devoted to one goal: enabling diff --git a/pkgs/development/compilers/cryptol/1.8.x.nix b/pkgs/development/compilers/cryptol/1.8.x.nix index 4cf00ad3806d28350ac8da9f0b81c587c0f28c90..17382ed9d5675f7853899225e4edbaf5b2187142 100644 --- a/pkgs/development/compilers/cryptol/1.8.x.nix +++ b/pkgs/development/compilers/cryptol/1.8.x.nix @@ -1,5 +1,7 @@ { stdenv, requireFile, gmp4, ncurses, zlib, clang_33, makeWrapper }: +assert stdenv.isLinux; + let name = "cryptol-${version}-${rev}"; version = "1.8.27"; diff --git a/pkgs/development/compilers/cudatoolkit/5.5.nix b/pkgs/development/compilers/cudatoolkit/5.5.nix index 99f0828012fa38fc79f26cda13a0b418280b0ec5..bf4009f08be3cdfb2242d052f30041e7734f6a15 100644 --- a/pkgs/development/compilers/cudatoolkit/5.5.nix +++ b/pkgs/development/compilers/cudatoolkit/5.5.nix @@ -51,8 +51,11 @@ stdenv.mkDerivation rec { perl ./install-linux.pl --prefix="$out" rm $out/tools/CUDA_Occupancy_Calculator.xls perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out" + mv $out/include $out/usr_include ''; + setupHook = ./setup-hook.sh; + meta = { license = [ "nonfree" ]; }; diff --git a/pkgs/development/compilers/cudatoolkit/6.0.nix b/pkgs/development/compilers/cudatoolkit/6.0.nix index 573cc8262216452f5fead84eaf43e35285d618a4..5da4b3d0a4aa5d24a8277063736068e6a357dc4d 100644 --- a/pkgs/development/compilers/cudatoolkit/6.0.nix +++ b/pkgs/development/compilers/cudatoolkit/6.0.nix @@ -51,8 +51,11 @@ stdenv.mkDerivation rec { perl ./install-linux.pl --prefix="$out" rm $out/tools/CUDA_Occupancy_Calculator.xls perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out" + mv $out/include $out/usr_include ''; + setupHook = ./setup-hook.sh; + meta = { license = [ "nonfree" ]; }; diff --git a/pkgs/development/compilers/cudatoolkit/setup-hook.sh b/pkgs/development/compilers/cudatoolkit/setup-hook.sh new file mode 100644 index 0000000000000000000000000000000000000000..1b75a2e91ba27ddaec0857f2e81048757d3ff94a --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/setup-hook.sh @@ -0,0 +1,8 @@ +addIncludePath () { + if test -d "$1/usr_include" + then + export NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE} -I$1/usr_include" + fi +} + +envHooks=(${envHooks[@]} addIncludePath) diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3eb9aef528c0e37e995496b57c38be64c5298991 --- /dev/null +++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchgit, python }: + +let + tag = "1.21.0"; +in + +stdenv.mkDerivation rec { + name = "emscripten-fastcomp-${tag}"; + + srcFC = fetchgit { + url = git://github.com/kripken/emscripten-fastcomp; + rev = "refs/tags/${tag}"; + sha256 = "0mcxzg2cfg0s1vfm3bh1ar4xsddb6xkv1dsdbgnpx38lbj1mvfs1"; + }; + + srcFL = fetchgit { + url = git://github.com/kripken/emscripten-fastcomp-clang; + rev = "refs/tags/${tag}"; + sha256 = "0s2jcn36d236cfpryjpgaazjp3cg83d0h78g6kk1j6vdppv3vgnp"; + }; + + buildInputs = [ python ]; + buildCommand = '' + cp -as ${srcFC} $TMPDIR/src + chmod +w $TMPDIR/src/tools + cp -as ${srcFL} $TMPDIR/src/tools/clang + + chmod +w $TMPDIR/src + mkdir $TMPDIR/src/build + cd $TMPDIR/src/build + + ../configure --enable-optimized --disable-assertions --enable-targets=host,js + make + cp -a Release/bin $out + ''; + meta = with stdenv.lib; { + homepage = https://github.com/kripken/emscripten-fastcomp; + description = "emscripten llvm"; + maintainers = with maintainers; [ bosu ]; + license = "University of Illinois/NCSA Open Source License"; + }; +} diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..43f256b58b0400d8e75321765425f347afee3011 --- /dev/null +++ b/pkgs/development/compilers/emscripten/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchgit, emscriptenfastcomp, python, nodejs, closurecompiler, jre }: + +let + tag = "1.21.0"; +in + +stdenv.mkDerivation rec { + name = "emscripten-${tag}"; + + src = fetchgit { + url = git://github.com/kripken/emscripten; + rev = "refs/tags/${tag}"; + sha256 = "0y17ab4nhd3521b50sv2i2667w0rlcnmlkpkgw5j3fsh8awxgf32"; + }; + + buildCommand = '' + mkdir $out + cp -a $src $out/bin + chmod -R +w $out/bin + grep -rl '^#!/usr.*python' $out/bin | xargs sed -i -s 's@^#!/usr.*python.*@#!${python}/bin/python@' + sed -i -e "s,EM_CONFIG = '~/.emscripten',EM_CONFIG = '$out/config'," $out/bin/tools/shared.py + sed -i -e 's,^.*did not see a source tree above the LLVM.*$, return True,' $out/bin/tools/shared.py + sed -i -e 's,def check_sanity(force=False):,def check_sanity(force=False):\n return,' $out/bin/tools/shared.py + + echo "EMSCRIPTEN_ROOT = '$out/bin'" > $out/config + echo "LLVM_ROOT = '${emscriptenfastcomp}'" >> $out/config + echo "PYTHON = '${python}/bin/python'" >> $out/config + echo "NODE_JS = '${nodejs}/bin/node'" >> $out/config + echo "JS_ENGINES = [NODE_JS]" >> $out/config + echo "COMPILER_ENGINE = NODE_JS" >> $out/config + echo "CLOSURE_COMPILER = '${closurecompiler}/bin/closure-compiler'" >> $out/config + echo "JAVA = '${jre}/bin/java'" >> $out/config + ''; + meta = with stdenv.lib; { + homepage = https://github.com/kripken/emscripten; + description = "An LLVM-to-JavaScript Compiler"; + maintainers = with maintainers; [ bosu ]; + license = with licenses; ncsa; + }; +} diff --git a/pkgs/development/compilers/fpc/2.4.0.nix b/pkgs/development/compilers/fpc/2.4.0.nix deleted file mode 100644 index 30081c9d8050c5b1c65d0e7bc5f3382c6926858c..0000000000000000000000000000000000000000 --- a/pkgs/development/compilers/fpc/2.4.0.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ stdenv, fetchurl, gawk }: - -let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in - -stdenv.mkDerivation rec { - version = "2.4.0"; - name = "fpc-${version}"; - - src = fetchurl { - url = "http://downloads.sourceforge.net/sourceforge/freepascal/fpcbuild-${version}.tar.gz"; - sha256 = "1m2g2bafjixbwl5b9lna5h7r56y1rcayfnbp8kyjfd1c1ymbxaxk"; - }; - - buildInputs = [ startFPC gawk ]; - - preConfigure = - if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then '' - sed -e "s@'/lib/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas - sed -e "s@'/lib64/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas - '' else ""; - - makeFlags = "NOGDB=1"; - - installFlags = "INSTALL_PREFIX=\${out}"; - - postInstall = '' - for i in $out/lib/fpc/*/ppc*; do - ln -fs $i $out/bin/$(basename $i) - done - mkdir -p $out/lib/fpc/etc/ - $out/lib/fpc/*/samplecfg $out/lib/fpc/${version} $out/lib/fpc/etc/ - ''; - - meta = { - description = "Free Pascal Compiler from a source distribution"; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/compilers/fpc/binary-builder.sh b/pkgs/development/compilers/fpc/binary-builder.sh index 8be36dec73e43a9aa7b4bf531ca8cd3e6f3ea499..4308c1ed211aecaf77e7d02e608df8c7be149da6 100755 --- a/pkgs/development/compilers/fpc/binary-builder.sh +++ b/pkgs/development/compilers/fpc/binary-builder.sh @@ -1,6 +1,7 @@ source $stdenv/setup tar xf $src +cd */ tarballdir=$(pwd) for i in *.tar; do tar xvf $i; done echo "Deploying binaries.." diff --git a/pkgs/development/compilers/fpc/binary.nix b/pkgs/development/compilers/fpc/binary.nix index 88f0ab9106724526543cfeced936d06bedb663f2..57e670750db77e00af30d1857916b240f4ae3a30 100644 --- a/pkgs/development/compilers/fpc/binary.nix +++ b/pkgs/development/compilers/fpc/binary.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation { - name = "fpc-2.4.0-binary"; + name = "fpc-2.6.0-binary"; src = if stdenv.system == "i686-linux" then fetchurl { - url = "ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/2.4.0/i386-linux/fpc-2.4.0.i386-linux.tar"; - sha256 = "1zas9kp0b36zxqvb9i4idh2l0nb6qpmgah038l77w6las7ghh0dv"; + url = "http://sourceforge.net/projects/freepascal/files/Linux/2.6.0/fpc-2.6.0.i386-linux.tar"; + sha256 = "08yklvrfxvk59bxsd4rh1i6s3cjn0q06dzjs94h9fbq3n1qd5zdf"; } else if stdenv.system == "x86_64-linux" then fetchurl { - url = "ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/2.4.0/x86_64-linux/fpc-2.4.0.x86_64-linux.tar"; - sha256 = "111d11g5ra55hjywx64ldwwflpimsy8zryvap68v0309nyd23f0z"; + url = "http://sourceforge.net/projects/freepascal/files/Linux/2.6.0/fpc-2.6.0.x86_64-linux.tar"; + sha256 = "0k9vi75k39y735fng4jc2vppdywp82j4qhzn7x4r6qjkad64d8lx"; } else throw "Not supported on ${stdenv.system}."; diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix index 6be976783bcd8656bbd54b5cf9e54397acbef6df..b34b5e8a4465e40835f3c667fa415eea36b26ebe 100644 --- a/pkgs/development/compilers/fpc/default.nix +++ b/pkgs/development/compilers/fpc/default.nix @@ -3,12 +3,12 @@ let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in stdenv.mkDerivation rec { - version = "2.6.0"; + version = "2.6.4"; name = "fpc-${version}"; src = fetchurl { url = "mirror://sourceforge/freepascal/fpcbuild-${version}.tar.gz"; - sha256 = "1vxy2y8pm0ribhpdhqlwwz696ncnz4rk2dafbn1mjgipm97qb26p"; + sha256 = "1akdlp4n9ai1gnn4yq236i5rx03rs5sjfgk60myb7nb9lk7kp74d"; }; buildInputs = [ startFPC gawk ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { sed -e "s@'/lib64/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas '' else ""; - makeFlags = "NOGDB=1"; + makeFlags = "NOGDB=1 FPC=${startFPC}/bin/fpc"; installFlags = "INSTALL_PREFIX=\${out}"; @@ -31,9 +31,14 @@ stdenv.mkDerivation rec { $out/lib/fpc/*/samplecfg $out/lib/fpc/${version} $out/lib/fpc/etc/ ''; + passthru = { + bootstrap = startFPC; + }; + meta = { description = "Free Pascal Compiler from a source distribution"; maintainers = [stdenv.lib.maintainers.raskin]; platforms = stdenv.lib.platforms.linux; + inherit version; }; } diff --git a/pkgs/development/compilers/fpc/default.upstream b/pkgs/development/compilers/fpc/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..7c11fb4761e1ec3c2498cc5322fd10c41ae225c6 --- /dev/null +++ b/pkgs/development/compilers/fpc/default.upstream @@ -0,0 +1,6 @@ +url http://sourceforge.net/projects/freepascal/files/Source/ +SF_version_dir +version_link 'fpcbuild-[0-9.]+[.]tar[.]gz/download$' +SF_redirect +version '.*-([0-9.]+)[.]tar[.]gz' '\1' +do_overwrite () { do_overwrite_just_version; } diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix index 265b08c1fbdf68f15a9ef5b3c00e452d0069afe6..3d9f2596c96c5b0ddbec4966f7cb9b177665f1fa 100644 --- a/pkgs/development/compilers/gambit/default.nix +++ b/pkgs/development/compilers/gambit/default.nix @@ -18,7 +18,7 @@ rec { phaseNames = ["doConfigure" "doMakeInstall"]; meta = { - description = "Gambit Scheme to C compiler"; + description = "Scheme to C compiler"; maintainers = [ a.lib.maintainers.raskin ]; diff --git a/pkgs/development/compilers/go/1.3.nix b/pkgs/development/compilers/go/1.3.nix index fafa045e5621ba568f3debbc8cbe9d1db2043d6a..1dcdd89b5bf4eb828db95c2b51643a25710c305c 100644 --- a/pkgs/development/compilers/go/1.3.nix +++ b/pkgs/development/compilers/go/1.3.nix @@ -1,5 +1,7 @@ { stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc }: +assert stdenv.gcc.gcc != null; + let loader386 = "${glibc}/lib/ld-linux.so.2"; loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2"; @@ -7,11 +9,11 @@ let in stdenv.mkDerivation { - name = "go-1.3"; + name = "go-1.3.1"; src = fetchurl { - url = https://storage.googleapis.com/golang/go1.3.src.tar.gz; - sha256 = "10jkqgzlinzynciw3wr15c7n2vw5q4d2ni65hbs3i61bbdn3x67b"; + url = https://storage.googleapis.com/golang/go1.3.1.src.tar.gz; + sha256 = "fdfa148cc12f1e4ea45a5565261bf43d8a2e7d1fad4a16aed592d606223b93a8"; }; buildInputs = [ bison bash makeWrapper ] ++ lib.optionals stdenv.isLinux [ glibc ] ; diff --git a/pkgs/development/compilers/hugs/default.nix b/pkgs/development/compilers/hugs/default.nix index c3f14826c8a28840ab9ceaaba4c8ec55c9ed32cc..14751799795a2d81439794379f292e73858c22a8 100644 --- a/pkgs/development/compilers/hugs/default.nix +++ b/pkgs/development/compilers/hugs/default.nix @@ -47,7 +47,7 @@ composableDerivation.composableDerivation {} { meta = { license = "as-is"; # gentoo is calling it this way.. - description = "The HUGS 98 Haskell interpreter"; + description = "Haskell interpreter"; homepage = http://www.haskell.org/hugs; }; } diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix index f0b07f9d0fa3410aee713e7eb59eed519ad2e658..0761f189bc8247b2aa0bb866d6d69f8561e5a90e 100644 --- a/pkgs/development/compilers/idris/default.nix +++ b/pkgs/development/compilers/idris/default.nix @@ -11,8 +11,8 @@ cabal.mkDerivation (self: { pname = "idris"; - version = "0.9.14.1"; - sha256 = "11x4f0hvd51m9rlf9r0i5xsjmc73kjsayny4xyv0wgb88v9v737b"; + version = "0.9.14.2"; + sha256 = "0j64kx357l16z9y9j20i7mvxgqff94bfssbhh1shb13c0pk5lmi6"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/compilers/ikarus/default.nix b/pkgs/development/compilers/ikarus/default.nix index 070f29e16f64fc81a7dd2de4bd34e14f6a5641f8..e9bf6c8bb5b6ec469c8459da985dc9ae8cfb28b8 100644 --- a/pkgs/development/compilers/ikarus/default.nix +++ b/pkgs/development/compilers/ikarus/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ gmp ]; meta = { - description = "Ikarus - a Scheme compiler, aiming at R6RS"; + description = "Scheme compiler, aiming at R6RS"; homepage = http://ikarus-scheme.org/; license = stdenv.lib.licenses.gpl3; }; diff --git a/pkgs/development/compilers/julia/0.3.0.nix b/pkgs/development/compilers/julia/0.3.0.nix new file mode 100644 index 0000000000000000000000000000000000000000..3259fee55bfc3fd793aef1e9117d351a4228f2ea --- /dev/null +++ b/pkgs/development/compilers/julia/0.3.0.nix @@ -0,0 +1,157 @@ +{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib + , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl + , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack + , tcl, tk, xproto, libX11, git, mpfr, which + } : + +assert stdenv.isLinux; + +let + realGcc = stdenv.gcc.gcc; +in +stdenv.mkDerivation rec { + pname = "julia"; + version = "0.3.0"; + name = "${pname}-${version}"; + + dsfmt_ver = "2.2"; + grisu_ver = "1.1.1"; + openblas_ver = "v0.2.10"; + lapack_ver = "3.5.0"; + arpack_ver = "3.1.5"; + lighttpd_ver = "1.4.29"; + patchelf_ver = "0.6"; + pcre_ver = "8.31"; + utf8proc_ver = "1.1.6"; + + dsfmt_src = fetchurl { + url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz"; + name = "dsfmt-${dsfmt_ver}.tar.gz"; + sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899"; + }; + grisu_src = fetchurl { + url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz"; + sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d"; + }; + openblas_src = fetchurl { + url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}"; + name = "openblas-${openblas_ver}.tar.gz"; + sha256 = "06i0q4qnd5q5xljzrgvda0gjsczc6l2pl9hw6dn2qjpw38al73za"; + }; + arpack_src = fetchurl rec { + url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/arpack-ng_${arpack_ver}.tar.gz"; + sha256 = "05fmg4m0yri47rzgsl2mnr1qbzrs7qyd557p3v9wwxxw0rwcwsd2"; + }; + lapack_src = fetchurl { + url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz"; + name = "lapack-${lapack_ver}.tgz"; + sha256 = "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s"; + }; + lighttpd_src = fetchurl { + url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz"; + sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85"; + }; + patchelf_src = fetchurl { + url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2"; + sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw"; + }; + pcre_src = fetchurl { + url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2"; + sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p"; + }; + utf8proc_src = fetchurl { + url = "http://www.public-software-group.org/pub/projects/utf8proc/v${utf8proc_ver}/utf8proc-v${utf8proc_ver}.tar.gz"; + sha256 = "1rwr84pw92ajjlbcxq0da7yxgg3ijngmrj7vhh2qzsr2h2kqzp7y"; + }; + + src = fetchgit { + url = "git://github.com/JuliaLang/julia.git"; + rev = "refs/tags/v0.3.0"; + sha256 = "1h7icqjiccw26f81r1zwsv31kk6yhavn038h7jp63iv5sdzh5r8i"; + }; + + buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib + fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf + openblas liblapack tcl tk xproto libX11 git mpfr which + ]; + + configurePhase = '' + for i in GMP LLVM PCRE READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR; + do + makeFlags="$makeFlags USE_SYSTEM_$i=1 " + done + + copy_kill_hash(){ + cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')" + } + + for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${patchelf_src}" \ + "${pcre_src}" "${utf8proc_src}" "${lapack_src}" "${openblas_src}"; do + copy_kill_hash "$i" deps + done + + ${if realGcc ==null then "" else + ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr -lblas -lopenblas -L$out/lib"''} + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC " + + export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia" + + export GLPK_PREFIX="${glpk}/include" + + mkdir -p "$out/lib" + sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile + sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile + + export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell} prefix=$out" + + export dontPatchELF=1 + + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia" + + patchShebangs . contrib + + export PATH="$PATH:${stdenv.gcc.libc}/sbin" + + # ldconfig doesn't seem to ever work on NixOS; system-wide ldconfig cache + # is probably not what we want anyway on non-NixOS + sed -e "s@/sbin/ldconfig@true@" -i src/ccall.* + + ln -s "${openblas}/lib/libopenblas.so" "$out/lib/libblas.so" + ''; + + preBuild = '' + mkdir -p usr/lib + + echo "$out" + mkdir -p "$out/lib" + ( + cd "$(mktemp -d)" + for i in "${suitesparse}"/lib/lib*.a; do + ar -x $i + done + gcc *.o --shared -o "$out/lib/libsuitesparse.so" + ) + cp "$out/lib/libsuitesparse.so" usr/lib + for i in umfpack cholmod amd camd colamd spqr; do + ln -s libsuitesparse.so "$out"/lib/lib$i.so; + ln -s libsuitesparse.so "usr"/lib/lib$i.so; + done + ''; + + dontStrip = true; + + enableParallelBuilding = true; + + postInstall = '' + rm -f "$out"/lib/julia/sys.{so,dylib,dll} + ''; + + meta = { + description = "High-level performance-oriented dynamical language for technical computing"; + homepage = "http://julialang.org/"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.raskin ]; + platforms = with stdenv.lib.platforms; linux; + broken = false; + }; +} diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix index 21af582c594bffa0344e1666a976244f77dfb8f9..de9b44a441460661f4fc784dfcaaa1f6a52c4f20 100644 --- a/pkgs/development/compilers/mercury/default.nix +++ b/pkgs/development/compilers/mercury/default.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Mercury is a pure logic programming language."; + description = "A pure logic programming language"; longDescription = '' Mercury is a logic/functional programming language which combines the clarity and expressiveness of declarative programming with advanced diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix index c025fc8073bb7e0792fe1a7c19062f765c8a18a1..b10aaedb483747f9bdce22b7024b587c01d5067d 100644 --- a/pkgs/development/compilers/mit-scheme/default.nix +++ b/pkgs/development/compilers/mit-scheme/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv, makeWrapper, gnum4, texinfo, texLive, automake }: let - version = "9.1.1"; + version = "9.2"; bootstrapFromC = ! (stdenv.isi686 || stdenv.isx86_64); arch = if stdenv.isi686 then "-i386" @@ -19,14 +19,14 @@ stdenv.mkDerivation { if stdenv.isi686 then fetchurl { url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-i386.tar.gz"; - sha256 = "0vi760fy550d9db538m0vzbq1mpdncvw9g8bk4lswk0kcdira55z"; + sha256 = "1fmlpnhf5a75db93phajh4ysbdgrgl72v45lk3kznriprl0a7jc6"; } else if stdenv.isx86_64 then fetchurl { url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-x86-64.tar.gz"; - sha256 = "1wcxm9hyfc53myvlcn93fyqrnnn4scwkknl9hkbp1cphc6mp291x"; + sha256 = "1skzxxhr0iq96bf0j5m7mvf3i4sppfyfa6gpqn34mwgkw1fx8274"; } else fetchurl { url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-c-${version}.tar.gz"; - sha256 = "0pclakzwxbqgy6wqwvs6ml62wgby8ba8xzmwzdwhx1v8wv05yw1j"; + sha256 = "0w5ib5vsidihb4hb6fma3sp596ykr8izagm57axvgd6lqzwicsjg"; }; configurePhase = @@ -65,7 +65,7 @@ stdenv.mkDerivation { # XXX: The `check' target doesn't exist. doCheck = false; - meta = { + meta = with stdenv.lib; { description = "MIT/GNU Scheme, a native code Scheme compiler"; longDescription = @@ -78,14 +78,12 @@ stdenv.mkDerivation { homepage = http://www.gnu.org/software/mit-scheme/; - license = stdenv.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; - maintainers = [ stdenv.lib.maintainers.ludo ]; + maintainers = with maintainers; [ ludo ]; # Build fails on Cygwin and Darwin: # . - platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.freebsd; - - broken = true; + platforms = platforms.gnu ++ platforms.freebsd; }; } diff --git a/pkgs/development/compilers/ocaml/3.10.0.nix b/pkgs/development/compilers/ocaml/3.10.0.nix index 281aa1a9de6f1a89b4a766cd03d0ac6395389729..1d68585d93a126d52c56c2bb079d7df737a19e74 100644 --- a/pkgs/development/compilers/ocaml/3.10.0.nix +++ b/pkgs/development/compilers/ocaml/3.10.0.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation (rec { meta = { homepage = http://caml.inria.fr/ocaml; license = "QPL, LGPL2 (library part)"; - desctiption = "Most popular variant of the Caml language"; + description = "Most popular variant of the Caml language"; }; }) diff --git a/pkgs/development/compilers/ocaml/3.11.2.nix b/pkgs/development/compilers/ocaml/3.11.2.nix index 64cf8a9f9f7b5cd9effc5ee0c2c6f8c9dc4229df..195e83e7313b009ef0188af317d3e0dc1295805e 100644 --- a/pkgs/development/compilers/ocaml/3.11.2.nix +++ b/pkgs/development/compilers/ocaml/3.11.2.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://caml.inria.fr/ocaml; license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; - description = "Objective Caml, the most popular variant of the Caml language"; + description = "Most popular variant of the Caml language"; longDescription = '' Objective Caml is the most popular variant of the Caml language. diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix index f916f5a79233226ab05b722bb68c1ea32fb4b1bf..16c3cb1d78729755c24965c54ea45ddecbd9472e 100644 --- a/pkgs/development/compilers/ocaml/3.12.1.nix +++ b/pkgs/development/compilers/ocaml/3.12.1.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://caml.inria.fr/ocaml; license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; - description = "OCaml, the most popular variant of the Caml language"; + description = "Most popular variant of the Caml language"; longDescription = '' diff --git a/pkgs/development/compilers/ocaml/4.00.1.nix b/pkgs/development/compilers/ocaml/4.00.1.nix index 8662db70c26c753f3bf2d09c051079192a88cd4d..5b1e69b86b0809130b171fdce6a3a5adcc2af811 100644 --- a/pkgs/development/compilers/ocaml/4.00.1.nix +++ b/pkgs/development/compilers/ocaml/4.00.1.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://caml.inria.fr/ocaml; license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; - description = "OCaml, the most popular variant of the Caml language"; + description = "Most popular variant of the Caml language"; longDescription = '' diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix index 0f68014fad6439240ab0b1c58afef20ad5556334..2876bce9caffc0003881c5559bccddceba168600 100644 --- a/pkgs/development/compilers/ocaml/4.01.0.nix +++ b/pkgs/development/compilers/ocaml/4.01.0.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://caml.inria.fr/ocaml; license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; - description = "OCaml, the most popular variant of the Caml language"; + description = "Most popular variant of the Caml language"; longDescription = '' diff --git a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix index 9c5fa3764badcc24574fac830f14e3bc26afb589..8b86c805c61f1023c7cb0ca3654535907d42aa47 100644 --- a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix +++ b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix @@ -58,6 +58,6 @@ stdenv.mkDerivation rec { meta = { homepage = "http://okmij.org/ftp/ML/index.html#ber-metaocaml"; license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; - description = "a conservative extension of OCaml with the primitive type of code values, and three basic multi-stage expression forms: Brackets, Escape, and Run"; + description = "A conservative extension of OCaml with the primitive type of code values, and three basic multi-stage expression forms: Brackets, Escape, and Run"; }; } diff --git a/pkgs/development/compilers/qi/default.nix b/pkgs/development/compilers/qi/default.nix index ecb022d942a9c412c8ffeaa84db629e07611af0d..5665fc5da6c1bcdf7ab5489f4610bf40296b6525 100644 --- a/pkgs/development/compilers/qi/default.nix +++ b/pkgs/development/compilers/qi/default.nix @@ -31,6 +31,6 @@ stdenv.mkDerivation rec { builder = writeScript (name + "-builder") (textClosure localDefs [allBuild doForceShare doPropagate]); meta = { - description = "Qi - next generation on top of Common Lisp"; + description = "Functional programming language, built top of Common Lisp"; }; } diff --git a/pkgs/development/compilers/rdmd/default.nix b/pkgs/development/compilers/rdmd/default.nix index 9177ad5e25b55e822c4c3186cb7ca69f361bea07..621ace195bbe9b723094141866e0271ea6a16c55 100644 --- a/pkgs/development/compilers/rdmd/default.nix +++ b/pkgs/development/compilers/rdmd/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { ''; meta = { - description = "rdmd wrapper for D language compiler"; + description = "Wrapper for D language compiler"; homepage = http://dlang.org/rdmd.html; license = lib.licenses.boost; maintainers = with stdenv.lib.maintainers; [ vlstill ]; diff --git a/pkgs/development/compilers/rustc/0.11.nix b/pkgs/development/compilers/rustc/0.11.nix index 1c3b09b0985a00902f0018350536e974d78873a2..a7246e44a73d32faeb1cbbbb286e7542955c2091 100644 --- a/pkgs/development/compilers/rustc/0.11.nix +++ b/pkgs/development/compilers/rustc/0.11.nix @@ -1,5 +1,7 @@ {stdenv, fetchurl, which, file, perl, curl, python27, makeWrapper}: +assert stdenv.gcc.gcc != null; + /* Rust's build process has a few quirks : - It requires some patched in llvm that haven't landed upstream, so it diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix index ad33906ae6e9ecb0bbc87d39abde4f791933eb15..4f512096a4235017e645126db8f12e64d216e5c1 100644 --- a/pkgs/development/compilers/rustc/head.nix +++ b/pkgs/development/compilers/rustc/head.nix @@ -1,5 +1,7 @@ {stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper}: +assert stdenv.gcc.gcc != null; + /* Rust's build process has a few quirks : - It requires some patched in llvm that haven't landed upstream, so it diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index d3892d43d15e5d772490b31fb5ed730a08b5fb5c..535f2697fea6499cd8f3c0cdb0c05daabb7f7e50 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sbcl-${version}"; - version = "1.2.0"; + version = "1.2.3"; src = fetchurl { url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; - sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2"; + sha256 = "0lz2a79dlxxyw05s14l6xp35zjsazgbp1dmqygqi0cmd8dc5vj6j"; }; buildInputs = [ ] diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix index bd81e4c055d540f45b2437a6dea611059090459f..e299be9144eb814c82ac894509c50afab0b7f31e 100644 --- a/pkgs/development/compilers/scala/default.nix +++ b/pkgs/development/compilers/scala/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Scala is a general purpose programming language"; + description = "General purpose programming language"; longDescription = '' Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index 1e82e03f16c00582a191cd1c0c1304fd36414bca..bd71ab7b27fc851baab42f612b975ea80256a7b7 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { checkTarget = "test"; meta = { - description = "TinyCC, a small, fast, and embeddable C compiler and interpreter"; + description = "Small, fast, and embeddable C compiler and interpreter"; longDescription = '' TinyCC (aka TCC) is a small but hyper fast C compiler. Unlike diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix index 6d074ac9f279e6f739e2184c31a6469d4f390c41..568551bb5ba52f32f87d6d1d5fd4c4f43704ec55 100644 --- a/pkgs/development/interpreters/acl2/default.nix +++ b/pkgs/development/interpreters/acl2/default.nix @@ -2,7 +2,7 @@ a : let fetchurl = a.fetchurl; - version = a.lib.attrByPath ["version"] "v3-5" a; + version = a.lib.attrByPath ["version"] "v6-5" a; buildInputs = with a; [ sbcl ]; @@ -10,7 +10,7 @@ in rec { src = fetchurl { url = "http://www.cs.utexas.edu/users/moore/acl2/${version}/distrib/acl2.tar.gz"; - sha256 = "0zmh1njpp7n7azcyjlygr0h0k51d18s1jkj0dr1jn2bh7mpysajk"; + sha256 = "19kfclgpdyms016s06pjf3icj3mx9jlcj8vfgpbx2ac4ls0ir36g"; name = "acl2-${version}.tar.gz"; }; diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix index 5945cdd8299dfcf06d3b52cc33c0f30423d2b610..23243803e8dc13892e6cfe0b60fa3ca2160fa40c 100644 --- a/pkgs/development/interpreters/erlang/R16.nix +++ b/pkgs/development/interpreters/erlang/R16.nix @@ -1,13 +1,15 @@ { stdenv, fetchurl, perl, gnum4, ncurses, openssl , gnused, gawk, makeWrapper +, odbcSupport ? false, unixODBC ? null , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }: assert wxSupport -> mesa != null && wxGTK != null && xlibs != null; +assert odbcSupport -> unixODBC != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "erlang-" + version; + name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"; version = "16B03-1"; src = fetchurl { @@ -17,7 +19,8 @@ stdenv.mkDerivation rec { buildInputs = [ perl gnum4 ncurses openssl makeWrapper - ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]; + ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ] + ++ optional odbcSupport [ unixODBC ]; patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; @@ -26,7 +29,7 @@ stdenv.mkDerivation rec { sed -e s@/bin/pwd@pwd@g -i otp_build ''; - configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; + configureFlags= "--with-ssl=${openssl} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; postInstall = let manpages = fetchurl { diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix index 2aba55d36792b883c044af5a16ebd290afcb26dd..83ea79d67f396b301aa718d53d45f7f4f90d0ac9 100644 --- a/pkgs/development/interpreters/erlang/R17.nix +++ b/pkgs/development/interpreters/erlang/R17.nix @@ -1,13 +1,15 @@ { stdenv, fetchurl, perl, gnum4, ncurses, openssl , gnused, gawk, makeWrapper +, odbcSupport ? false, unixODBC ? null , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }: assert wxSupport -> mesa != null && wxGTK != null && xlibs != null; +assert odbcSupport -> unixODBC != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "erlang-" + version; + name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"; version = "17.1"; src = fetchurl { @@ -17,7 +19,8 @@ stdenv.mkDerivation rec { buildInputs = [ perl gnum4 ncurses openssl makeWrapper - ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]; + ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ] + ++ optional odbcSupport [ unixODBC ]; patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; @@ -26,7 +29,7 @@ stdenv.mkDerivation rec { sed -e s@/bin/pwd@pwd@g -i otp_build ''; - configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; + configureFlags= "--with-ssl=${openssl} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; postInstall = let manpages = fetchurl { diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index 6e4051ff46eb748a56464408020639f1889adf1e..2ddad5cde67784d60689ed7b6ae8535f0a6500bf 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -65,7 +65,7 @@ meta = { - description = "GNU Guile 2.0, an embeddable Scheme implementation"; + description = "Embeddable Scheme implementation"; homepage = http://www.gnu.org/software/guile/; license = stdenv.lib.licenses.lgpl3Plus; maintainers = with stdenv.lib.maintainers; [ ludo lovek323 ]; diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix index e112a5ae43d4d69ee588cdcaf81bdc7f71c0f360..e14132a8acfd5f294cfbb0dc5fa1e6a99927e740 100644 --- a/pkgs/development/interpreters/maude/default.nix +++ b/pkgs/development/interpreters/maude/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://maude.cs.uiuc.edu/"; - description = "Maude -- a high-level specification language"; + description = "High-level specification language"; license = stdenv.lib.licenses.gpl2; longDescription = '' diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 1addccb4bf887e0be5bd45544ce8dde60ae35617..eac067da2828a69e2264a5d95fcba33c7b868419 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -1,18 +1,16 @@ -{stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull, -libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk, -fftw, fftwSinglePrec, zlib, curl, qrupdate +{ stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull +, libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk +, fftw, fftwSinglePrec, zlib, curl, qrupdate , qt ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null , suitesparse ? null, gnuplot ? null, openjdk ? null, python ? null }: -let - version = "3.8.1"; -in stdenv.mkDerivation rec { + version = "3.8.2"; name = "octave-${version}"; src = fetchurl { url = "mirror://gnu/octave/${name}.tar.bz2"; - sha256 = "1gcvzbgyz98mxzy3gjkdbdiirafkl73l9ywml11j412amp92wxnn"; + sha256 = "83bbd701aab04e7e57d0d5b8373dd54719bebb64ce0a850e69bf3d7454f33bae"; }; buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11 diff --git a/pkgs/development/interpreters/perl/5.10/default.nix b/pkgs/development/interpreters/perl/5.10/default.nix deleted file mode 100644 index 6af35e275c84d983a5a1b03e3bd64895ffd145ca..0000000000000000000000000000000000000000 --- a/pkgs/development/interpreters/perl/5.10/default.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ stdenv, fetchurl }: - -let - - libc = if stdenv ? gcc && stdenv.gcc.libc != null then stdenv.gcc.libc else "/usr"; - -in - -stdenv.mkDerivation rec { - name = "perl-5.10.1"; - - src = fetchurl { - url = "mirror://cpan/src/${name}.tar.gz"; - sha256 = "0dagnhjgmslfx1jawz986nvc3jh1klk7mn2l8djdca1b9gm2czyb"; - }; - - patches = - [ # Do not look in /usr etc. for dependencies. - ./no-sys-dirs.patch - ]; - - # Build a thread-safe Perl with a dynamic libperls.o. We need the - # "installstyle" option to ensure that modules are put under - # $out/lib/perl5 - this is the general default, but because $out - # contains the string "perl", Configure would select $out/lib. - # Miniperl needs -lm. perl needs -lrt. - configureFlags = - [ "-de" - "-Dcc=gcc" - "-Uinstallusrbinperl" - "-Dinstallstyle=lib/perl5" - "-Duseshrplib" - "-Dlocincpth=${libc}/include" - "-Dloclibpth=${libc}/lib" - ] - ++ stdenv.lib.optional (stdenv ? glibc) "-Dusethreads"; - - configureScript = "${stdenv.shell} ./Configure"; - - dontAddPrefix = true; - - enableParallelBuilding = true; - - preConfigure = - '' - configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3" - - ${stdenv.lib.optionalString stdenv.isArm '' - configureFlagsArray=(-Dldflags="-lm -lrt") - ''} - ''; - - preBuild = stdenv.lib.optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools)) - '' - # Make Cwd work on NixOS (where we don't have a /bin/pwd). - substituteInPlace lib/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" - ''; - - setupHook = ./setup-hook.sh; - - passthru.libPrefix = "lib/perl5/site_perl"; -} diff --git a/pkgs/development/interpreters/perl/5.10/no-sys-dirs.patch b/pkgs/development/interpreters/perl/5.10/no-sys-dirs.patch deleted file mode 100644 index 29edf68bb64778e207c67ba5323951f4c013a630..0000000000000000000000000000000000000000 --- a/pkgs/development/interpreters/perl/5.10/no-sys-dirs.patch +++ /dev/null @@ -1,201 +0,0 @@ -diff -rc -x '*~' perl-5.10.1-orig/Configure perl-5.10.1/Configure -*** perl-5.10.1-orig/Configure 2009-08-18 21:03:53.000000000 +0200 ---- perl-5.10.1/Configure 2010-01-26 19:08:32.933792254 +0100 -*************** -*** 103,117 **** - fi - - : Proper PATH setting -! paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' -! paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" -! paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" -! paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" -! paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" -! paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" -! paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" -! paths="$paths /sbin /usr/sbin /usr/libexec" -! paths="$paths /system/gnu_library/bin" - - for p in $paths - do ---- 103,109 ---- - fi - - : Proper PATH setting -! paths='' - - for p in $paths - do -*************** -*** 1301,1317 **** - archname='' - libnames='' - : change the next line if compiling for Xenix/286 on Xenix/386 -! xlibpth='/usr/lib/386 /lib/386' - : Possible local library directories to search. -! loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" -! loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" - - : general looking path for locating libraries -! glibpth="/lib /usr/lib $xlibpth" -! glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" -! test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" -! test -f /shlib/libc.so && glibpth="/shlib $glibpth" -! test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64" - - : Private path used by Configure to find libraries. Its value - : is prepended to libpth. This variable takes care of special ---- 1293,1304 ---- - archname='' - libnames='' - : change the next line if compiling for Xenix/286 on Xenix/386 -! xlibpth='' - : Possible local library directories to search. -! loclibpth="" - - : general looking path for locating libraries -! glibpth="" - - : Private path used by Configure to find libraries. Its value - : is prepended to libpth. This variable takes care of special -*************** -*** 1329,1336 **** - - : Possible local include directories to search. - : Set locincpth to "" in a hint file to defeat local include searches. -! locincpth="/usr/local/include /opt/local/include /usr/gnu/include" -! locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include" - : - : no include file wanted by default - inclwanted='' ---- 1316,1322 ---- - - : Possible local include directories to search. - : Set locincpth to "" in a hint file to defeat local include searches. -! locincpth="" - : - : no include file wanted by default - inclwanted='' -*************** -*** 1358,1365 **** - libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" - : We probably want to search /usr/shlib before most other libraries. - : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. -- glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` -- glibpth="/usr/shlib $glibpth" - : Do not use vfork unless overridden by a hint file. - usevfork=false - ---- 1344,1349 ---- -*************** -*** 2366,2372 **** - zip - " - pth=`echo $PATH | sed -e "s/$p_/ /g"` -- pth="$pth /lib /usr/lib" - for file in $loclist; do - eval xxx=\$$file - case "$xxx" in ---- 2350,2355 ---- -*************** -*** 8361,8373 **** - echo " " - case "$sysman" in - '') -! syspath='/usr/share/man/man1 /usr/man/man1' -! syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1" -! syspath="$syspath /usr/man/u_man/man1" -! syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" -! syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" -! syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1" -! sysman=`./loc . /usr/man/man1 $syspath` - ;; - esac - if $test -d "$sysman"; then ---- 8344,8351 ---- - echo " " - case "$sysman" in - '') -! syspath='' -! sysman='' - ;; - esac - if $test -d "$sysman"; then -*************** -*** 19476,19484 **** - case "$full_ar" in - '') full_ar=$ar ;; - esac - - : Store the full pathname to the sed program for use in the C program -! full_sed=$sed - - : see what type gids are declared as in the kernel - echo " " ---- 19454,19463 ---- - case "$full_ar" in - '') full_ar=$ar ;; - esac -+ full_ar=ar - - : Store the full pathname to the sed program for use in the C program -! full_sed=sed - - : see what type gids are declared as in the kernel - echo " " -diff -rc -x '*~' perl-5.10.1-orig/ext/Errno/Errno_pm.PL perl-5.10.1/ext/Errno/Errno_pm.PL -*** perl-5.10.1-orig/ext/Errno/Errno_pm.PL 2009-06-27 18:09:45.000000000 +0200 ---- perl-5.10.1/ext/Errno/Errno_pm.PL 2010-01-26 18:08:09.552792021 +0100 -*************** -*** 144,154 **** - if ($dep =~ /(\S+errno\.h)/) { - $file{$1} = 1; - } -! } elsif ($^O eq 'linux' && -! $Config{gccversion} ne '' && -! $Config{gccversion} !~ /intel/i -! # might be using, say, Intel's icc -! ) { - # Some Linuxes have weird errno.hs which generate - # no #file or #line directives - my $linux_errno_h = -e '/usr/include/errno.h' ? ---- 144,150 ---- - if ($dep =~ /(\S+errno\.h)/) { - $file{$1} = 1; - } -! } elsif (0) { - # Some Linuxes have weird errno.hs which generate - # no #file or #line directives - my $linux_errno_h = -e '/usr/include/errno.h' ? -diff -rc -x '*~' perl-5.10.1-orig/hints/freebsd.sh perl-5.10.1/hints/freebsd.sh -*** perl-5.10.1-orig/hints/freebsd.sh 2009-02-12 23:58:12.000000000 +0100 ---- perl-5.10.1/hints/freebsd.sh 2010-01-26 18:30:01.181854620 +0100 -*************** -*** 118,130 **** - objformat=`/usr/bin/objformat` - if [ x$objformat = xaout ]; then - if [ -e /usr/lib/aout ]; then -! libpth="/usr/lib/aout /usr/local/lib /usr/lib" -! glibpth="/usr/lib/aout /usr/local/lib /usr/lib" - fi - lddlflags='-Bshareable' - else -! libpth="/usr/lib /usr/local/lib" -! glibpth="/usr/lib /usr/local/lib" - ldflags="-Wl,-E " - lddlflags="-shared " - fi ---- 118,130 ---- - objformat=`/usr/bin/objformat` - if [ x$objformat = xaout ]; then - if [ -e /usr/lib/aout ]; then -! libpth="" -! glibpth="" - fi - lddlflags='-Bshareable' - else -! libpth="" -! glibpth="" - ldflags="-Wl,-E " - lddlflags="-shared " - fi diff --git a/pkgs/development/interpreters/perl/5.10/setup-hook.sh b/pkgs/development/interpreters/perl/5.10/setup-hook.sh deleted file mode 100644 index 6a144a7f7804d6dcb92cd3ee3a83f87058f6d6ee..0000000000000000000000000000000000000000 --- a/pkgs/development/interpreters/perl/5.10/setup-hook.sh +++ /dev/null @@ -1,5 +0,0 @@ -addPerlLibPath () { - addToSearchPath PERL5LIB $1/lib/perl5/site_perl -} - -envHooks=(${envHooks[@]} addPerlLibPath) diff --git a/pkgs/development/interpreters/perl/5.8/default.nix b/pkgs/development/interpreters/perl/5.8/default.nix deleted file mode 100644 index b23b95f72b5a18db289e4abc8bd09192c1fc16ac..0000000000000000000000000000000000000000 --- a/pkgs/development/interpreters/perl/5.8/default.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ stdenv, fetchurl -, impureLibcPath ? null -}: - -stdenv.mkDerivation { - name = "perl-5.8.8"; - - phases = "phase"; - phase = - '' -source $stdenv/setup - -if test "$NIX_ENFORCE_PURITY" = "1"; then - GLIBC=${if impureLibcPath == null then "$(cat $NIX_GCC/nix-support/orig-libc)" else impureLibcPath} - extraflags="-Dlocincpth=$GLIBC/include -Dloclibpth=$GLIBC/lib" -fi - -configureScript=./Configure -configureFlags="-de -Dcc=gcc -Dprefix=$out -Uinstallusrbinperl $extraflags" -dontAddPrefix=1 - -preBuild() { - # Make Cwd work on NixOS (where we don't have a /bin/pwd). - substituteInPlace lib/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" -} - -postInstall() { - mkdir -p "$out/nix-support" - cp $setupHook $out/nix-support/setup-hook -} - -unset phases -genericBuild - - ''; - - src = fetchurl { - url = mirror://cpan/src/perl-5.8.8.tar.bz2; - sha256 = "1j8vzc6lva49mwdxkzhvm78dkxyprqs4n4057amqvsh4kh6i92l1"; - }; - - patches = [ - # This patch does the following: - # 1) Do use the PATH environment variable to find the `pwd' command. - # By default, Perl will only look for it in /lib and /usr/lib. - # !!! what are the security implications of this? - # 2) Force the use of , not /usr/include/errno.h, on Linux - # systems. (This actually appears to be due to a bug in Perl.) - ./no-sys-dirs.patch - - # Patch to make Perl 5.8.8 build with GCC 4.2. Taken from - # http://www.nntp.perl.org/group/perl.perl5.porters/2006/11/msg117738.html - ./gcc-4.2.patch - - # Fix for "SysV.xs:7:25: error: asm/page.h: No such file or - # directory" on recent kernel headers. From - # http://bugs.gentoo.org/show_bug.cgi?id=168312. - (fetchurl { - url = http://bugs.gentoo.org/attachment.cgi?id=111427; - sha256 = "017pj0nbqb7kwj3cs727c2l2d8c45l9cwxf71slgb807kn3ppgmn"; - }) - ]; - - setupHook = ./setup-hook.sh; - - passthru.libPrefix = "lib/perl5/site_perl"; -} diff --git a/pkgs/development/interpreters/perl/5.8/gcc-4.2.patch b/pkgs/development/interpreters/perl/5.8/gcc-4.2.patch deleted file mode 100644 index 679a7abde3b6245108a11bc9e16cec56093ad30e..0000000000000000000000000000000000000000 --- a/pkgs/development/interpreters/perl/5.8/gcc-4.2.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- perl-5.8.x/makedepend.SH 2006-06-13 15:31:22.000000000 -0400 -+++ perl-5.8.x-andy/makedepend.SH 2006-07-25 14:45:11.000000000 -0400 -@@ -167,6 +167,7 @@ - -e '/^#.*/d' \ - -e '/^#.*/d' \ - -e '/^#.*/d' \ -+ -e '/^#.*/d' \ - -e '/^#.*"-"/d' \ - -e '/: file path prefix .* never used$/d' \ - -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \ diff --git a/pkgs/development/interpreters/perl/5.8/no-sys-dirs.patch b/pkgs/development/interpreters/perl/5.8/no-sys-dirs.patch deleted file mode 100644 index 48588d5a4291d7812ff8918e727ddd214e3996c9..0000000000000000000000000000000000000000 --- a/pkgs/development/interpreters/perl/5.8/no-sys-dirs.patch +++ /dev/null @@ -1,164 +0,0 @@ -diff -rc perl-orig/Configure perl-5.8.6/Configure -*** perl-orig/Configure 2004-09-10 08:25:52.000000000 +0200 ---- perl-5.8.6/Configure 2005-03-10 12:53:28.000000000 +0100 -*************** -*** 86,100 **** - fi - - : Proper PATH setting -! paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' -! paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" -! paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" -! paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" -! paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" -! paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" -! paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" -! paths="$paths /sbin /usr/sbin /usr/libexec" -! paths="$paths /system/gnu_library/bin" - - for p in $paths - do ---- 86,92 ---- - fi - - : Proper PATH setting -! paths='' - - for p in $paths - do -*************** -*** 1221,1228 **** - archname='' - : Possible local include directories to search. - : Set locincpth to "" in a hint file to defeat local include searches. -! locincpth="/usr/local/include /opt/local/include /usr/gnu/include" -! locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include" - : - : no include file wanted by default - inclwanted='' ---- 1213,1219 ---- - archname='' - : Possible local include directories to search. - : Set locincpth to "" in a hint file to defeat local include searches. -! locincpth="" - : - : no include file wanted by default - inclwanted='' -*************** -*** 1230,1245 **** - groupstype='' - libnames='' - : change the next line if compiling for Xenix/286 on Xenix/386 -! xlibpth='/usr/lib/386 /lib/386' - : Possible local library directories to search. -! loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" -! loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" - - : general looking path for locating libraries -! glibpth="/lib /usr/lib $xlibpth" -! glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" -! test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" -! test -f /shlib/libc.so && glibpth="/shlib $glibpth" - - : Private path used by Configure to find libraries. Its value - : is prepended to libpth. This variable takes care of special ---- 1221,1232 ---- - groupstype='' - libnames='' - : change the next line if compiling for Xenix/286 on Xenix/386 -! xlibpth='' - : Possible local library directories to search. -! loclibpth="" - - : general looking path for locating libraries -! glibpth="$xlibpth" - - : Private path used by Configure to find libraries. Its value - : is prepended to libpth. This variable takes care of special -*************** -*** 1270,1277 **** - libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" - : We probably want to search /usr/shlib before most other libraries. - : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. -- glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` -- glibpth="/usr/shlib $glibpth" - : Do not use vfork unless overridden by a hint file. - usevfork=false - ---- 1257,1262 ---- -*************** -*** 2267,2273 **** - zip - " - pth=`echo $PATH | sed -e "s/$p_/ /g"` -- pth="$pth /lib /usr/lib" - for file in $loclist; do - eval xxx=\$$file - case "$xxx" in ---- 2252,2257 ---- -*************** -*** 7910,7922 **** - echo " " - case "$sysman" in - '') -! syspath='/usr/share/man/man1 /usr/man/man1' -! syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1" -! syspath="$syspath /usr/man/u_man/man1" -! syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" -! syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" -! syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1" -! sysman=`./loc . /usr/man/man1 $syspath` - ;; - esac - if $test -d "$sysman"; then ---- 7894,7901 ---- - echo " " - case "$sysman" in - '') -! syspath='' -! sysman='' - ;; - esac - if $test -d "$sysman"; then -*************** -*** 17949,17957 **** - case "$full_ar" in - '') full_ar=$ar ;; - esac - - : Store the full pathname to the sed program for use in the C program -! full_sed=$sed - - : see what type gids are declared as in the kernel - echo " " ---- 17928,17937 ---- - case "$full_ar" in - '') full_ar=$ar ;; - esac -+ full_ar=ar - - : Store the full pathname to the sed program for use in the C program -! full_sed=sed - - : see what type gids are declared as in the kernel - echo " " -diff -rc perl-orig/ext/Errno/Errno_pm.PL perl-5.8.6/ext/Errno/Errno_pm.PL -*** perl-orig/ext/Errno/Errno_pm.PL 2004-11-01 15:31:59.000000000 +0100 ---- perl-5.8.6/ext/Errno/Errno_pm.PL 2005-03-10 12:52:31.000000000 +0100 -*************** -*** 105,111 **** - # Watch out for cross compiling for EPOC (usually done on linux) - $file{'/usr/local/epocemx/epocsdk/include/libc/sys/errno.h'} = 1; - } elsif ($^O eq 'linux' && -! $Config{gccversion} ne '' # might be using, say, Intel's icc - ) { - # Some Linuxes have weird errno.hs which generate - # no #file or #line directives ---- 105,111 ---- - # Watch out for cross compiling for EPOC (usually done on linux) - $file{'/usr/local/epocemx/epocsdk/include/libc/sys/errno.h'} = 1; - } elsif ($^O eq 'linux' && -! $Config{gccversion} eq '' # might be using, say, Intel's icc - ) { - # Some Linuxes have weird errno.hs which generate - # no #file or #line directives diff --git a/pkgs/development/interpreters/perl/5.8/setup-hook.sh b/pkgs/development/interpreters/perl/5.8/setup-hook.sh deleted file mode 100644 index d61ec82f4f080df9ae46109a7bb15ca4d503fb33..0000000000000000000000000000000000000000 --- a/pkgs/development/interpreters/perl/5.8/setup-hook.sh +++ /dev/null @@ -1,5 +0,0 @@ -addPerlLibPath () { - addToSearchPath PERL5LIB $1/lib/site_perl -} - -envHooks=(${envHooks[@]} addPerlLibPath) diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix index ed5feeacf613bc8140049be01c68ebac095250fc..c1d02064fe1c0535f84c0b013247f47277fe28cf 100644 --- a/pkgs/development/interpreters/php/5.3.nix +++ b/pkgs/development/interpreters/php/5.3.nix @@ -233,7 +233,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) }; meta = { - description = "The PHP language runtime engine"; + description = "An HTML-embedded scripting language"; homepage = http://www.php.net/; license = "PHP-3"; maintainers = with stdenv.lib.maintainers; [ lovek323 ]; diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix index bc5320ff77c0c3363d04350d05356d327243b23d..e39661b224ad9b6d81f6deb8022227a6410f1bd1 100644 --- a/pkgs/development/interpreters/php/5.4.nix +++ b/pkgs/development/interpreters/php/5.4.nix @@ -77,6 +77,11 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) buildInputs = [ postgresql ]; }; + pdo_pgsql = { + configureFlags = ["--with-pdo-pgsql=${postgresql}"]; + buildInputs = [ postgresql ]; + }; + mysql = { configureFlags = ["--with-mysql=${mysql}"]; buildInputs = [ mysql ]; @@ -203,6 +208,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) gettextSupport = config.php.gettext or true; pcntlSupport = config.php.pcntl or true; postgresqlSupport = config.php.postgresql or true; + pdo_pgsqlSupport = config.php.pdo_pgsql or true; readlineSupport = config.php.readline or true; sqliteSupport = config.php.sqlite or true; soapSupport = config.php.soap or true; @@ -247,7 +253,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) }; meta = { - description = "The PHP language runtime engine"; + description = "An HTML-embedded scripting language"; homepage = http://www.php.net/; license = "PHP-3"; }; diff --git a/pkgs/development/interpreters/pypy/2.3/default.nix b/pkgs/development/interpreters/pypy/2.3/default.nix index d67f1c2a8215a93b5d2b2aa783df29ebfc00ed00..0b3ca7390920079f80629f034fd8742410942e41 100644 --- a/pkgs/development/interpreters/pypy/2.3/default.nix +++ b/pkgs/development/interpreters/pypy/2.3/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi -, sqlite, openssl, ncurses, pythonFull, expat }: +, sqlite, openssl, ncurses, pythonFull, expat, tcl, tk, x11, libX11 +, makeWrapper }: assert zlibSupport -> zlib != null; @@ -20,7 +21,7 @@ let sha256 = "0fg4l48c7n59n5j3b1dgcsr927xzylkfny4a6pnk6z0pq2bhvl9z"; }; - buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite ] + buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl x11 libX11 makeWrapper ] ++ stdenv.lib.optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++ stdenv.lib.optional zlibSupport zlib; @@ -40,12 +41,20 @@ let substituteInPlace pypy/goal/targetpypystandalone.py \ --replace "/usr/bin/env pypy" "${pythonFull}/bin/python" - # convince pypy to find nix ncurses + # hint pypy to find nix ncurses substituteInPlace pypy/module/_minimal_curses/fficurses.py \ --replace "/usr/include/ncurses/curses.h" "${ncurses}/include/curses.h" \ --replace "ncurses/curses.h" "${ncurses}/include/curses.h" \ --replace "ncurses/term.h" "${ncurses}/include/term.h" \ --replace "libraries=['curses']" "libraries=['ncurses']" + + # tkinter hints + substituteInPlace lib_pypy/_tkinter/tklib.py \ + --replace "'/usr/include/tcl'" "'${tk}/include', '${tcl}/include'" \ + --replace "linklibs=['tcl', 'tk']" "linklibs=['tcl8.5', 'tk8.5']" \ + --replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']" + + sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']@" lib_pypy/_sqlite3.py ''; setupHook = ./setup-hook.sh; @@ -58,8 +67,8 @@ let # disable shutils because it assumes gid 0 exists # disable socket because it has two actual network tests that fail # disable test_mhlib because it fails for unknown reason - # disable test_multiprocessing due to transient errors # disable sqlite3 due to https://bugs.pypy.org/issue1740 + # disable test_multiprocessing due to transient errors # disable test_os because test_urandom_failure fails ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_sqlite -test_socket -test_os -test_shutil -test_mhlib -test_multiprocessing' lib-python ''; @@ -75,19 +84,26 @@ let ln -s $out/pypy-c/include $out/include/${libPrefix} ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix} - # TODO: compile python files? + # verify cffi modules + $out/bin/pypy -c "import Tkinter;import sqlite3;import curses" + + # make sure pypy finds sqlite3 library + wrapProgram "$out/bin/pypy" \ + --set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}" \ + --set LIBRARY_PATH "${LIBRARY_PATH}" ''; passthru = { inherit zlibSupport libPrefix; executable = "pypy"; + isPypy = true; }; enableParallelBuilding = true; meta = with stdenv.lib; { - homepage = "http://pypy.org/"; - description = "PyPy is a fast, compliant alternative implementation of the Python language (2.7.3)"; + homepage = http://pypy.org/; + description = "Fast, compliant alternative implementation of the Python language (2.7.3)"; license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ iElectric ]; diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix index 3477cedf4b74716138dbc7504a2658bf5fe22d9d..312bf247de7caea9937fae6747b349a45cb911ed 100644 --- a/pkgs/development/interpreters/python/3.4/default.nix +++ b/pkgs/development/interpreters/python/3.4/default.nix @@ -36,6 +36,8 @@ stdenv.mkDerivation { NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + patches = [ ./issue21121-3.patch ]; + preConfigure = '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path diff --git a/pkgs/development/interpreters/python/3.4/issue21121-3.patch b/pkgs/development/interpreters/python/3.4/issue21121-3.patch new file mode 100644 index 0000000000000000000000000000000000000000..506d9ea9b3d9e9a2254b123a627851139150e214 --- /dev/null +++ b/pkgs/development/interpreters/python/3.4/issue21121-3.patch @@ -0,0 +1,86 @@ +diff --git a/Makefile.pre.in b/Makefile.pre.in +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -71,12 +71,17 @@ + BASECFLAGS= @BASECFLAGS@ + BASECPPFLAGS= @BASECPPFLAGS@ + CONFIGURE_CFLAGS= @CFLAGS@ ++# CFLAGS_NODIST is used for building the interpreter and stdlib C extensions. ++# Use it when a compiler flag should _not_ be part of the distutils CFLAGS ++# once Python is installed (Issue #21121). ++CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@ + CONFIGURE_CPPFLAGS= @CPPFLAGS@ + CONFIGURE_LDFLAGS= @LDFLAGS@ + # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the + # command line to append to these values without stomping the pre-set + # values. + PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) ++PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) + # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to + # be able to build extension modules using the directories specified in the + # environment variables +@@ -91,7 +96,7 @@ + # Extra C flags added for building the interpreter object files. + CFLAGSFORSHARED=@CFLAGSFORSHARED@ + # C flags used for building the interpreter object files +-PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE ++PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE + + + # Machine-dependent subdirectories +diff --git a/configure b/configure +--- a/configure ++++ b/configure +@@ -662,6 +662,7 @@ + LIBTOOL_CRUFT + OTHER_LIBTOOL_OPT + UNIVERSAL_ARCH_FLAGS ++CFLAGS_NODIST + BASECFLAGS + OPT + ABIFLAGS +@@ -6504,7 +6505,7 @@ + + if test $ac_cv_declaration_after_statement_warning = yes + then +- BASECFLAGS="$BASECFLAGS -Werror=declaration-after-statement" ++ CFLAGS_NODIST="$CFLAGS_NODIST -Werror=declaration-after-statement" + fi + + # if using gcc on alpha, use -mieee to get (near) full IEEE 754 +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -1147,6 +1147,7 @@ + fi + + AC_SUBST(BASECFLAGS) ++AC_SUBST(CFLAGS_NODIST) + + # The -arch flags for universal builds on OSX + UNIVERSAL_ARCH_FLAGS= +@@ -1231,7 +1232,7 @@ + + if test $ac_cv_declaration_after_statement_warning = yes + then +- BASECFLAGS="$BASECFLAGS -Werror=declaration-after-statement" ++ CFLAGS_NODIST="$CFLAGS_NODIST -Werror=declaration-after-statement" + fi + + # if using gcc on alpha, use -mieee to get (near) full IEEE 754 +diff --git a/setup.py b/setup.py +--- a/setup.py ++++ b/setup.py +@@ -19,6 +19,12 @@ + + cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ + ++# Add special CFLAGS reserved for building the interpreter and the stdlib ++# modules (Issue #21121). ++cflags = sysconfig.get_config_var('CFLAGS') ++py_cflags_nodist = sysconfig.get_config_var('PY_CFLAGS_NODIST') ++sysconfig.get_config_vars()['CFLAGS'] = cflags + ' ' + py_cflags_nodist ++ + def get_platform(): + # cross build + if "_PYTHON_HOST_PLATFORM" in os.environ: diff --git a/pkgs/development/interpreters/regina/default.nix b/pkgs/development/interpreters/regina/default.nix index d8b3558be4f59ce5728cd9525197bd907564c6e5..992f7281554cd767d3fc3e48081337fb1369b44e 100644 --- a/pkgs/development/interpreters/regina/default.nix +++ b/pkgs/development/interpreters/regina/default.nix @@ -12,16 +12,15 @@ let sourceInfo = rec { baseName="Regina-REXX"; pname="regina-rexx"; - version="3.5"; + version = "3.8.2"; name="${baseName}-${version}"; url="mirror://sourceforge/${pname}/${pname}/${version}/${name}.tar.gz"; - hash="0gh0k6lbhfixs44adha7lxirl3a08jabdylzr6m7mh5q5fhzv5f8"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "06vr6p9pqr5zzsxm1l9iwb2w9z8qkm971c2knh0vf5bbm6znjz35"; }; inherit (sourceInfo) name version; @@ -43,11 +42,8 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.lgpl2; - }; - passthru = { - updateInfo = { - downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/"; - }; + downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/"; + inherit version; }; }) x diff --git a/pkgs/development/interpreters/regina/default.upstream b/pkgs/development/interpreters/regina/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..7b3c6905a1caa333ce5de3265110fc4d1c2f9a22 --- /dev/null +++ b/pkgs/development/interpreters/regina/default.upstream @@ -0,0 +1,5 @@ +url http://sourceforge.net/projects/regina-rexx/files/regina-rexx/ +SF_version_dir +SF_version_tarball +SF_redirect +minimize_overwrite diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix index 84492e093861247c10fb39320607a7f46aa833f5..6ec0f4f73e5d186261c9e10128aba65f6839fd5f 100644 --- a/pkgs/development/interpreters/ruby/generated.nix +++ b/pkgs/development/interpreters/ruby/generated.nix @@ -3,180 +3,141 @@ g: # Get dependencies from patched gems { aliases = { - ZenTest = g.ZenTest_4_9_3; - actionmailer = g.actionmailer_4_0_0; - actionpack = g.actionpack_4_0_0; - activemodel = g.activemodel_4_0_0; - activerecord = g.activerecord_4_0_0; - activerecord_deprecated_finders = g.activerecord_deprecated_finders_1_0_3; - activesupport = g.activesupport_4_0_0; - addressable = g.addressable_2_3_5; - arel = g.arel_4_0_0; - atomic = g.atomic_1_1_14; + ZenTest = g.ZenTest_4_10_1; + actionmailer = g.actionmailer_4_1_5; + actionpack = g.actionpack_4_1_5; + actionview = g.actionview_4_1_5; + activemodel = g.activemodel_4_1_5; + activerecord = g.activerecord_4_1_5; + activesupport = g.activesupport_4_1_5; + addressable = g.addressable_2_3_6; + arel = g.arel_5_0_1_20140414130214; atoulme_Antwrap = g.atoulme_Antwrap_0_7_4; - autotest_rails = g.autotest_rails_4_1_2; - aws_sdk = g.aws_sdk_1_16_1; - backports = g.backports_3_3_3; - bitbucket_backup = g.bitbucket_backup_0_3_0; + autotest_rails = g.autotest_rails_4_2_1; + aws_sdk = g.aws_sdk_1_51_0; + backports = g.backports_3_6_0; + bitbucket_backup = g.bitbucket_backup_0_3_1; builder = g.builder_3_2_2; - buildr = g.buildr_1_4_12; - bundler = g.bundler_1_3_5; - celluloid = g.celluloid_0_15_2; - childprocess = g.childprocess_0_3_9; - chronic = g.chronic_0_10_1; - classifier = g.classifier_1_3_3; - coderay = g.coderay_1_0_9; - coffee_rails = g.coffee_rails_4_0_1; - coffee_script = g.coffee_script_2_2_0; - coffee_script_source = g.coffee_script_source_1_6_3; - colorator = g.colorator_0_1; - commander = g.commander_4_1_5; - cucumber = g.cucumber_1_3_8; + buildr = g.buildr_1_4_19; + bundler = g.bundler_1_7_1; + childprocess = g.childprocess_0_5_3; + chronic = g.chronic_0_10_2; + coderay = g.coderay_1_1_0; + cucumber = g.cucumber_1_3_16; daemons = g.daemons_1_1_9; - diff_lcs = g.diff_lcs_1_1_3; + diff_lcs = g.diff_lcs_1_2_5; dimensions = g.dimensions_1_2_0; - domain_name = g.domain_name_0_5_13; - dotenv = g.dotenv_0_9_0; + domain_name = g.domain_name_0_5_20; + dotenv = g.dotenv_0_11_1; + dotenv_deployment = g.dotenv_deployment_0_0_2; em_resolv_replace = g.em_resolv_replace_1_1_3; erubis = g.erubis_2_7_0; - ethon = g.ethon_0_6_1; + ethon = g.ethon_0_7_1; eventmachine = g.eventmachine_1_0_3; eventmachine_tail = g.eventmachine_tail_0_6_4; - excon = g.excon_0_25_3; - execjs = g.execjs_2_0_2; - fakes3 = g.fakes3_0_1_5; - faraday = g.faraday_0_8_8; - faraday_middleware = g.faraday_middleware_0_9_0; - fast_stemmer = g.fast_stemmer_1_0_2; - ffi = g.ffi_1_9_0; + fakes3 = g.fakes3_0_1_5_2; + faraday = g.faraday_0_9_0; + faraday_middleware = g.faraday_middleware_0_9_1; + ffi = g.ffi_1_9_3; file_tail = g.file_tail_1_0_12; - foreman = g.foreman_0_63_0; - formatador = g.formatador_0_2_4; - gettext = g.gettext_3_0_0; - gh = g.gh_0_12_0; - gherkin = g.gherkin_2_12_1; - guard = g.guard_2_2_4; - highline = g.highline_1_6_19; + foreman = g.foreman_0_74_0; + gettext = g.gettext_3_1_3; + gh = g.gh_0_13_2; + gherkin = g.gherkin_2_12_2; + highline = g.highline_1_6_21; hike = g.hike_1_2_3; - hoe = g.hoe_3_1_0; - http_cookie = g.http_cookie_1_0_1; - i18n = g.i18n_0_6_5; - iconv = g.iconv_1_0_3; - jekyll = g.jekyll_1_3_0; - jquery_rails = g.jquery_rails_3_0_4; - jruby_pageant = g.jruby_pageant_1_1_1; - jsduck = g.jsduck_5_1_0; - json = g.json_1_8_0; + hoe = g.hoe_3_7_1; + http_cookie = g.http_cookie_1_0_2; + i18n = g.i18n_0_6_11; + iconv = g.iconv_1_0_4; + jsduck = g.jsduck_5_3_4; + json = g.json_1_8_1; json_pure = g.json_pure_1_8_0; - launchy = g.launchy_2_3_0; - liquid = g.liquid_2_5_4; - listen = g.listen_2_2_0; - locale = g.locale_2_0_8; - lockfile = g.lockfile_2_1_0; - lumberjack = g.lumberjack_1_0_4; - macaddr = g.macaddr_1_6_1; - maruku = g.maruku_0_6_1; - mail = g.mail_2_5_4; - mechanize = g.mechanize_2_7_2; + launchy = g.launchy_2_4_2; + locale = g.locale_2_1_0; + lockfile = g.lockfile_2_1_3; + macaddr = g.macaddr_1_7_1; + mail = g.mail_2_6_1; + mechanize = g.mechanize_2_7_3; method_source = g.method_source_0_8_2; - mime_types = g.mime_types_1_25; - mini_portile = g.mini_portile_0_5_1; - minitar = g.minitar_0_5_3; - minitest = g.minitest_4_7_5; - mono_logger = g.mono_logger_1_1_0; - multi_json = g.multi_json_1_8_2; - multi_test = g.multi_test_0_0_2; - multipart_post = g.multipart_post_1_2_0; + mime_types = g.mime_types_2_3; + mini_portile = g.mini_portile_0_6_0; + minitar = g.minitar_0_5_4; + minitest = g.minitest_5_4_0; + multi_json = g.multi_json_1_10_1; + multi_test = g.multi_test_0_1_1; + multipart_post = g.multipart_post_2_0_0; net_http_digest_auth = g.net_http_digest_auth_1_4; - net_http_persistent = g.net_http_persistent_2_9; + net_http_persistent = g.net_http_persistent_2_9_4; net_http_pipeline = g.net_http_pipeline_1_0_1; - net_sftp = g.net_sftp_2_0_5; - net_ssh = g.net_ssh_2_6_8; - netrc = g.netrc_0_7_7; + net_sftp = g.net_sftp_2_1_2; + net_ssh = g.net_ssh_2_9_1; nix = g.nix_0_1_1; - nokogiri = g.nokogiri_1_6_0; + nokogiri = g.nokogiri_1_6_3_1; ntlm_http = g.ntlm_http_0_1_1; - papertrail = g.papertrail_0_9_7; + orderedhash = g.orderedhash_0_0_6; + papertrail = g.papertrail_0_9_10; papertrail_cli = g.papertrail_cli_0_9_3; parallel = g.parallel_0_7_1; - polyglot = g.polyglot_0_3_3; - posix_spawn = g.posix_spawn_0_3_6; - pry = g.pry_0_9_12_2; - pusher_client = g.pusher_client_0_3_1; + polyglot = g.polyglot_0_3_5; + pry = g.pry_0_9_12_6; + pusher_client = g.pusher_client_0_6_0; rack = g.rack_1_5_2; - rack_protection = g.rack_protection_1_5_1; - rails = g.rails_4_0_0; - railties = g.railties_4_0_0; - rake = g.rake_10_1_0; - rb_fsevent = g.rb_fsevent_0_9_3; - rb_inotify = g.rb_inotify_0_9_2; - rb_kqueue = g.rb_kqueue_0_2_0; - rdiscount = g.rdiscount_2_1_6; - redcarpet = g.redcarpet_2_3_0; - redis = g.redis_3_0_5; - redis_namespace = g.redis_namespace_1_3_1; + rack_protection = g.rack_protection_1_5_3; + rack_test = g.rack_test_0_6_2; + rails = g.rails_4_1_5; + railties = g.railties_4_1_5; + rake = g.rake_10_3_2; + rb_fsevent = g.rb_fsevent_0_9_4; + rdiscount = g.rdiscount_2_1_7_1; remote_syslog = g.remote_syslog_1_6_14; - resque = g.resque_1_25_1; - resque_web = g.resque_web_0_0_3; - rest_client = g.rest_client_1_6_7; + riemann_dash = g.riemann_dash_0_2_9; right_aws = g.right_aws_3_1_0; - right_http_connection = g.right_http_connection_1_4_0; - rjb = g.rjb_1_4_8; - rkelly_remix = g.rkelly_remix_0_0_4; - rmagick = g.rmagick_2_13_2; + right_http_connection = g.right_http_connection_1_5_0; + rjb = g.rjb_1_4_9; + rkelly_remix = g.rkelly_remix_0_0_6; rmail = g.rmail_1_0_0; - rmail_sup = g.rmail_sup_1_0_1; - rspec = g.rspec_2_11_0; - rspec_core = g.rspec_core_2_11_1; - rspec_expectations = g.rspec_expectations_2_11_3; - rspec_mocks = g.rspec_mocks_2_11_3; - ruby_hmac = g.ruby_hmac_0_4_0; - rubyforge = g.rubyforge_2_0_4; - rubyzip = g.rubyzip_0_9_9; - safe_yaml = g.safe_yaml_0_9_7; - sass = g.sass_3_2_12; - sass_rails = g.sass_rails_4_0_1; - selenium_webdriver = g.selenium_webdriver_2_35_1; + rspec = g.rspec_2_14_1; + rspec_core = g.rspec_core_2_14_8; + rspec_expectations = g.rspec_expectations_2_14_5; + rspec_mocks = g.rspec_mocks_2_14_6; + rubyzip = g.rubyzip_1_1_6; + sass = g.sass_3_4_1; + selenium_webdriver = g.selenium_webdriver_2_42_0; servolux = g.servolux_0_10_0; - sinatra = g.sinatra_1_4_4; - slop = g.slop_3_4_6; - sprockets = g.sprockets_2_10_0; - sprockets_rails = g.sprockets_rails_2_0_1; - syntax = g.syntax_1_0_0; + sinatra = g.sinatra_1_4_5; + slop = g.slop_3_6_0; + sprockets = g.sprockets_2_12_1; + sprockets_rails = g.sprockets_rails_2_1_3; syslog_protocol = g.syslog_protocol_0_9_2; - systemu = g.systemu_2_5_2; + systemu = g.systemu_2_6_4; taskjuggler = g.taskjuggler_3_5_0; - term_ansicolor = g.term_ansicolor_1_2_2; - terminal_notifier = g.terminal_notifier_1_5_1; - text = g.text_1_2_3; - thin = g.thin_1_5_1; - thor = g.thor_0_18_1; - thread_safe = g.thread_safe_0_1_3; + term_ansicolor = g.term_ansicolor_1_3_0; + terminal_notifier = g.terminal_notifier_1_6_1; + text = g.text_1_3_0; + thin = g.thin_1_6_2; + thor = g.thor_0_19_1; + thread_safe = g.thread_safe_0_3_4; tilt = g.tilt_1_4_1; - timers = g.timers_1_1_0; - tins = g.tins_0_9_0; - travis = g.travis_1_5_3; + tins = g.tins_1_3_2; + travis = g.travis_1_7_1; treetop = g.treetop_1_4_15; trollop = g.trollop_2_0; - twitter_bootstrap_rails = g.twitter_bootstrap_rails_2_2_8; - typhoeus = g.typhoeus_0_6_5; - tzinfo = g.tzinfo_0_3_38; - unf = g.unf_0_1_2; + typhoeus = g.typhoeus_0_6_9; + tzinfo = g.tzinfo_1_2_2; + unf = g.unf_0_1_4; unf_ext = g.unf_ext_0_0_6; - unicode = g.unicode_0_4_4; uuid = g.uuid_2_3_7; - uuidtools = g.uuidtools_2_1_4; - vegas = g.vegas_0_1_11; + webrick = g.webrick_1_3_1; webrobots = g.webrobots_0_1_1; - websocket = g.websocket_1_0_7; + websocket = g.websocket_1_2_0; xapian_full = g.xapian_full_1_2_3; - xapian_ruby = g.xapian_ruby_1_2_15_1; - xml_simple = g.xml_simple_1_1_1; - yajl_ruby = g.yajl_ruby_1_1_0; + xapian_ruby = g.xapian_ruby_1_2_17; + xml_simple = g.xml_simple_1_1_2; }; - gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''cucumber'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''thin'' ''travis'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ]; + gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''cucumber'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''travis'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ]; gems = { - ZenTest_4_9_3 = { + ZenTest_4_10_1 = { basename = ''ZenTest''; meta = { description = ''ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby''; @@ -203,77 +164,77 @@ multiruby runs anything you want on multiple versions of ruby. Great for compatibility checking! Use multiruby_setup to manage your installed versions.''; }; - name = ''ZenTest-4.9.3''; + name = ''ZenTest-4.10.1''; requiredGems = [ ]; - sha256 = ''0rd07scqhdy9sfygbgbdick895pk4pbamcl70hr78cylhqpk6m38''; + sha256 = ''1jyk0lag27s71idna2h72ljskimj0snsiw7diyjx5rqxnz6fj7z1''; }; - actionmailer_4_0_0 = { + actionmailer_4_1_5 = { basename = ''actionmailer''; meta = { description = ''Email composition, delivery, and receiving framework (part of Rails).''; homepage = ''http://www.rubyonrails.org''; longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.''; }; - name = ''actionmailer-4.0.0''; - requiredGems = [ g.actionpack_4_0_0 g.mail_2_5_4 ]; - sha256 = ''0d63hmddll0vdbzzxj4zl6njv1pm7j2njvqfccvvyypwsynfjkgk''; + name = ''actionmailer-4.1.5''; + requiredGems = [ g.actionpack_4_1_5 g.actionview_4_1_5 g.mail_2_5_4 ]; + sha256 = ''19frz9njy6jbxh7yasx62l4ifns3dxfkfqvnxlqb4pwsz7lqcp9c''; }; - actionpack_4_0_0 = { + actionpack_4_1_5 = { basename = ''actionpack''; meta = { description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).''; homepage = ''http://www.rubyonrails.org''; longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.''; }; - name = ''actionpack-4.0.0''; - requiredGems = [ g.activesupport_4_0_0 g.builder_3_1_4 g.rack_1_5_2 g.rack_test_0_6_2 g.erubis_2_7_0 ]; - sha256 = ''0hx9hdbqqm73l81p5r520zdk218739414yhw9yrys905ks2f5j4d''; + name = ''actionpack-4.1.5''; + requiredGems = [ g.activesupport_4_1_5 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_5 ]; + sha256 = ''05wh3c5rw3c0rsza3bnpmr6s63n481d4gkbhsp3ngwn9lpp3jdb6''; }; - activemodel_4_0_0 = { + actionview_4_1_5 = { + basename = ''actionview''; + meta = { + description = ''Rendering framework putting the V in MVC (part of Rails).''; + homepage = ''http://www.rubyonrails.org''; + longDescription = ''Simple, battle-tested conventions and helpers for building web pages.''; + }; + name = ''actionview-4.1.5''; + requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 g.erubis_2_7_0 ]; + sha256 = ''02zb4xi2farzh892j9awxshyly7ijlvbj39g6cwq5mhs5cx59qk8''; + }; + activemodel_4_1_5 = { basename = ''activemodel''; meta = { description = ''A toolkit for building modeling frameworks (part of Rails).''; homepage = ''http://www.rubyonrails.org''; - longDescription = ''A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, observers, serialization, internationalization, and testing.''; + longDescription = ''A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.''; }; - name = ''activemodel-4.0.0''; - requiredGems = [ g.activesupport_4_0_0 g.builder_3_1_4 ]; - sha256 = ''0vsq5bzsyfrzgnhizlipivmh7m9p0ky29avx47wnaqwjlpkir5m2''; + name = ''activemodel-4.1.5''; + requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 ]; + sha256 = ''1anbjwdfgdjfxiv5vzysrdd98mapvd2h8xjkayq3vq54n13ymjvl''; }; - activerecord_4_0_0 = { + activerecord_4_1_5 = { basename = ''activerecord''; meta = { description = ''Object-relational mapper framework (part of Rails).''; homepage = ''http://www.rubyonrails.org''; longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.''; }; - name = ''activerecord-4.0.0''; - requiredGems = [ g.activesupport_4_0_0 g.activemodel_4_0_0 g.arel_4_0_0 g.activerecord_deprecated_finders_1_0_3 ]; - sha256 = ''0lhksb0172kz23yhibr1rxihyp01h2ajqxd0l4nahs2qc9jlr722''; - }; - activerecord_deprecated_finders_1_0_3 = { - basename = ''activerecord_deprecated_finders''; - meta = { - description = ''This gem contains deprecated finder APIs extracted from Active Record.''; - homepage = ''https://github.com/rails/activerecord-deprecated_finders''; - longDescription = ''Deprecated finder APIs extracted from Active Record.''; - }; - name = ''activerecord-deprecated_finders-1.0.3''; - requiredGems = [ ]; - sha256 = ''1z2g7h2ywhplrsjrsh8961agf17s9rj8ypdwjj482mw86if3dslp''; + name = ''activerecord-4.1.5''; + requiredGems = [ g.activesupport_4_1_5 g.activemodel_4_1_5 g.arel_5_0_1_20140414130214 ]; + sha256 = ''1z8awkkl4bn4ghdp432n2qpagbb8569ffq63kmgkbwf8127kmzrc''; }; - activesupport_4_0_0 = { + activesupport_4_1_5 = { basename = ''activesupport''; meta = { description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.''; homepage = ''http://www.rubyonrails.org''; longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.''; }; - name = ''activesupport-4.0.0''; - requiredGems = [ g.i18n_0_6_5 g.multi_json_1_7_9 g.tzinfo_0_3_37 g.minitest_4_7_5 g.thread_safe_0_1_2 ]; - sha256 = ''0agxkvjhhv6r9rpm0lcgjny4sn1ihhvhlgs46rgi3fz0y1d93ids''; + name = ''activesupport-4.1.5''; + requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_0 g.thread_safe_0_3_4 ]; + sha256 = ''0vmf58q96469dci509hhbqxwr7gaxq4yjsb37xd56ggpqn3qm30k''; }; - addressable_2_3_5 = { + addressable_2_3_6 = { basename = ''addressable''; meta = { description = ''URI Implementation''; @@ -283,11 +244,11 @@ Ruby's standard library. It more closely conforms to the relevant RFCs and adds support for IRIs and URI templates. ''; }; - name = ''addressable-2.3.5''; + name = ''addressable-2.3.6''; requiredGems = [ ]; - sha256 = ''11hv69v6h39j7m4v51a4p7my7xwjbhxbsg3y7ja156z7by10wkg7''; + sha256 = ''137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8''; }; - arel_4_0_0 = { + arel_5_0_1_20140414130214 = { basename = ''arel''; meta = { description = ''Arel is a SQL AST manager for Ruby''; @@ -295,37 +256,15 @@ adds support for IRIs and URI templates. longDescription = ''Arel is a SQL AST manager for Ruby. It 1. Simplifies the generation of complex SQL queries -2. Adapts to various RDBMS systems +2. Adapts to various RDBMSes It is intended to be a framework framework; that is, you can build your own ORM with it, focusing on innovative object and collection modeling as opposed to database compatibility and query generation.''; }; - name = ''arel-4.0.0''; + name = ''arel-5.0.1.20140414130214''; requiredGems = [ ]; - sha256 = ''19xzg8jhp4p18xlf6sp4yhf6vdpc3hl8lm23n6glikclm7rvgick''; - }; - atomic_1_1_13 = { - basename = ''atomic''; - meta = { - description = ''An atomic reference implementation for JRuby, Rubinius, and MRI''; - homepage = ''http://github.com/headius/ruby-atomic''; - longDescription = ''An atomic reference implementation for JRuby, Rubinius, and MRI''; - }; - name = ''atomic-1.1.13''; - requiredGems = [ ]; - sha256 = ''0sdy8fcncm6p2cba3p8v7dnbsa4z41f4cs1dd0myf4fq7axrrh0s''; - }; - atomic_1_1_14 = { - basename = ''atomic''; - meta = { - description = ''An atomic reference implementation for JRuby, Rubinius, and MRI''; - homepage = ''http://github.com/headius/ruby-atomic''; - longDescription = ''An atomic reference implementation for JRuby, Rubinius, and MRI''; - }; - name = ''atomic-1.1.14''; - requiredGems = [ ]; - sha256 = ''09dzi1gxr5yj273s6s6ss7l2sq4ayavpg95561kib3n4kzvxrhk4''; + sha256 = ''0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9''; }; atoulme_Antwrap_0_7_4 = { basename = ''atoulme_Antwrap''; @@ -346,10 +285,10 @@ database compatibility and query generation.''; check out Buildr!''; }; name = ''atoulme-Antwrap-0.7.4''; - requiredGems = [ g.rjb_1_4_8 ]; + requiredGems = [ g.rjb_1_4_9 ]; sha256 = ''0sh9capkya88qm9mvixwly32fwb2c4nzif9j9vv0f73rqw8kz4j4''; }; - autotest_rails_4_1_2 = { + autotest_rails_4_2_1 = { basename = ''autotest_rails''; meta = { description = ''This is an autotest plugin to provide rails support''; @@ -357,74 +296,42 @@ database compatibility and query generation.''; longDescription = ''This is an autotest plugin to provide rails support. It provides basic rails support and extra plugins for migrations and fixtures.''; }; - name = ''autotest-rails-4.1.2''; - requiredGems = [ g.ZenTest_4_9_3 ]; - sha256 = ''1wkb5jayb39yx0i8ly7sibygf9f9c3w24jg2z1qgm135zlb070v4''; + name = ''autotest-rails-4.2.1''; + requiredGems = [ g.ZenTest_4_10_1 ]; + sha256 = ''1v1dm9zlhdlrxvk90zs8d439ldar674ix41s7pncddgyswcfgg5l''; }; - aws_sdk_1_16_1 = { + aws_sdk_1_51_0 = { basename = ''aws_sdk''; meta = { description = ''AWS SDK for Ruby''; homepage = ''http://aws.amazon.com/sdkforruby''; longDescription = ''AWS SDK for Ruby''; }; - name = ''aws-sdk-1.16.1''; - requiredGems = [ g.uuidtools_2_1_4 g.nokogiri_1_5_10 g.json_1_8_0 ]; - sha256 = ''1i6njmzfcmjb9xdaqw727pdqr17w3gad1nl5zln4mv6i4x0nbc3n''; + name = ''aws-sdk-1.51.0''; + requiredGems = [ g.nokogiri_1_6_3_1 g.json_1_8_1 ]; + sha256 = ''092a7km6ar7zvyyzgiqsb0dm354sqa6mzx7sa0c8ndwm918lbqai''; }; - backports_3_3_3 = { + backports_3_6_0 = { basename = ''backports''; meta = { description = ''Backports of Ruby features for older Ruby.''; homepage = ''http://github.com/marcandre/backports''; longDescription = ''Essential backports that enable many of the nice features of Ruby 1.8.7 up to 2.0.0 for earlier versions.''; }; - name = ''backports-3.3.3''; + name = ''backports-3.6.0''; requiredGems = [ ]; - sha256 = ''0y1la483wlv7gam1470shskc0bjsif9hld6qikx165yw9gmbgxsy''; + sha256 = ''1pinn0m4fmq124adc6xjl2hk9799xq5jw4bva82cdzd4h2hwrgq5''; }; - bitbucket_backup_0_3_0 = { + bitbucket_backup_0_3_1 = { basename = ''bitbucket_backup''; meta = { description = ''A tool to backup Bitbucket repos.''; homepage = ''https://bitbucket.org/seth/bitbucket-backup''; longDescription = ''A tool to backup Bitbucket repos.''; }; - name = ''bitbucket-backup-0.3.0''; - requiredGems = [ g.highline_1_6_19 g.json_1_8_0 ]; - sha256 = ''075bz4bhxim2kh5191qc9kpq7z81aa2smgqq5bfldjqvk70hr87y''; - }; - builder_3_1_3 = { - basename = ''builder''; - meta = { - description = ''Builders for MarkUp.''; - homepage = ''http://onestepback.org''; - longDescription = ''Builder provides a number of builder objects that make creating structured data -simple to do. Currently the following builder objects are supported: - -* XML Markup -* XML Events -''; - }; - name = ''builder-3.1.3''; - requiredGems = [ ]; - sha256 = ''0w6xsq9vyvzdy0xb52sajgipr9ml2bbpivk6dxm69c6987dk7him''; - }; - builder_3_1_4 = { - basename = ''builder''; - meta = { - description = ''Builders for MarkUp.''; - homepage = ''http://onestepback.org''; - longDescription = ''Builder provides a number of builder objects that make creating structured data -simple to do. Currently the following builder objects are supported: - -* XML Markup -* XML Events -''; - }; - name = ''builder-3.1.4''; - requiredGems = [ ]; - sha256 = ''1p0bjy1vb0zbswd6bsh5qda0f0br53p8vak8cm7hls62094r405p''; + name = ''bitbucket-backup-0.3.1''; + requiredGems = [ g.highline_1_6_21 g.json_1_8_1 ]; + sha256 = ''17d2pfk0z3cxcx9m90avcp5wxhdbrq23zd665263m3hh9b5qi0fj''; }; builder_3_2_2 = { basename = ''builder''; @@ -442,7 +349,7 @@ simple to do. Currently the following builder objects are supported: requiredGems = [ ]; sha256 = ''14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2''; }; - buildr_1_4_12 = { + buildr_1_4_19 = { basename = ''buildr''; meta = { description = ''Build like you code''; @@ -454,87 +361,42 @@ to do, and it takes care of the rest. But also something we can easily extend for those one-off tasks, with a language that's a joy to use. ''; }; - name = ''buildr-1.4.12''; - requiredGems = [ g.rake_0_9_2_2 g.builder_3_1_3 g.net_ssh_2_6_0 g.net_sftp_2_0_5 g.rubyzip_0_9_9 g.highline_1_6_2 g.json_pure_1_7_5 g.rubyforge_2_0_4 g.hoe_3_1_0 g.rjb_1_4_2 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_1_3 g.rspec_expectations_2_11_3 g.rspec_mocks_2_11_3 g.rspec_core_2_11_1 g.rspec_2_11_0 g.xml_simple_1_1_1 g.minitar_0_5_3 g.bundler_1_3_5 ]; - sha256 = ''0hsy9bkfp1pq5f3jx8i6fsk0r309nmq778ykk6w103rkrdb3l6s6''; + name = ''buildr-1.4.19''; + requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_8 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_1 g.orderedhash_0_0_6 ]; + sha256 = ''07k6z149si7v1h5m1bvdhjcv0nnjwkd2c6a8n1779l8g47ckccj0''; }; - bundler_1_3_5 = { + bundler_1_7_1 = { basename = ''bundler''; meta = { description = ''The best way to manage your application's dependencies''; - homepage = ''http://gembundler.com''; + homepage = ''http://bundler.io''; longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably''; }; - name = ''bundler-1.3.5''; + name = ''bundler-1.7.1''; requiredGems = [ ]; - sha256 = ''1r7zx8qfwzr3pbgrjbsml7z5qgscwyyv33x2jzhz6adqyx3r1f08''; + sha256 = ''144yqbmi89gl933rh8dv58bm7ia14s4a098qdi2z0q09ank9n5h2''; }; - celluloid_0_15_2 = { - basename = ''celluloid''; - meta = { - description = ''Actor-based concurrent object framework for Ruby''; - homepage = ''https://github.com/celluloid/celluloid''; - longDescription = ''Celluloid enables people to build concurrent programs out of concurrent objects just as easily as they build sequential programs out of sequential objects''; - }; - name = ''celluloid-0.15.2''; - requiredGems = [ g.timers_1_1_0 ]; - sha256 = ''0lpa97m7f4p5hgzaaa47y1d5c78n8pp4xd8qb0sn5llqd0klkd9b''; - }; - childprocess_0_3_9 = { + childprocess_0_5_3 = { basename = ''childprocess''; meta = { description = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.''; homepage = ''http://github.com/jarib/childprocess''; longDescription = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.''; }; - name = ''childprocess-0.3.9''; - requiredGems = [ g.ffi_1_9_0 ]; - sha256 = ''0jbz2ix7ff9ry8717lhcq9w8j8yd45akw48giwgdqccay5mlph7d''; - }; - chronic_0_9_1 = { - basename = ''chronic''; - meta = { - description = ''Natural language date/time parsing.''; - homepage = ''http://github.com/mojombo/chronic''; - longDescription = ''Chronic is a natural language date/time parser written in pure Ruby.''; - }; - name = ''chronic-0.9.1''; - requiredGems = [ ]; - sha256 = ''0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk''; - }; - classifier_1_3_3 = { - basename = ''classifier''; - meta = { - description = ''A general classifier module to allow Bayesian and other types of classifications.''; - homepage = ''http://classifier.rufy.com/''; - longDescription = '' A general classifier module to allow Bayesian and other types of classifications. -''; - }; - name = ''classifier-1.3.3''; - requiredGems = [ g.fast_stemmer_1_0_2 ]; - sha256 = ''1kq1cd8fq6wvyxbjy3r6ya3d3sk3rcp1b560xlqvflpsirm47r9g''; + name = ''childprocess-0.5.3''; + requiredGems = [ g.ffi_1_9_3 ]; + sha256 = ''12djpdr487fddq55sav8gw1pjglcbb0ab0s6npga0ywgsqdyvsww''; }; - chronic_0_10_1 = { + chronic_0_10_2 = { basename = ''chronic''; meta = { description = ''Natural language date/time parsing.''; homepage = ''http://github.com/mojombo/chronic''; longDescription = ''Chronic is a natural language date/time parser written in pure Ruby.''; }; - name = ''chronic-0.10.1''; - requiredGems = [ ]; - sha256 = ''0p822hry4njncxpf59nrvjayg2pxk1zh8gykjgsmqrphdkqqmp1w''; - }; - coderay_1_0_9 = { - basename = ''coderay''; - meta = { - description = ''Fast syntax highlighting for selected languages.''; - homepage = ''http://coderay.rubychan.de''; - longDescription = ''Fast and easy syntax highlighting for selected languages, written in Ruby. Comes with RedCloth integration and LOC counter.''; - }; - name = ''coderay-1.0.9''; + name = ''chronic-0.10.2''; requiredGems = [ ]; - sha256 = ''1pbjsvd6r2daxd6aicp19fnb1j5z7fxadflsm1h0r33cy3vi7iy8''; + sha256 = ''1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn''; }; coderay_1_1_0 = { basename = ''coderay''; @@ -547,77 +409,16 @@ for those one-off tasks, with a language that's a joy to use. requiredGems = [ ]; sha256 = ''059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s''; }; - coffee_rails_4_0_1 = { - basename = ''coffee_rails''; - meta = { - description = ''CoffeeScript adapter for the Rails asset pipeline.''; - homepage = ''https://github.com/rails/coffee-rails''; - longDescription = ''CoffeeScript adapter for the Rails asset pipeline.''; - }; - name = ''coffee-rails-4.0.1''; - requiredGems = [ g.coffee_script_2_2_0 g.railties_4_0_0 ]; - sha256 = ''12nqw61xfs43qap4bxp123q4fgj41gvxirdal95ymdd2qzr3cvig''; - }; - coffee_script_2_2_0 = { - basename = ''coffee_script''; - meta = { - description = ''Ruby CoffeeScript Compiler''; - homepage = ''http://github.com/josh/ruby-coffee-script''; - longDescription = '' Ruby CoffeeScript is a bridge to the JS CoffeeScript compiler. -''; - }; - name = ''coffee-script-2.2.0''; - requiredGems = [ g.coffee_script_source_1_6_3 g.execjs_2_0_2 ]; - sha256 = ''133cp4znfp44wwnv12myw8s0z6qws74ilqmw88iwzkshg689zpdc''; - }; - coffee_script_source_1_6_3 = { - basename = ''coffee_script_source''; - meta = { - description = ''The CoffeeScript Compiler''; - homepage = ''http://jashkenas.github.com/coffee-script/''; - longDescription = '' CoffeeScript is a little language that compiles into JavaScript. - Underneath all of those embarrassing braces and semicolons, - JavaScript has always had a gorgeous object model at its heart. - CoffeeScript is an attempt to expose the good parts of JavaScript - in a simple way. -''; - }; - name = ''coffee-script-source-1.6.3''; - requiredGems = [ ]; - sha256 = ''0p33h0rdj1n8xhm2d5hzqbb8br6wn4rx0gk4hyhc6rxkaxsy79b4''; - }; - colorator_0_1 = { - basename = ''colorator''; - meta = { - description = ''String core extensions for terminal coloring.''; - homepage = ''https://github.com/octopress/colorator''; - longDescription = ''Colorize your text in the terminal.''; - }; - name = ''colorator-0.1''; - requiredGems = [ ]; - sha256 = ''09zp15hyd9wlbgf1kmrf4rnry8cpvh1h9fj7afarlqcy4hrfdpvs''; - }; - commander_4_1_5 = { - basename = ''commander''; - meta = { - description = ''The complete solution for Ruby command-line executables''; - homepage = ''http://visionmedia.github.com/commander''; - longDescription = ''The complete solution for Ruby command-line executables. Commander bridges the gap between other terminal related libraries you know and love (OptionParser, HighLine), while providing many new features, and an elegant API.''; - }; - name = ''commander-4.1.5''; - requiredGems = [ g.highline_1_6_20 ]; - sha256 = ''040x2gjpl55g64kh5f9nby0870hnzx8cd7clxg771z0wjs7nzalc''; - }; - cucumber_1_3_8 = { + cucumber_1_3_16 = { basename = ''cucumber''; meta = { - description = ''cucumber-1.3.8''; + description = ''cucumber-1.3.16''; homepage = ''http://cukes.info''; longDescription = ''Behaviour Driven Development with elegance and joy''; }; - name = ''cucumber-1.3.8''; - requiredGems = [ g.builder_3_2_2 g.diff_lcs_1_2_4 g.gherkin_2_12_1 g.multi_json_1_7_9 g.multi_test_0_0_2 ]; - sha256 = ''0b4igj1vxlcwky11nkrrgg57chbc0n5gmv984dld5s0f1ilkx1ma''; + name = ''cucumber-1.3.16''; + requiredGems = [ g.builder_3_2_2 g.diff_lcs_1_2_5 g.gherkin_2_12_2 g.multi_json_1_10_1 g.multi_test_0_1_1 ]; + sha256 = ''11cjw2d03r41b5pn5in6q822s3v6bpd8isxc9dl7by01jrzi0662''; }; daemons_1_1_9 = { basename = ''daemons''; @@ -630,32 +431,29 @@ for those one-off tasks, with a language that's a joy to use. requiredGems = [ ]; sha256 = ''1j1m64pirsldhic6x6sg4lcrmp1bs1ihpd49xm8m1b2rc1c3irzy''; }; - diff_lcs_1_1_3 = { + diff_lcs_1_2_4 = { basename = ''diff_lcs''; meta = { - description = ''Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt longest common subsequence (LCS) algorithm to compute intelligent differences between two sequenced enumerable containers''; - longDescription = ''Diff::LCS is a port of Perl's Algorithm::Diff that uses the McIlroy-Hunt -longest common subsequence (LCS) algorithm to compute intelligent differences -between two sequenced enumerable containers. The implementation is based on -Mario I. Wolczko's {Smalltalk version 1.2}[ftp://st.cs.uiuc.edu/pub/Smalltalk/MANCHESTER/manchester/4.0/diff.st] -(1993) and Ned Konz's Perl version -{Algorithm::Diff 1.15}[http://search.cpan.org/~nedkonz/Algorithm-Diff-1.15/]. + description = ''Diff::LCS computes the difference between two Enumerable sequences using the McIlroy-Hunt longest common subsequence (LCS) algorithm''; + homepage = ''http://diff-lcs.rubyforge.org/''; + longDescription = ''Diff::LCS computes the difference between two Enumerable sequences using the +McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities +to create a simple HTML diff output format and a standard diff-like tool. -This is release 1.1.3, fixing several small bugs found over the years. Version -1.1.0 added new features, including the ability to #patch and #unpatch changes -as well as a new contextual diff callback, Diff::LCS::ContextDiffCallbacks, -that should improve the context sensitivity of patching. +This is release 1.2.4, fixing a bug introduced after diff-lcs 1.1.3 that did +not properly prune common sequences at the beginning of a comparison set. +Thanks to Paul Kunysch for fixing this issue. -This library is called Diff::LCS because of an early version of Algorithm::Diff -which was restrictively licensed. This version has seen a minor license change: -instead of being under Ruby's license as an option, the third optional license -is the MIT license.''; +Coincident with the release of diff-lcs 1.2.3, we reported an issue with +Rubinius in 1.9 mode +({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]). +We are happy to report that this issue has been resolved.''; }; - name = ''diff-lcs-1.1.3''; + name = ''diff-lcs-1.2.4''; requiredGems = [ ]; - sha256 = ''15wqs3md9slif6ag43vp6gw63r3a2zdqiyfapnnzkb7amgg930pv''; + sha256 = ''09xbffjg639y8n43zp88ki0m489vv2c86znmfib2fg1di6svi1xd''; }; - diff_lcs_1_2_4 = { + diff_lcs_1_2_5 = { basename = ''diff_lcs''; meta = { description = ''Diff::LCS computes the difference between two Enumerable sequences using the McIlroy-Hunt longest common subsequence (LCS) algorithm''; @@ -673,9 +471,9 @@ Rubinius in 1.9 mode ({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]). We are happy to report that this issue has been resolved.''; }; - name = ''diff-lcs-1.2.4''; + name = ''diff-lcs-1.2.5''; requiredGems = [ ]; - sha256 = ''09xbffjg639y8n43zp88ki0m489vv2c86znmfib2fg1di6svi1xd''; + sha256 = ''1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1''; }; dimensions_1_2_0 = { basename = ''dimensions''; @@ -688,7 +486,7 @@ We are happy to report that this issue has been resolved.''; requiredGems = [ ]; sha256 = ''1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0''; }; - domain_name_0_5_13 = { + domain_name_0_5_20 = { basename = ''domain_name''; meta = { description = ''Domain Name manipulation library for Ruby''; @@ -699,20 +497,30 @@ It can also be used for cookie domain validation based on the Public Suffix List. ''; }; - name = ''domain_name-0.5.13''; - requiredGems = [ g.unf_0_1_2 ]; - sha256 = ''0m57vacj2bmdfp094gjylfzz5gqdpn95pcypk5friab3svrambxv''; + name = ''domain_name-0.5.20''; + requiredGems = [ g.unf_0_1_4 ]; + sha256 = ''17ls88kp18dxjc93q8kmyx2anknva0vbmny60xbgpbwq3hg0qv6s''; }; - dotenv_0_9_0 = { + dotenv_0_11_1 = { basename = ''dotenv''; meta = { description = ''Loads environment variables from `.env`.''; homepage = ''https://github.com/bkeepers/dotenv''; longDescription = ''Loads environment variables from `.env`.''; }; - name = ''dotenv-0.9.0''; + name = ''dotenv-0.11.1''; + requiredGems = [ g.dotenv_deployment_0_0_2 ]; + sha256 = ''09z0y0d6bks7i0sqvd8szfqj9i1kkj01anzly7shi83b3gxhrq9m''; + }; + dotenv_deployment_0_0_2 = { + basename = ''dotenv_deployment''; + meta = { + description = ''Deployment concerns for dotenv''; + homepage = ''https://github.com/bkeepers/dotenv-deployment''; + }; + name = ''dotenv-deployment-0.0.2''; requiredGems = [ ]; - sha256 = ''1gl0m6s8d6m72wcm4p86kzzjdihyryi5mh6v70qkqd0dl1gj73l3''; + sha256 = ''1ad66jq9a09qq1js8wsyil97018s7y6x0vzji0dy34gh65sbjz8c''; }; em_resolv_replace_1_1_3 = { basename = ''em_resolv_replace''; @@ -747,16 +555,16 @@ Suffix List. requiredGems = [ ]; sha256 = ''1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3''; }; - ethon_0_6_1 = { + ethon_0_7_1 = { basename = ''ethon''; meta = { description = ''Libcurl wrapper.''; homepage = ''https://github.com/typhoeus/ethon''; longDescription = ''Very lightweight libcurl wrapper.''; }; - name = ''ethon-0.6.1''; - requiredGems = [ g.ffi_1_9_0 g.mime_types_1_25 ]; - sha256 = ''05mw10bh4pif0j6pjzyhcsm8kzv7xn94dcjcb15dmbjx2za0daa7''; + name = ''ethon-0.7.1''; + requiredGems = [ g.ffi_1_9_3 ]; + sha256 = ''0b762cmnj20fjlrlzk5vsndzv4ac3ybdi4vikx5c11abl7x5wbg6''; }; eventmachine_1_0_3 = { basename = ''eventmachine''; @@ -789,91 +597,36 @@ using TCP/IP, especially if custom protocols are required.''; requiredGems = [ g.eventmachine_1_0_3 ]; sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61''; }; - excon_0_25_3 = { - basename = ''excon''; - meta = { - description = ''speed, persistence, http(s)''; - homepage = ''https://github.com/geemus/excon''; - longDescription = ''EXtended http(s) CONnections''; - }; - name = ''excon-0.25.3''; - requiredGems = [ ]; - sha256 = ''1d552jhvrpmnzrg3di88397l07ngrz04s2al17klpam6crxqw2b2''; - }; - execjs_2_0_2 = { - basename = ''execjs''; - meta = { - description = ''Run JavaScript code from Ruby''; - homepage = ''https://github.com/sstephenson/execjs''; - longDescription = ''ExecJS lets you run JavaScript code from Ruby.''; - }; - name = ''execjs-2.0.2''; - requiredGems = [ ]; - sha256 = ''167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs''; - }; - fakes3_0_1_5 = { + fakes3_0_1_5_2 = { basename = ''fakes3''; meta = { description = ''FakeS3 is a server that simulates S3 commands so you can test your S3 functionality in your projects''; longDescription = ''Use FakeS3 to test basic S3 functionality without actually connecting to S3''; }; - name = ''fakes3-0.1.5''; - requiredGems = [ g.thor_0_18_1 g.builder_3_2_2 ]; - sha256 = ''1na5wrbarla6s414svqmr5spbpv6vmcgpswal444x4clcpmadhib''; + name = ''fakes3-0.1.5.2''; + requiredGems = [ g.thor_0_19_1 g.builder_3_2_2 ]; + sha256 = ''1gmg428s1jpdwn7bd9pi4ikxg8440nq9yqs22wv0k355z5cqb8by''; }; - faraday_0_8_8 = { + faraday_0_9_0 = { basename = ''faraday''; meta = { description = ''HTTP/REST API client library.''; homepage = ''https://github.com/lostisland/faraday''; }; - name = ''faraday-0.8.8''; - requiredGems = [ g.multipart_post_1_2_0 ]; - sha256 = ''1cnyj5japrnv6wvl01la5amf7hikckfznh8234ad21n730b2wci4''; + name = ''faraday-0.9.0''; + requiredGems = [ g.multipart_post_2_0_0 ]; + sha256 = ''13wi8y7j6mp0mszps50gqr0fyddiz45wqkvpnnrv797gklr9sh46''; }; - faraday_middleware_0_8_8 = { + faraday_middleware_0_9_1 = { basename = ''faraday_middleware''; meta = { description = ''Various middleware for Faraday''; - homepage = ''https://github.com/pengwynn/faraday_middleware''; + homepage = ''https://github.com/lostisland/faraday_middleware''; longDescription = ''Various middleware for Faraday''; }; - name = ''faraday_middleware-0.8.8''; - requiredGems = [ g.faraday_0_8_8 ]; - sha256 = ''1n0g8pm7ynx6ffyqhscc1cqw97zhvd8isr31yfyj15335j1jsncz''; - }; - faraday_middleware_0_9_0 = { - basename = ''faraday_middleware''; - meta = { - description = ''Various middleware for Faraday''; - homepage = ''https://github.com/pengwynn/faraday_middleware''; - longDescription = ''Various middleware for Faraday''; - }; - name = ''faraday_middleware-0.9.0''; - requiredGems = [ g.faraday_0_8_8 ]; - sha256 = ''1kwvi2sdxd6j764a7q5iir73dw2v6816zx3l8cgfv0wr2m47icq2''; - }; - fast_stemmer_1_0_2 = { - basename = ''fast_stemmer''; - meta = { - description = ''Fast Porter stemmer based on a C version of algorithm''; - homepage = ''http://github.com/romanbsd/fast-stemmer''; - longDescription = ''Fast Porter stemmer based on a C version of algorithm''; - }; - name = ''fast-stemmer-1.0.2''; - requiredGems = [ ]; - sha256 = ''0688clyk4xxh3kdb18vi089k90mca8ji5fwaknh3da5wrzcrzanh''; - }; - ffi_1_9_0 = { - basename = ''ffi''; - meta = { - description = ''Ruby FFI''; - homepage = ''http://wiki.github.com/ffi/ffi''; - longDescription = ''Ruby FFI library''; - }; - name = ''ffi-1.9.0''; - requiredGems = [ ]; - sha256 = ''0rnh9yyfzcpdmi8m7giyd21lgqj00afgxvgbx41hsi2ls1ghfwvy''; + name = ''faraday_middleware-0.9.1''; + requiredGems = [ g.faraday_0_9_0 ]; + sha256 = ''1kndkrww1biz9j64fnyaqgis1gdiawxfv0ncadsz06gd555fgs6q''; }; ffi_1_9_3 = { basename = ''ffi''; @@ -894,32 +647,21 @@ using TCP/IP, especially if custom protocols are required.''; longDescription = ''Library to tail files in Ruby''; }; name = ''file-tail-1.0.12''; - requiredGems = [ g.tins_0_9_0 ]; + requiredGems = [ g.tins_0_13_2 ]; sha256 = ''0mzxxnwj7k5pwxs0rdbmb3b41zgvzw7x40sf3qlkch4zdfx91i1j''; }; - foreman_0_63_0 = { + foreman_0_74_0 = { basename = ''foreman''; meta = { description = ''Process manager for applications with multiple components''; homepage = ''http://github.com/ddollar/foreman''; longDescription = ''Process manager for applications with multiple components''; }; - name = ''foreman-0.63.0''; - requiredGems = [ g.thor_0_18_1 g.dotenv_0_9_0 ]; - sha256 = ''0yqyjix9jm4iwyc4f3wc32vxr28rpjcw1c9ni5brs4s2a24inzlk''; + name = ''foreman-0.74.0''; + requiredGems = [ g.thor_0_19_1 g.dotenv_0_11_1 ]; + sha256 = ''0jqblq0myzmdp2cywzz7flvgqnhf267ykcdn250cccy68s9wm37m''; }; - formatador_0_2_4 = { - basename = ''formatador''; - meta = { - description = ''Ruby STDOUT text formatting''; - homepage = ''http://github.com/geemus/formatador''; - longDescription = ''STDOUT text formatting''; - }; - name = ''formatador-0.2.4''; - requiredGems = [ ]; - sha256 = ''0pgmk1h6i6m3cslnfyjqld06a4c2xbbvmngxg2axddf39xwz6f12''; - }; - gettext_3_0_0 = { + gettext_3_1_3 = { basename = ''gettext''; meta = { description = ''Gettext is a pure Ruby libary and tools to localize messages.''; @@ -929,74 +671,33 @@ The catalog file(po-file) is same format with GNU gettext. So you can use GNU gettext tools for maintaining. ''; }; - name = ''gettext-3.0.0''; - requiredGems = [ g.locale_2_0_8 g.text_1_2_3 ]; - sha256 = ''1qlqd6c39bjn930qh93i40gbz1bs20gzpwvw3d8rxnkls5a6pl1y''; + name = ''gettext-3.1.3''; + requiredGems = [ g.locale_2_1_0 g.text_1_3_0 ]; + sha256 = ''066x2dbryab02kdbk6km79h4j9b0f0ynsnzcygjgvzn9001ybf9q''; }; - gh_0_12_0 = { + gh_0_13_2 = { basename = ''gh''; meta = { description = ''layered github client''; homepage = ''http://gh.rkh.im/''; longDescription = ''multi-layer client for the github api v3''; }; - name = ''gh-0.12.0''; - requiredGems = [ g.faraday_0_8_8 g.backports_3_3_3 g.multi_json_1_7_9 g.addressable_2_3_5 g.net_http_persistent_2_9 g.net_http_pipeline_1_0_1 ]; - sha256 = ''180jmg6rwilzcbzvyg74q27zpr09pv6pw3cfcjxr0bcklv203q3n''; + name = ''gh-0.13.2''; + requiredGems = [ g.faraday_0_9_0 g.backports_3_6_0 g.multi_json_1_10_1 g.addressable_2_3_6 g.net_http_persistent_2_9_4 g.net_http_pipeline_1_0_1 ]; + sha256 = ''17scqa35j6ghpykzk986gnd6dvbrh8nn60ib04hb2gbyh9dns1dj''; }; - gherkin_2_12_1 = { + gherkin_2_12_2 = { basename = ''gherkin''; meta = { - description = ''gherkin-2.12.1''; + description = ''gherkin-2.12.2''; homepage = ''http://github.com/cucumber/gherkin''; longDescription = ''A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.''; }; - name = ''gherkin-2.12.1''; - requiredGems = [ g.multi_json_1_7_9 ]; - sha256 = ''07nzchdvkkd35m9k7d9k8j72jm3imv56ccn734mxa5klv1xx2d45''; - }; - guard_2_2_4 = { - basename = ''guard''; - meta = { - description = ''Guard keeps an eye on your file modifications''; - homepage = ''http://guardgem.org''; - longDescription = ''Guard is a command line tool to easily handle events on file system modifications.''; - }; - name = ''guard-2.2.4''; - requiredGems = [ g.thor_0_18_1 g.listen_2_2_0 g.pry_0_9_12_3 g.lumberjack_1_0_4 g.formatador_0_2_4 ]; - sha256 = ''0z427rkcpzy82g21cgq7i5sn1vxn8hm8j4d78kj9vlaqgilcybhq''; - }; - highline_1_6_19 = { - basename = ''highline''; - meta = { - description = ''HighLine is a high-level command-line IO library.''; - homepage = ''http://highline.rubyforge.org''; - longDescription = ''A high-level IO library that provides validation, type conversion, and more for -command-line interfaces. HighLine also includes a complete menu system that can -crank out anything from simple list selection to complete shells with just -minutes of work. -''; - }; - name = ''highline-1.6.19''; - requiredGems = [ ]; - sha256 = ''0gylnz2cdaswgszgl8x2qx0c87md4246r1i0blgm3nqvgd4hlsxd''; - }; - highline_1_6_20 = { - basename = ''highline''; - meta = { - description = ''HighLine is a high-level command-line IO library.''; - homepage = ''http://highline.rubyforge.org''; - longDescription = ''A high-level IO library that provides validation, type conversion, and more for -command-line interfaces. HighLine also includes a complete menu system that can -crank out anything from simple list selection to complete shells with just -minutes of work. -''; - }; - name = ''highline-1.6.20''; - requiredGems = [ ]; - sha256 = ''0gk7mpw2r5lv60vr4hb0090wbnqh0fsbyrrcvxiqk7hyhxdz08iv''; + name = ''gherkin-2.12.2''; + requiredGems = [ g.multi_json_1_10_1 ]; + sha256 = ''1mxfgw15pii1jmq00xxbyp77v71mh3bp99ndgwzfwkxvbcisha25''; }; - highline_1_6_2 = { + highline_1_6_21 = { basename = ''highline''; meta = { description = ''HighLine is a high-level command-line IO library.''; @@ -1007,9 +708,9 @@ crank out anything from simple list selection to complete shells with just minutes of work. ''; }; - name = ''highline-1.6.2''; + name = ''highline-1.6.21''; requiredGems = [ ]; - sha256 = ''0azmahb70f1nlg6lq5wljbzcijhfb9lz8skwb4k2977kdml07mcn''; + sha256 = ''06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1''; }; hike_1_2_3 = { basename = ''hike''; @@ -1022,7 +723,7 @@ minutes of work. requiredGems = [ ]; sha256 = ''0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm''; }; - hoe_3_1_0 = { + hoe_3_7_1 = { basename = ''hoe''; meta = { description = ''Hoe is a rake/rubygems helper for project Rakefiles''; @@ -1038,108 +739,64 @@ below. For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf''; }; - name = ''hoe-3.1.0''; - requiredGems = [ g.rake_0_9_6 ]; - sha256 = ''0i961x0hrd6fs1nsfham87dhn64gqpnai27l14jag7qbnp3a79yp''; + name = ''hoe-3.7.1''; + requiredGems = [ g.rake_10_3_2 ]; + sha256 = ''0lyrdbzxj4isxzyfp93w0q1g9sqw6grkjp91xirzlw1z1714qsw3''; }; - http_cookie_1_0_1 = { + http_cookie_1_0_2 = { basename = ''http_cookie''; meta = { description = ''A Ruby library to handle HTTP Cookies based on RFC 6265''; homepage = ''https://github.com/sparklemotion/http-cookie''; longDescription = ''HTTP::Cookie is a Ruby library to handle HTTP Cookies based on RFC 6265. It has with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers. It has builtin support for the legacy cookies.txt and the latest cookies.sqlite formats of Mozilla Firefox, and its modular API makes it easy to add support for a new backend store.''; }; - name = ''http-cookie-1.0.1''; - requiredGems = [ g.domain_name_0_5_13 ]; - sha256 = ''0gzghirmim217g7gf1rq3xiav8gfg32r38mcz0w9vznk30psy7d9''; + name = ''http-cookie-1.0.2''; + requiredGems = [ g.domain_name_0_5_20 ]; + sha256 = ''0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw''; }; - i18n_0_6_5 = { + i18n_0_6_11 = { basename = ''i18n''; meta = { description = ''New wave Internationalization support for Ruby''; homepage = ''http://github.com/svenfuchs/i18n''; longDescription = ''New wave Internationalization support for Ruby.''; }; - name = ''i18n-0.6.5''; + name = ''i18n-0.6.11''; requiredGems = [ ]; - sha256 = ''0cv15pi9f530fx9q3b83im7afy947dd86jf5ffqs9bvw8iykmil1''; + sha256 = ''0fwjlgmgry2blf8zlxn9c555cf4a16p287l599kz5104ncjxlzdk''; }; - iconv_1_0_3 = { + iconv_1_0_4 = { basename = ''iconv''; meta = { description = ''iconv wrapper library''; homepage = ''https://github.com/nurse/iconv''; longDescription = ''iconv wrapper library''; }; - name = ''iconv-1.0.3''; + name = ''iconv-1.0.4''; requiredGems = [ ]; - sha256 = ''1nhjn07h2fqivdj6xqzi2x2kzh28vigx8z3q5fv2cqn9aqmbdacl''; - }; - jekyll_1_3_0 = { - basename = ''jekyll''; - meta = { - description = ''A simple, blog aware, static site generator.''; - homepage = ''http://github.com/mojombo/jekyll''; - longDescription = ''Jekyll is a simple, blog aware, static site generator.''; - }; - name = ''jekyll-1.3.0''; - requiredGems = [ g.liquid_2_5_4 g.classifier_1_3_3 g.listen_1_3_1 g.maruku_0_6_1 g.pygments_rb_0_5_4 g.commander_4_1_5 g.safe_yaml_0_9_7 g.colorator_0_1 g.redcarpet_2_3_0 ]; - sha256 = ''0hq9sdyivfifba0d4d7g113jbd3jwm8jpdc9i09mv0nfhdcbc3k4''; - }; - jquery_rails_3_0_4 = { - basename = ''jquery_rails''; - meta = { - description = ''Use jQuery with Rails 3''; - homepage = ''http://rubygems.org/gems/jquery-rails''; - longDescription = ''This gem provides jQuery and the jQuery-ujs driver for your Rails 3 application.''; - }; - name = ''jquery-rails-3.0.4''; - requiredGems = [ g.railties_4_0_0 g.thor_0_18_1 ]; - sha256 = ''0k13mcl9d0zxa2azml0d06y14ggk5yl2xvzsc9l2qv2cwc9xxajm''; + sha256 = ''16sgj6gqs4bgwv6q4vv811fb43908psr33dz7sphn1z8la3y7m2v''; }; - jruby_pageant_1_1_1 = { - basename = ''jruby_pageant''; - meta = { - description = ''jruby-pageant allows Pageant access on JRuby + Windows''; - homepage = ''http://github.com/arturaz/jruby-pageant''; - longDescription = ''This is a convenience gem packaging required JNA/JSCH jars.''; - }; - name = ''jruby-pageant-1.1.1''; - requiredGems = [ ]; - sha256 = ''1kgqsn0bagr41gf5kbqaxbs38a7s5bm85m0pdx4qz7d70v9nc9cl''; - }; - jsduck_5_1_0 = { + jsduck_5_3_4 = { basename = ''jsduck''; meta = { description = ''Simple JavaScript Duckumentation generator''; homepage = ''https://github.com/senchalabs/jsduck''; longDescription = ''Documentation generator for Sencha JS frameworks''; }; - name = ''jsduck-5.1.0''; - requiredGems = [ g.rdiscount_2_1_6 g.json_1_8_0 g.parallel_0_7_1 g.rkelly_remix_0_0_4 g.dimensions_1_2_0 ]; - sha256 = ''05l2729524w6i1jywyb2kgbp8w04za8wbvx5w914f7mcsry98rn4''; + name = ''jsduck-5.3.4''; + requiredGems = [ g.rdiscount_2_1_7_1 g.json_1_8_1 g.parallel_0_7_1 g.rkelly_remix_0_0_6 g.dimensions_1_2_0 ]; + sha256 = ''0hac7g9g6gg10bigbm8dskwwbv1dfch8ca353gh2bkwf244qq2xr''; }; - json_1_8_0 = { + json_1_8_1 = { basename = ''json''; meta = { description = ''JSON Implementation for Ruby''; homepage = ''http://flori.github.com/json''; longDescription = ''This is a JSON implementation as a Ruby extension in C.''; }; - name = ''json-1.8.0''; + name = ''json-1.8.1''; requiredGems = [ ]; - sha256 = ''0a8prb853nwz9xqjhcd4rm9a5ng8arcn06hlacf0kcizzz69rr47''; - }; - json_pure_1_7_5 = { - basename = ''json_pure''; - meta = { - description = ''JSON Implementation for Ruby''; - homepage = ''http://flori.github.com/json''; - longDescription = ''This is a JSON implementation in pure Ruby.''; - }; - name = ''json_pure-1.7.5''; - requiredGems = [ ]; - sha256 = ''14nwwf001mh70qnynpb3h8c0kgcfi666yrg2frib4p6lr57jx8ap''; + sha256 = ''0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn''; }; json_pure_1_8_0 = { basename = ''json_pure''; @@ -1152,61 +809,18 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf''; requiredGems = [ ]; sha256 = ''0kkn5zhiffav2cffj43wwvzj07825r4j463ilfjgik034vnbjs83''; }; - launchy_2_3_0 = { + launchy_2_4_2 = { basename = ''launchy''; meta = { description = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner.''; homepage = ''http://github.com/copiousfreetime/launchy''; longDescription = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.''; }; - name = ''launchy-2.3.0''; - requiredGems = [ g.addressable_2_3_5 ]; - sha256 = ''0ckvs40f29ancs0ki12pqb94k380cz41b4gbjplm85ly6kd57sph''; + name = ''launchy-2.4.2''; + requiredGems = [ g.addressable_2_3_6 ]; + sha256 = ''0i1nmlrqpnk2q6f7iq85cqaa7b8fw4bmqm57w60g92lsfmszs8iv''; }; - launchy_2_4_0 = { - basename = ''launchy''; - meta = { - description = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner.''; - homepage = ''http://github.com/copiousfreetime/launchy''; - longDescription = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.''; - }; - name = ''launchy-2.4.0''; - requiredGems = [ g.addressable_2_3_5 ]; - sha256 = ''0vxc3m4sjxyjjzw2rmsginf9nbxfyv7hhxshmn6kxkvcpjxx5di0''; - }; - liquid_2_5_4 = { - basename = ''liquid''; - meta = { - description = ''A secure, non-evaling end user template engine with aesthetic markup.''; - homepage = ''http://www.liquidmarkup.org''; - }; - name = ''liquid-2.5.4''; - requiredGems = [ ]; - sha256 = ''0adb1fz20jwcyx1ia133426i59mrrz9iq9lpcmzq6jx0dlaa4amv''; - }; - listen_1_3_1 = { - basename = ''listen''; - meta = { - description = ''Listen to file modifications''; - homepage = ''https://github.com/guard/listen''; - longDescription = ''The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!''; - }; - name = ''listen-1.3.1''; - requiredGems = [ g.rb_fsevent_0_9_3 g.rb_inotify_0_9_2 g.rb_kqueue_0_2_0 ]; - sha256 = ''1p1rqz26ixx0fzc0hy3psq2bb3pwkv9awixv76zkaaqj1czabzbs''; - }; - listen_2_2_0 = { - basename = ''listen''; - meta = { - description = ''Listen to file modifications''; - homepage = ''https://github.com/guard/listen''; - longDescription = ''The Listen gem listens to file modifications and notifies you about the changes. Works everywhere!''; - }; - name = ''listen-2.2.0''; - requiredGems = [ g.celluloid_0_15_2 g.rb_fsevent_0_9_3 g.rb_inotify_0_9_2 ]; - sha256 = ''1fm6cp5d4xbd5wdd0d804m3p2cc5rjrr5yzqzzh1ndzgbs94sv5c''; - }; - locale_2_0_8 = { + locale_2_1_0 = { basename = ''locale''; meta = { description = ''Ruby-Locale is the pure ruby library which provides basic APIs for localization.''; @@ -1214,42 +828,31 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf''; longDescription = ''Ruby-Locale is the pure ruby library which provides basic APIs for localization. ''; }; - name = ''locale-2.0.8''; + name = ''locale-2.1.0''; requiredGems = [ ]; - sha256 = ''1hmixxg4aigl3h1qmz4fdsrv81p0bblcjbks32nrcvcpwmlylf12''; + sha256 = ''18bb0g24flq9dr8qv4j7pm7w9i2vmvmqrbmry95ibf1r1c4s60yj''; }; - lockfile_2_1_0 = { + lockfile_2_1_3 = { basename = ''lockfile''; meta = { description = ''lockfile''; homepage = ''https://github.com/ahoward/lockfile''; - longDescription = ''description: lockfile kicks the ass''; + longDescription = ''a ruby library for creating perfect and NFS safe lockfiles''; }; - name = ''lockfile-2.1.0''; + name = ''lockfile-2.1.3''; requiredGems = [ ]; - sha256 = ''1yfpz9k0crb7q7y5bcaavf2jzbc170dj84hqz13qp75rj7bl3qhf''; + sha256 = ''0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr''; }; - lumberjack_1_0_4 = { - basename = ''lumberjack''; - meta = { - description = ''A simple, powerful, and very fast logging utility that can be a drop in replacement for Logger or ActiveSupport::BufferedLogger.''; - homepage = ''http://github.com/bdurand/lumberjack''; - longDescription = ''A simple, powerful, and very fast logging utility that can be a drop in replacement for Logger or ActiveSupport::BufferedLogger. Provides support for automatically rolling log files even with multiple processes writing the same log file.''; - }; - name = ''lumberjack-1.0.4''; - requiredGems = [ ]; - sha256 = ''1mj6m12hnmkvzl4w2yh04ak3z45pwksj6ra7v30za8snw9kg919d''; - }; - macaddr_1_6_1 = { + macaddr_1_7_1 = { basename = ''macaddr''; meta = { description = ''macaddr''; homepage = ''https://github.com/ahoward/macaddr''; - longDescription = ''description: macaddr kicks the ass''; + longDescription = ''cross platform mac address determination for ruby''; }; - name = ''macaddr-1.6.1''; - requiredGems = [ g.systemu_2_5_2 ]; - sha256 = ''1vd9l1d0lc0sq3rn1ya816wrzgxxqdzq6pgq0y0435qm6ikwy7ch''; + name = ''macaddr-1.7.1''; + requiredGems = [ g.systemu_2_6_4 ]; + sha256 = ''1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b''; }; mail_2_5_4 = { basename = ''mail''; @@ -1259,24 +862,21 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf''; longDescription = ''A really Ruby Mail handler.''; }; name = ''mail-2.5.4''; - requiredGems = [ g.mime_types_1_25 g.treetop_1_4_15 ]; + requiredGems = [ g.mime_types_1_25_1 g.treetop_1_4_15 ]; sha256 = ''0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4''; }; - maruku_0_6_1 = { - basename = ''maruku''; + mail_2_6_1 = { + basename = ''mail''; meta = { - description = ''Maruku is a Markdown-superset interpreter written in Ruby.''; - homepage = ''http://github.com/bhollis/maruku''; - longDescription = ''Maruku is a Markdown interpreter in Ruby. - It features native export to HTML and PDF (via Latex). The - output is really beautiful! - ''; + description = ''Mail provides a nice Ruby DSL for making, sending and reading emails.''; + homepage = ''http://github.com/mikel/mail''; + longDescription = ''A really Ruby Mail handler.''; }; - name = ''maruku-0.6.1''; - requiredGems = [ g.syntax_1_0_0 ]; - sha256 = ''01xc4l480k79jbicr0j37d9bmd4dsnrjh5hwdrh2djvy06l77ngz''; + name = ''mail-2.6.1''; + requiredGems = [ g.mime_types_2_3 ]; + sha256 = ''17gsw57nc7ihk4xnbq9lidzv6h1ivh4l5m16hy790vs219n22mhx''; }; - mechanize_2_7_2 = { + mechanize_2_7_3 = { basename = ''mechanize''; meta = { description = ''The Mechanize library is used for automating interaction with websites''; @@ -1287,9 +887,9 @@ and can follow links and submit forms. Form fields can be populated and submitted. Mechanize also keeps track of the sites that you have visited as a history.''; }; - name = ''mechanize-2.7.2''; - requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9 g.mime_types_1_25 g.http_cookie_1_0_1 g.nokogiri_1_6_0 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_13 ]; - sha256 = ''1w1rnn6jps1393gywi38saw5iqrvyai3vmvbv2kbc9j0zj5csyrl''; + name = ''mechanize-2.7.3''; + requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_3 g.http_cookie_1_0_2 g.nokogiri_1_6_3_1 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_20 ]; + sha256 = ''00jkazj8fqnynaxca0lnwx5a084irxrnw8n8i0kppq4vg71g7rrx''; }; method_source_0_8_2 = { basename = ''method_source''; @@ -1302,20 +902,22 @@ a history.''; requiredGems = [ ]; sha256 = ''1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2''; }; - mime_types_1_25 = { + mime_types_1_25_1 = { basename = ''mime_types''; meta = { description = ''This library allows for the identification of a file's likely MIME content type''; homepage = ''http://mime-types.rubyforge.org/''; longDescription = ''This library allows for the identification of a file's likely MIME content -type. This is release 1.25, adding experimental caching and lazy loading -functionality. +type. This is release 1.25.1, fixing an issue with priority comparison for +mime-types 1.x. The current release is 2.0, which only supports Ruby 1.9 or +later. -The caching and lazy loading features were initially implemented by Greg -Brockman (gdb). As these features are experimental, they are disabled by -default and must be enabled through the use of environment variables. The cache -is invalidated on a per-version basis; the cache for version 1.25 will not be -reused for version 1.26. +Release 1.25.1 contains all features of 1.25, including the experimental +caching and lazy loading functionality. The caching and lazy loading features +were initially implemented by Greg Brockman (gdb). As these features are +experimental, they are disabled by default and must be enabled through the use +of environment variables. The cache is invalidated on a per-version basis; the +cache for version 1.25 will not be reused for any later version. To use lazy loading, set the environment variable +RUBY_MIME_TYPES_LAZY_LOAD+ to any value other than 'false'. When using lazy loading, the initial startup @@ -1346,8 +948,7 @@ complete; don't hesitate to ask to add additional information. This library follows the IANA collection of MIME types (see below for reference). MIME::Types for Ruby was originally based on MIME::Types for Perl by Mark -Overmeer, copyright 2001 - 2009. As of version 1.15, the data format for the -MIME::Type list has changed and the synchronization will no longer happen. +Overmeer, copyright 2001 - 2009. MIME::Types is built to conform to the MIME types of RFCs 2045 and 2231. It tracks the {IANA registry}[http://www.iana.org/assignments/media-types/] @@ -1355,15 +956,15 @@ tracks the {IANA registry}[http://www.iana.org/assignments/media-types/] added from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp] and added by the users of MIME::Types.''; }; - name = ''mime-types-1.25''; + name = ''mime-types-1.25.1''; requiredGems = [ ]; - sha256 = ''0hd6hpl05jyx3siznk70z46bmrzwmcyrr24yfaqg6nar35zw8bgf''; + sha256 = ''0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8''; }; - mime_types_2_0 = { + mime_types_2_3 = { basename = ''mime_types''; meta = { description = ''The mime-types library provides a library and registry for information about MIME content type definitions''; - homepage = ''http://mime-types.rubyforge.org/''; + homepage = ''https://github.com/halostatue/mime-types/''; longDescription = ''The mime-types library provides a library and registry for information about MIME content type definitions. It can be used to determine defined filename extensions for MIME types, or to use filename extensions to look up the likely @@ -1379,46 +980,50 @@ add additional type definitions (see Contributing.rdoc). The primary sources for MIME type definitions found in mime-types is the IANA collection of registrations (see below for the link), RFCs, and W3C recommendations. -The mime-types library uses semantic versioning. This is release 2.0; there are -incompatible changes in the API provided by mime-types, mostly around registry -initialization (see History.rdoc for full details), and the removal of support -for Ruby 1.8 interpreters. +This is release 2.2, mostly changing how the MIME type registry is updated from +the IANA registry (the format of which was incompatibly changed shortly before +this release) and taking advantage of the extra data available from IANA +registry in the form of MIME::Type#xrefs. In addition, the {LTSW +list}[http://www.ltsw.se/knbase/internet/mime.htp] has been dropped as a +supported list. + +As a reminder, mime-types 2.x is no longer compatible with Ruby 1.8 and +mime-types 1.x is only being maintained for security issues. No new MIME types +or features will be added. mime-types (previously called MIME::Types for Ruby) was originally based on MIME::Types for Perl by Mark Overmeer, copyright 2001 - 2009. It is built to -conform to the MIME types of RFCs 2045 and 2231. It tracks the {IANA -registry}[http://www.iana.org/assignments/media-types/] -({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types -added from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp] -and added by the users of mime-types.''; +conform to the MIME types of RFCs 2045 and 2231. It tracks the {IANA Media +Types registry}[https://www.iana.org/assignments/media-types/media-types.xhtml] +with some types added by the users of mime-types.''; }; - name = ''mime-types-2.0''; + name = ''mime-types-2.3''; requiredGems = [ ]; - sha256 = ''1q1s22l3mm0am2f7n9qjqp8zl0smr9zlqr2ywwyfjkid2sj3prfk''; + sha256 = ''0j0mwzr2q9fmisp3r8rp7j95dns2gw7sd8c5sb5y6z0dfj56a4vd''; }; - mini_portile_0_5_1 = { + mini_portile_0_6_0 = { basename = ''mini_portile''; meta = { description = ''Simplistic port-like solution for developers''; homepage = ''http://github.com/luislavena/mini_portile''; longDescription = ''Simplistic port-like solution for developers. It provides a standard and simplified way to compile against dependency libraries without messing up your system.''; }; - name = ''mini_portile-0.5.1''; + name = ''mini_portile-0.6.0''; requiredGems = [ ]; - sha256 = ''0cafnlhdzakzl5vqcm9b97kchj9bvhlcf4ylkyr85lz1263hbagg''; + sha256 = ''09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn''; }; - minitar_0_5_3 = { + minitar_0_5_4 = { basename = ''minitar''; meta = { description = ''Provides POSIX tarchive management from Ruby programs.''; - homepage = ''http://rubyforge.org/projects/ruwiki/''; - longDescription = ''Archive::Tar::Minitar is a pure-Ruby library and command-line utility that provides the ability to deal with POSIX tar(1) archive files. The implementation is based heavily on Mauricio Ferna'ndez's implementation in rpa-base, but has been reorganised to promote reuse in other projects.''; + homepage = ''http://www.github.com/atoulme/minitar''; + longDescription = ''Archive::Tar::Minitar is a pure-Ruby library and command-line utility that provides the ability to deal with POSIX tar(1) archive files. The implementation is based heavily on Mauricio Ferna'ndez's implementation in rpa-base, but has been reorganised to promote reuse in other projects. Antoine Toulme forked the original project on rubyforge to place it on github, under http://www.github.com/atoulme/minitar''; }; - name = ''minitar-0.5.3''; + name = ''minitar-0.5.4''; requiredGems = [ ]; - sha256 = ''035vs1knnnjsb8arfp8vx75warvwcdpiljjwv38lqljai9v8fq53''; + sha256 = ''1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka''; }; - minitest_4_7_5 = { + minitest_5_4_0 = { basename = ''minitest''; meta = { description = ''minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking''; @@ -1477,64 +1082,53 @@ classes, modules, inheritance, methods. This means you only have to learn ruby to use minitest and all of your regular OO practices like extract-method refactorings still apply.''; }; - name = ''minitest-4.7.5''; - requiredGems = [ ]; - sha256 = ''03p6iban9gcpcflzp4z901s1hgj9369p6515h967ny6hlqhcf2iy''; - }; - mono_logger_1_1_0 = { - basename = ''mono_logger''; - meta = { - description = ''A lock-free logger compatible with Ruby 2.0.''; - homepage = ''http://github.com/steveklabnik/mono_logger''; - longDescription = ''A lock-free logger compatible with Ruby 2.0. Ruby does not allow you to request a lock in a trap handler because that could deadlock, so Logger is not sufficient.''; - }; - name = ''mono_logger-1.1.0''; + name = ''minitest-5.4.0''; requiredGems = [ ]; - sha256 = ''18yplq3xxv5crwpfwbw2sb6brqd3g51si7x9fbh9bcimg4ipzayp''; + sha256 = ''002xflqz5wl8gcj9gw4q66mq5jkp445zgd9c5vs6cw6lsfsyg4rl''; }; - multi_json_1_7_9 = { + multi_json_1_10_1 = { basename = ''multi_json''; meta = { description = ''A common interface to multiple JSON libraries.''; homepage = ''http://github.com/intridea/multi_json''; longDescription = ''A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.''; }; - name = ''multi_json-1.7.9''; + name = ''multi_json-1.10.1''; requiredGems = [ ]; - sha256 = ''1q13ldcc8shlfisy90k19zrar87208gs3za6jmr78p11ip21picx''; + sha256 = ''1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c''; }; - multi_json_1_8_2 = { + multi_json_1_3_6 = { basename = ''multi_json''; meta = { - description = ''A common interface to multiple JSON libraries.''; + description = ''A gem to provide swappable JSON backends.''; homepage = ''http://github.com/intridea/multi_json''; - longDescription = ''A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.''; + longDescription = ''A gem to provide easy switching between different JSON backends, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, and OkJson.''; }; - name = ''multi_json-1.8.2''; + name = ''multi_json-1.3.6''; requiredGems = [ ]; - sha256 = ''1ffmnwsfwdgspk86x1g98cq2ivqlgqpqngyrvs07zsnvgdimahdb''; + sha256 = ''0q2zjfvd2ibds9g9nzf2p1b47fc1wqliwfywv5pw85w15lmy91yr''; }; - multi_test_0_0_2 = { + multi_test_0_1_1 = { basename = ''multi_test''; meta = { - description = ''multi-test-0.0.2''; + description = ''multi-test-0.1.1''; homepage = ''http://cukes.info''; longDescription = ''Wafter-thin gem to help control rogue test/unit/autorun requires''; }; - name = ''multi_test-0.0.2''; + name = ''multi_test-0.1.1''; requiredGems = [ ]; - sha256 = ''0y8i0v0awc87laicqz1348k54z6wsyf141xqd7gh2bjgm9pc9pkr''; + sha256 = ''1dd810limbdc8k7ss83g83krrsjjqs79nicbdxk74l1a2sp2jhwv''; }; - multipart_post_1_2_0 = { + multipart_post_2_0_0 = { basename = ''multipart_post''; meta = { description = ''A multipart form post accessory for Net::HTTP.''; homepage = ''https://github.com/nicksieger/multipart-post''; longDescription = ''Use with Net::HTTP to do multipart form posts. IO values that have #content_type, #original_filename, and #local_path will be posted as a binary file.''; }; - name = ''multipart-post-1.2.0''; + name = ''multipart-post-2.0.0''; requiredGems = [ ]; - sha256 = ''12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc''; + sha256 = ''09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x''; }; net_http_digest_auth_1_4 = { basename = ''net_http_digest_auth''; @@ -1553,7 +1147,7 @@ for an example.''; requiredGems = [ ]; sha256 = ''14801gr34g0rmqz9pv4rkfa3crfdbyfk6r48vpg5a5407v0sixqi''; }; - net_http_persistent_2_9 = { + net_http_persistent_2_9_4 = { basename = ''net_http_persistent''; meta = { description = ''Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8''; @@ -1569,9 +1163,9 @@ Net::HTTP supports persistent connections with some API methods but does not handle reconnection gracefully. Net::HTTP::Persistent supports reconnection and retry according to RFC 2616.''; }; - name = ''net-http-persistent-2.9''; + name = ''net-http-persistent-2.9.4''; requiredGems = [ ]; - sha256 = ''0k9bp7q5fsh908jnkwfj71ky04i4ih0ky6sqi5vl6zcpjsczgfcb''; + sha256 = ''1y9fhaax0d9kkslyiqi1zys6cvpaqx9a0y0cywp24rpygwh4s9r4''; }; net_http_pipeline_1_0_1 = { basename = ''net_http_pipeline''; @@ -1586,49 +1180,38 @@ The server will respond in-order.''; requiredGems = [ ]; sha256 = ''0bxjy33yhxwsbnld8xj3zv64ibgfjn9rjpiqkyd5ipmz50pww8v9''; }; - net_sftp_2_0_5 = { + net_sftp_2_1_2 = { basename = ''net_sftp''; meta = { description = ''A pure Ruby implementation of the SFTP client protocol''; - homepage = ''http://net-ssh.rubyforge.org/sftp''; + homepage = ''https://github.com/net-ssh/net-sftp''; longDescription = ''A pure Ruby implementation of the SFTP client protocol''; }; - name = ''net-sftp-2.0.5''; - requiredGems = [ g.net_ssh_2_6_8 ]; - sha256 = ''0lqk735wspm8rbiyxpbil8ikrqcyg00ss1df7fny0761c3as6m0v''; + name = ''net-sftp-2.1.2''; + requiredGems = [ g.net_ssh_2_9_1 ]; + sha256 = ''04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y''; }; - net_ssh_2_6_0 = { + net_ssh_2_7_0 = { basename = ''net_ssh''; meta = { description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.''; - homepage = ''http://github.com/net-ssh/net-ssh''; + homepage = ''https://github.com/net-ssh/net-ssh''; longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.''; }; - name = ''net-ssh-2.6.0''; - requiredGems = [ g.jruby_pageant_1_1_1 ]; - sha256 = ''18fsgps4a9dfrjszkl3py8j7vw0xwi70bcp59ccj2rlr6i1jv5gw''; + name = ''net-ssh-2.7.0''; + requiredGems = [ ]; + sha256 = ''14v0cq2fws54kxpgz249xmjlajynhcs4s2szl8kjxgn4c78lrkmr''; }; - net_ssh_2_6_8 = { + net_ssh_2_9_1 = { basename = ''net_ssh''; meta = { description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.''; homepage = ''https://github.com/net-ssh/net-ssh''; longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.''; }; - name = ''net-ssh-2.6.8''; + name = ''net-ssh-2.9.1''; requiredGems = [ ]; - sha256 = ''0vf9w8b9f5ha94nwhvwxyqk4lfpy42ihl1g0qib8dfvswlkqw3mx''; - }; - netrc_0_7_7 = { - basename = ''netrc''; - meta = { - description = ''Library to read and write netrc files.''; - homepage = ''https://github.com/geemus/netrc''; - longDescription = ''This library can read and update netrc files, preserving formatting including comments and whitespace.''; - }; - name = ''netrc-0.7.7''; - requiredGems = [ ]; - sha256 = ''1y64v93hsxdwgx3dfkyzdki3zqd1slm42dmi23v0zy3kap4vpard''; + sha256 = ''1vscp4r58jisiigqc6d6752w19m1m6hmi3jkzmp3ydxai7h3jb2j''; }; nix_0_1_1 = { basename = ''nix''; @@ -1641,22 +1224,7 @@ The server will respond in-order.''; requiredGems = [ ]; sha256 = ''0kwrbkkg0gxibhsz9dpd5zabcf2wqsicg28yiazyb3dc9dslk26k''; }; - nokogiri_1_5_10 = { - basename = ''nokogiri''; - meta = { - description = ''Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser''; - homepage = ''http://nokogiri.org''; - longDescription = ''Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's -many features is the ability to search documents via XPath or CSS3 selectors. - -XML is like violence - if it doesn’t solve your problems, you are not using -enough of it.''; - }; - name = ''nokogiri-1.5.10''; - requiredGems = [ ]; - sha256 = ''0dblphzwzl705xmlqcflz8s60xzbcgi4xqzx7984l4kcssbkn71b''; - }; - nokogiri_1_6_0 = { + nokogiri_1_6_3_1 = { basename = ''nokogiri''; meta = { description = ''Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser''; @@ -1667,9 +1235,9 @@ many features is the ability to search documents via XPath or CSS3 selectors. XML is like violence - if it doesn’t solve your problems, you are not using enough of it.''; }; - name = ''nokogiri-1.6.0''; - requiredGems = [ g.mini_portile_0_5_1 ]; - sha256 = ''1icrny9w2hd0pm7cyq5wqdkbzr57dkma1lbyrr0x14lsnangkidb''; + name = ''nokogiri-1.6.3.1''; + requiredGems = [ g.mini_portile_0_6_0 ]; + sha256 = ''11958hlfd8i3i9y0wk1b6ck9x0j95l4zdbbixmdnnh1r8ijilxli''; }; ntlm_http_0_1_1 = { basename = ''ntlm_http''; @@ -1682,16 +1250,26 @@ enough of it.''; requiredGems = [ ]; sha256 = ''0yx01ffrw87wya1syivqzf8hz02axk7jdpw6aw221xwvib767d36''; }; - papertrail_0_9_7 = { + orderedhash_0_0_6 = { + basename = ''orderedhash''; + meta = { + description = ''orderedhash''; + homepage = ''http://codeforpeople.com/lib/ruby/orderedhash/''; + }; + name = ''orderedhash-0.0.6''; + requiredGems = [ ]; + sha256 = ''0fryy7f9jbpx33jq5m402yqj01zcg563k9fsxlqbhmq638p4bzd7''; + }; + papertrail_0_9_10 = { basename = ''papertrail''; meta = { description = ''Command-line client for Papertrail hosted log management service.''; homepage = ''http://github.com/papertrail/papertrail-cli''; longDescription = ''Command-line client for Papertrail hosted log management service. Tails and searches app server logs and system syslog. Supports Boolean search and works with grep and pipe output (Unix).''; }; - name = ''papertrail-0.9.7''; - requiredGems = [ g.addressable_2_3_5 g.yajl_ruby_1_1_0 g.chronic_0_10_1 g.faraday_0_8_8 g.faraday_middleware_0_8_8 ]; - sha256 = ''0v0m1v0qabbr9pmyl77znz39qy1m7p0xwvf3lf9hyq6n524f2dwr''; + name = ''papertrail-0.9.10''; + requiredGems = [ g.chronic_0_10_2 ]; + sha256 = ''1v2acc896w5q72m5pfxc8rx36gzih4fivyiqp0kxwypgyh0f0x58''; }; papertrail_cli_0_9_3 = { basename = ''papertrail_cli''; @@ -1701,7 +1279,7 @@ enough of it.''; longDescription = ''Placeholder gem to point to new papertrail gem.''; }; name = ''papertrail-cli-0.9.3''; - requiredGems = [ g.papertrail_0_9_7 ]; + requiredGems = [ g.papertrail_0_9_10 ]; sha256 = ''1914dcfqsmw5rl4xd1zwjrfbgwglyncxm8km06bgxaqn4wnaq5iv''; }; parallel_0_7_1 = { @@ -1714,7 +1292,7 @@ enough of it.''; requiredGems = [ ]; sha256 = ''1kzz6ydg7r23ks2b7zbpx4vz3h186n19vhgnjcwi7xwd6h2f1fsq''; }; - polyglot_0_3_3 = { + polyglot_0_3_5 = { basename = ''polyglot''; meta = { description = ''Augment 'require' to load non-Ruby file types''; @@ -1724,64 +1302,31 @@ The Polyglot library allows a Ruby module to register a loader for the file type associated with a filename extension, and it augments 'require' to find and load matching files.''; }; - name = ''polyglot-0.3.3''; + name = ''polyglot-0.3.5''; requiredGems = [ ]; - sha256 = ''082zmail2h3cxd9z1wnibhk6aj4sb1f3zzwra6kg9bp51kx2c00v''; + sha256 = ''1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr''; }; - posix_spawn_0_3_6 = { - basename = ''posix_spawn''; - meta = { - description = ''posix_spawnp(2) for ruby''; - homepage = ''http://github.com/rtomayko/posix-spawn''; - longDescription = ''posix-spawn uses posix_spawnp(2) for faster process spawning''; - }; - name = ''posix-spawn-0.3.6''; - requiredGems = [ ]; - sha256 = ''0f2mqka8024yz55iw8wbihvmakwqnbrdr4a1ffl3x2zi104yvb43''; - }; - pry_0_9_12_2 = { + pry_0_9_12_6 = { basename = ''pry''; meta = { description = ''An IRB alternative and runtime developer console''; homepage = ''http://pry.github.com''; longDescription = ''An IRB alternative and runtime developer console''; }; - name = ''pry-0.9.12.2''; - requiredGems = [ g.coderay_1_0_9 g.slop_3_4_6 g.method_source_0_8_2 ]; - sha256 = ''141slzb62zfzdhrygqjmrzh68s3vzrb4mwyipy2lhps5q4b46y9s''; + name = ''pry-0.9.12.6''; + requiredGems = [ g.coderay_1_1_0 g.slop_3_6_0 g.method_source_0_8_2 ]; + sha256 = ''0wmgamn83m1zb1fbqc22hiszjf2a2xij5jd95w2gvm5x6l5p61q1''; }; - pry_0_9_12_3 = { - basename = ''pry''; - meta = { - description = ''An IRB alternative and runtime developer console''; - homepage = ''http://pry.github.com''; - longDescription = ''An IRB alternative and runtime developer console''; - }; - name = ''pry-0.9.12.3''; - requiredGems = [ g.coderay_1_1_0 g.slop_3_4_7 g.method_source_0_8_2 ]; - sha256 = ''1dn80vnyq1l6192sg3p29d0yz6rswnsl8rn3lkf75c86a2qqxpy3''; - }; - pusher_client_0_3_1 = { + pusher_client_0_6_0 = { basename = ''pusher_client''; meta = { description = ''Client for consuming WebSockets from http://pusher.com''; homepage = ''http://github.com/pusher/pusher-ruby-client''; longDescription = ''Client for consuming WebSockets from http://pusher.com''; }; - name = ''pusher-client-0.3.1''; - requiredGems = [ g.websocket_1_0_7 g.ruby_hmac_0_4_0 ]; - sha256 = ''1mxqy960iln065fypk1ww3xgv7q396fpl6v0rp7ipls6aj86j970''; - }; - pygments_rb_0_5_4 = { - basename = ''pygments_rb''; - meta = { - description = ''pygments wrapper for ruby''; - homepage = ''http://github.com/tmm1/pygments.rb''; - longDescription = ''pygments.rb exposes the pygments syntax highlighter to Ruby''; - }; - name = ''pygments.rb-0.5.4''; - requiredGems = [ g.yajl_ruby_1_1_0 g.posix_spawn_0_3_6 ]; - sha256 = ''0ryl0f0zp0rffaggd978cmrkzsmf83x452fcinw6p705xdk4zbvl''; + name = ''pusher-client-0.6.0''; + requiredGems = [ g.websocket_1_2_0 g.json_1_8_1 ]; + sha256 = ''0n7l630qg6wgzak45b6gfjg9a0fmpbrs7mwchqqbja9mjs95r8qy''; }; rack_1_5_2 = { basename = ''rack''; @@ -1801,27 +1346,16 @@ Also see http://rack.github.com/. requiredGems = [ ]; sha256 = ''19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6''; }; - rack_protection_1_5_0 = { - basename = ''rack_protection''; - meta = { - description = ''You should use protection!''; - homepage = ''http://github.com/rkh/rack-protection''; - longDescription = ''You should use protection!''; - }; - name = ''rack-protection-1.5.0''; - requiredGems = [ g.rack_1_5_2 ]; - sha256 = ''10wm67f2mp9pryg0s8qapbyxd2lcrpb8ywsbicg29cv2xprhbl4j''; - }; - rack_protection_1_5_1 = { + rack_protection_1_5_3 = { basename = ''rack_protection''; meta = { description = ''You should use protection!''; homepage = ''http://github.com/rkh/rack-protection''; longDescription = ''You should use protection!''; }; - name = ''rack-protection-1.5.1''; + name = ''rack-protection-1.5.3''; requiredGems = [ g.rack_1_5_2 ]; - sha256 = ''0qxq5ld15nljxzdcx2wmbc3chw8nb6la1ap838vf263lnjcpx3dd''; + sha256 = ''0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r''; }; rack_test_0_6_2 = { basename = ''rack_test''; @@ -1837,27 +1371,27 @@ request helpers feature.''; requiredGems = [ g.rack_1_5_2 ]; sha256 = ''01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky''; }; - rails_4_0_0 = { + rails_4_1_5 = { basename = ''rails''; meta = { description = ''Full-stack web application framework.''; homepage = ''http://www.rubyonrails.org''; longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.''; }; - name = ''rails-4.0.0''; - requiredGems = [ g.activesupport_4_0_0 g.actionpack_4_0_0 g.activerecord_4_0_0 g.actionmailer_4_0_0 g.railties_4_0_0 g.bundler_1_3_5 g.sprockets_rails_2_0_0 ]; - sha256 = ''12q2z2zpqpr61rqdx8can2ay6y1xxi6ghmlkyvfvxnnwwzxypavf''; + name = ''rails-4.1.5''; + requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.actionview_4_1_5 g.activemodel_4_1_5 g.activerecord_4_1_5 g.actionmailer_4_1_5 g.railties_4_1_5 g.bundler_1_7_1 g.sprockets_rails_2_1_3 ]; + sha256 = ''12s3jkvd6bn40apxc3973czgs7s6y36aclbwif6j770v7sjd9qj7''; }; - railties_4_0_0 = { + railties_4_1_5 = { basename = ''railties''; meta = { description = ''Tools for creating, working with, and running Rails applications.''; homepage = ''http://www.rubyonrails.org''; longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.''; }; - name = ''railties-4.0.0''; - requiredGems = [ g.activesupport_4_0_0 g.actionpack_4_0_0 g.rake_10_1_0 g.thor_0_18_1 ]; - sha256 = ''063yyp75b87z0nr1mayzyq462nnhfm834mn97fcyg2mf3zr8qbly''; + name = ''railties-4.1.5''; + requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.rake_10_3_2 g.thor_0_19_1 ]; + sha256 = ''18jkjvny51vk53l2g9ibcnjk3gjj1vgh3pyrskmk69csqm2hmaha''; }; rake_0_9_2_2 = { basename = ''rake''; @@ -1870,109 +1404,58 @@ request helpers feature.''; requiredGems = [ ]; sha256 = ''19n4qp5gzbcqy9ajh56kgwqv9p9w2hnczhyvaqz0nlvk9diyng6q''; }; - rake_0_9_6 = { - basename = ''rake''; - meta = { - description = ''Ruby based make-like utility.''; - homepage = ''http://rake.rubyforge.org''; - longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies arespecified in standard Ruby syntax.''; - }; - name = ''rake-0.9.6''; - requiredGems = [ ]; - sha256 = ''09kyh351gddn6gjz255hbaza1cw235xvfz9dc15rhyq9phvqdphc''; - }; - rake_10_1_0 = { + rake_10_3_2 = { basename = ''rake''; meta = { - description = ''Ruby based make-like utility.''; - homepage = ''http://rake.rubyforge.org''; - longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies arespecified in standard Ruby syntax.''; + description = ''Rake is a Make-like program implemented in Ruby''; + homepage = ''https://github.com/jimweirich/rake''; + longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies are +specified in standard Ruby syntax. + +Rake has the following features: + +* Rakefiles (rake's version of Makefiles) are completely defined in + standard Ruby syntax. No XML files to edit. No quirky Makefile + syntax to worry about (is that a tab or a space?) + +* Users can specify tasks with prerequisites. + +* Rake supports rule patterns to synthesize implicit tasks. + +* Flexible FileLists that act like arrays but know about manipulating + file names and paths. + +* A library of prepackaged tasks to make building rakefiles easier. For example, + tasks for building tarballs and publishing to FTP or SSH sites. (Formerly + tasks for building RDoc and Gems were included in rake but they're now + available in RDoc and RubyGems respectively.) + +* Supports parallel execution of tasks.''; }; - name = ''rake-10.1.0''; + name = ''rake-10.3.2''; requiredGems = [ ]; - sha256 = ''1frsqpihi39x3yqaa7m9vbls1kd24wckbj5cpiwqix8xmcwnic7q''; + sha256 = ''0nvpkjrpsk8xxnij2wd1cdn6arja9q11sxx4aq4fz18bc6fss15m''; }; - rb_fsevent_0_9_3 = { + rb_fsevent_0_9_4 = { basename = ''rb_fsevent''; meta = { description = ''Very simple & usable FSEvents API''; homepage = ''http://rubygems.org/gems/rb-fsevent''; longDescription = ''FSEvents API with Signals catching (without RubyCocoa)''; }; - name = ''rb-fsevent-0.9.3''; + name = ''rb-fsevent-0.9.4''; requiredGems = [ ]; - sha256 = ''0bdnxwdxj4r1kdxfi5nszbsb126njrr81p912g64xxs2bgxd1bp1''; + sha256 = ''12if5xsik64kihxf5awsyavlp595y47g9qz77vfp2zvkxgglaka7''; }; - rb_inotify_0_9_2 = { - basename = ''rb_inotify''; - meta = { - description = ''A Ruby wrapper for Linux's inotify, using FFI''; - homepage = ''http://github.com/nex3/rb-inotify''; - longDescription = ''A Ruby wrapper for Linux's inotify, using FFI''; - }; - name = ''rb-inotify-0.9.2''; - requiredGems = [ g.ffi_1_9_3 ]; - sha256 = ''0752fhgfrx370b2jnhxzs8sjv2l8yrnwqj337kx9v100igd1c7iv''; - }; - rb_kqueue_0_2_0 = { - basename = ''rb_kqueue''; - meta = { - description = ''A Ruby wrapper for BSD's kqueue, using FFI''; - homepage = ''http://github.com/mat813/rb-kqueue''; - longDescription = ''A Ruby wrapper for BSD's kqueue, using FFI''; - }; - name = ''rb-kqueue-0.2.0''; - requiredGems = [ g.ffi_1_9_3 ]; - sha256 = ''1f2wimhq93a1zy2fbyj7iyh7hvzmzwn3pzhkwb3npy4mj1df83n3''; - }; - rdiscount_2_1_6 = { + rdiscount_2_1_7_1 = { basename = ''rdiscount''; meta = { description = ''Fast Implementation of Gruber's Markdown in C''; homepage = ''http://dafoster.net/projects/rdiscount/''; }; - name = ''rdiscount-2.1.6''; + name = ''rdiscount-2.1.7.1''; requiredGems = [ ]; - sha256 = ''180ln9gwxn0cyflg0i1viv7jyalmjqvqr34cb65xsmmsz1nz55q2''; - }; - redcarpet_2_3_0 = { - basename = ''redcarpet''; - meta = { - description = ''Markdown that smells nice''; - homepage = ''http://github.com/vmg/redcarpet''; - longDescription = ''A fast, safe and extensible Markdown to (X)HTML parser''; - }; - name = ''redcarpet-2.3.0''; - requiredGems = [ ]; - sha256 = ''1fghh7n9kz6n6bdhgix5s8lyj5sw6q44zizf4mdgz5xsgwqcr6sw''; - }; - redis_3_0_5 = { - basename = ''redis''; - meta = { - description = ''A Ruby client library for Redis''; - homepage = ''https://github.com/redis/redis-rb''; - longDescription = '' A Ruby client that tries to match Redis' API one-to-one, while still - providing an idiomatic interface. It features thread-safety, - client-side sharding, pipelining, and an obsession for performance. -''; - }; - name = ''redis-3.0.5''; - requiredGems = [ ]; - sha256 = ''01gg3mgh3yznfhxschcka593a3ivsyw5g5vr0g5apiz4lfh6dlkn''; - }; - redis_namespace_1_3_1 = { - basename = ''redis_namespace''; - meta = { - description = ''Namespaces Redis commands.''; - homepage = ''http://github.com/resque/redis-namespace''; - longDescription = ''Adds a Redis::Namespace class which can be used to namespace calls -to Redis. This is useful when using a single instance of Redis with -multiple, different applications. -''; - }; - name = ''redis-namespace-1.3.1''; - requiredGems = [ g.redis_3_0_5 ]; - sha256 = ''1l6a64z09ni5pi6mbgvsph0lp14cnp180aj7mxnq2nb38sig4iw5''; + sha256 = ''1g70vsgv7mdwcyk9rxja7wm4qqap67prqwkj335c460vlzs6pqii''; }; remote_syslog_1_6_14 = { basename = ''remote_syslog''; @@ -1985,52 +1468,16 @@ multiple, different applications. requiredGems = [ g.servolux_0_10_0 g.file_tail_1_0_12 g.eventmachine_1_0_3 g.eventmachine_tail_0_6_4 g.syslog_protocol_0_9_2 g.em_resolv_replace_1_1_3 ]; sha256 = ''1f2yjyqhbdc4vlx52zli1b33f6yn8qc1kd4n0dpv27zswj9qfdkr''; }; - resque_1_25_1 = { - basename = ''resque''; - meta = { - description = ''Resque is a Redis-backed queueing system.''; - homepage = ''http://github.com/defunkt/resque''; - longDescription = '' Resque is a Redis-backed Ruby library for creating background jobs, - placing those jobs on multiple queues, and processing them later. - - Background jobs can be any Ruby class or module that responds to - perform. Your existing classes can easily be converted to background - jobs or you can create new classes specifically to do work. Or, you - can do both. - - Resque is heavily inspired by DelayedJob (which rocks) and is - comprised of three parts: - - * A Ruby library for creating, querying, and processing jobs - * A Rake task for starting a worker which processes jobs - * A Sinatra app for monitoring queues, jobs, and workers. -''; - }; - name = ''resque-1.25.1''; - requiredGems = [ g.redis_namespace_1_3_1 g.vegas_0_1_11 g.sinatra_1_4_4 g.multi_json_1_8_2 g.mono_logger_1_1_0 ]; - sha256 = ''0p9kpj900cyb888wmpqx6ms9b0hza09glr4cvrwqwp1vqya25lpy''; - }; - resque_web_0_0_3 = { - basename = ''resque_web''; - meta = { - description = ''Rails-based Resque web interface''; - homepage = ''https://github.com/resque/resque-web''; - longDescription = ''A Rails-based frontend to the Resque job queue system.''; - }; - name = ''resque-web-0.0.3''; - requiredGems = [ g.resque_1_25_1 g.twitter_bootstrap_rails_2_2_8 g.jquery_rails_3_0_4 g.sass_rails_4_0_1 g.coffee_rails_4_0_1 ]; - sha256 = ''1v4g0zrlq9n0pkhdiwxqcmis5p8hpxm475vchldk63mi1vy4fvr2''; - }; - rest_client_1_6_7 = { - basename = ''rest_client''; + riemann_dash_0_2_9 = { + basename = ''riemann_dash''; meta = { - description = ''Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.''; - homepage = ''http://github.com/archiloque/rest-client''; - longDescription = ''A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.''; + description = ''HTTP dashboard for the distributed event system Riemann.''; + homepage = ''https://github.com/aphyr/riemann-dash''; + longDescription = ''HTTP dashboard for the distributed event system Riemann.''; }; - name = ''rest-client-1.6.7''; - requiredGems = [ g.mime_types_2_0 ]; - sha256 = ''0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853''; + name = ''riemann-dash-0.2.9''; + requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_1 g.webrick_1_3_1 g.multi_json_1_3_6 ]; + sha256 = ''0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3''; }; right_aws_3_1_0 = { basename = ''right_aws''; @@ -2077,10 +1524,10 @@ The RightScale AWS gems comprise: ''; }; name = ''right_aws-3.1.0''; - requiredGems = [ g.right_http_connection_1_4_0 ]; + requiredGems = [ g.right_http_connection_1_5_0 ]; sha256 = ''1a3l5vyvq078nq976rzkrd6fbj522sbgrxpdq3p9z373h0awha09''; }; - right_http_connection_1_4_0 = { + right_http_connection_1_5_0 = { basename = ''right_http_connection''; meta = { description = ''RightScale's robust HTTP/S connection module''; @@ -2095,11 +1542,11 @@ algorithm for low-level network errors. - HTTPS certificate checking ''; }; - name = ''right_http_connection-1.4.0''; + name = ''right_http_connection-1.5.0''; requiredGems = [ ]; - sha256 = ''0m4phly7srnwyvfqp01lpaxrgrybhszar0p23zl8b12r6bdjl84g''; + sha256 = ''0shd8v24aqxdvim1gdqzwxpanjhfgkhdaw0m0lzz7sybkb02j8qf''; }; - rjb_1_4_2 = { + rjb_1_4_8 = { basename = ''rjb''; meta = { description = ''Ruby Java bridge''; @@ -2107,11 +1554,11 @@ algorithm for low-level network errors. longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface. ''; }; - name = ''rjb-1.4.2''; + name = ''rjb-1.4.8''; requiredGems = [ ]; - sha256 = ''1cgbwpc45djs0mw05ydxf5apmb9ibj61n240ylqwzrajf13banzh''; + sha256 = ''06ps4ssaxb8jwja53h7v7kb31hsdr997b8na89d1yasm5zyraliw''; }; - rjb_1_4_8 = { + rjb_1_4_9 = { basename = ''rjb''; meta = { description = ''Ruby Java bridge''; @@ -2119,33 +1566,21 @@ algorithm for low-level network errors. longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface. ''; }; - name = ''rjb-1.4.8''; + name = ''rjb-1.4.9''; requiredGems = [ ]; - sha256 = ''06ps4ssaxb8jwja53h7v7kb31hsdr997b8na89d1yasm5zyraliw''; + sha256 = ''062f7bjwz6iz6da49nzzbbx4xn8ahqqha2smqvqhbf0i7kd5v0yz''; }; - rkelly_remix_0_0_4 = { + rkelly_remix_0_0_6 = { basename = ''rkelly_remix''; meta = { - description = ''Fork of the RKelly library to make it suitable as the JavaScript parser in JSDuck''; - longDescription = ''Fork of the RKelly library to make it suitable as the JavaScript parser -in JSDuck. - -* http://rkelly.rubyforge.org/''; - }; - name = ''rkelly-remix-0.0.4''; - requiredGems = [ ]; - sha256 = ''1w6yr5n3b8yd0rsba9q3zyxr0n2hbpkz4v2k1qx6j1ywvl9rc2c1''; - }; - rmagick_2_13_2 = { - basename = ''rmagick''; - meta = { - description = ''Ruby binding to ImageMagick''; - homepage = ''http://rubyforge.org/projects/rmagick''; - longDescription = ''RMagick is an interface between Ruby and ImageMagick.''; + description = ''RKelly Remix is a fork of the RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.''; + homepage = ''https://github.com/nene/rkelly-remix''; + longDescription = ''RKelly Remix is a fork of the +RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.''; }; - name = ''rmagick-2.13.2''; + name = ''rkelly-remix-0.0.6''; requiredGems = [ ]; - sha256 = ''1fw5rs5yqi5ayh44d18gjq68chiz14byx01h33c8jvkdxz3b9wz4''; + sha256 = ''1ihsns5v8nx96gvj7sqw5m8d6dsnmpfzpd07y860bldjhkjsxp1z''; }; rmail_1_0_0 = { basename = ''rmail''; @@ -2158,94 +1593,82 @@ in JSDuck. requiredGems = [ ]; sha256 = ''0nsg7yda1gdwa96j4hlrp2s0m06vrhcc4zy5mbq7gxmlmwf9yixp''; }; - rmail_sup_1_0_1 = { - basename = ''rmail_sup''; - meta = { - description = ''A MIME mail parsing and generation library.''; - homepage = ''http://supmua.org''; - longDescription = '' RMail is a lightweight mail library containing various utility classes and - modules that allow ruby scripts to parse, modify, and generate MIME mail - messages. -''; - }; - name = ''rmail-sup-1.0.1''; - requiredGems = [ ]; - sha256 = ''1xswk101s560lxqaax3plqh8vjx7jjspnggdwb3q80m358f92q9g''; - }; - rspec_2_11_0 = { + rspec_2_14_1 = { basename = ''rspec''; meta = { - description = ''rspec-2.11.0''; + description = ''rspec-2.14.1''; homepage = ''http://github.com/rspec''; longDescription = ''BDD for Ruby''; }; - name = ''rspec-2.11.0''; - requiredGems = [ g.rspec_core_2_11_1 g.rspec_expectations_2_11_3 g.rspec_mocks_2_11_3 ]; - sha256 = ''0k55akvs2xhs57kz81g37s4v56vybq46sjs7f8wpybrwxryg1vxs''; + name = ''rspec-2.14.1''; + requiredGems = [ g.rspec_core_2_14_8 g.rspec_expectations_2_14_5 g.rspec_mocks_2_14_6 ]; + sha256 = ''134y4wzk1prninb5a0bhxgm30kqfzl8dg06af4js5ylnhv2wd7sg''; + }; + rspec_core_2_14_5 = { + basename = ''rspec_core''; + meta = { + description = ''rspec-core-2.14.5''; + homepage = ''http://github.com/rspec/rspec-core''; + longDescription = ''BDD for Ruby. RSpec runner and example groups.''; + }; + name = ''rspec-core-2.14.5''; + requiredGems = [ ]; + sha256 = ''18zk2y5agzj4ps16hh1jlcqmyj0bmlcr24bl0m8gyhwf0gk1xmcr''; }; - rspec_core_2_11_1 = { + rspec_core_2_14_8 = { basename = ''rspec_core''; meta = { - description = ''rspec-core-2.11.1''; + description = ''rspec-core-2.14.8''; homepage = ''http://github.com/rspec/rspec-core''; longDescription = ''BDD for Ruby. RSpec runner and example groups.''; }; - name = ''rspec-core-2.11.1''; + name = ''rspec-core-2.14.8''; requiredGems = [ ]; - sha256 = ''035ki561pryy05y8cvv3mkihjwp9r2ychnazb7s33gl7q0l0jni4''; + sha256 = ''0psjy5kdlz3ph39br0m01w65i1ikagnqlg39f8p65jh5q7dz8hwc''; }; - rspec_expectations_2_11_3 = { + rspec_expectations_2_14_3 = { basename = ''rspec_expectations''; meta = { - description = ''rspec-expectations-2.11.3''; + description = ''rspec-expectations-2.14.3''; homepage = ''http://github.com/rspec/rspec-expectations''; longDescription = ''rspec expectations (should[_not] and matchers)''; }; - name = ''rspec-expectations-2.11.3''; - requiredGems = [ g.diff_lcs_1_1_3 ]; - sha256 = ''0vqqw4hkaff6v6i6kinki4jxp9xv8b2nbmz91qa1yhjd3wr14ai5''; + name = ''rspec-expectations-2.14.3''; + requiredGems = [ g.diff_lcs_1_2_5 ]; + sha256 = ''0gv5sqizmw0hdj1gl57mynp5i27kj4i0gpksrwwg9gazciq898n2''; }; - rspec_mocks_2_11_3 = { + rspec_expectations_2_14_5 = { + basename = ''rspec_expectations''; + meta = { + description = ''rspec-expectations-2.14.5''; + homepage = ''http://github.com/rspec/rspec-expectations''; + longDescription = ''rspec expectations (should[_not] and matchers)''; + }; + name = ''rspec-expectations-2.14.5''; + requiredGems = [ g.diff_lcs_1_2_5 ]; + sha256 = ''1ni8kw8kjv76jvwjzi4jba00k3qzj9f8wd94vm6inz0jz3gwjqf9''; + }; + rspec_mocks_2_14_3 = { basename = ''rspec_mocks''; meta = { - description = ''rspec-mocks-2.11.3''; + description = ''rspec-mocks-2.14.3''; homepage = ''http://github.com/rspec/rspec-mocks''; longDescription = ''RSpec's 'test double' framework, with support for stubbing and mocking''; }; - name = ''rspec-mocks-2.11.3''; + name = ''rspec-mocks-2.14.3''; requiredGems = [ ]; - sha256 = ''1rna3ii52rlhhca49zigk692hdcmz7qib42i4hhny478k04wx0qg''; + sha256 = ''1xfhjisvpmb212jhb3k4r1ji3rrlv509mphcf345ij5b75gaybzr''; }; - ruby_hmac_0_4_0 = { - basename = ''ruby_hmac''; + rspec_mocks_2_14_6 = { + basename = ''rspec_mocks''; meta = { - description = ''This module provides common interface to HMAC functionality''; - homepage = ''http://ruby-hmac.rubyforge.org''; - longDescription = ''This module provides common interface to HMAC functionality. HMAC is a kind of "Message Authentication Code" (MAC) algorithm whose standard is documented in RFC2104. Namely, a MAC provides a way to check the integrity of information transmitted over or stored in an unreliable medium, based on a secret key. - -Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach''; + description = ''rspec-mocks-2.14.6''; + homepage = ''http://github.com/rspec/rspec-mocks''; + longDescription = ''RSpec's 'test double' framework, with support for stubbing and mocking''; }; - name = ''ruby-hmac-0.4.0''; + name = ''rspec-mocks-2.14.6''; requiredGems = [ ]; - sha256 = ''01zym41f8fqbmxfz8zv19627swi62ka3gp33bfbkc87v5k7mw954''; - }; - rubyforge_2_0_4 = { - basename = ''rubyforge''; - meta = { - description = ''A script which automates a limited set of rubyforge operations''; - homepage = ''http://codeforpeople.rubyforge.org/rubyforge/''; - longDescription = ''A script which automates a limited set of rubyforge operations. - -* Run 'rubyforge help' for complete usage. -* Setup: For first time users AND upgrades to 0.4.0: - * rubyforge setup (deletes your username and password, so run sparingly!) - * edit ~/.rubyforge/user-config.yml - * rubyforge config -* For all rubyforge upgrades, run 'rubyforge config' to ensure you have latest.''; - }; - name = ''rubyforge-2.0.4''; - requiredGems = [ g.json_pure_1_8_0 ]; - sha256 = ''1wdaa4nzy39yzy848fa1rybi72qlyf9vhi1ra9wpx9rpi810fwh1''; + sha256 = ''1fwsmijd6w6cmqyh4ky2nq89jrpzh56hzmndx9wgkmdgfhfakv30''; }; rubyzip_0_9_9 = { basename = ''rubyzip''; @@ -2257,43 +1680,17 @@ Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach' requiredGems = [ ]; sha256 = ''1khf6d903agnwd8965f5f8b353rzmfvygxp53z1199rqzw8h46q2''; }; - rubyzip_1_1_0 = { + rubyzip_1_1_6 = { basename = ''rubyzip''; meta = { description = ''rubyzip is a ruby module for reading and writing zip files''; homepage = ''http://github.com/rubyzip/rubyzip''; }; - name = ''rubyzip-1.1.0''; + name = ''rubyzip-1.1.6''; requiredGems = [ ]; - sha256 = ''0kxpcs047fb52lz0imp6vl3hr5khqpk0jfbr2knfbp612ynzyzcl''; + sha256 = ''17ha7kmgcnhnxyfp9wgyrd2synp17v9g8j1pknhfd2v9x5g475m9''; }; - safe_yaml_0_9_7 = { - basename = ''safe_yaml''; - meta = { - description = ''SameYAML provides an alternative implementation of YAML.load suitable for accepting user input in Ruby applications.''; - homepage = ''http://dtao.github.com/safe_yaml/''; - longDescription = ''Parse YAML safely, without that pesky arbitrary object deserialization vulnerability''; - }; - name = ''safe_yaml-0.9.7''; - requiredGems = [ ]; - sha256 = ''0y34vpak8gim18rq02rgd144jsvk5is4xni16wm3shbhivzqb4hk''; - }; - sass_3_2_10 = { - basename = ''sass''; - meta = { - description = ''A powerful but elegant CSS compiler that makes CSS fun again.''; - homepage = ''http://sass-lang.com/''; - longDescription = '' Sass makes CSS fun again. Sass is an extension of CSS3, adding - nested rules, variables, mixins, selector inheritance, and more. - It's translated to well-formatted, standard CSS using the - command line tool or a web-framework plugin. -''; - }; - name = ''sass-3.2.10''; - requiredGems = [ ]; - sha256 = ''0anfff4hz8fz1wbimmp9vv4mjfl1swg7ww74j549788x41l4x283''; - }; - sass_3_2_12 = { + sass_3_4_1 = { basename = ''sass''; meta = { description = ''A powerful but elegant CSS compiler that makes CSS fun again.''; @@ -2304,31 +1701,20 @@ Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach' command line tool or a web-framework plugin. ''; }; - name = ''sass-3.2.12''; + name = ''sass-3.4.1''; requiredGems = [ ]; - sha256 = ''074118ia17nx68i97mbkly2f08y57j52b2yfhdc3s02s4s5593f8''; + sha256 = ''0f997m7g6gcd4yaxxrf1nylk2x8ynf7w2l631sby51zfn21rfli4''; }; - sass_rails_4_0_1 = { - basename = ''sass_rails''; - meta = { - description = ''Sass adapter for the Rails asset pipeline.''; - homepage = ''https://github.com/rails/sass-rails''; - longDescription = ''Sass adapter for the Rails asset pipeline.''; - }; - name = ''sass-rails-4.0.1''; - requiredGems = [ g.sass_3_2_12 g.railties_4_0_0 g.sprockets_rails_2_0_1 ]; - sha256 = ''01sacnipgvl7ad39zzbr6iip6jja7blxfbpjg2dnm6w8gi6smxh1''; - }; - selenium_webdriver_2_35_1 = { + selenium_webdriver_2_42_0 = { basename = ''selenium_webdriver''; meta = { description = ''The next generation developer focused tool for automated testing of webapps''; homepage = ''http://selenium.googlecode.com''; longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.''; }; - name = ''selenium-webdriver-2.35.1''; - requiredGems = [ g.multi_json_1_7_9 g.rubyzip_0_9_9 g.childprocess_0_3_9 g.websocket_1_0_7 ]; - sha256 = ''0251nbh6kbb96dv21n6fgbnw31p5gqr7anvhl8phrar5ylircqj6''; + name = ''selenium-webdriver-2.42.0''; + requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_0_7 ]; + sha256 = ''04yjwzc7cy2ax5xgp618z9jbm55cx4b5l546l7xnxj1hk30znw6q''; }; servolux_0_10_0 = { basename = ''servolux''; @@ -2352,81 +1738,51 @@ interpreters.''; longDescription = ''Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.''; }; name = ''sinatra-1.3.2''; - requiredGems = [ g.rack_1_5_2 g.rack_protection_1_5_0 g.tilt_1_4_1 ]; + requiredGems = [ g.rack_1_5_2 g.rack_protection_1_5_3 g.tilt_1_4_1 ]; sha256 = ''05blf915zpiwyz7agcn9rwdmddwxz0z4l3gd4qlqmrgd2vkw4sxc''; }; - sinatra_1_4_4 = { + sinatra_1_4_5 = { basename = ''sinatra''; meta = { description = ''Classy web-development dressed in a DSL''; homepage = ''http://www.sinatrarb.com/''; longDescription = ''Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.''; }; - name = ''sinatra-1.4.4''; - requiredGems = [ g.rack_1_5_2 g.tilt_1_4_1 g.rack_protection_1_5_1 ]; - sha256 = ''12iy0f92d3zyk4759flgcracrbzc3x6cilpgdkzhzgjrsm9aa5hs''; - }; - slop_3_4_6 = { - basename = ''slop''; - meta = { - description = ''Simple Lightweight Option Parsing''; - homepage = ''http://github.com/injekt/slop''; - longDescription = ''A simple DSL for gathering options and parsing the command line''; - }; - name = ''slop-3.4.6''; - requiredGems = [ ]; - sha256 = ''0fdp3nkljjs2d5yhgjzcqi0f6xq67byfbrayg5aj7r76rsw0hmal''; + name = ''sinatra-1.4.5''; + requiredGems = [ g.rack_1_5_2 g.tilt_1_4_1 g.rack_protection_1_5_3 ]; + sha256 = ''0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s''; }; - slop_3_4_7 = { + slop_3_6_0 = { basename = ''slop''; meta = { description = ''Simple Lightweight Option Parsing''; homepage = ''http://github.com/leejarvis/slop''; longDescription = ''A simple DSL for gathering options and parsing the command line''; }; - name = ''slop-3.4.7''; + name = ''slop-3.6.0''; requiredGems = [ ]; - sha256 = ''1x3dwljqvkzj314rwn2bxgim9xvgwnfipzg5g0kwwxfn90fpv2sn''; + sha256 = ''00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n''; }; - sprockets_2_10_0 = { + sprockets_2_12_1 = { basename = ''sprockets''; meta = { description = ''Rack-based asset packaging system''; homepage = ''http://getsprockets.org/''; longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.''; }; - name = ''sprockets-2.10.0''; - requiredGems = [ g.hike_1_2_3 g.multi_json_1_7_9 g.rack_1_5_2 g.tilt_1_4_1 ]; - sha256 = ''1z0kiaymvqm07wqqy479vd8a60ggr3f3520b4splljbn2055fn3s''; + name = ''sprockets-2.12.1''; + requiredGems = [ g.hike_1_2_3 g.multi_json_1_10_1 g.rack_1_5_2 g.tilt_1_4_1 ]; + sha256 = ''0fi5f32i3bj739qb0zn050k5jjkfqzkn8fjz5dfjwhmh9hl5pb1y''; }; - sprockets_rails_2_0_0 = { + sprockets_rails_2_1_3 = { basename = ''sprockets_rails''; meta = { description = ''Sprockets Rails integration''; homepage = ''https://github.com/rails/sprockets-rails''; }; - name = ''sprockets-rails-2.0.0''; - requiredGems = [ g.sprockets_2_10_0 g.actionpack_4_0_0 g.activesupport_4_0_0 ]; - sha256 = ''068w0ly7x1vciy4j6mwgsnz6a983pld4rzk1fpvfsmkdqcizb20x''; - }; - sprockets_rails_2_0_1 = { - basename = ''sprockets_rails''; - meta = { - description = ''Sprockets Rails integration''; - homepage = ''https://github.com/rails/sprockets-rails''; - }; - name = ''sprockets-rails-2.0.1''; - requiredGems = [ g.sprockets_2_10_0 g.actionpack_4_0_0 g.activesupport_4_0_0 ]; - sha256 = ''170llk1qsvzhhslmasqk4hp5lrv9ibwy44q32yg6kn9s7sh0c1wy''; - }; - syntax_1_0_0 = { - basename = ''syntax''; - meta = { - description = ''Syntax is Ruby library for performing simple syntax highlighting.''; - }; - name = ''syntax-1.0.0''; - requiredGems = [ ]; - sha256 = ''1z93kkhdq55vq3fg9wljhm591cj59qis58dk97l09b8bfxi2ypk0''; + name = ''sprockets-rails-2.1.3''; + requiredGems = [ g.sprockets_2_12_1 g.actionpack_4_1_5 g.activesupport_4_1_5 ]; + sha256 = ''12kdy9vjn3ygrxhn9jxxx0rvsq601vayrkgbr3rqcpyhqhl4s4wy''; }; syslog_protocol_0_9_2 = { basename = ''syslog_protocol''; @@ -2439,16 +1795,16 @@ interpreters.''; requiredGems = [ ]; sha256 = ''1yb2cmbyj0zmb2yhkgnmghcngrkhcxs4g1svcmgfj90l2hs23nmc''; }; - systemu_2_5_2 = { + systemu_2_6_4 = { basename = ''systemu''; meta = { description = ''systemu''; homepage = ''https://github.com/ahoward/systemu''; - longDescription = ''description: systemu kicks the ass''; + longDescription = ''universal capture of stdout and stderr and handling of child process pid for windows, *nix, etc.''; }; - name = ''systemu-2.5.2''; + name = ''systemu-2.6.4''; requiredGems = [ ]; - sha256 = ''0h834ajdg9w4xrijp31fn98pjfj08gi08xjvp5xh3i6hz9a25fhr''; + sha256 = ''16k94azpsy1r958r6ysk4ksnpp54rqmh5hyamad9kwc3lk83i32z''; }; taskjuggler_3_5_0 = { basename = ''taskjuggler''; @@ -2467,84 +1823,73 @@ management. ''; }; name = ''taskjuggler-3.5.0''; - requiredGems = [ g.mail_2_5_4 g.term_ansicolor_1_2_2 ]; + requiredGems = [ g.mail_2_6_1 g.term_ansicolor_1_3_0 ]; sha256 = ''0r84rlc7a6w7p9nc9mgycbs5h0hq0kzscjq7zj3296xyf0afiwj2''; }; - term_ansicolor_1_2_2 = { + term_ansicolor_1_3_0 = { basename = ''term_ansicolor''; meta = { description = ''Ruby library that colors strings using ANSI escape sequences''; homepage = ''http://flori.github.com/term-ansicolor''; longDescription = ''This library uses ANSI escape sequences to control the attributes of terminal output''; }; - name = ''term-ansicolor-1.2.2''; - requiredGems = [ g.tins_0_9_0 ]; - sha256 = ''1b41q1q6mqcgzq9fhzhmjvfg5sfs5v7gkb8z57r4hajcp89lflxr''; + name = ''term-ansicolor-1.3.0''; + requiredGems = [ g.tins_1_3_2 ]; + sha256 = ''1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b''; }; - terminal_notifier_1_5_1 = { + terminal_notifier_1_6_1 = { basename = ''terminal_notifier''; meta = { description = ''Send User Notifications on Mac OS X 10.8 or higher.''; homepage = ''https://github.com/alloy/terminal-notifier''; }; - name = ''terminal-notifier-1.5.1''; + name = ''terminal-notifier-1.6.1''; requiredGems = [ ]; - sha256 = ''1vvdfj83bsa2rglwbqmk11yghivsywl6ka76zb51c3xm7gdd768k''; + sha256 = ''0j14sblviiypzc9vb508ldd78winba4vhnm9nhg3zpq07p3528g7''; }; - text_1_2_3 = { + text_1_3_0 = { basename = ''text''; meta = { description = ''A collection of text algorithms''; homepage = ''http://github.com/threedaymonk/text''; longDescription = ''A collection of text algorithms: Levenshtein, Soundex, Metaphone, Double Metaphone, Porter Stemming''; }; - name = ''text-1.2.3''; + name = ''text-1.3.0''; requiredGems = [ ]; - sha256 = ''14p1b3m7sxjs4ckjnd1whz82hkv0cj08j3rpkvcbavwbm07zpsd0''; + sha256 = ''1bfn0rm2a7gpsxplx3dii3a7q16hi7idsqp54fh92b3j9sqgidj7''; }; - thin_1_5_1 = { + thin_1_6_2 = { basename = ''thin''; meta = { description = ''A thin and fast web server''; homepage = ''http://code.macournoyer.com/thin/''; longDescription = ''A thin and fast web server''; }; - name = ''thin-1.5.1''; + name = ''thin-1.6.2''; requiredGems = [ g.rack_1_5_2 g.eventmachine_1_0_3 g.daemons_1_1_9 ]; - sha256 = ''0hrq9m3hb6pm8yrqshhg0gafkphdpvwcqmr7k722kgdisp3w91ga''; + sha256 = ''0v90rnnai8sc40c02dxj9aawj2mi1mhjnmi4ws0rg4yrkc6fxvmq''; }; - thor_0_18_1 = { + thor_0_19_1 = { basename = ''thor''; meta = { - description = ''A scripting framework that replaces rake, sake and rubigen''; + description = ''Thor is a toolkit for building powerful command-line interfaces.''; homepage = ''http://whatisthor.com/''; - longDescription = ''A scripting framework that replaces rake, sake and rubigen''; + longDescription = ''Thor is a toolkit for building powerful command-line interfaces.''; }; - name = ''thor-0.18.1''; + name = ''thor-0.19.1''; requiredGems = [ ]; - sha256 = ''0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3''; + sha256 = ''08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z''; }; - thread_safe_0_1_2 = { + thread_safe_0_3_4 = { basename = ''thread_safe''; meta = { description = ''A collection of data structures and utilities to make thread-safe programming in Ruby easier''; homepage = ''https://github.com/headius/thread_safe''; longDescription = ''Thread-safe collections and utilities for Ruby''; }; - name = ''thread_safe-0.1.2''; - requiredGems = [ g.atomic_1_1_13 ]; - sha256 = ''1bxyh5l11inadbk7pjyz5s98g24qj8xavh55bc56nrzj51y9aavy''; - }; - thread_safe_0_1_3 = { - basename = ''thread_safe''; - meta = { - description = ''A collection of data structures and utilities to make thread-safe programming in Ruby easier''; - homepage = ''https://github.com/headius/thread_safe''; - longDescription = ''Thread-safe collections and utilities for Ruby''; - }; - name = ''thread_safe-0.1.3''; - requiredGems = [ g.atomic_1_1_14 ]; - sha256 = ''0f2w62x5nx95d2c2lrn9v4g60xhykf8zw7jaddkrgal913dzifgq''; + name = ''thread_safe-0.3.4''; + requiredGems = [ ]; + sha256 = ''1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n''; }; tilt_1_4_1 = { basename = ''tilt''; @@ -2557,38 +1902,38 @@ management. requiredGems = [ ]; sha256 = ''00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir''; }; - timers_1_1_0 = { - basename = ''timers''; + tins_0_13_2 = { + basename = ''tins''; meta = { - description = ''Schedule procs to run after a certain time, or at periodic intervals, using any API that accepts a timeout''; - homepage = ''https://github.com/tarcieri/timers''; - longDescription = ''Pure Ruby one-shot and periodic timers''; + description = ''Useful stuff.''; + homepage = ''http://flori.github.com/tins''; + longDescription = ''All the stuff that isn't good/big enough for a real library.''; }; - name = ''timers-1.1.0''; + name = ''tins-0.13.2''; requiredGems = [ ]; - sha256 = ''0x3vnkxy3bg9f6v1nhkfqkajr19glrzkmqd5a1wy8hrylx8rdfrv''; + sha256 = ''1ygkm4ava7x6ap61qz6pn79193g6g29248fa04mwknsz6acfjs2y''; }; - tins_0_9_0 = { + tins_1_3_2 = { basename = ''tins''; meta = { description = ''Useful stuff.''; homepage = ''http://flori.github.com/tins''; longDescription = ''All the stuff that isn't good/big enough for a real library.''; }; - name = ''tins-0.9.0''; + name = ''tins-1.3.2''; requiredGems = [ ]; - sha256 = ''17147yzxhbcby9ycswai6sgc9cxdlbfa897amjsimkyqv1lh9pbc''; + sha256 = ''1i27zj1bhmgq19f3i5i08njprfnlv3yi5frm8ax6w0b342p6v8ly''; }; - travis_1_5_3 = { + travis_1_7_1 = { basename = ''travis''; meta = { description = ''Travis CI client''; - homepage = ''https://github.com/travis-ci/travis''; + homepage = ''https://github.com/travis-ci/travis.rb''; longDescription = ''CLI and Ruby client library for Travis CI''; }; - name = ''travis-1.5.3''; - requiredGems = [ g.faraday_0_8_8 g.faraday_middleware_0_9_0 g.highline_1_6_19 g.netrc_0_7_7 g.backports_3_3_3 g.gh_0_12_0 g.launchy_2_3_0 g.pry_0_9_12_2 g.typhoeus_0_6_5 g.pusher_client_0_3_1 ]; - sha256 = ''052kqfd0280ar9ci9vplihbc4a69l06m8chfrriygvjxc14npx97''; + name = ''travis-1.7.1''; + requiredGems = [ g.faraday_0_9_0 g.faraday_middleware_0_9_1 g.highline_1_6_21 g.backports_3_6_0 g.gh_0_13_2 g.launchy_2_4_2 g.pry_0_9_12_6 g.typhoeus_0_6_9 g.pusher_client_0_6_0 g.addressable_2_3_6 ]; + sha256 = ''1h0xajfzkz7pdrbhs2650nl5www8qfmgazmmmw0bcr3dai5kimdf''; }; treetop_1_4_15 = { basename = ''treetop''; @@ -2597,7 +1942,7 @@ management. homepage = ''https://github.com/cjheath/treetop''; }; name = ''treetop-1.4.15''; - requiredGems = [ g.polyglot_0_3_3 g.polyglot_0_3_3 ]; + requiredGems = [ g.polyglot_0_3_5 g.polyglot_0_3_5 ]; sha256 = ''1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz''; }; trollop_2_0 = { @@ -2615,51 +1960,29 @@ specify.''; requiredGems = [ ]; sha256 = ''0iz5k7ax7a5jm9x6p81k6f4mgp48wxxb0j55ypnwxnznih8fsghz''; }; - twitter_bootstrap_rails_2_2_8 = { - basename = ''twitter_bootstrap_rails''; - meta = { - description = ''Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline''; - homepage = ''https://github.com/seyhunak/twitter-bootstrap-rails''; - longDescription = ''twitter-bootstrap-rails project integrates Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline''; - }; - name = ''twitter-bootstrap-rails-2.2.8''; - requiredGems = [ g.railties_4_0_0 g.actionpack_4_0_0 g.execjs_2_0_2 g.rails_4_0_0 ]; - sha256 = ''06n836l2kj5ld7w6b1pb5q423mhqnahf4phk5ai5vl927p4g3bgy''; - }; - typhoeus_0_6_5 = { + typhoeus_0_6_9 = { basename = ''typhoeus''; meta = { description = ''Parallel HTTP library on top of libcurl multi.''; homepage = ''https://github.com/typhoeus/typhoeus''; longDescription = ''Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.''; }; - name = ''typhoeus-0.6.5''; - requiredGems = [ g.ethon_0_6_1 ]; - sha256 = ''13xwy86iv98ypagrb6d95k1xf6yllnfqnh4ipfqix87npirjaxji''; + name = ''typhoeus-0.6.9''; + requiredGems = [ g.ethon_0_7_1 ]; + sha256 = ''1j4l2zwx821hzsfqskcq47xpk6b7yzl30mhzmdrfrsrhsigmayar''; }; - tzinfo_0_3_37 = { + tzinfo_1_2_2 = { basename = ''tzinfo''; meta = { - description = ''Daylight-savings aware timezone library''; - homepage = ''http://tzinfo.rubyforge.org/''; - longDescription = ''TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations between times in different time zones.''; - }; - name = ''tzinfo-0.3.37''; - requiredGems = [ ]; - sha256 = ''0pi2vabsg73h6z4wfwyd27k63issp2qp1nh0vd74rdk740gmb3kc''; - }; - tzinfo_0_3_38 = { - basename = ''tzinfo''; - meta = { - description = ''Daylight-savings aware timezone library''; + description = ''Daylight savings aware timezone library''; homepage = ''http://tzinfo.github.io''; - longDescription = ''TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations between times in different time zones.''; + longDescription = ''TZInfo provides daylight savings aware transformations between times in different time zones.''; }; - name = ''tzinfo-0.3.38''; - requiredGems = [ ]; - sha256 = ''1s339ravgk0rqm5dhv1l0yi81sczjvdiryn8ihi2czkb0md55j68''; + name = ''tzinfo-1.2.2''; + requiredGems = [ g.thread_safe_0_3_4 ]; + sha256 = ''1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx''; }; - unf_0_1_2 = { + unf_0_1_4 = { basename = ''unf''; meta = { description = ''A wrapper library to bring Unicode Normalization Form support to Ruby/JRuby''; @@ -2668,9 +1991,9 @@ specify.''; to Ruby/JRuby. ''; }; - name = ''unf-0.1.2''; + name = ''unf-0.1.4''; requiredGems = [ g.unf_ext_0_0_6 ]; - sha256 = ''1g6agdd14yylawwd9ifgcpxwfyiydqj9l7cq6ipypj70v1l46i1s''; + sha256 = ''0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9''; }; unf_ext_0_0_6 = { basename = ''unf_ext''; @@ -2683,17 +2006,6 @@ to Ruby/JRuby. requiredGems = [ ]; sha256 = ''07zbmkzcid6pzdqgla3456ipfdka7j1v4hsx1iaa8rbnllqbmkdg''; }; - unicode_0_4_4 = { - basename = ''unicode''; - meta = { - description = ''Unicode normalization library.''; - homepage = ''http://www.yoshidam.net/Ruby.html#unicode''; - longDescription = ''Unicode normalization library.''; - }; - name = ''unicode-0.4.4''; - requiredGems = [ ]; - sha256 = ''0la9dyxj7pr57g5727gj1h5c6h5kpbjdjpiv2vqi5gw5iglg0yqi''; - }; uuid_2_3_7 = { basename = ''uuid''; meta = { @@ -2704,31 +2016,18 @@ to Ruby/JRuby. ''; }; name = ''uuid-2.3.7''; - requiredGems = [ g.macaddr_1_6_1 ]; + requiredGems = [ g.macaddr_1_7_1 ]; sha256 = ''04q10an3v40zwjihvdwm23fw6vl39fbkhdiwfw78a51ym9airnlp''; }; - uuidtools_2_1_4 = { - basename = ''uuidtools''; + webrick_1_3_1 = { + basename = ''webrick''; meta = { - description = ''UUID generator''; - homepage = ''http://uuidtools.rubyforge.org/''; - longDescription = ''A simple universally unique ID generation library. -''; + description = ''WEBrick is an HTTP server toolkit that can be configured as an HTTPS server,''; + homepage = ''http://github.com/nahi/webrick''; }; - name = ''uuidtools-2.1.4''; + name = ''webrick-1.3.1''; requiredGems = [ ]; - sha256 = ''1w0bhnkp5515f3yx5fakfrfkawxjpb4fjm1r2c6lk691xlr696s3''; - }; - vegas_0_1_11 = { - basename = ''vegas''; - meta = { - description = ''Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps.''; - homepage = ''http://code.quirkey.com/vegas''; - longDescription = ''Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps. It includes a class Vegas::Runner that wraps Rack/Sinatra applications and provides a simple command line interface and launching mechanism.''; - }; - name = ''vegas-0.1.11''; - requiredGems = [ g.rack_1_5_2 ]; - sha256 = ''0kzv0v1zb8vvm188q4pqwahb6468bmiamn6wpsbiq6r5i69s1bs5''; + sha256 = ''0s42mxihcl2bx0h9q0v2syl70qndydfkl39a06h9il17p895ya8g''; }; webrobots_0_1_1 = { basename = ''webrobots''; @@ -2753,6 +2052,17 @@ to Ruby/JRuby. requiredGems = [ ]; sha256 = ''1jrfz4295qbnjaxv37fw9jzxyxz61izp7c0683mnscacpx262zw0''; }; + websocket_1_2_0 = { + basename = ''websocket''; + meta = { + description = ''Universal Ruby library to handle WebSocket protocol''; + homepage = ''http://github.com/imanel/websocket-ruby''; + longDescription = ''Universal Ruby library to handle WebSocket protocol''; + }; + name = ''websocket-1.2.0''; + requiredGems = [ ]; + sha256 = ''17q3fsqwa44cali3x852jzjpzgcvvly0n8gszmkaqx520lb9r5l4''; + }; xapian_full_1_2_3 = { basename = ''xapian_full''; meta = { @@ -2763,35 +2073,25 @@ to Ruby/JRuby. requiredGems = [ ]; sha256 = ''02z0wsir38jsp5d6sqrkgv5prk8s6sdf6g2h718j2374kpnkyrxv''; }; - xapian_ruby_1_2_15_1 = { + xapian_ruby_1_2_17 = { basename = ''xapian_ruby''; meta = { description = ''xapian libraries and ruby bindings''; homepage = ''https://github.com/garaio/xapian-ruby''; }; - name = ''xapian-ruby-1.2.15.1''; + name = ''xapian-ruby-1.2.17''; requiredGems = [ ]; - sha256 = ''02v3l931246asbcivkr4j0x99pl4i4fjvfsr8ga8v6lkvz0ls1xp''; + sha256 = ''1vhqykr0b877pb8x5n3v4fb4znm92mqhijinss7mvqzfimwfbxfg''; }; - xml_simple_1_1_1 = { + xml_simple_1_1_2 = { basename = ''xml_simple''; meta = { description = ''A simple API for XML processing.''; - homepage = ''http://xml-simple.rubyforge.org''; - }; - name = ''xml-simple-1.1.1''; - requiredGems = [ ]; - sha256 = ''0zlwz8kvpm45m227aazg369fapbqyhvd5v9aga8cvxyhqnq0b87i''; - }; - yajl_ruby_1_1_0 = { - basename = ''yajl_ruby''; - meta = { - description = ''Ruby C bindings to the excellent Yajl JSON stream-based parser library.''; - homepage = ''http://github.com/brianmario/yajl-ruby''; + homepage = ''https://github.com/maik/xml-simple''; }; - name = ''yajl-ruby-1.1.0''; + name = ''xml-simple-1.1.2''; requiredGems = [ ]; - sha256 = ''0sj46j47icb12hdhcfh76rnvddyiic5ifqzkh3kla1vcr505kf4m''; + sha256 = ''0ni8cbkj7l2k5pc4fs2jzp1ymxy4xqa2jc681l4y9iy9chrayddb''; }; }; } diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix index 10cbf1ecfe562c35e5ece192c46bd713b95ce1ac..9d694eac1e42a843d1387dc7e0bcdcb307dceb03 100644 --- a/pkgs/development/interpreters/ruby/patches.nix +++ b/pkgs/development/interpreters/ruby/patches.nix @@ -1,6 +1,6 @@ { fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi , zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty, imagemagick -, pkgconfig }: +, pkgconfig, libiconv }: let @@ -80,9 +80,10 @@ in }; nokogiri = { + buildInputs = [ libxml2 ]; buildFlags = [ "--with-xml2-dir=${libxml2} --with-xml2-include=${libxml2}/include/libxml2" - "--with-xslt-dir=${libxslt}" + "--with-xslt-dir=${libxslt} --with-iconv-dir=${libiconv} --use-system-libraries" ]; }; diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.2.nix b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix new file mode 100644 index 0000000000000000000000000000000000000000..430bf4f166518061e1562179f59f60fcebede437 --- /dev/null +++ b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix @@ -0,0 +1,72 @@ +{ stdenv, fetchurl +, zlib, zlibSupport ? true +, openssl, opensslSupport ? true +, gdbm, gdbmSupport ? true +, ncurses, readline, cursesSupport ? false +, groff, docSupport ? false +, libyaml, yamlSupport ? true +}: + +let + op = stdenv.lib.optional; + ops = stdenv.lib.optionals; +in + +stdenv.mkDerivation rec { + name = "ruby-2.1.2"; + src = fetchurl { + url = "http://cache.ruby-lang.org/pub/ruby/2.1/${name}.tar.bz2"; + sha256 = "6948b02570cdfb89a8313675d4aa665405900e27423db408401473f30fc6e901"; + }; + + # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds. + NROFF = "${groff}/bin/nroff"; + + buildInputs = (ops cursesSupport [ ncurses readline ] ) + ++ (op docSupport groff ) + ++ (op zlibSupport zlib) + ++ (op opensslSupport openssl) + ++ (op gdbmSupport gdbm) + ++ (op yamlSupport libyaml) + # Looks like ruby fails to build on darwin without readline even if curses + # support is not enabled, so add readline to the build inputs if curses + # support is disabled (if it's enabled, we already have it) and we're + # running on darwin + ++ (op (!cursesSupport && stdenv.isDarwin) readline); + + enableParallelBuilding = true; + + configureFlags = ["--enable-shared" ] + # on darwin, we have /usr/include/tk.h -- so the configure script detects + # that tk is installed + ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]); + + installFlags = stdenv.lib.optionalString docSupport "install-doc"; + # Bundler tries to create this directory + postInstall = '' + # Bundler tries to create this directory + mkdir -pv $out/${passthru.gemPath} + mkdir -p $out/nix-support + cat > $out/nix-support/setup-hook < 'worldBuilder.self' _RunScript + # + # This image can later be started with: + # $ Self -s myimage.snap + # + version = "4.5.0"; + name = "self-${version}"; + + src = fetchgit { + url = "https://github.com/russellallen/self"; + rev = "d16bcaad3c5092dae81ad0b16d503f2a53b8ef86"; + sha256 = "966025b71542e44fc830b951f404f5721ad410ed24f7236fd0cd820ea0fc5731"; + }; + + # gcc 4.6 and above causes crashes on Self startup but gcc 4.4 works. + buildInputs = [ gcc44 ncurses xlibs.libX11 xlibs.libXext makeWrapper cmake ]; + + selfWrapper = ./self; + + installPhase = '' + mkdir -p "$out"/bin + cp ./vm/Self "$out"/bin/Self.wrapped + mkdir -p "$out"/share/self + cp -r ../objects "$out"/share/self/ + makeWrapper $selfWrapper $out/bin/Self \ + --set SELF_ROOT "$out" + ''; + + meta = { + description = "A prototype-based dynamic object-oriented programming language, environment, and virtual machine"; + homepage = "http://selflanguage.org/"; + license = stdenv.lib.licenses.bsd3; + maintainer = [ stdenv.lib.maintainers.doublec ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/development/interpreters/self/self b/pkgs/development/interpreters/self/self new file mode 100755 index 0000000000000000000000000000000000000000..d504682086b08248d067d1df0d4746a17f0942cf --- /dev/null +++ b/pkgs/development/interpreters/self/self @@ -0,0 +1,18 @@ +#! /usr/bin/env bash + +export SELF_HOME="$HOME/.local/share/self" +if [ -n "$XDG_DATA_HOME" ] + then export SELF_HOME="$XDG_DATA_HOME/self" +fi + +if [ ! -d $SELF_HOME ]; then + mkdir -p $SELF_HOME +fi + +if [ ! -d $SELF_HOME/objects ]; then + mkdir -p $SELF_HOME/objects + cp -r $SELF_ROOT/share/self/objects/* $SELF_HOME/objects + chmod -R +w $SELF_HOME/objects +fi + +exec $SELF_ROOT/bin/Self.wrapped "$@" diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix index 12273f845668f77637c9aa23459900164c44b14c..4c2739d00ecf0f8919f58989f687d257b83cccd5 100644 --- a/pkgs/development/libraries/CGAL/default.nix +++ b/pkgs/development/libraries/CGAL/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, cmake, boost, gmp, mpfr }: stdenv.mkDerivation rec { - version = "4.3"; + version = "4.4"; name = "cgal-${version}"; src = fetchurl { - url = "https://gforge.inria.fr/frs/download.php/32995/CGAL-${version}.tar.xz"; - sha256 = "015vw57dmy43bf63mg3916cgcsbv9dahwv24bnmiajyanj2mhiyc"; + url = "https://gforge.inria.fr/frs/download.php/33526/CGAL-${version}.tar.xz"; + sha256 = "1s0ylyrx74vgw6vsg6xxk4b07jrxh8pqcmxcbkx46v01nczv3ixj"; }; buildInputs = [ cmake boost gmp mpfr ]; diff --git a/pkgs/development/libraries/SDL2_net/default.nix b/pkgs/development/libraries/SDL2_net/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..e41546512e94e72bf707dbc2da886715a7348aae --- /dev/null +++ b/pkgs/development/libraries/SDL2_net/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, SDL2 }: + +stdenv.mkDerivation rec { + name = "SDL2_net-2.0.0"; + + src = fetchurl { + url = "http://www.libsdl.org/projects/SDL_net/release/${name}.tar.gz"; + sha256 = "d715be30783cc99e541626da52079e308060b21d4f7b95f0224b1d06c1faacab"; + }; + + propagatedBuildInputs = [SDL2]; + + postInstall = "ln -s $out/include/SDL2/SDL_net.h $out/include/"; + + meta = with stdenv.lib; { + description = "SDL multiplatform networking library"; + homepage = https://www.libsdl.org/projects/SDL_net; + license = licenses.zlib; + maintainers = [ maintainers.MP2E ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix index d1510e3423809a670ea95f852295cdc85e4ce6b3..9f3307742ec4f2e2271bfb0ea0b04bc3f12bfb0d 100644 --- a/pkgs/development/libraries/audio/lilv/default.nix +++ b/pkgs/development/libraries/audio/lilv/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "lilv-${version}"; - version = "0.18.0"; + version = "0.20.0"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1k9wfc08ylgbkwbnvh1fx1bdzl3y59xrrx8gv0vk68yzcvcmv6am"; + sha256 = "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"; }; buildInputs = [ lv2 pkgconfig python serd sord sratom ]; diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix index 25d19d089a57d49be51daa3d2f9106ffacf88b1c..f03f6b3d37105345426fd78bc38d14183d669bf6 100644 --- a/pkgs/development/libraries/audio/lv2/default.nix +++ b/pkgs/development/libraries/audio/lv2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "lv2-${version}"; - version = "1.8.0"; + version = "1.10.0"; src = fetchurl { url = "http://lv2plug.in/spec/${name}.tar.bz2"; - sha256 = "1mxkp7gajh1alw6s358cqwf3qkpr1ld9wfxwswnqrxcd9a7hxjd4"; + sha256 = "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378"; }; buildInputs = [ gtk libsndfile pkgconfig python ]; diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix index ac0b9d233fa85f918bf245653dbe2d1f940916fb..a4ba4c16c8725afc153b1360a5f3458b4c1420a5 100644 --- a/pkgs/development/libraries/audio/sratom/default.nix +++ b/pkgs/development/libraries/audio/sratom/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sratom-${version}"; - version = "0.4.4"; + version = "0.4.6"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1q4044md8nmqah8ay5mf4lgdl6x0sfa4cjqyqk9da8nqzvs2j37s"; + sha256 = "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4"; }; buildInputs = [ lv2 pkgconfig python serd sord ]; diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix index 87e0347265945f263dd1818ea3ed9004845e592c..f5a98750ded41de6d9fac7fb1e2df0bfa5a94efb 100644 --- a/pkgs/development/libraries/audio/suil/default.nix +++ b/pkgs/development/libraries/audio/suil/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "suil-${version}"; - version = "0.8.0"; + version = "0.8.2"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "0y5sbgaivb03vmr3jcpzj16wqxa5h744ml4w3ylzglbxs2bqgl7n"; + sha256 = "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq"; }; buildInputs = [ gtk lv2 pkgconfig python qt4 serd sord sratom ]; diff --git a/pkgs/development/libraries/axis/builder.sh b/pkgs/development/libraries/axis/builder.sh deleted file mode 100644 index d979eb9d803ba058276be2b78de79496ec0ba4df..0000000000000000000000000000000000000000 --- a/pkgs/development/libraries/axis/builder.sh +++ /dev/null @@ -1,5 +0,0 @@ -source $stdenv/setup - -mkdir -p $out -unpackPhase -mv $directory/* $out diff --git a/pkgs/development/libraries/axis/default.nix b/pkgs/development/libraries/axis/default.nix deleted file mode 100644 index 62ae463b5fc8f201323fbffc42a73ac7c7cc1630..0000000000000000000000000000000000000000 --- a/pkgs/development/libraries/axis/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation { - name = "axis-1.3"; - directory = "axis-1_3"; - builder = ./builder.sh; - src = fetchurl { - url = "http://archive.apache.org/dist/ws/axis/1_3/axis-bin-1_3.tar.gz"; - md5 = "dd8203f08c37872f4fd2bfb45c4bfe04"; - }; - inherit stdenv; - - meta = { - description = "Implementation of the SOAP (Simple Object Access Protocol) submission to W3C"; - }; -} diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix index 3b2670d988ae02a2e9c010a4f5435e91bd0589da..cc047da2758c4623e24f40aa5137627108e33a0d 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "boehm-gc-7.2d"; + name = "boehm-gc-7.2f"; src = fetchurl { - url = http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2d.tar.gz; - sha256 = "0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr"; + url = http://www.hboehm.info/gc/gc_source/gc-7.2f.tar.gz; + sha256 = "119x7p1cqw40mpwj80xfq879l9m1dkc7vbc1f3bz3kvkf8bf6p16"; }; configureFlags = "--enable-cplusplus"; diff --git a/pkgs/development/libraries/boost/1.44.nix b/pkgs/development/libraries/boost/1.44.nix index b188586e84f0cad5d70fbbb3f2e610e7f516ee65..c192acd23bdec3d1e36cbcc301f97a81417d5c99 100644 --- a/pkgs/development/libraries/boost/1.44.nix +++ b/pkgs/development/libraries/boost/1.44.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation { meta = { homepage = "http://boost.org/"; - description = "Boost C++ Library Collection"; + description = "Collection of C++ libraries"; license = "boost-license"; maintainers = [ stdenv.lib.maintainers.simons ]; diff --git a/pkgs/development/libraries/boost/1.49.nix b/pkgs/development/libraries/boost/1.49.nix index fca4249e963da52126a658afd344820a288ff890..9e61683238fa85add7435495dd42ce45f9ba9704 100644 --- a/pkgs/development/libraries/boost/1.49.nix +++ b/pkgs/development/libraries/boost/1.49.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation { meta = { homepage = "http://boost.org/"; - description = "Boost C++ Library Collection"; + description = "Collection of C++ libraries"; license = "boost-license"; platforms = stdenv.lib.platforms.unix; diff --git a/pkgs/development/libraries/boost/1.55.nix b/pkgs/development/libraries/boost/1.55.nix index bf355f7169c6be45590044fe1afd760e12c48b48..1e9d2134d12010b050acbe0e326494c68148bdb1 100644 --- a/pkgs/development/libraries/boost/1.55.nix +++ b/pkgs/development/libraries/boost/1.55.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation { meta = { homepage = "http://boost.org/"; - description = "Boost C++ Library Collection"; + description = "Collection of C++ libraries"; license = "boost-license"; platforms = stdenv.lib.platforms.unix; diff --git a/pkgs/development/libraries/ccrtp/default.nix b/pkgs/development/libraries/ccrtp/default.nix index 2111e1b4a55a61e2878a730976c1955c35a2eeb5..3e75cb45a733d5d5cc1437b19df0ef989d52b3ac 100644 --- a/pkgs/development/libraries/ccrtp/default.nix +++ b/pkgs/development/libraries/ccrtp/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { doCheck = true; meta = { - description = "GNU ccRTP, an implementation of the IETF real-time transport protocol (RTP)"; + description = "An implementation of the IETF real-time transport protocol (RTP)"; homepage = http://www.gnu.org/software/ccrtp/; license = stdenv.lib.licenses.gpl2; maintainers = with stdenv.lib.maintainers; [ marcweber ]; diff --git a/pkgs/development/libraries/celt/default.nix b/pkgs/development/libraries/celt/default.nix index 28e51efbc4b729cb1cf7ae1b6b9021b4f60e30ee..ca25be90504809cb3b81447bb99afc3bca008717 100644 --- a/pkgs/development/libraries/celt/default.nix +++ b/pkgs/development/libraries/celt/default.nix @@ -29,7 +29,7 @@ rec { phaseNames = ["doConfigure" "doMakeInstall"]; meta = { - description = "CELT - low-delay audio codec"; + description = "Low-delay audio codec"; maintainers = with a.lib.maintainers; [ raskin diff --git a/pkgs/development/libraries/cfitsio/default.nix b/pkgs/development/libraries/cfitsio/default.nix index 06f2deb3a7cd29d625f4638e5f44e68a6bd13756..54e5988eda6e2de80e464eccb1c021a2b0ec7b8a 100644 --- a/pkgs/development/libraries/cfitsio/default.nix +++ b/pkgs/development/libraries/cfitsio/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { meta = { homepage = http://heasarc.gsfc.nasa.gov/fitsio/; - description = "CFITSIO, a library for reading and writing FITS data files"; + description = "Library for reading and writing FITS data files"; longDescription = '' CFITSIO is a library of C and Fortran subroutines for reading and diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix index 4e75cda0c2398238bcdd3cc2df6b4ff5f1be8cc5..a782ff61e2875cb47445823e3734b5cd26fa5339 100644 --- a/pkgs/development/libraries/check/default.nix +++ b/pkgs/development/libraries/check/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { doCheck = false; meta = { - description = "Check, a unit testing framework for C"; + description = "Unit testing framework for C"; longDescription = '' Check is a unit testing framework for C. It features a simple diff --git a/pkgs/development/libraries/chipmunk/default.nix b/pkgs/development/libraries/chipmunk/default.nix index d148c4d829a3b9c5ccf5ec3a7e5ed5ab94dbb284..63c5959960ac7ce500185a5b49934c88d0ee928e 100644 --- a/pkgs/development/libraries/chipmunk/default.nix +++ b/pkgs/development/libraries/chipmunk/default.nix @@ -34,6 +34,6 @@ rec { name = "chipmunk-" + version; meta = { - description = "Chipmunk 2D physics engine"; + description = "2D physics engine"; }; } diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix index 40d41b633d26dfb388d36dcd2716e7d95ea455e4..010d2cb7ccc2015fd37c8de09e931a493161861a 100644 --- a/pkgs/development/libraries/chromaprint/default.nix +++ b/pkgs/development/libraries/chromaprint/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, fftw, boost }: +{ stdenv, fetchurl, cmake, ffmpeg, boost }: stdenv.mkDerivation rec { name = "chromaprint-${version}"; @@ -9,11 +9,17 @@ stdenv.mkDerivation rec { sha256 = "04nd8xmy4kgnpfffj6hw893f80bwhp43i01zpmrinn3497mdf53b"; }; - buildInputs = [ cmake fftw boost ]; + buildInputs = [ cmake ffmpeg boost ]; - meta = { + cmakeFlags = [ "-DBUILD_EXAMPLES=ON" ]; + + postInstall = "installBin examples/fpcalc"; + + meta = with stdenv.lib; { homepage = "http://acoustid.org/chromaprint"; description = "AcoustID audio fingerprinting library"; - license = stdenv.lib.licenses.lgpl21Plus; + maintainers = with maintainers; [ emery ]; + license = licenses.lgpl21Plus; + platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix index da4501285e1210c9d090c915567fe3b26ad67997..7ea7e597d40930c466bc8e08271cd0ba7da71018 100644 --- a/pkgs/development/libraries/cloog/default.nix +++ b/pkgs/development/libraries/cloog/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "CLooG, the Chunky Loop Generator"; + description = "Library that generates loops for scanning polyhedra"; longDescription = '' CLooG is a free software library to generate code for scanning diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix index 59c64b0de9f7629de49b91a2001be61fbfa09b0c..7cef673dbc69050157efa24ca3b1fa0f20d75e96 100644 --- a/pkgs/development/libraries/clutter-gst/default.nix +++ b/pkgs/development/libraries/clutter-gst/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl }: stdenv.mkDerivation rec { - name = "clutter-gst-2.0.10"; + name = "clutter-gst-2.0.12"; src = fetchurl { url = "mirror://gnome/sources/clutter-gst/2.0/${name}.tar.xz"; - sha256 = "f00cf492a6d4f1036c70d8a0ebd2f0f47586ea9a9b49b1ffda79c9dc7eadca00"; + sha256 = "1dgzpd5l5ld622b8185c3khvvllm5hfvq4q1a1mgzhxhj8v4bwf2"; }; propagatedBuildInputs = [ clutter gtk3 glib cogl ]; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { postBuild = "rm -rf $out/share/gtk-doc"; meta = { - description = "Clutter-GST"; + description = "GStreamer bindings for clutter"; homepage = http://www.clutter-project.org/; diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix index 027b90d8e11c796f8ccf7e7d615959646e22e2b5..67de04050afe75576099dbe9adce01037b322264 100644 --- a/pkgs/development/libraries/clutter/default.nix +++ b/pkgs/development/libraries/clutter/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { #doCheck = true; # no tests possible without a display meta = { - description = "Clutter, a library for creating fast, dynamic graphical user interfaces"; + description = "Library for creating fast, dynamic graphical user interfaces"; longDescription = '' Clutter is free software library for creating fast, compelling, diff --git a/pkgs/development/libraries/coprthr/default.nix b/pkgs/development/libraries/coprthr/default.nix index 0e521aa19e8a4b039f1ebfeaef884b75eb21c953..40be21131d20fafb5091895a17038005d64cb694 100644 --- a/pkgs/development/libraries/coprthr/default.nix +++ b/pkgs/development/libraries/coprthr/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/browndeer/coprthr/archive/stable-${version}.zip"; - sha256 = "042aykmcxhdpck0j6k5rcp6a0b5i377fv2nz96v1bpfhzxd1mjwg"; + sha256 = "0ilx4v1ydppjnq1i0z5j0x4lmi29z39sappar7c0wqady0b5dpz9"; }; buildInputs = @@ -33,5 +33,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.lgpl3; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + broken = true; }; } diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix index 72a140ed371148384ca2805aa887581e8149b245..14308dc0eb058a80c083e8f485751e26cb046b4d 100644 --- a/pkgs/development/libraries/eigen/default.nix +++ b/pkgs/development/libraries/eigen/default.nix @@ -1,15 +1,15 @@ {stdenv, fetchurl, cmake}: let - v = "3.2.1"; + version = "3.2.2"; in stdenv.mkDerivation { - name = "eigen-${v}"; + name = "eigen-${version}"; src = fetchurl { - url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2"; - name = "eigen-${v}.tar.bz2"; - sha256 = "12ljdirih9n3cf8hy00in285c2ccah7mgalmmr8gc3ldwznz5rk6"; + url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz"; + name = "eigen-${version}.tar.gz"; + sha256 = "0pwykjkz5n8wfyg9cjj7smgs54a9zc80m9gi106w43n2m72ni39i"; }; nativeBuildInputs = [ cmake ]; @@ -19,5 +19,6 @@ stdenv.mkDerivation { license = licenses.lgpl3Plus; homepage = http://eigen.tuxfamily.org ; maintainers = with stdenv.lib.maintainers; [ sander urkud raskin ]; + inherit version; }; } diff --git a/pkgs/development/libraries/eigen/default.upstream b/pkgs/development/libraries/eigen/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..c0c05efc466cc24444d0f294b9cadd5072b0ca86 --- /dev/null +++ b/pkgs/development/libraries/eigen/default.upstream @@ -0,0 +1,4 @@ +url http://eigen.tuxfamily.org/ +ensure_choice +version '.*/([-0-9.]+)[.]tar[.].*' '\1' +do_overwrite() { do_overwrite_just_version; } diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index d7915a93962cc171c649a2f1256fd55603af6e24..9a49225d1723d0331c1874b5f93dd687ccde26cf 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -8,9 +8,10 @@ stdenv.mkDerivation rec { sha256 = "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2"; }; - meta = { + meta = with stdenv.lib; { homepage = http://www.libexpat.org/; description = "A stream-oriented XML parser library written in C"; - platforms = stdenv.lib.platforms.all; + platforms = platforms.all; + license = licenses.mit; # expat version }; } diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix index 19a4099a8b1c7d4e2ff27b54e4ab7d0e07513d0c..8114eb4752d22dfadcc5e6dd6bfb9cd4f7354bc3 100644 --- a/pkgs/development/libraries/ffmpeg/2.x.nix +++ b/pkgs/development/libraries/ffmpeg/2.x.nix @@ -5,11 +5,12 @@ }: stdenv.mkDerivation rec { - name = "ffmpeg-2.3.2"; + version = "2.3.3"; + name = "ffmpeg-${version}"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "1lpzqjpklmcjzk327pz070m3qz3s1cwg8v90w6r1sdh8491kbqc4"; + sha256 = "0ik4c06anh49r5b0d3rq9if4zl6ysjsa341655kzw22fl880sk5v"; }; subtitleSupport = config.ffmpeg.subtitle or true; @@ -102,5 +103,6 @@ stdenv.mkDerivation rec { description = "A complete, cross-platform solution to record, convert and stream audio and video"; license = if (fdkAACSupport || faacSupport) then stdenv.lib.licenses.unfree else stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/development/libraries/fox/default.nix b/pkgs/development/libraries/fox/default.nix index 63acc14521c6a2b91f8a8ce86881fcebbc537704..6d7d7a838790792319d2b38c608ea7f1e3e23b63 100644 --- a/pkgs/development/libraries/fox/default.nix +++ b/pkgs/development/libraries/fox/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - description = "FOX is a C++ based class library for building Graphical User Interfaces"; + description = "C++ based class library for building Graphical User Interfaces"; longDescription = '' FOX stands for Free Objects for X. It is a C++ based class library for building Graphical User Interfaces. diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 4d400a6ea7dab8d6108c22aa0b2a9a87bd0782a6..9d62472c27e7075b9b259c989a9de55f7d100e91 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation (rec { }; meta = { - description = "GNU gettext, a well integrated set of translation tools and documentation"; + description = "Well integrated set of translation tools and documentation"; longDescription = '' Usually, programs are written and documented in English, and use diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix index abb782641dde79a2c27d3d46843e5a0df8f69511..7cab317380e858fd2c1dc391c6d9ca6143b61516 100644 --- a/pkgs/development/libraries/git2/default.nix +++ b/pkgs/development/libraries/git2/default.nix @@ -1,13 +1,13 @@ {stdenv, fetchurl, cmake, zlib, python}: stdenv.mkDerivation rec { - version = "0.20.0"; + version = "0.21.1"; name = "libgit2-${version}"; src = fetchurl { name = "${name}.tar.gz"; url = "https://github.com/libgit2/libgit2/tarball/v${version}"; - sha256 = "1iyncz8fqazw683dxjls3lf5pw3f5ma8kachkvjz7dsq57wxllbj"; + sha256 = "0afbvcsryg7bsmbfj23l09b1xngkmqhf043njl8wm44qslrxibkz"; }; cmakeFlags = "-DTHREADSAFE=ON"; diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index f4157cdd8d0aed5f2208d94b83bd7dc1cc2706c9..839ba7cfa951ac805d7901578fa941955df5c79d 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -7,6 +7,8 @@ with stdenv.lib; +assert stdenv.gcc.gcc != null; + # TODO: # * Add gio-module-fam # Problem: cyclic dependency on gamin @@ -49,7 +51,7 @@ stdenv.mkDerivation rec { sha256 = "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd"; }; - patches = optional stdenv.isDarwin ./darwin-compilation.patch; + patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch; setupHook = ./setup-hook.sh; @@ -105,7 +107,7 @@ stdenv.mkDerivation rec { }; meta = with stdenv.lib; { - description = "GLib, a C library of programming buildings blocks"; + description = "C library of programming buildings blocks"; homepage = http://www.gtk.org/; license = licenses.lgpl2Plus; maintainers = with maintainers; [ lovek323 raskin urkud ]; diff --git a/pkgs/development/libraries/glib/skip-timer-test.patch b/pkgs/development/libraries/glib/skip-timer-test.patch new file mode 100644 index 0000000000000000000000000000000000000000..942f3e7864c4fe879b54f59591905baa4e4c3ae5 --- /dev/null +++ b/pkgs/development/libraries/glib/skip-timer-test.patch @@ -0,0 +1,17 @@ +Description: Skip test which performs some unreliable floating point comparisons +Forwarded: https://bugzilla.gnome.org/show_bug.cgi?id=722604 + +Index: b/glib/tests/timer.c +=================================================================== +--- a/glib/tests/timer.c ++++ b/glib/tests/timer.c +@@ -203,7 +203,7 @@ + { + g_test_init (&argc, &argv, NULL); + +- g_test_add_func ("/timer/basic", test_timer_basic); ++/* g_test_add_func ("/timer/basic", test_timer_basic);*/ +- g_test_add_func ("/timer/stop", test_timer_stop); ++/* g_test_add_func ("/timer/stop", test_timer_stop);*/ + g_test_add_func ("/timer/continue", test_timer_continue); + g_test_add_func ("/timer/reset", test_timer_reset); diff --git a/pkgs/development/libraries/glibc/2.19/multi.nix b/pkgs/development/libraries/glibc/2.19/multi.nix new file mode 100644 index 0000000000000000000000000000000000000000..ad4a34152b65fe4d491c33d2a23446c2e86073cc --- /dev/null +++ b/pkgs/development/libraries/glibc/2.19/multi.nix @@ -0,0 +1,31 @@ +{ runCommand, glibc, glibc32 +}: + +runCommand "${glibc.name}-multi" + { inherit glibc32; + glibc64 = glibc; + } + '' + mkdir -p $out + ln -s $glibc64/* $out/ + + rm $out/lib $out/lib64 + mkdir -p $out/lib + ln -s $glibc64/lib/* $out/lib + ln -s $glibc32/lib $out/lib/32 + ln -s lib $out/lib64 + + # fixing ldd RLTDLIST + rm $out/bin + cp -rs $glibc64/bin $out + chmod u+w $out/bin + rm $out/bin/ldd + sed -e "s|^RTLDLIST=.*$|RTLDLIST=\"$out/lib/ld-2.19.so $out/lib/32/ld-linux.so.2\"|g" \ + $glibc64/bin/ldd > $out/bin/ldd + chmod 555 $out/bin/ldd + + rm $out/include + cp -rs $glibc32/include $out + chmod -R u+w $out/include + cp -rsf $glibc64/include $out + '' diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix index 098643ae70f07bb5a6e60a94b008a89919b1ba50..d3f74f4043a970ef136bcb6e360b3a660fcc7e98 100644 --- a/pkgs/development/libraries/glog/default.nix +++ b/pkgs/development/libraries/glog/default.nix @@ -11,6 +11,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://code.google.com/p/google-glog/; license = "BSD"; - description = "The glog library implements application-level logging."; + description = "Library for application-level logging"; }; } diff --git a/pkgs/development/libraries/gmock/default.nix b/pkgs/development/libraries/gmock/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..71ac281195b640fd6254d9eb8d5ea257bc1be48b --- /dev/null +++ b/pkgs/development/libraries/gmock/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, unzip, cmake}: + +stdenv.mkDerivation rec { + version = "1.7.0"; + name = "gmock-${version}"; + + src = fetchurl { + url = "https://googlemock.googlecode.com/files/${name}.zip"; + sha256="26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b"; + }; + + buildInputs = [ unzip cmake ]; + + buildPhase = '' + # avoid building gtest + make gmock gmock_main + ''; + + installPhase = '' + mkdir -p $out/lib + cp -v libgmock.a libgmock_main.a $out/lib + cp -v -r ../include $out + cp -v -r ../src $out + ''; + + meta = { + description = "Google mock: Google's framework for writing C++ mock classes"; + homepage = https://code.google.com/p/googlemock/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.auntie ]; + }; +} diff --git a/pkgs/development/libraries/gmp/4.3.2.nix b/pkgs/development/libraries/gmp/4.3.2.nix index d0559c46795b54dfde668b26dac75248583054b9..e9cfda032b1716d817f9dbfe9c9920ddbd03fa15 100644 --- a/pkgs/development/libraries/gmp/4.3.2.nix +++ b/pkgs/development/libraries/gmp/4.3.2.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { doCheck = false; meta = { - description = "GMP, the GNU multiple precision arithmetic library"; + description = "GNU multiple precision arithmetic library"; longDescription = '' GMP is a free library for arbitrary precision arithmetic, operating diff --git a/pkgs/development/libraries/gmp/5.0.5.nix b/pkgs/development/libraries/gmp/5.0.5.nix index c96c830e2f7fa942df53f60af429268ece67b78a..5f3690f67a9408bd582fcf565f4eb0063b5c47ac 100644 --- a/pkgs/development/libraries/gmp/5.0.5.nix +++ b/pkgs/development/libraries/gmp/5.0.5.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "GMP, the GNU multiple precision arithmetic library"; + description = "GNU multiple precision arithmetic library"; longDescription = '' GMP is a free library for arbitrary precision arithmetic, operating diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix index 9e28334804bd624725ea3ef7afd3ab316601fc3a..14a6d34d932b5f85348fb5150b0341eb73b53cc4 100644 --- a/pkgs/development/libraries/gmp/5.1.x.nix +++ b/pkgs/development/libraries/gmp/5.1.x.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation (rec { meta = with stdenv.lib; { homepage = "http://gmplib.org/"; - description = "GMP, the GNU multiple precision arithmetic library"; + description = "GNU multiple precision arithmetic library"; license = licenses.gpl3Plus; longDescription = diff --git a/pkgs/development/libraries/gnutls/3.1.nix b/pkgs/development/libraries/gnutls/3.1.nix index 6aea78a3ac52315e0151f594d89e880d8b913683..44ea0176e38c9d6316a4010e4205b7e770f01aab 100644 --- a/pkgs/development/libraries/gnutls/3.1.nix +++ b/pkgs/development/libraries/gnutls/3.1.nix @@ -4,11 +4,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation rec { - name = "gnutls-3.1.25"; + name = "gnutls-3.1.26"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz"; - sha256 = "1i1v8pbaw72k0ps09i3lvc1zr9gn34jpliiijbs8k7axrv2w9n5g"; + sha256 = "7947e18fd0c292c0274d810c9bdf674b8faa3566e056ea404a39f335982607a3"; }; # FreeBSD doesn't have , and Gnulib's `alloca' module isn't used. diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix index cd48e08a39c4e3e1cfd389c96b3d4a23382de68e..5bf933fbc961dbaf558e573a8a64a712d7179e99 100644 --- a/pkgs/development/libraries/gnutls/3.2.nix +++ b/pkgs/development/libraries/gnutls/3.2.nix @@ -4,11 +4,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation rec { - name = "gnutls-3.2.15"; + name = "gnutls-3.2.17"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz"; - sha256 = "16c5c4k41mxib8i06npks940p9xllgn1wrackfp8712wdvl5zc4q"; + sha256 = "a332adda1d294fbee859ae46ee0c128d8959c4a5b9c28e7cdbe5c9b56898fc25"; }; patches = diff --git a/pkgs/development/libraries/gss/default.nix b/pkgs/development/libraries/gss/default.nix index 207b82486981068ba8cef34e8307e5d8e08472b3..75ae4054592de7cc5b7f84c54159612ab228d0e2 100644 --- a/pkgs/development/libraries/gss/default.nix +++ b/pkgs/development/libraries/gss/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU GSS Generic Security Service"; + description = "Generic Security Service"; longDescription = '' GSS is an implementation of the Generic Security Service Application diff --git a/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix index ff26e727e9f3fd2807d1f5f09dd9db98a8076e15..777f4a06313ba72cc3ed6d8d2846ac690de844de 100644 --- a/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix +++ b/pkgs/development/libraries/gstreamer/legacy/gnonlin/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://gstreamer.freedesktop.org/modules/gnonlin.html"; - description = "http://gstreamer.freedesktop.org/modules/gnonlin.html"; + description = "Gstreamer Non-Linear Multimedia Editing Plugins"; license = stdenv.lib.licenses.gpl2Plus; }; } diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix index f781c624cea1a0d81aade057846d819a7c6662f4..b608f891533b6847586ab3f911596d90872400a6 100644 --- a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://gstreamer.freedesktop.org; - description = "GStreamer, a library for constructing graphs of media-handling components"; + description = "Library for constructing graphs of media-handling components"; longDescription = '' GStreamer is a library for constructing graphs of media-handling diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix index 8812ea70c796f8c4c24dc73e6c30326b96cf3e07..ff4d6ca673367dde6e293b9ff8cbf4aa0f965a2f 100644 --- a/pkgs/development/libraries/gtk+/2.x.nix +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -37,6 +37,13 @@ stdenv.mkDerivation rec { postInstall = "rm -rf $out/share/gtk-doc"; + passthru = { + gtkExeEnvPostBuild = '' + rm $out/lib/gtk-2.0/2.10.0/immodules.cache + $out/bin/gtk-query-immodules-2.0 $out/lib/gtk-2.0/2.10.0/immodules/*.so > $out/lib/gtk-2.0/2.10.0/immodules.cache + ''; # workaround for bug of nix-mode for Emacs */ ''; + }; + meta = with stdenv.lib; { description = "A multi-platform toolkit for creating graphical user interfaces"; homepage = http://www.gtk.org/; diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index 09221502e363ede9821b209aa7cfebecc742d120..fa35011047645dd24c06801bc906651573ce9c0e 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -38,6 +38,13 @@ stdenv.mkDerivation rec { postInstall = "rm -rf $out/share/gtk-doc"; + passthru = { + gtkExeEnvPostBuild = '' + rm $out/lib/gtk-3.0/3.0.0/immodules.cache + $out/bin/gtk-query-immodules-3.0 $out/lib/gtk-3.0/3.0.0/immodules/*.so > $out/lib/gtk-3.0/3.0.0/immodules.cache + ''; # workaround for bug of nix-mode for Emacs */ ''; + }; + meta = { description = "A multi-platform toolkit for creating graphical user interfaces"; diff --git a/pkgs/development/libraries/gtkimageview/default.nix b/pkgs/development/libraries/gtkimageview/default.nix index 6905adcd71e3ab1cc136b38e1a8a7c7c2caa9c21..b57c91c4455f7df463d86ef9415a1d72fb437e7a 100644 --- a/pkgs/development/libraries/gtkimageview/default.nix +++ b/pkgs/development/libraries/gtkimageview/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://trac.bjourne.webfactional.com/; - description = "The GtkImageView image viewer widget for GTK+"; + description = "Image viewer widget for GTK+"; longDescription = '' GtkImageView is a simple image viewer widget for GTK+. Similar to diff --git a/pkgs/development/libraries/gtkmathview/default.nix b/pkgs/development/libraries/gtkmathview/default.nix index 2620d9cc120c8931f4464d0c04c45044ca8b12fd..8a6914cfcd3bc2261902a3c5be9e0f4d5266cd2b 100644 --- a/pkgs/development/libraries/gtkmathview/default.nix +++ b/pkgs/development/libraries/gtkmathview/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { meta = { homepage = http://helm.cs.unibo.it/mml-widget/; - description = "GtkMathView is a C++ rendering engine for MathML documents"; + description = "C++ rendering engine for MathML documents"; license = stdenv.lib.licenses.lgpl3Plus; maintainers = [ stdenv.lib.maintainers.roconnor ]; }; diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix index bae0639a61c99374c78ddeb6679f38e1973ecdc8..e278980e1e12a011899c08f10d944097acfa589e 100644 --- a/pkgs/development/libraries/gupnp/default.nix +++ b/pkgs/development/libraries/gupnp/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gupnp.org/; - description = "GUPnP is an implementation of the UPnP specification."; + description = "An implementation of the UPnP specification"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix index d2dea8158197c231b39fc0f17a513a24098dfeae..28480a4d27d38bdfc82024c79e8d20b4724c8766 100644 --- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix +++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "Chart-cairo"; - version = "1.2.4"; - sha256 = "1ggqh3v14mwv9q1pmz3hbx7g1dvibfwl1vzvag92q7432q4pqm2z"; + version = "1.3"; + sha256 = "1d8v4imbb2g30gbxj3xlm1vqc17cnqbiysxp78n3vrxnalr8s98l"; buildDepends = [ cairo Chart colour dataDefaultClass lens mtl operational time ]; diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix index 002b762fbac247b0dba9340fc91d623d93711142..ff4898eb1e7dcf93efa663727b99592bf5876f17 100644 --- a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix +++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "Chart-diagrams"; - version = "1.2.4"; - sha256 = "099frqvfjqqc7h3zr52saqyg37di0klr0y649afzxd7lj3d67mvw"; + version = "1.3"; + sha256 = "1lfdv2bn942w4b0bjd6aw59wdc2jfk305ym5vm88liy9127b65bp"; buildDepends = [ blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib diagramsPostscript diagramsSvg lens mtl operational SVGFonts text @@ -20,6 +20,5 @@ cabal.mkDerivation (self: { description = "Diagrams backend for Charts"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; }; }) diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix index 9dbb3c8ae9a9ae9660a32ca4d19b145b01a54ad5..0ce13bd87378b9bfcc7b1f3a8d64a1f6c16eee63 100644 --- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix +++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "Chart-gtk"; - version = "1.2.4"; - sha256 = "16dfmkls341cmk13j1z3rw2wxdvxr5rqsv1ff4qjhjak9j7hkqjq"; + version = "1.3"; + sha256 = "1bi7gim31w3xf6jsd2hkwhkhw1i9c4dmxnm3f46336k9rsxn59ph"; buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ]; meta = { homepage = "https://github.com/timbod7/haskell-chart/wiki"; diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix index d5696a562da43403945f75dbf64288ab03ce992f..557721007ed56aa61f5ae7e08dcaee000e63df83 100644 --- a/pkgs/development/libraries/haskell/Chart/default.nix +++ b/pkgs/development/libraries/haskell/Chart/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "Chart"; - version = "1.2.4"; - sha256 = "0zizrkxsligvxs5x5r2j0pynf6ncjl4mgyzbh1zfqgnz29frylh7"; + version = "1.3"; + sha256 = "1xvr90x1kmnjfmbap47ffzi3xbawcwz7q6b76v2gbqp4gjlhiyx7"; buildDepends = [ colour dataDefaultClass lens mtl operational time ]; diff --git a/pkgs/development/libraries/haskell/FontyFruity/default.nix b/pkgs/development/libraries/haskell/FontyFruity/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..1a613492f43005f093f5744714e9ce1a318bc413 --- /dev/null +++ b/pkgs/development/libraries/haskell/FontyFruity/default.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, binary, deepseq, filepath, text, vector }: + +cabal.mkDerivation (self: { + pname = "FontyFruity"; + version = "0.3"; + sha256 = "0ivz7hkz5mx8bqqv5av56a8rw4231wyzzg0dhz6465d59iqmjhd4"; + buildDepends = [ binary deepseq filepath text vector ]; + meta = { + description = "A true type file format loader"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/GLUtil/default.nix b/pkgs/development/libraries/haskell/GLUtil/default.nix index ce4b41c93e0aa65e7a864c6e37d5aeeb5dcdc649..ee99ccc4fee63bbf2f7ebae54e209f5538ff677e 100644 --- a/pkgs/development/libraries/haskell/GLUtil/default.nix +++ b/pkgs/development/libraries/haskell/GLUtil/default.nix @@ -1,15 +1,16 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, cpphs, JuicyPixels, linear, OpenGL, OpenGLRaw +{ cabal, cpphs, filepath, JuicyPixels, linear, OpenGL, OpenGLRaw , transformers, vector }: cabal.mkDerivation (self: { pname = "GLUtil"; - version = "0.8"; - sha256 = "00r9gmwsb9gx6bcc012rhz0z0hj3my8k1i0yjnaw0jmlqswm45h8"; + version = "0.8.1"; + sha256 = "026w6rsgs0vmjx9fj4x3r93rifdyjygb83spcwmch31a7qng6l7w"; buildDepends = [ - cpphs JuicyPixels linear OpenGL OpenGLRaw transformers vector + cpphs filepath JuicyPixels linear OpenGL OpenGLRaw transformers + vector ]; buildTools = [ cpphs ]; meta = { diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.17.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.18.nix similarity index 62% rename from pkgs/development/libraries/haskell/HTTP/4000.2.17.nix rename to pkgs/development/libraries/haskell/HTTP/4000.2.18.nix index ce90b9a9426a8f8cb77184433b66d95b5db56ffb..0a5a16dfadc36e48c1bd5e2e18094ac4ee4e1f05 100644 --- a/pkgs/development/libraries/haskell/HTTP/4000.2.17.nix +++ b/pkgs/development/libraries/haskell/HTTP/4000.2.18.nix @@ -1,19 +1,19 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! { cabal, caseInsensitive, conduit, conduitExtra, deepseq, httpdShed -, httpTypes, HUnit, mtl, network, parsec, pureMD5, split -, testFramework, testFrameworkHunit, wai, warp +, httpTypes, HUnit, mtl, network, networkUri, parsec, pureMD5 +, split, testFramework, testFrameworkHunit, wai, warp }: cabal.mkDerivation (self: { pname = "HTTP"; - version = "4000.2.17"; - sha256 = "1701mgf1gw00nxd70kkr86yl80qxy63rpqky2g9m2nfr6y4y5b59"; - buildDepends = [ mtl network parsec ]; + version = "4000.2.18"; + sha256 = "1jn0ikbdwhd32qjwpnsmpnmy0dxhmwfhf8851ifxik91fn7j5j4k"; + buildDepends = [ mtl network networkUri parsec ]; testDepends = [ caseInsensitive conduit conduitExtra deepseq httpdShed httpTypes - HUnit mtl network pureMD5 split testFramework testFrameworkHunit - wai warp + HUnit mtl network networkUri pureMD5 split testFramework + testFrameworkHunit wai warp ]; doCheck = false; noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11"; diff --git a/pkgs/development/libraries/haskell/IntervalMap/default.nix b/pkgs/development/libraries/haskell/IntervalMap/default.nix index 774cbd8a19ea893e312334a1cced1616b05d4a81..65b53d91b52d0268823c8caef7363ae3d697853b 100644 --- a/pkgs/development/libraries/haskell/IntervalMap/default.nix +++ b/pkgs/development/libraries/haskell/IntervalMap/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "IntervalMap"; - version = "0.3.0.3"; - sha256 = "11lxsjq9nw9mmj5ga0x03d8rgcx2s85kzi17d9cm7m28mq4dqdag"; + version = "0.4.0.1"; + sha256 = "0cq0dmmawrss4jjkz3br0lhp37d4k7rd3cinbcyf0bf39dfk6mrf"; buildDepends = [ deepseq ]; testDepends = [ Cabal deepseq QuickCheck ]; meta = { diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix index fcd2689c54879b938ea28fa18885b79ec821ceb9..2305756f93b5bff84fd336c04b9690b70d04e893 100644 --- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix +++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "JuicyPixels"; - version = "3.1.6.1"; - sha256 = "1v560y0l1zpznbpw8zgb2j6zlcwi8i207xgzggzzd3p0v2m8955c"; + version = "3.1.7.1"; + sha256 = "0mhsknqdrhxnm622mgrswvj4kvksh87x18s5ddgk4ylf0s2fjlap"; buildDepends = [ binary deepseq mtl primitive transformers vector zlib ]; diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix index a0e4b787ec99d69f19491580ec6ea34357ca16bb..f5e088a4238b4b2e2f7abb8a780f6a534974f526 100644 --- a/pkgs/development/libraries/haskell/MFlow/default.nix +++ b/pkgs/development/libraries/haskell/MFlow/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "MFlow"; - version = "0.4.5.7"; - sha256 = "0faw082z8yyzf0k1vrgpqa8kvwb2zwmasy1p1vvj3a7lhhnlr20s"; + version = "0.4.5.8"; + sha256 = "1gfv5ky68dyn8gjjg60c5s9x3dl9xn6j9q43w7vaj9sd1q12wk3c"; buildDepends = [ blazeHtml blazeMarkup caseInsensitive clientsession conduit conduitExtra extensibleExceptions httpTypes monadloc mtl parsec diff --git a/pkgs/development/libraries/haskell/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/0.1.13.nix similarity index 89% rename from pkgs/development/libraries/haskell/MonadRandom/default.nix rename to pkgs/development/libraries/haskell/MonadRandom/0.1.13.nix index fb2415fd6fa0b5155d032eca19f2e06b336185f5..0cbd926b1f183a1eb1726591e3ac8b96e14043fd 100644 --- a/pkgs/development/libraries/haskell/MonadRandom/default.nix +++ b/pkgs/development/libraries/haskell/MonadRandom/0.1.13.nix @@ -11,5 +11,6 @@ cabal.mkDerivation (self: { description = "Random-number generation monad"; license = "unknown"; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; }; }) diff --git a/pkgs/development/libraries/haskell/MonadRandom/0.2.0.1.nix b/pkgs/development/libraries/haskell/MonadRandom/0.2.0.1.nix new file mode 100644 index 0000000000000000000000000000000000000000..cc430e22090f7b464c8d0a9469bd51df45e9efd9 --- /dev/null +++ b/pkgs/development/libraries/haskell/MonadRandom/0.2.0.1.nix @@ -0,0 +1,15 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, mtl, random, transformers }: + +cabal.mkDerivation (self: { + pname = "MonadRandom"; + version = "0.2.0.1"; + sha256 = "1689302z053zhcr46w5q3a57kd6z365kkgzxh638gcakzzk3pmwm"; + buildDepends = [ mtl random transformers ]; + meta = { + description = "Random-number generation monad"; + license = "unknown"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/Rasterific/default.nix b/pkgs/development/libraries/haskell/Rasterific/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..c53e9f72858048e98d67247fc57c7332c46ef7eb --- /dev/null +++ b/pkgs/development/libraries/haskell/Rasterific/default.nix @@ -0,0 +1,26 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, binary, criterion, deepseq, dlist, filepath, FontyFruity +, free, JuicyPixels, mtl, QuickCheck, statistics, vector +, vectorAlgorithms +}: + +cabal.mkDerivation (self: { + pname = "Rasterific"; + version = "0.3"; + sha256 = "1chbcfcb5il7fbzivszap60qfwcwrq85kpx9y6qdr2pim39199fa"; + buildDepends = [ + dlist FontyFruity free JuicyPixels mtl vector vectorAlgorithms + ]; + testDepends = [ + binary criterion deepseq filepath FontyFruity JuicyPixels + QuickCheck statistics vector + ]; + doCheck = false; + meta = { + description = "A pure haskell drawing engine"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/Yampa/default.nix b/pkgs/development/libraries/haskell/Yampa/default.nix index a4d1ea666a2d1281173fc6e3ad744bdd89a4f738..5ae451f816340ab8304bcd019499f7c65dee5df6 100644 --- a/pkgs/development/libraries/haskell/Yampa/default.nix +++ b/pkgs/development/libraries/haskell/Yampa/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "Yampa"; - version = "0.9.5"; - sha256 = "0r6fm2ccls7gbc5s0vbrzrqv6marnzlzc7zr4afkgfk9jsqfmqjh"; + version = "0.9.6"; + sha256 = "0a1m0sb0i3kkxbp10vpqd6iw83ksm4alavrg04arzrv71p3skyg0"; buildDepends = [ random ]; meta = { homepage = "http://www.haskell.org/haskellwiki/Yampa"; diff --git a/pkgs/development/libraries/haskell/auto-update/default.nix b/pkgs/development/libraries/haskell/auto-update/default.nix index b7c314f9ff9794ac7777c8ba60f49947160b39e9..85f15b500ed184d04eccf54c91250c50c6636caf 100644 --- a/pkgs/development/libraries/haskell/auto-update/default.nix +++ b/pkgs/development/libraries/haskell/auto-update/default.nix @@ -4,9 +4,10 @@ cabal.mkDerivation (self: { pname = "auto-update"; - version = "0.1.1.1"; - sha256 = "0ksclbh3d7p2511ji86ind8f6jrh58mz61mc441kfz51ippkdk59"; + version = "0.1.1.2"; + sha256 = "0901zqky70wyxl17vwz6smhnpsfjnsk0f2xqiyz902vl7apx66c6"; testDepends = [ hspec ]; + doCheck = false; meta = { homepage = "https://github.com/yesodweb/wai"; description = "Efficiently run periodic, on-demand actions"; diff --git a/pkgs/development/libraries/haskell/aws/default.nix b/pkgs/development/libraries/haskell/aws/default.nix index d6e8a5fb5ad6fab7c6cfb6ec71d547eda8d25949..3df47d95618694d2cc1b6c15554294fd7b918f1f 100644 --- a/pkgs/development/libraries/haskell/aws/default.nix +++ b/pkgs/development/libraries/haskell/aws/default.nix @@ -11,8 +11,8 @@ cabal.mkDerivation (self: { pname = "aws"; - version = "0.10.2"; - sha256 = "15yr06z54wxnl37a94515ajlxrb7z9kii5dd0ssan32izh4nfrl2"; + version = "0.10.3"; + sha256 = "042vx5nhafvgw0crymkw8pyhiawhpxwj03n1k538y2wr181hmz5f"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/binary-conduit/default.nix b/pkgs/development/libraries/haskell/binary-conduit/default.nix index 37774c1a16af3a77c1821c5445df72ffb0b33774..848004ca6afd65c39555c16b1f0087898f3408a6 100644 --- a/pkgs/development/libraries/haskell/binary-conduit/default.nix +++ b/pkgs/development/libraries/haskell/binary-conduit/default.nix @@ -12,6 +12,7 @@ cabal.mkDerivation (self: { testDepends = [ binary conduit hspec QuickCheck quickcheckAssertions resourcet ]; + jailbreak = true; meta = { homepage = "http://github.com/qnikst/binary-conduit"; description = "data serialization/deserialization conduit library"; diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix index 95ead17f01f5df575d84f5044978fe92707d0ab1..eaa91c51a2397a0dc8c7a697a427cf028f01d5fd 100644 --- a/pkgs/development/libraries/haskell/c2hs/default.nix +++ b/pkgs/development/libraries/haskell/c2hs/default.nix @@ -1,18 +1,19 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, filepath, HUnit, languageC, shelly, testFramework -, testFrameworkHunit, text, yaml +{ cabal, dlist, filepath, HUnit, languageC, shelly, testFramework +, testFrameworkHunit, text, transformers, yaml }: cabal.mkDerivation (self: { pname = "c2hs"; - version = "0.17.2"; - sha256 = "1xrk0izdy5akjgmg9k4l9ccmmgv1avwh152pfpc1xm2rrwrg4bxk"; + version = "0.18.1"; + sha256 = "17miqihfidzd1nqdswnd7j0580jlv2pj19wxlx8vb3dc5wga58xd"; isLibrary = false; isExecutable = true; - buildDepends = [ filepath languageC ]; + buildDepends = [ dlist filepath languageC shelly text yaml ]; testDepends = [ - filepath HUnit shelly testFramework testFrameworkHunit text yaml + filepath HUnit shelly testFramework testFrameworkHunit text + transformers ]; jailbreak = true; doCheck = false; diff --git a/pkgs/development/libraries/haskell/cabal-cargs/default.nix b/pkgs/development/libraries/haskell/cabal-cargs/default.nix index 85015f5d4acc915c1ad1f3af99cb1a56813d55bc..2f2b59b597a66209844bc448ab81de4b2e2fc74e 100644 --- a/pkgs/development/libraries/haskell/cabal-cargs/default.nix +++ b/pkgs/development/libraries/haskell/cabal-cargs/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "cabal-cargs"; - version = "0.7"; - sha256 = "1dzmvwmb9sxwdgkzszhk9d5qvq2alnqmprx83dlb17sdi6f9jns1"; + version = "0.7.2"; + sha256 = "03095w08ff3g57qzx9dziv61q9x1rvqyph4lvxkccd1is2g1wywb"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/cabal-lenses/default.nix b/pkgs/development/libraries/haskell/cabal-lenses/default.nix index a4ac5164e1f327abede9e7cafa73d8729cd8f068..8bf0148ba6bf42e4b15fa53160755c6c4326f170 100644 --- a/pkgs/development/libraries/haskell/cabal-lenses/default.nix +++ b/pkgs/development/libraries/haskell/cabal-lenses/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "cabal-lenses"; - version = "0.3"; - sha256 = "13nx9cn81cx9cj7fk07akqvz4qkl49dlgb5wl5wanag6bafa6vhl"; + version = "0.4"; + sha256 = "19ryd1qvsc301kdpk0zvw89aqhvk26ccbrgddm9j5m31mn62jl2d"; buildDepends = [ Cabal lens unorderedContainers ]; meta = { description = "Lenses and traversals for the Cabal library"; diff --git a/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix b/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix new file mode 100644 index 0000000000000000000000000000000000000000..2bacef96e08559ff86ed9a94bb18bf37a19e8709 --- /dev/null +++ b/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix @@ -0,0 +1,18 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, exceptions, mtl, network, networkUri, parsec, xhtml }: + +cabal.mkDerivation (self: { + pname = "cgi"; + version = "3001.2.0.0"; + sha256 = "03az978d5ayv5v4g89h4wajjhcribyf37b8ws8kvsqir3i7h7k8d"; + buildDepends = [ exceptions mtl network networkUri parsec xhtml ]; + meta = { + homepage = "https://github.com/cheecheeo/haskell-cgi"; + description = "A library for writing CGI programs"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; + }; +}) diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix index 28e940f348963d7010976930b989a6906c56183c..286a20f2ba2238c41ada5af693b3932b75ccf392 100644 --- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "classy-prelude-conduit"; - version = "0.9.3"; - sha256 = "0wsl3mhczinxl6ij8dpv5001db740z4jq43l2gpzdylv6pmpldzr"; + version = "0.9.4"; + sha256 = "07ggdd3c47bs0pj4hl8vl19k2jlbka73pq7x0m4rsgrrjxc5pr1r"; buildDepends = [ classyPrelude conduit conduitCombinators monadControl resourcet systemFileio transformers void diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix index e45a6f256b9c7ce35b54a95fd8bd6c0e19f133aa..018a54f42d7531a4f92b89ea3bef223043e2b1d6 100644 --- a/pkgs/development/libraries/haskell/classy-prelude/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix @@ -1,19 +1,20 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! { cabal, basicPrelude, chunkedData, enclosedExceptions, exceptions -, hashable, hspec, liftedBase, monoTraversable, QuickCheck -, semigroups, stm, systemFilepath, text, time, transformers -, unorderedContainers, vector, vectorInstances +, hashable, hspec, liftedBase, monoTraversable, mtl, primitive +, QuickCheck, semigroups, stm, systemFilepath, text, time +, transformers, unorderedContainers, vector, vectorInstances }: cabal.mkDerivation (self: { pname = "classy-prelude"; - version = "0.9.3"; - sha256 = "06y6zx3mmqjnha5p7y7blzn77bij71kndw2bmi07wz4s4lj9xsiv"; + version = "0.9.4"; + sha256 = "1pxg515dg174minvajaxl3sqpqjm862pgfpf7n2ynw5cqmaxngxa"; buildDepends = [ basicPrelude chunkedData enclosedExceptions exceptions hashable - liftedBase monoTraversable semigroups stm systemFilepath text time - transformers unorderedContainers vector vectorInstances + liftedBase monoTraversable mtl primitive semigroups stm + systemFilepath text time transformers unorderedContainers vector + vectorInstances ]; testDepends = [ hspec QuickCheck transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/compdata/default.nix b/pkgs/development/libraries/haskell/compdata/default.nix index 2e26d9ac781aa44cf296614c28fa826c19a2faf7..ecaec5c4dd0425f47a114f783e36ca29d82fb929 100644 --- a/pkgs/development/libraries/haskell/compdata/default.nix +++ b/pkgs/development/libraries/haskell/compdata/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "compdata"; - version = "0.8.1.3"; - sha256 = "0rnvw5bdypl6i2k1wnc727a17hapl4hs7n208h16ngk075841gpb"; + version = "0.9"; + sha256 = "1wk9vj834l3fc64fcsrgc9hz5f2z7461hs8lv1ldkfsixx4mxyqc"; buildDepends = [ deepseq derive mtl QuickCheck thExpandSyns transformers treeView ]; diff --git a/pkgs/development/libraries/haskell/diagrams/cairo.nix b/pkgs/development/libraries/haskell/diagrams/cairo.nix index c0f678311b9a3f35209359d92702a4def5b64739..3a695fa82037d0e05ee33cadee7d7f233e86186c 100644 --- a/pkgs/development/libraries/haskell/diagrams/cairo.nix +++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix @@ -7,18 +7,18 @@ cabal.mkDerivation (self: { pname = "diagrams-cairo"; - version = "1.2"; - sha256 = "0vzjp1i5hk971r7f55gpdl0jibrjg9j4ny7p408kb8zl2ynlxv6l"; + version = "1.2.0.1"; + sha256 = "0y7llxxs34i814nc3c79ykv75znplzqq7njvq7a5fyxl81ji0z4c"; buildDepends = [ cairo colour dataDefaultClass diagramsCore diagramsLib filepath hashable JuicyPixels lens mtl optparseApplicative pango split statestack time transformers vector ]; - jailbreak = true; meta = { homepage = "http://projects.haskell.org/diagrams"; description = "Cairo backend for diagrams drawing EDSL"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix index 2dcc86d5c9b43aa59f54f3af424ef3c0358ad843..f1044870f3a4f367e37b207e80acd5b8815ed797 100644 --- a/pkgs/development/libraries/haskell/diagrams/contrib.nix +++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "diagrams-contrib"; - version = "1.1.2"; - sha256 = "1gljmzlhc6vck5lcsq9lhf2k4dik5pp62k85y2kkxgq0mxnmqf0g"; + version = "1.1.2.1"; + sha256 = "05jsqc9wm87hpnaclzfa376m5z8lnp4qgll6lqnfa5m49cqcabki"; buildDepends = [ arithmoi circlePacking colour dataDefault dataDefaultClass diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec @@ -20,11 +20,11 @@ cabal.mkDerivation (self: { diagramsLib HUnit QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 ]; - jailbreak = true; meta = { homepage = "http://projects.haskell.org/diagrams/"; description = "Collection of user contributions to diagrams EDSL"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix index 9a1245d04d0a7317b9e0feaf512d0764a4d03f06..18f362e0c21f618e0c72aa724dbda244a862a3b4 100644 --- a/pkgs/development/libraries/haskell/diagrams/core.nix +++ b/pkgs/development/libraries/haskell/diagrams/core.nix @@ -6,17 +6,17 @@ cabal.mkDerivation (self: { pname = "diagrams-core"; - version = "1.2.0.1"; - sha256 = "01rzd2zdg0pv7b299z6s6i6l6xggiszb2qs00vh5dbss295n1sps"; + version = "1.2.0.2"; + sha256 = "10glkp05pnxx7c7f33654rjcvahslxx010v36wf6zsa8nscdrccn"; buildDepends = [ dualTree lens MemoTrie monoidExtras newtype semigroups vectorSpace vectorSpacePoints ]; - jailbreak = true; meta = { homepage = "http://projects.haskell.org/diagrams"; description = "Core libraries for diagrams EDSL"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix index 77047d9829173a5953568c7f618f04520d19893b..b15f05dbf27b3db5c74e304b27481a3127ac00e3 100644 --- a/pkgs/development/libraries/haskell/diagrams/lib.nix +++ b/pkgs/development/libraries/haskell/diagrams/lib.nix @@ -8,19 +8,19 @@ cabal.mkDerivation (self: { pname = "diagrams-lib"; - version = "1.2.0.1"; - sha256 = "0p7rq97hnal90dciq1nln1s16kdb1xk9rrwaxhkxqr6kjjr2njf4"; + version = "1.2.0.2"; + sha256 = "0ylrsldq7nmqvprgwbw7bkwp31zhgbyxjx462lcayk0lbhqb5k5p"; buildDepends = [ active colour dataDefaultClass diagramsCore dualTree filepath fingertree hashable intervals JuicyPixels lens MemoTrie monoidExtras optparseApplicative safe semigroups tagged vectorSpace vectorSpacePoints ]; - jailbreak = true; meta = { homepage = "http://projects.haskell.org/diagrams"; description = "Embedded domain-specific language for declarative graphics"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) diff --git a/pkgs/development/libraries/haskell/diagrams/postscript.nix b/pkgs/development/libraries/haskell/diagrams/postscript.nix index 6ecd2dd4a410509cd2dd4c0fb2041a1d75e800fe..557aae73db56beb9e8ed3d6a2af198232e7a7d1e 100644 --- a/pkgs/development/libraries/haskell/diagrams/postscript.nix +++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "diagrams-postscript"; - version = "1.1"; - sha256 = "0l077libp6h8ka9ygkmajvzdymndlhx60nb5f6jaqvp7yx80hz3m"; + version = "1.1.0.1"; + sha256 = "03747g5y33kzf76hs4y0ak9q6b79r92z130b03bcc2892na62ad6"; buildDepends = [ dataDefaultClass diagramsCore diagramsLib dlist filepath hashable lens monoidExtras mtl semigroups split vectorSpace @@ -18,7 +18,6 @@ cabal.mkDerivation (self: { description = "Postscript backend for diagrams drawing EDSL"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; - broken = true; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) diff --git a/pkgs/development/libraries/haskell/diagrams/rasterific.nix b/pkgs/development/libraries/haskell/diagrams/rasterific.nix new file mode 100644 index 0000000000000000000000000000000000000000..c2e85058a906f62c9ec650678fa7d506c067bb19 --- /dev/null +++ b/pkgs/development/libraries/haskell/diagrams/rasterific.nix @@ -0,0 +1,24 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, dataDefaultClass, diagramsCore, diagramsLib, filepath +, FontyFruity, JuicyPixels, lens, mtl, optparseApplicative +, Rasterific, split, statestack, time +}: + +cabal.mkDerivation (self: { + pname = "diagrams-rasterific"; + version = "0.1.0.1"; + sha256 = "1bgrwnrdhlnbcv5ra80x2nh5yr5bzz81f517zb0ws2y07l072gwm"; + buildDepends = [ + dataDefaultClass diagramsCore diagramsLib filepath FontyFruity + JuicyPixels lens mtl optparseApplicative Rasterific split + statestack time + ]; + meta = { + homepage = "http://projects.haskell.org/diagrams/"; + description = "Rasterific backend for diagrams"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/diagrams/svg.nix b/pkgs/development/libraries/haskell/diagrams/svg.nix index f982f427863bf0df86191b9fb15f710373666835..8393d7c6f982ea63eefb4bc4c07cf6edd23f2a5d 100644 --- a/pkgs/development/libraries/haskell/diagrams/svg.nix +++ b/pkgs/development/libraries/haskell/diagrams/svg.nix @@ -7,18 +7,18 @@ cabal.mkDerivation (self: { pname = "diagrams-svg"; - version = "1.1"; - sha256 = "0b34rh35pay4x8dg0i06xvr3d865hbxzj2x77jly9l1j7sa1qaj1"; + version = "1.1.0.1"; + sha256 = "02krwy1v7rhcgg0ps7kd8ym50kh48dcfqm2xz3k6hr32jzqa5hlw"; buildDepends = [ base64Bytestring blazeMarkup blazeSvg colour diagramsCore diagramsLib filepath hashable JuicyPixels lens monoidExtras mtl split time vectorSpace ]; - jailbreak = true; meta = { homepage = "http://projects.haskell.org/diagrams/"; description = "SVG backend for diagrams drawing EDSL"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) diff --git a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix index 924f8bb351d43381c61b7ae4575230109dcf03c9..1958307e869ca5557218ad79840c7550996f3af1 100644 --- a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix +++ b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix @@ -1,18 +1,19 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, aeson, digestiveFunctors, HUnit, lens, mtl, safe -, scientific, tasty, tastyHunit, text, vector +{ cabal, aeson, digestiveFunctors, HUnit, lens, lensAeson, mtl +, safe, scientific, tasty, tastyHunit, text, vector }: cabal.mkDerivation (self: { pname = "digestive-functors-aeson"; - version = "1.1.10"; - sha256 = "0ar165rksnj09sb58qx5hm71kn8gzm936ixmfhf7sqbw2kcbw4nx"; - buildDepends = [ aeson digestiveFunctors lens safe text vector ]; + version = "1.1.11"; + sha256 = "0jf62ssyc317x070xkjdnfbb2g8mb19a83hig08j95vyqwjgk4vg"; + buildDepends = [ + aeson digestiveFunctors lens lensAeson safe text vector + ]; testDepends = [ aeson digestiveFunctors HUnit mtl scientific tasty tastyHunit text ]; - jailbreak = true; meta = { homepage = "http://github.com/ocharles/digestive-functors-aeson"; description = "Run digestive-functors forms against JSON"; diff --git a/pkgs/development/libraries/haskell/directory-layout/default.nix b/pkgs/development/libraries/haskell/directory-layout/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2cc9682dccb100e7db46a595808e36ce851cfb14 --- /dev/null +++ b/pkgs/development/libraries/haskell/directory-layout/default.nix @@ -0,0 +1,25 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, commandQq, doctest, filepath, free, hspec, lens +, semigroups, temporary, text, transformers, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "directory-layout"; + version = "0.7.4.1"; + sha256 = "0hj7dfv5i2s1dk0rws2fg84crpxz1kgvrq68f373a6hwkbfhv89b"; + buildDepends = [ + commandQq filepath free hspec lens semigroups text transformers + unorderedContainers + ]; + testDepends = [ + commandQq doctest filepath free hspec lens semigroups temporary + text transformers unorderedContainers + ]; + doCheck = false; + meta = { + description = "Directory layout DSL"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix index 113e1af46eed55e2521a7def1b137f9fe73377e4..ab74819965a75ff4c78d4f081fefeacef24a77b5 100644 --- a/pkgs/development/libraries/haskell/dns/default.nix +++ b/pkgs/development/libraries/haskell/dns/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "dns"; - version = "1.4.3"; - sha256 = "15v24f338w71dn3cxrzwyg04hk3vxvrvswbv3nnf2ggjgg46yq3i"; + version = "1.4.4"; + sha256 = "1g910rlahvrhjlg6jl7gpya1y3mqkkpmihfr2jnmmlzykll10dnd"; buildDepends = [ attoparsec binary blazeBuilder conduit conduitExtra iproute mtl network random resourcet @@ -21,5 +21,6 @@ cabal.mkDerivation (self: { description = "DNS library in Haskell"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; }; }) diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix index 018fac0667022bab40c7f6ed786a39dc55c9ca3e..af3f9e2d52558829a42f169ef6b91c29c43858a6 100644 --- a/pkgs/development/libraries/haskell/doctest/default.nix +++ b/pkgs/development/libraries/haskell/doctest/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "doctest"; - version = "0.9.11"; - sha256 = "04y6y5hixqh8awl37wrss20c2drvx070w7wd6icfx7r0jqds97jr"; + version = "0.9.11.1"; + sha256 = "1gzzzwr7f7281mlbfbk74nxr28l70lwfaws4xjfx2v06xazl99db"; isLibrary = true; isExecutable = true; buildDepends = [ deepseq filepath ghcPaths syb transformers ]; @@ -18,7 +18,7 @@ cabal.mkDerivation (self: { doCheck = false; noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.4"; meta = { - homepage = "https://github.com/sol/doctest-haskell#readme"; + homepage = "https://github.com/sol/doctest#readme"; description = "Test interactive Haskell examples"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix index 6d55afd41d6f61fff7410637cabd924cb7e74e72..72f3bff14df121ee6b27e769e131c89ec91404ca 100644 --- a/pkgs/development/libraries/haskell/either/default.nix +++ b/pkgs/development/libraries/haskell/either/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "either"; - version = "4.3.0.1"; - sha256 = "1ib6288gxzqfm2y198dzhhq588mlwqxm07pcrj4h66g1mcy54q1f"; + version = "4.3.0.2"; + sha256 = "01n4jkf6py00841cyf3fiwiay736dpbhda8ia2qgm26q4r4h58gd"; buildDepends = [ exceptions free monadControl MonadRandom mtl semigroupoids semigroups transformers transformersBase diff --git a/pkgs/development/libraries/haskell/engine-io/default.nix b/pkgs/development/libraries/haskell/engine-io/default.nix index 82cb1240610de01cb2cff87cdb6c2ecda70512b6..f1f9d06c76a789edd3ae1c0c671b154a2dde2e09 100644 --- a/pkgs/development/libraries/haskell/engine-io/default.nix +++ b/pkgs/development/libraries/haskell/engine-io/default.nix @@ -7,13 +7,12 @@ cabal.mkDerivation (self: { pname = "engine-io"; - version = "1.1.0"; - sha256 = "0l2jwgzi22ky13k9kmqhn15zyxyg5gr167rkywb458n1si4jr3jh"; + version = "1.1.2"; + sha256 = "1ry6rklrij7x1z8mw31vh41lc0axzj8l0lhmjsmhs554nv50062f"; buildDepends = [ aeson async attoparsec base64Bytestring either monadLoops mwcRandom stm text transformers unorderedContainers vector websockets ]; - jailbreak = true; meta = { homepage = "http://github.com/ocharles/engine.io"; description = "A Haskell implementation of Engine.IO"; diff --git a/pkgs/development/libraries/haskell/equational-reasoning/default.nix b/pkgs/development/libraries/haskell/equational-reasoning/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..fa88fbfe2e80e486a1983a16aa27bd5f9e5dda3f --- /dev/null +++ b/pkgs/development/libraries/haskell/equational-reasoning/default.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, singletons, tagged, void }: + +cabal.mkDerivation (self: { + pname = "equational-reasoning"; + version = "0.2.0.4"; + sha256 = "1f94y6h7qg7rck7rxf6j8sygkh1xmfk0z1lr71inx6s74agjyc9j"; + buildDepends = [ singletons tagged void ]; + meta = { + description = "Proof assistant for Haskell using DataKinds & PolyKinds"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix index edbf19bda62e0f7f979291f6ca5767093de76c46..c00b009c51d7360b230ebe9c1aaf230305a36d8d 100644 --- a/pkgs/development/libraries/haskell/fay/default.nix +++ b/pkgs/development/libraries/haskell/fay/default.nix @@ -1,24 +1,23 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, aeson, attoparsec, dataDefault, filepath, ghcPaths, groom -, haskellNames, haskellPackages, haskellSrcExts, languageEcmascript -, mtl, optparseApplicative, safe, sourcemap, split, spoon, syb -, tasty, tastyHunit, tastyTh, text, time, transformers, uniplate -, unorderedContainers, utf8String, vector +{ cabal, aeson, dataDefault, filepath, ghcPaths, haskellNames +, haskellPackages, haskellSrcExts, languageEcmascript, mtl +, optparseApplicative, safe, sourcemap, split, spoon, syb, text +, time, transformers, uniplate, unorderedContainers, utf8String +, vector }: cabal.mkDerivation (self: { pname = "fay"; - version = "0.20.1.2"; - sha256 = "1ssii9wkml8jn8kcdq8h6sxrq4gap4asyglakvif2zawl3sqrdji"; + version = "0.20.1.3"; + sha256 = "1r9a1my8wydxx92xg04kacw90s1r4bms84fvs1w52r73knp5kb6r"; isLibrary = true; isExecutable = true; buildDepends = [ - aeson attoparsec dataDefault filepath ghcPaths groom haskellNames - haskellPackages haskellSrcExts languageEcmascript mtl - optparseApplicative safe sourcemap split spoon syb tasty tastyHunit - tastyTh text time transformers uniplate unorderedContainers - utf8String vector + aeson dataDefault filepath ghcPaths haskellNames haskellPackages + haskellSrcExts languageEcmascript mtl optparseApplicative safe + sourcemap split spoon syb text time transformers uniplate + unorderedContainers utf8String vector ]; meta = { homepage = "https://github.com/faylang/fay/wiki"; diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix index 7a942e97dc89fb70f1f469ba0c9ca088ce8f077e..2f04330a3157d20b8fdd62d59ce43c7fdb1c0497 100644 --- a/pkgs/development/libraries/haskell/foldl/default.nix +++ b/pkgs/development/libraries/haskell/foldl/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "foldl"; - version = "1.0.5"; - sha256 = "08yjzzplg715hzkhwbf8nv2zm7c5wd2kph4zx94iml0cnc6ip048"; + version = "1.0.6"; + sha256 = "1i4pm48x7f8l4gqbb2bgqshx5cx44acr24l75czliq656sqm405i"; buildDepends = [ primitive text transformers vector ]; meta = { description = "Composable, streaming, and efficient left folds"; diff --git a/pkgs/development/libraries/haskell/force-layout/default.nix b/pkgs/development/libraries/haskell/force-layout/default.nix index 77259cc1e401669b3117d28c3d1ddca048d36ae6..09a22c0ac601b683344c6055c8fead493c9d972b 100644 --- a/pkgs/development/libraries/haskell/force-layout/default.nix +++ b/pkgs/development/libraries/haskell/force-layout/default.nix @@ -4,15 +4,15 @@ cabal.mkDerivation (self: { pname = "force-layout"; - version = "0.3.0.6"; - sha256 = "0qmzz9gbzf1jdk08w3nhnw7l3n5bq5sw5k4r0mdc5y11m38xpgm4"; + version = "0.3.0.7"; + sha256 = "1kq6fg90yj735rpipspykvkmzs2cnwyib6pkph58523bvahgi2dy"; buildDepends = [ dataDefaultClass lens vectorSpace vectorSpacePoints ]; - jailbreak = true; meta = { description = "Simple force-directed layout"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ bergey ]; }; }) diff --git a/pkgs/development/libraries/haskell/free-game/default.nix b/pkgs/development/libraries/haskell/free-game/default.nix index d2a0f33892fdc2d80f34619d2da9689b59f019c2..ee47e6bb3f5b6eae0500c115743ec351ff84251b 100644 --- a/pkgs/development/libraries/haskell/free-game/default.nix +++ b/pkgs/development/libraries/haskell/free-game/default.nix @@ -21,5 +21,6 @@ cabal.mkDerivation (self: { description = "Create games for free"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; }; }) diff --git a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.nix b/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix similarity index 59% rename from pkgs/development/libraries/haskell/ghc-mod/5.0.1.nix rename to pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix index ad9207214513f2b5e3ecc9e5bf2de728e11537fb..3eefe056218d5acf240095fbd092f6949996feb5 100644 --- a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.nix +++ b/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix @@ -2,14 +2,14 @@ { cabal, Cabal, convertible, deepseq, djinnGhc, doctest, emacs , filepath, ghcPaths, ghcSybUtils, haskellSrcExts, hlint, hspec -, ioChoice, monadControl, monadJournal, mtl, split, syb, text, time -, transformers, transformersBase +, ioChoice, makeWrapper, monadControl, monadJournal, mtl, split +, syb, text, time, transformers, transformersBase }: cabal.mkDerivation (self: { pname = "ghc-mod"; - version = "5.0.1"; - sha256 = "01awsi5rfzq6433shfvvnr69ifxb7h8v90mlknxv3dl34zmrhv19"; + version = "5.0.1.1"; + sha256 = "0qyl1653dj14ap3035kjj7xl8rsmgpwh32bj2lnwrmdm2223m8a3"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -22,7 +22,7 @@ cabal.mkDerivation (self: { ghcSybUtils haskellSrcExts hlint hspec ioChoice monadControl monadJournal mtl split syb text time transformers transformersBase ]; - buildTools = [ emacs ]; + buildTools = [ emacs makeWrapper ]; doCheck = false; configureFlags = "--datasubdir=${self.pname}-${self.version}"; postInstall = '' @@ -32,20 +32,10 @@ cabal.mkDerivation (self: { cd .. ensureDir "$out/share/emacs" mv $pname-$version emacs/site-lisp - mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped - cat - > $out/bin/ghc-mod < $out/bin/ghc-modi < rt' '-> return ()' ''; +}) diff --git a/pkgs/development/libraries/haskell/network/2.5.0.0.nix b/pkgs/development/libraries/haskell/network/2.5.0.0.nix index dd4278a0052e7a76f118e266f5483d7713c4355b..59a338a7907720e5ba01226e8f409cbbc2e348f3 100644 --- a/pkgs/development/libraries/haskell/network/2.5.0.0.nix +++ b/pkgs/development/libraries/haskell/network/2.5.0.0.nix @@ -17,5 +17,6 @@ cabal.mkDerivation (self: { description = "Low-level networking interface"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; }; }) diff --git a/pkgs/development/libraries/haskell/network/2.6.0.1.nix b/pkgs/development/libraries/haskell/network/2.6.0.1.nix new file mode 100644 index 0000000000000000000000000000000000000000..d5d302fbd8e6aa15d877844bc46e69f827004fe0 --- /dev/null +++ b/pkgs/development/libraries/haskell/network/2.6.0.1.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, HUnit, testFramework, testFrameworkHunit }: + +cabal.mkDerivation (self: { + pname = "network"; + version = "2.6.0.1"; + sha256 = "0qfffsdbvrf9gs8wr9ps7iv5h6drz4vb2ja9rprmc7ypswsacxsq"; + testDepends = [ HUnit testFramework testFrameworkHunit ]; + meta = { + homepage = "https://github.com/haskell/network"; + description = "Low-level networking interface"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix index e567bd82059b5ad3ab41f69b4a1db85a44ef6714..76ab2fc41b429fb6bea8ae0b18f5731dcf73c2a5 100644 --- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "pandoc-citeproc"; - version = "0.4.0.1"; - sha256 = "1z21mdxa2hrwqdclriyn3s1qqij3ccbkg7hb0acxrk3pzgidcinx"; + version = "0.5"; + sha256 = "00azhpll0xnb9nnkh7c3hbfk0fzmvh5cgdxlgx7jvaglrmsnvzw3"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix index 1b2571563c38733ddbdcc1e521c4ffe0de957cd5..c8ef8ba2271de6d9a308e459a132fe901335f07f 100644 --- a/pkgs/development/libraries/haskell/pandoc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc/default.nix @@ -4,26 +4,27 @@ , blazeHtml, blazeMarkup, dataDefault, deepseqGenerics, Diff , executablePath, extensibleExceptions, filepath, haddockLibrary , happy, highlightingKate, hslua, HTTP, httpClient, httpClientTls -, httpTypes, HUnit, JuicyPixels, mtl, network, pandocTypes, parsec -, QuickCheck, random, scientific, SHA, syb, tagsoup, temporary -, testFramework, testFrameworkHunit, testFrameworkQuickcheck2 -, texmath, text, time, unorderedContainers, vector, wai, waiExtra -, xml, yaml, zipArchive, zlib +, httpTypes, HUnit, JuicyPixels, mtl, network, networkUri +, pandocTypes, parsec, QuickCheck, random, scientific, SHA, syb +, tagsoup, temporary, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, texmath, text, time +, unorderedContainers, vector, xml, yaml, zipArchive, zlib }: cabal.mkDerivation (self: { pname = "pandoc"; - version = "1.13.0.1"; - sha256 = "0pjyxsr93gv0vrdxlr5i0c56mg6rf21qxf1141cb8l0hl0b416d6"; + version = "1.13.1"; + sha256 = "0vvysa70xp4pskxrvslmddwdsalc479zb8wn6z1vmpvfssvvj6vv"; isLibrary = true; isExecutable = true; buildDepends = [ aeson alex base64Bytestring binary blazeHtml blazeMarkup dataDefault deepseqGenerics extensibleExceptions filepath haddockLibrary happy highlightingKate hslua HTTP httpClient - httpClientTls httpTypes JuicyPixels mtl network pandocTypes parsec - random scientific SHA syb tagsoup temporary texmath text time - unorderedContainers vector wai waiExtra xml yaml zipArchive zlib + httpClientTls httpTypes JuicyPixels mtl network networkUri + pandocTypes parsec random scientific SHA syb tagsoup temporary + texmath text time unorderedContainers vector xml yaml zipArchive + zlib ]; testDepends = [ ansiTerminal Diff executablePath filepath highlightingKate HUnit diff --git a/pkgs/development/libraries/haskell/parsers/0.10.3.nix b/pkgs/development/libraries/haskell/parsers/0.10.3.nix deleted file mode 100644 index 1da7380f252c8d6787810f43fa01081089d6282a..0000000000000000000000000000000000000000 --- a/pkgs/development/libraries/haskell/parsers/0.10.3.nix +++ /dev/null @@ -1,22 +0,0 @@ -# This file was auto-generated by cabal2nix. Please do NOT edit manually! - -{ cabal, charset, doctest, filepath, parsec, text, transformers -, unorderedContainers -}: - -cabal.mkDerivation (self: { - pname = "parsers"; - version = "0.10.3"; - sha256 = "1s9n59q77h0w1csq7yh945b53847a9hnpvviashgxyi7ahvw7jli"; - buildDepends = [ - charset parsec text transformers unorderedContainers - ]; - testDepends = [ doctest filepath ]; - meta = { - homepage = "http://github.com/ekmett/parsers/"; - description = "Parsing combinators"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; - }; -}) diff --git a/pkgs/development/libraries/haskell/parsers/0.12.1.nix b/pkgs/development/libraries/haskell/parsers/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/parsers/0.12.1.nix rename to pkgs/development/libraries/haskell/parsers/default.nix diff --git a/pkgs/development/libraries/haskell/poppler/default.nix b/pkgs/development/libraries/haskell/poppler/default.nix index 327744560acb0985470d9a3d54d0e944ecbe6415..28e7e515c2b20b77163c2cc54d2167e0a36c303f 100644 --- a/pkgs/development/libraries/haskell/poppler/default.nix +++ b/pkgs/development/libraries/haskell/poppler/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "poppler"; - version = "0.12.3"; - sha256 = "1ny2r1cpsshpg00w6bd0f5mw26xsy99l7dgx2xq8f01zcwdy4nrp"; + version = "0.13"; + sha256 = "1fv0h2ixanzv5vy4l2ln23f9n8ghmgdxzlyx54hh69bwhrcg049s"; buildDepends = [ cairo glib gtk mtl ]; buildTools = [ gtk2hsBuildtools ]; extraLibraries = [ libc ]; @@ -18,7 +18,5 @@ cabal.mkDerivation (self: { license = self.stdenv.lib.licenses.gpl2; platforms = self.ghc.meta.platforms; maintainers = with self.stdenv.lib.maintainers; [ ianwookim ]; - hydraPlatforms = self.stdenv.lib.platforms.none; - broken = true; }; }) diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix index a3f471fcb4def1f1947378696d80f87f6d04903f..0c4fea2da65f866294b2166559d2b574e096876c 100644 --- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix +++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "postgresql-simple"; - version = "0.4.3.0"; - sha256 = "16i1qzshbscnbjb4rxz5hl1iaxjmsc21878prj5pp33zbm53dlcm"; + version = "0.4.4.0"; + sha256 = "1rx0rcafiicdv4qbf68dbsfqwiayrl7205dm0c5bdjlvszv576r7"; buildDepends = [ aeson attoparsec blazeBuilder blazeTextual hashable postgresqlLibpq scientific text time transformers uuid vector diff --git a/pkgs/development/libraries/haskell/present/default.nix b/pkgs/development/libraries/haskell/present/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..7c5f3afbd988f26e03641c5e8d3376a4f641d656 --- /dev/null +++ b/pkgs/development/libraries/haskell/present/default.nix @@ -0,0 +1,15 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, aeson, attoLisp, dataDefault, mtl, semigroups, text }: + +cabal.mkDerivation (self: { + pname = "present"; + version = "1.1"; + sha256 = "1hmzq3qi4hz74xr7cnc33kpwki9ziyinvrwazag8hh77d02fl11z"; + buildDepends = [ aeson attoLisp dataDefault mtl semigroups text ]; + meta = { + description = "Make presentations for data types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/project-template/default.nix b/pkgs/development/libraries/haskell/project-template/default.nix index 9aa8dff59aa3d1057e8cd1d658ce6f040795f645..8cb7dfd32ae1480345fa396207ea5dcecca77cf6 100644 --- a/pkgs/development/libraries/haskell/project-template/default.nix +++ b/pkgs/development/libraries/haskell/project-template/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "project-template"; - version = "0.1.4.1"; - sha256 = "1vsx8a4kzdcwbdy47hb2wz32najsa6bqq6jkyal9nbc5ydwb65lb"; + version = "0.1.4.2"; + sha256 = "10n23s6g7fv0l42hsb804z0qqcyxqw32kwzg1f0w3c6gka844akr"; buildDepends = [ base64Bytestring conduit conduitExtra mtl resourcet systemFileio systemFilepath text transformers diff --git a/pkgs/development/libraries/haskell/pwstore-fast/default.nix b/pkgs/development/libraries/haskell/pwstore-fast/default.nix index 08f18e8fe1136ad850052a5d0581b05d773f0f78..a59a9b2d2da3c4f1e8e2748ea9def56b441d31f0 100644 --- a/pkgs/development/libraries/haskell/pwstore-fast/default.nix +++ b/pkgs/development/libraries/haskell/pwstore-fast/default.nix @@ -1,12 +1,14 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, base64Bytestring, binary, cryptohash, random, SHA }: +{ cabal, base64Bytestring, binary, byteable, cryptohash, random }: cabal.mkDerivation (self: { pname = "pwstore-fast"; - version = "2.4.1"; - sha256 = "1k98b1s2ld0jx8fy53k8d8pscp6n0plh51b2lj6ai6w8xj4vknw4"; - buildDepends = [ base64Bytestring binary cryptohash random SHA ]; + version = "2.4.3"; + sha256 = "02dj297s04fxb4ys9nfdw6aap5zrwlryq515gky0c3af6ss2yiz7"; + buildDepends = [ + base64Bytestring binary byteable cryptohash random + ]; meta = { homepage = "https://github.com/PeterScott/pwstore"; description = "Secure password storage"; diff --git a/pkgs/development/libraries/haskell/random/1.0.1.1.nix b/pkgs/development/libraries/haskell/random/1.0.1.1.nix index 5a64573a8903b9fdb3d776239df511c8e4c310b4..031c251fbb7baeebbb0b6f01ce57954fc8158912 100644 --- a/pkgs/development/libraries/haskell/random/1.0.1.1.nix +++ b/pkgs/development/libraries/haskell/random/1.0.1.1.nix @@ -11,5 +11,6 @@ cabal.mkDerivation (self: { description = "random number library"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; }; }) diff --git a/pkgs/development/libraries/haskell/random/1.0.1.3.nix b/pkgs/development/libraries/haskell/random/1.0.1.3.nix new file mode 100644 index 0000000000000000000000000000000000000000..26763deb10a66d1e8c1778da57e3e5aff3e698ce --- /dev/null +++ b/pkgs/development/libraries/haskell/random/1.0.1.3.nix @@ -0,0 +1,15 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, time }: + +cabal.mkDerivation (self: { + pname = "random"; + version = "1.0.1.3"; + sha256 = "06mbjx05c54iz5skn4biyjy9sqdr1qi6d33an8wya7sndnpakd21"; + buildDepends = [ time ]; + meta = { + description = "random number library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix index dd92b7e79deb21b2e1b2cb0c6702bcbbdf0e1d23..00fe58be4b124c077565dd151a3eeba0dbd98d98 100644 --- a/pkgs/development/libraries/haskell/recaptcha/default.nix +++ b/pkgs/development/libraries/haskell/recaptcha/default.nix @@ -1,12 +1,12 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, HTTP, network, xhtml }: +{ cabal, HTTP, network, networkUri, xhtml }: cabal.mkDerivation (self: { pname = "recaptcha"; - version = "0.1.0.2"; - sha256 = "04sdfp6bmcd3qkz1iqxijfiqa4qf78m5d16r9gjv90ckqf68kbih"; - buildDepends = [ HTTP network xhtml ]; + version = "0.1.0.3"; + sha256 = "18rqsqzni11nr2cvs7ah9k87w493d92c0gmc0n6fhfq6gay9ia19"; + buildDepends = [ HTTP network networkUri xhtml ]; meta = { homepage = "http://github.com/jgm/recaptcha/tree/master"; description = "Functions for using the reCAPTCHA service in web applications"; diff --git a/pkgs/development/libraries/haskell/rest-core/default.nix b/pkgs/development/libraries/haskell/rest-core/default.nix index 134c39f9f2467a7e802520b0bbacda8c3ed0f451..53c3ede3ec12a333845c11f5132a5c95fcfc5f2d 100644 --- a/pkgs/development/libraries/haskell/rest-core/default.nix +++ b/pkgs/development/libraries/haskell/rest-core/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "rest-core"; - version = "0.31.1"; - sha256 = "1cx1zmy1zr43n9nlrbar828izccpkvrvjkrda03ra9fkcjgd6qy6"; + version = "0.32"; + sha256 = "130kz1gsrbamw8gs4vc0fqfjh1gi7i52xxmj4fg1vl2dr77gf6my"; buildDepends = [ aeson aesonUtils either errors fclabels hxt hxtPickleUtils jsonSchema mtl multipart random restStringmap restTypes safe split diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix index afa2f612c014ddb672961bc8b9b964aeebf1b8d1..012f6db8bf24e34001927d34cecba3f2d47d4547 100644 --- a/pkgs/development/libraries/haskell/rest-gen/default.nix +++ b/pkgs/development/libraries/haskell/rest-gen/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "rest-gen"; - version = "0.14.2"; - sha256 = "1hmf77hs3pp6lf4glh3lbbwfjr029js185v69bk8ycr1c4ib8nbp"; + version = "0.14.2.1"; + sha256 = "1dvcs25ndmzwdann5yq4567zjirirzskf9v31gkrki0im8mi9x14"; buildDepends = [ aeson blazeHtml Cabal codeBuilder fclabels filepath hashable haskellSrcExts hslogger HStringTemplate hxt jsonSchema restCore diff --git a/pkgs/development/libraries/haskell/rest-happstack/default.nix b/pkgs/development/libraries/haskell/rest-happstack/default.nix index 74c5f2a06cbd137e4a76a0f52d921337d9108d3d..4c79bc58c065709962e210534d21c5ad3dc4fc51 100644 --- a/pkgs/development/libraries/haskell/rest-happstack/default.nix +++ b/pkgs/development/libraries/haskell/rest-happstack/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "rest-happstack"; - version = "0.2.10"; - sha256 = "1np8y0v6jnk2lw0aqlzb9dn1vlk8cg75xrhkjmm6qh0z90fy3p6z"; + version = "0.2.10.1"; + sha256 = "0p4km3l8n50flj9cnxvjl34pp3msxz2yq4d91r318di8pacrgnxc"; buildDepends = [ happstackServer mtl restCore restGen utf8String ]; meta = { description = "Rest driver for Happstack"; diff --git a/pkgs/development/libraries/haskell/rest-snap/default.nix b/pkgs/development/libraries/haskell/rest-snap/default.nix index 5305c2d113f8a302422d82f6ed62232418a35306..8e9bc69eb01347b1c2bf8ce4b2662a0778507cc5 100644 --- a/pkgs/development/libraries/haskell/rest-snap/default.nix +++ b/pkgs/development/libraries/haskell/rest-snap/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "rest-snap"; - version = "0.1.17.12"; - sha256 = "0hhpscdbph34psfn2h1g0znds0cz7ja9byr6bg7jmj0h86plz8al"; + version = "0.1.17.13"; + sha256 = "13c143dzxhfrshn19ylqfmhnxjirixfif8d1fmzagz1v893narkz"; buildDepends = [ caseInsensitive restCore safe snapCore unorderedContainers uriEncode utf8String diff --git a/pkgs/development/libraries/haskell/rest-types/default.nix b/pkgs/development/libraries/haskell/rest-types/default.nix index 157cab5e979c6a73ed6d5837bc4e4a004cf7aa1a..41b8044b59310876351c48833f1fd399280a4ee4 100644 --- a/pkgs/development/libraries/haskell/rest-types/default.nix +++ b/pkgs/development/libraries/haskell/rest-types/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "rest-types"; - version = "1.10.1"; - sha256 = "0i4y1s35ybly1nayqj9c2zqwikpxnzjamq24qbhg0lpqr0dpc1rg"; + version = "1.10.2"; + sha256 = "1j8fpv4xdhbf1awy0v9zn9a3sjwl42l6472wczp3wwwcpsi65d9q"; buildDepends = [ aeson genericAeson hxt jsonSchema mtl regular regularXmlpickler restStringmap text uuid diff --git a/pkgs/development/libraries/haskell/rest-wai/default.nix b/pkgs/development/libraries/haskell/rest-wai/default.nix index 7ddb500265b114bd0f2275ccd0bf1985e04fe24a..d23d81da33debc32c7bf26bfc1c7cb3bbe669f3a 100644 --- a/pkgs/development/libraries/haskell/rest-wai/default.nix +++ b/pkgs/development/libraries/haskell/rest-wai/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "rest-wai"; - version = "0.1.0.2"; - sha256 = "06wnazy0262b2875q4km2xy9zz7l681vlfj3ny1ha9valnqr3q6w"; + version = "0.1.0.3"; + sha256 = "08pprgn9xnd3ipr6clify3snm4ahshlws869mfvziplc4hdcnb59"; buildDepends = [ caseInsensitive httpTypes mimeTypes mtl restCore restTypes text unorderedContainers utf8String wai diff --git a/pkgs/development/libraries/haskell/robots-txt/default.nix b/pkgs/development/libraries/haskell/robots-txt/default.nix index c6534ff0cf4028528ddb0920366129da4ff9d8e5..0ebf6dac30180bc5e6f175835bdfdcf6642d2a42 100644 --- a/pkgs/development/libraries/haskell/robots-txt/default.nix +++ b/pkgs/development/libraries/haskell/robots-txt/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "robots-txt"; - version = "0.4.1.0"; - sha256 = "1q18pgilrwppmd8d7pby3p6qgk47alzmd8izqspk7n4h4agrscn4"; + version = "0.4.1.1"; + sha256 = "16r6j96iay1r6435ym34dp9iggwlfigmzmqq5k5f5ss5bljfc72f"; buildDepends = [ attoparsec time ]; testDepends = [ attoparsec heredoc hspec QuickCheck transformers ]; meta = { diff --git a/pkgs/development/libraries/haskell/saltine/default.nix b/pkgs/development/libraries/haskell/saltine/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..acb4066fb2e3caaa1d8ef98f61c7505754e5a70c --- /dev/null +++ b/pkgs/development/libraries/haskell/saltine/default.nix @@ -0,0 +1,22 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, libsodium, profunctors, QuickCheck, testFramework +, testFrameworkQuickcheck2, vector +}: + +cabal.mkDerivation (self: { + pname = "saltine"; + version = "0.0.0.3"; + sha256 = "1xjpjblxlpziyyz74ldaqh04shvy2qi34sc6b3232wpc0kyl5s8y"; + buildDepends = [ profunctors ]; + testDepends = [ + QuickCheck testFramework testFrameworkQuickcheck2 vector + ]; + extraLibraries = [ libsodium ]; + meta = { + description = "Cryptography that's easy to digest (NaCl/libsodium bindings)"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix index 91876f7e318764135ab08bc182e9c54eeb159599..4985f09b38ee0f7d7f6e9a35f759374bbc2ec6d0 100644 --- a/pkgs/development/libraries/haskell/scotty/default.nix +++ b/pkgs/development/libraries/haskell/scotty/default.nix @@ -1,21 +1,22 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault -, hspec, httpTypes, liftedBase, monadControl, mtl, regexCompat +{ cabal, aeson, blazeBuilder, caseInsensitive, dataDefault, hspec2 +, hspecWai, httpTypes, liftedBase, monadControl, mtl, regexCompat , text, transformers, transformersBase, wai, waiExtra, warp }: cabal.mkDerivation (self: { pname = "scotty"; - version = "0.8.2"; - sha256 = "07vjdj26380inlyi350mdifm7v1dpbc56041vi2czf5zzhx97qb0"; + version = "0.9.0"; + sha256 = "0gx00k5w4cs68bh3ciplkwhzh2412y6wqg0qdsslnnsb41l5kb1d"; buildDepends = [ - aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes + aeson blazeBuilder caseInsensitive dataDefault httpTypes monadControl mtl regexCompat text transformers transformersBase wai waiExtra warp ]; - testDepends = [ hspec httpTypes liftedBase wai waiExtra ]; + testDepends = [ hspec2 hspecWai httpTypes liftedBase text wai ]; jailbreak = true; + doCheck = false; meta = { homepage = "https://github.com/scotty-web/scotty"; description = "Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp"; diff --git a/pkgs/development/libraries/haskell/servant-pool/default.nix b/pkgs/development/libraries/haskell/servant-pool/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..692d694ed46858e0786c963a51a2b7199b8ecd18 --- /dev/null +++ b/pkgs/development/libraries/haskell/servant-pool/default.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, resourcePool, servant, time }: + +cabal.mkDerivation (self: { + pname = "servant-pool"; + version = "0.1"; + sha256 = "0if4lxb0fpdd4lnkz9j7z6vhjbrcc80pvz9jb6sdb9p6sbbgqf69"; + buildDepends = [ resourcePool servant time ]; + meta = { + homepage = "http://github.com/zalora/servant-pool"; + description = "Utility functions for creating servant 'Context's with \"context/connection pooling\" support"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/servant-postgresql/default.nix b/pkgs/development/libraries/haskell/servant-postgresql/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..154eefea320e312c741385b403da9867d3641977 --- /dev/null +++ b/pkgs/development/libraries/haskell/servant-postgresql/default.nix @@ -0,0 +1,18 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, postgresqlSimple, servant, servantPool, servantResponse }: + +cabal.mkDerivation (self: { + pname = "servant-postgresql"; + version = "0.1"; + sha256 = "1svy1v6sl5pq0zs8ms4qf7wn6zar63bqmfiyfqgz84ryli0wxrhj"; + buildDepends = [ + postgresqlSimple servant servantPool servantResponse + ]; + meta = { + homepage = "http://github.com/zalora/servant-postgresql"; + description = "Useful functions and instances for using servant with a PostgreSQL context"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/servant-response/default.nix b/pkgs/development/libraries/haskell/servant-response/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3f7f9c1eee05270a0539e47c9ebe31110cd4584c --- /dev/null +++ b/pkgs/development/libraries/haskell/servant-response/default.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, aeson, httpTypes, text }: + +cabal.mkDerivation (self: { + pname = "servant-response"; + version = "0.1"; + sha256 = "0vgzi6nm3f1vjbnvhzcr6v2fh75fsl18wsps54ya0mbmfn2v6chy"; + buildDepends = [ aeson httpTypes text ]; + meta = { + homepage = "http://github.com/zalora/servant"; + description = "Machinery to express how servant should turn results of database operations into proper JSON-encodable response types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/servant-scotty/default.nix b/pkgs/development/libraries/haskell/servant-scotty/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..732b2c95cc7e8cd98f22994c8d8e2e5381579ffa --- /dev/null +++ b/pkgs/development/libraries/haskell/servant-scotty/default.nix @@ -0,0 +1,20 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, aeson, httpTypes, scotty, servant, servantResponse, text +, transformers +}: + +cabal.mkDerivation (self: { + pname = "servant-scotty"; + version = "0.1.1"; + sha256 = "0d3yc7aa2p1izizqnj81iscj9hbgbkpyav1ncmxzkr48svr6h783"; + buildDepends = [ + aeson httpTypes scotty servant servantResponse text transformers + ]; + meta = { + homepage = "http://github.com/zalora/servant"; + description = "Generate a web service for servant 'Resource's using scotty and JSON"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/servant/default.nix b/pkgs/development/libraries/haskell/servant/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..38f89764c4c8353ec5f48fc24643fdf899baf9e1 --- /dev/null +++ b/pkgs/development/libraries/haskell/servant/default.nix @@ -0,0 +1,15 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal }: + +cabal.mkDerivation (self: { + pname = "servant"; + version = "0.1"; + sha256 = "1bm5223rjgcm8rb3s2mclmfj2df7j059jjh572a5py0rdqzg3yj0"; + meta = { + homepage = "http://github.com/zalora/servant"; + description = "A library to generate REST-style webservices on top of scotty, handling all the boilerplate for you"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix index 587c42d6033e83676740211743857fff72aaca80..6deaa209dc872b3ea150445b52be92e42525b289 100644 --- a/pkgs/development/libraries/haskell/shelly/default.nix +++ b/pkgs/development/libraries/haskell/shelly/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "shelly"; - version = "1.5.4.1"; - sha256 = "0h38j6vkdgaddj7xardyywibdj5w0wryqxwwpc62idgzlp7mgpb2"; + version = "1.5.5"; + sha256 = "1865f5z5wm2qf3ccws9jy8ps7n8slkmfgn0l2m9apja3q2jajqb1"; buildDepends = [ async enclosedExceptions exceptions liftedAsync liftedBase monadControl mtl systemFileio systemFilepath text time transformers diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix index 3e8381bf34bc780e5a52ade981c698465164138b..fc41353d35752065ebc874317c662f689785aee3 100644 --- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix +++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix @@ -1,16 +1,14 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, conduit, conduitExtra, hspec, HUnit, network -, networkConduit, resourcet -}: +{ cabal, conduit, conduitExtra, hspec, HUnit, network, resourcet }: cabal.mkDerivation (self: { pname = "simple-sendfile"; - version = "0.2.15"; - sha256 = "1fa20h2zcvxwdb5j5a0nnhl38bry1p5ckya1l7lrxx9r2bvjkyj9"; + version = "0.2.17"; + sha256 = "1xxzw916v5zwn8i5i61z6p1wa2rm95sa6ry9z3yg2b2ybpyagw5g"; buildDepends = [ network resourcet ]; testDepends = [ - conduit conduitExtra hspec HUnit network networkConduit resourcet + conduit conduitExtra hspec HUnit network resourcet ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/sized/default.nix b/pkgs/development/libraries/haskell/sized/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..ae75ff26e4c474e9762a64b5eec09d6d33c1c5c6 --- /dev/null +++ b/pkgs/development/libraries/haskell/sized/default.nix @@ -0,0 +1,18 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, constraints, ListLike, monomorphic, typeNatural, vector }: + +cabal.mkDerivation (self: { + pname = "sized"; + version = "0.1.0.0"; + sha256 = "00n9fb7kk3c6dy4j19d9ikmynllpxc7yd51sign0rhvnasmyrghl"; + buildDepends = [ + constraints ListLike monomorphic typeNatural vector + ]; + meta = { + description = "Sized sequence data-types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/socket-io/default.nix b/pkgs/development/libraries/haskell/socket-io/default.nix index 19d6ff3a667ac4b6cb15f159a7ebe5cb493e2bab..0a7d4b1c23006fd877eb0526348ab4783bfb91bb 100644 --- a/pkgs/development/libraries/haskell/socket-io/default.nix +++ b/pkgs/development/libraries/haskell/socket-io/default.nix @@ -6,14 +6,14 @@ cabal.mkDerivation (self: { pname = "socket-io"; - version = "1.0.1"; - sha256 = "0257c5wf6b9rmprqq5q5d7fih4s2szwv98w16ggl61p8khf5d2qs"; + version = "1.1.0"; + sha256 = "1ffip6jlp3i6pz8gbk8m2ra2q8568mgwgi988yh046w787yf9kpw"; buildDepends = [ aeson attoparsec engineIo mtl stm text transformers unorderedContainers vector ]; - jailbreak = true; meta = { + homepage = "http://github.com/ocharles/engine.io"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = with self.stdenv.lib.maintainers; [ ocharles ]; diff --git a/pkgs/development/libraries/haskell/statvfs/default.nix b/pkgs/development/libraries/haskell/statvfs/default.nix index bb1ebb1b9d8f0055ab252d8464788ac5bb0fdb8a..15454aa0c971bf79a69bd46bef3a8f0b620df661 100644 --- a/pkgs/development/libraries/haskell/statvfs/default.nix +++ b/pkgs/development/libraries/haskell/statvfs/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "statvfs"; - version = "0.1"; - sha256 = "1v45lx7wr27f5sx7cpfsapx1r6akgf1q3hpip1ibbsbhj65ws2r2"; + version = "0.2"; + sha256 = "16z9fddgvf5sl7zy7p74fng9lkdw5m9i5np3q4s2h8jdi43mwmg1"; meta = { description = "Get unix filesystem statistics with statfs, statvfs"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/stylish-haskell/default.nix b/pkgs/development/libraries/haskell/stylish-haskell/default.nix index afa664a68f90dceb2db42fce9fd217aa00f5c06c..9cc43e142a7e6dbd942624a897949dca82163af2 100644 --- a/pkgs/development/libraries/haskell/stylish-haskell/default.nix +++ b/pkgs/development/libraries/haskell/stylish-haskell/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "stylish-haskell"; - version = "0.5.10.1"; - sha256 = "1jd2dbi844cjs012gwr5idk1jmn860ff8hy1r1s6jndsm69awbba"; + version = "0.5.10.2"; + sha256 = "1r1vwn334jdsk6szynzz7w9jpbfqs3zs7wzlpwfigsyyrjy3bn3q"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/tagged-transformer/default.nix b/pkgs/development/libraries/haskell/tagged-transformer/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..34da51018e0000c1b71da16d5d2d8036e4ad29e4 --- /dev/null +++ b/pkgs/development/libraries/haskell/tagged-transformer/default.nix @@ -0,0 +1,21 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, comonad, contravariant, distributive, exceptions, mtl +, reflection, semigroupoids, tagged +}: + +cabal.mkDerivation (self: { + pname = "tagged-transformer"; + version = "0.7.1"; + sha256 = "1qgfx546pj4aqdblb4gddfxp642snn5dx4kxj3sn5q7c9lsgdh8j"; + buildDepends = [ + comonad contravariant distributive exceptions mtl reflection + semigroupoids tagged + ]; + meta = { + homepage = "http://github.com/ekmett/tagged-transformer"; + description = "Provides newtype wrappers for phantom types to avoid unsafely passing dummy arguments"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/tasty-hunit/default.nix b/pkgs/development/libraries/haskell/tasty-hunit/default.nix index c7e5b53548fa6e9a208e0e48ea544066338cb08f..067e60818183c98be757311cc75221242f75aaff 100644 --- a/pkgs/development/libraries/haskell/tasty-hunit/default.nix +++ b/pkgs/development/libraries/haskell/tasty-hunit/default.nix @@ -1,13 +1,14 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, HUnit, mtl, tasty }: +{ cabal, tasty }: cabal.mkDerivation (self: { pname = "tasty-hunit"; - version = "0.8.0.1"; - sha256 = "0a84j8yjqp9x59dy5nbb50vnscb7iimgc60s8vz1p5721gqi62r5"; - buildDepends = [ HUnit mtl tasty ]; + version = "0.9"; + sha256 = "1ivp9h34cdrahqy8i0y10fa0mqxa947dpbwvhr46sjja053asjxc"; + buildDepends = [ tasty ]; meta = { + homepage = "http://documentup.com/feuerbach/tasty"; description = "HUnit support for the Tasty test framework"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix index bf2652fa792e2388746459f20a9458d77045f637..0d57668004428166471fb100d2de472177a50fe5 100644 --- a/pkgs/development/libraries/haskell/twitter-conduit/default.nix +++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix @@ -2,27 +2,27 @@ { cabal, aeson, attoparsec, authenticateOauth, caseInsensitive , conduit, conduitExtra, dataDefault, doctest, filepath, hlint -, hspec, httpClient, httpConduit, httpTypes, lens, monadControl -, monadLogger, network, resourcet, shakespeare, text, time +, hspec, httpClient, httpConduit, httpTypes, lens, lensAeson +, monadControl, monadLogger, networkUri, resourcet, text, time , transformers, transformersBase, twitterTypes }: cabal.mkDerivation (self: { pname = "twitter-conduit"; - version = "0.0.5.5"; - sha256 = "13wk863xjlg8g62yhbq4aar7z77n0awh500l6v41fam99lihzxab"; + version = "0.0.5.6"; + sha256 = "1l6gk4538nqknrj082hkdy2jp4gzyq3y473p8gg4mm2n67417r9m"; isLibrary = true; isExecutable = true; buildDepends = [ aeson attoparsec authenticateOauth conduit conduitExtra dataDefault - httpClient httpConduit httpTypes lens monadLogger resourcet - shakespeare text time transformers twitterTypes + httpClient httpConduit httpTypes lens lensAeson monadLogger + networkUri resourcet text time transformers twitterTypes ]; testDepends = [ aeson attoparsec authenticateOauth caseInsensitive conduit conduitExtra dataDefault doctest filepath hlint hspec httpClient - httpConduit httpTypes lens monadControl monadLogger network - resourcet shakespeare text time transformers transformersBase + httpConduit httpTypes lens lensAeson monadControl monadLogger + networkUri resourcet text time transformers transformersBase twitterTypes ]; meta = { @@ -31,5 +31,7 @@ cabal.mkDerivation (self: { license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = with self.stdenv.lib.maintainers; [ ocharles ]; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix index 1848211dc3e8276263ad0c50acffdd13042639c9..4a3df6f1b9f8afd788f9faafbfc7c594cf3a9d4c 100644 --- a/pkgs/development/libraries/haskell/twitter-types/default.nix +++ b/pkgs/development/libraries/haskell/twitter-types/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "twitter-types"; - version = "0.4.20140809"; - sha256 = "0f32gjvpzcy5ld2j6mhsvaxaiyzyp5pvqjvmgawaiy78c3kxi8gh"; + version = "0.5.0"; + sha256 = "0nnis96rki60ily7ydq155nawmhz7dn51d1d3hwikb1vz16ji47a"; buildDepends = [ aeson httpTypes text unorderedContainers ]; testDepends = [ aeson attoparsec filepath httpTypes HUnit testFramework diff --git a/pkgs/development/libraries/haskell/type-natural/default.nix b/pkgs/development/libraries/haskell/type-natural/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2e56f8c396b44fee7ba7316df1c98061a6e2efbc --- /dev/null +++ b/pkgs/development/libraries/haskell/type-natural/default.nix @@ -0,0 +1,20 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, constraints, equationalReasoning, monomorphic, singletons +}: + +cabal.mkDerivation (self: { + pname = "type-natural"; + version = "0.2.3.1"; + sha256 = "0qi5b3d0vkm1b2kda3ifw6g7djx91wj7q36la02yadlvmb4jcp1g"; + buildDepends = [ + constraints equationalReasoning monomorphic singletons + ]; + meta = { + homepage = "https://github.com/konn/type-natural"; + description = "Type-level natural and proofs of their properties"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/vcsgui/default.nix b/pkgs/development/libraries/haskell/vcsgui/default.nix index 318f369fc3e289f26d5e18854f053fd6a7d30bca..08605391fc258f85d807bab348be1d88f4c52056 100644 --- a/pkgs/development/libraries/haskell/vcsgui/default.nix +++ b/pkgs/development/libraries/haskell/vcsgui/default.nix @@ -1,20 +1,18 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, filepath, gtk3, mtl, vcswrapper }: +{ cabal, filepath, gtk3, mtl, text, vcswrapper }: cabal.mkDerivation (self: { pname = "vcsgui"; - version = "0.0.4"; - sha256 = "12hfdhnv3xc2dyqk76lyx5ggiygyap4hm50sd6qmwfjj3f2w6b98"; + version = "0.1.0.0"; + sha256 = "0wxalzil8ypvwp0z754m7g3848963znwwrjysdxp5q33imzbp60z"; isLibrary = true; isExecutable = true; - buildDepends = [ filepath gtk3 mtl vcswrapper ]; + buildDepends = [ filepath gtk3 mtl text vcswrapper ]; meta = { homepage = "https://github.com/forste/haskellVCSGUI"; description = "GUI library for source code management systems"; license = "GPL"; platforms = self.stdenv.lib.platforms.linux; - hydraPlatforms = self.stdenv.lib.platforms.none; - broken = true; }; }) diff --git a/pkgs/development/libraries/haskell/vcswrapper/default.nix b/pkgs/development/libraries/haskell/vcswrapper/default.nix index 75336ef881699037626e04b9d149220603231cc3..8c2653c66f5a801f4a260aaa0101f75ceeddfaba 100644 --- a/pkgs/development/libraries/haskell/vcswrapper/default.nix +++ b/pkgs/development/libraries/haskell/vcswrapper/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "vcswrapper"; - version = "0.0.4"; - sha256 = "130pmzxdsqv703k2g197vd5rl60fwkqqv2xck66ygb932wsq3fnk"; + version = "0.1.0"; + sha256 = "058xbfgxsp3g4x4rwbp57dqgr9mwnmj623js39dbmiqkixsda31a"; isLibrary = true; isExecutable = true; buildDepends = [ filepath hxt mtl parsec split text ]; diff --git a/pkgs/development/libraries/haskell/vty/5.1.4.nix b/pkgs/development/libraries/haskell/vty/5.2.1.nix similarity index 92% rename from pkgs/development/libraries/haskell/vty/5.1.4.nix rename to pkgs/development/libraries/haskell/vty/5.2.1.nix index 24d123d67cc87f23dd6253427ece3440a804ae32..6034807929e3ea40ee6158b1c7bfc5a7ae66f700 100644 --- a/pkgs/development/libraries/haskell/vty/5.1.4.nix +++ b/pkgs/development/libraries/haskell/vty/5.2.1.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "vty"; - version = "5.1.4"; - sha256 = "157saacy6lp2ngl0dz9ri4ji1vj191d1239x1xykna8y618r0vqf"; + version = "5.2.1"; + sha256 = "15xg7yznizscvyjlnivakrzk60l0a0pigax7sgnn2ab79rfzcxww"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix index 184adcc03dda1f4840f2c6a55410c901dead670b..39514c8a3bd3fe1e741c92c0fab432795be02b33 100644 --- a/pkgs/development/libraries/haskell/wai-extra/default.nix +++ b/pkgs/development/libraries/haskell/wai-extra/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "wai-extra"; - version = "3.0.2"; - sha256 = "1xynrcm8i8iyyc4dy7nsziy0g4yc6gqx0h5vs86f85i1j0mrf3xv"; + version = "3.0.2.1"; + sha256 = "02jamvina7m9wjz0hd7gj309d1vcmhgdwyh9y1bfpvq29ngqkkca"; buildDepends = [ ansiTerminal base64Bytestring blazeBuilder caseInsensitive dataDefaultClass deepseq fastLogger httpTypes liftedBase network diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix index c74fad5f1a828858522f6647f8869ecf7af60d39..5db1ec416139193c066ed8f42d52c6e6799910a0 100644 --- a/pkgs/development/libraries/haskell/websockets/default.nix +++ b/pkgs/development/libraries/haskell/websockets/default.nix @@ -19,7 +19,6 @@ cabal.mkDerivation (self: { entropy HUnit ioStreams mtl network QuickCheck random SHA testFramework testFrameworkHunit testFrameworkQuickcheck2 text ]; - jailbreak = true; meta = { homepage = "http://jaspervdj.be/websockets"; description = "A sensible and clean way to write WebSocket-capable servers in Haskell"; diff --git a/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix b/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix index 5a3c75f6165767c1909498231ad7da3ace5da629..37dc11b1f0f423b77bd767fab8ddbd3815c37c77 100644 --- a/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix +++ b/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "wl-pprint-terminfo"; - version = "3.7.1"; - sha256 = "04220hgrjjsz0ir65s6ynrjgdmqlfcw49fb158w7wgxxh69kc7h6"; + version = "3.7.1.1"; + sha256 = "1mjnbkk3cw2v7nda7qxdkl21pmclz6m17sviqp4qf3rc8rgin3zd"; buildDepends = [ nats semigroups terminfo text transformers wlPprintExtras ]; diff --git a/pkgs/development/libraries/haskell/wordexp/default.nix b/pkgs/development/libraries/haskell/wordexp/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..7d03b1adea54ca65c89151f88c8d6e98d0eb5c36 --- /dev/null +++ b/pkgs/development/libraries/haskell/wordexp/default.nix @@ -0,0 +1,16 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, c2hs, semigroups }: + +cabal.mkDerivation (self: { + pname = "wordexp"; + version = "0.2.0.0"; + sha256 = "1hfpvzbyyh47ai166xyrhmhvg2shrqcswsfalwa16wab6hcg32ki"; + buildDepends = [ semigroups ]; + buildTools = [ c2hs ]; + meta = { + description = "wordexp(3) wrappers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/wreq/default.nix b/pkgs/development/libraries/haskell/wreq/default.nix index 9772418173bca11ffd58f4465aeb0f6a239137c8..d0a3e94fcd26e63720b35997093f91dd769cf0eb 100644 --- a/pkgs/development/libraries/haskell/wreq/default.nix +++ b/pkgs/development/libraries/haskell/wreq/default.nix @@ -1,23 +1,24 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! { cabal, aeson, attoparsec, doctest, exceptions, filepath -, httpClient, httpClientTls, httpTypes, HUnit, lens, mimeTypes -, temporary, testFramework, testFrameworkHunit, text, time +, httpClient, httpClientTls, httpTypes, HUnit, lens, lensAeson +, mimeTypes, temporary, testFramework, testFrameworkHunit, text +, time }: cabal.mkDerivation (self: { pname = "wreq"; - version = "0.1.0.1"; - sha256 = "05w3b555arsab8a5w73nm9pk3p9r6jipi6cd3ngxv48gdn9wzhvz"; + version = "0.2.0.0"; + sha256 = "0ajrwn4yn6h65v97jfhbb4x3j307gdf34dyjnnhsrmsf7911l44d"; isLibrary = true; isExecutable = true; buildDepends = [ aeson attoparsec exceptions httpClient httpClientTls httpTypes lens - mimeTypes text time + lensAeson mimeTypes text time ]; testDepends = [ - aeson doctest filepath httpClient httpTypes HUnit lens temporary - testFramework testFrameworkHunit text + aeson doctest filepath httpClient httpTypes HUnit lens lensAeson + temporary testFramework testFrameworkHunit text ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix b/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix index 3dded2dcb447d7d563411e744530af5af6bc676a..7a53fb456f754c524c72ae6de12116954c53eda3 100644 --- a/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix +++ b/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "xml-html-conduit-lens"; - version = "0.3.2.0"; - sha256 = "150b772wkl2k8xcrcbqj3qhndjkl35qzwqdjbgs9mxp867aihiv0"; + version = "0.3.2.1"; + sha256 = "0iy58nq5b6ixdky2xr4r8xxk3c8wqp1y3jbpsk3dr1qawzjbzp12"; buildDepends = [ htmlConduit lens text xmlConduit ]; testDepends = [ doctest hspec hspecExpectationsLens lens xmlConduit @@ -17,7 +17,5 @@ cabal.mkDerivation (self: { description = "Optics for xml-conduit and html-conduit"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; - broken = true; }; }) diff --git a/pkgs/development/libraries/haskell/xml-lens/default.nix b/pkgs/development/libraries/haskell/xml-lens/default.nix index fd9609ec25f7ff5d3fa737820dfd50b930465756..f9e604419752c14bc306dd8439ae6faf2154e207 100644 --- a/pkgs/development/libraries/haskell/xml-lens/default.nix +++ b/pkgs/development/libraries/haskell/xml-lens/default.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { version = "0.1.6.1"; sha256 = "093grvlpm19l3g10ka82xpzl2wr0gli71kfkbvk4gvg3194fkw4h"; buildDepends = [ lens text xmlConduit ]; + jailbreak = true; meta = { homepage = "https://github.com/fumieval/xml-lens"; description = "Lenses, traversals, prisms for xml-conduit"; diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix index b5438fabc123ceed4115fe082852614764d4caea..9173baa97baa411c558ed90b10365f69757cde45 100644 --- a/pkgs/development/libraries/haskell/yaml/default.nix +++ b/pkgs/development/libraries/haskell/yaml/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "yaml"; - version = "0.8.8.4"; - sha256 = "1mh5xv66cqvk0r5n6pwcm11m9489y40l69ca417yvymkksmncc7b"; + version = "0.8.9.1"; + sha256 = "129pf4gg3mf2ljag8vxknnqxbrbx53hshzpaggndxjir72303njy"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix b/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..9f577fc4520be729ff1051cc43f488de846444b6 --- /dev/null +++ b/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix @@ -0,0 +1,22 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, cryptohash, pwstoreFast, text, yesodAuth, yesodCore +, yesodForm, yesodPersistent +}: + +cabal.mkDerivation (self: { + pname = "yesod-auth-hashdb"; + version = "1.3.0.1"; + sha256 = "0q78mw09g6b04zaz54s03222mh59nm604qh8gyw5kka06f93hk4q"; + buildDepends = [ + cryptohash pwstoreFast text yesodAuth yesodCore yesodForm + yesodPersistent + ]; + meta = { + homepage = "http://www.yesodweb.com/"; + description = "Authentication plugin for Yesod"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index 90d354a22cfff1dccdd439be71f37387d265088b..857b237ba428e9e75b934631a222b2734c197d67 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -13,8 +13,8 @@ cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.2.19"; - sha256 = "0dlvg8zpr1qyav3svqybsqsrmrl9n8s1kdzxf6zxa3pn582d48il"; + version = "1.2.19.1"; + sha256 = "1021z0jrfbafbdybpj0jkacr9ljyap5cpmfk2911dsz3nz7sy6zg"; buildDepends = [ aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal clientsession conduit conduitExtra cookie diff --git a/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix index 0e2cf67a19f9973e4179855bcc5818ac486af98a..e4519c473585841729c033b705684bb2365de548 100644 --- a/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix +++ b/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "zeromq4-haskell"; - version = "0.6"; - sha256 = "1n8vvlwnmvi2hlqhkmzsqgpbpxnhdcs8jy3rj1srsg729m2aqc8y"; + version = "0.6.1"; + sha256 = "14ai6sp39qv6kmj33basnvvfqhzbiqxskv3crjwfdaxbijh23mif"; buildDepends = [ async exceptions semigroups transformers ]; testDepends = [ async QuickCheck tasty tastyHunit tastyQuickcheck diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix index 3c5f198cea60e470df9f8fcad21d3ed956f04f08..d4d9663441f7054758638d4da0d91e35f445d1c3 100644 --- a/pkgs/development/libraries/hwloc/default.nix +++ b/pkgs/development/libraries/hwloc/default.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { doCheck = !stdenv.isCygwin; meta = { - description = "hwloc, a portable abstraction of hierarchical architectures for high-performance computing"; + description = "Portable abstraction of hierarchical architectures for high-performance computing"; longDescription = '' hwloc provides a portable abstraction (across OS, diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix index 4046c05f79e527dfb48e1121dec382749526bd41..ed51a0a28206b7ec333a8fe67c3b62afff17fb3c 100644 --- a/pkgs/development/libraries/jasper/default.nix +++ b/pkgs/development/libraries/jasper/default.nix @@ -15,6 +15,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.ece.uvic.ca/~mdadams/jasper/; - description = "JasPer JPEG2000 Library"; + description = "JPEG2000 Library"; }; } diff --git a/pkgs/development/libraries/java/classpath/default.nix b/pkgs/development/libraries/java/classpath/default.nix index bbfc6ed38cc385f9b1f05b30c7b9e8c1cf0611e1..eff52cc177b6b0b5e16454057587f07e7bd9f5e0 100644 --- a/pkgs/development/libraries/java/classpath/default.nix +++ b/pkgs/development/libraries/java/classpath/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { configureFlags = "--disable-Werror --disable-plugin --with-antlr-jar=${antlr}/lib/antlr.jar"; meta = { - description = "GNU Classpath, essential libraries for Java"; + description = "Essential libraries for Java"; longDescription = '' GNU Classpath, Essential Libraries for Java, is a GNU project to create diff --git a/pkgs/development/libraries/java/rhino/default.nix b/pkgs/development/libraries/java/rhino/default.nix index 42bdba7567c5f80664bf9b7afaa36e0bff60a411..34aaded7cb44e7c2c164015b2f639802917dee68 100644 --- a/pkgs/development/libraries/java/rhino/default.nix +++ b/pkgs/development/libraries/java/rhino/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation { ''; meta = { - description = "Mozilla Rhino: JavaScript for Java"; + description = "An implementation of JavaScript written in Java"; longDescription = '' Rhino is an open-source implementation of JavaScript written diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix index 7a45ca0f2272235ec66aacddf0bd5758affb5ddc..a50163c601d4133a33b51b322e14cd2bf07c7532 100644 --- a/pkgs/development/libraries/json-glib/default.nix +++ b/pkgs/development/libraries/json-glib/default.nix @@ -7,9 +7,9 @@ stdenv.mkDerivation rec { project = "json-glib"; major = "1"; minor = "0"; - patchlevel = "0"; + patchlevel = "2"; extension = "xz"; - sha256 = "dbf558d2da989ab84a27e4e13daa51ceaa97eb959c2c2f80976c9322a8f4cdde"; + sha256 = "887bd192da8f5edc53b490ec51bf3ffebd958a671f5963e4f3af32c22e35660a"; }; configureflags= "--with-introspection" ; diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index 647a6b031138d7c031197863b498a7800214f386..eeb09a68afbe4835896a1ee0f8f2905d6b5acd96 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -23,6 +23,8 @@ stdenv.mkDerivation (rec { cd ${name}/src ''; + configureFlags = "--with-tcl=no"; + #doCheck = true; # report: No suitable file for testing purposes enableParallelBuilding = true; diff --git a/pkgs/development/libraries/libaal/default.nix b/pkgs/development/libraries/libaal/default.nix index 596b8e2e84cd38ae9906d7da1c2d9a3ed2d56f9a..36d1ddc715166f793cc81c42da0c905e66977e43 100644 --- a/pkgs/development/libraries/libaal/default.nix +++ b/pkgs/development/libraries/libaal/default.nix @@ -1,11 +1,12 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: -stdenv.mkDerivation { - name = "libaal-1.0.5"; +stdenv.mkDerivation rec { + version = "1.0.6"; + name = "libaal-${version}"; src = fetchurl { - url = http://chichkin_i.zelnet.ru/namesys/libaal-1.0.5.tar.gz; - sha256 = "109f464hxwms90mpczc7h7lmrdlcmlglabkzh86h25xrlxxdn6pz"; + url = "mirror://sourceforge/reiser4/${name}.tar.gz"; + sha256 = "176f2sns6iyxv3h9zyirdinjwi05gdak48zqarhib2s38rvm98di"; }; preInstall = '' @@ -15,5 +16,7 @@ stdenv.mkDerivation { meta = { homepage = http://www.namesys.com/; description = "Support library for Reiser4"; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix index 401573378ee4e2fdec041f912d0b54d0ee6c70d2..44e800b6f1e40f31e8cd66698ac97dd2fb6f6631 100644 --- a/pkgs/development/libraries/libao/default.nix +++ b/pkgs/development/libraries/libao/default.nix @@ -1,14 +1,15 @@ { lib, stdenv, fetchurl, pkgconfig, pulseaudio, alsaLib , usePulseAudio }: -stdenv.mkDerivation { - name = "libao-1.1.0"; +stdenv.mkDerivation rec { + version = "1.2.0"; + name = "libao-${version}"; src = fetchurl { - url = http://downloads.xiph.org/releases/ao/libao-1.1.0.tar.gz; - sha256 = "1m0v2y6bhr4iwsgdkc7b3y0qgpvpv1ifbxsy8n8ahsvjn6wmppi9"; + url = "http://downloads.xiph.org/releases/ao/${name}.tar.gz"; + sha256 = "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83"; }; - buildInputs = + buildInputs = [ pkgconfig ] ++ lib.optional stdenv.isLinux (if usePulseAudio then [ pulseaudio ] else [ alsaLib ]); @@ -19,6 +20,7 @@ stdenv.mkDerivation { platforms. ''; homepage = http://xiph.org/ao/; - license = stdenv.lib.licenses.gpl2Plus; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix index f5a3d92d3db1eb0f1fe39f5802ac6b37d632ef74..90ce4f970e3d11c81ac4f85285bcf3a5267fd6fc 100644 --- a/pkgs/development/libraries/libassuan/default.nix +++ b/pkgs/development/libraries/libassuan/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "Libassuan, the IPC library used by GnuPG and related software"; + description = "IPC library used by GnuPG and related software"; longDescription = '' Libassuan is a small library implementing the so-called Assuan diff --git a/pkgs/development/libraries/libcddb/default.nix b/pkgs/development/libraries/libcddb/default.nix index b9823cefd2d9566331ef5246414125c10a42efa2..9a284d8988d23a23fc2226e3a1dd449dc2b6b951 100644 --- a/pkgs/development/libraries/libcddb/default.nix +++ b/pkgs/development/libraries/libcddb/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "Libcddb is a C library to access data on a CDDB server (freedb.org)"; + description = "C library to access data on a CDDB server (freedb.org)"; license = stdenv.lib.licenses.lgpl2Plus; homepage = http://libcddb.sourceforge.net/; }; diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix index 51b7f7e181d0027eb7632a023c964092e400fd77..9cdf9d411ccdb019cc797307de05a21862d9b9e3 100644 --- a/pkgs/development/libraries/libchamplain/default.nix +++ b/pkgs/development/libraries/libchamplain/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { homepage = http://projects.gnome.org/libchamplain/; license = stdenv.lib.licenses.lgpl2Plus; - description = "libchamplain, a C library providing a ClutterActor to display maps"; + description = "C library providing a ClutterActor to display maps"; longDescription = '' libchamplain is a C library providing a ClutterActor to display diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix index f0d7fbfbeb69cf876f64deeef9fd33b57ad07a27..37af9756724ff0956ca79f45cc3f9b38e06a516b 100644 --- a/pkgs/development/libraries/libchop/default.nix +++ b/pkgs/development/libraries/libchop/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "libchop, tools & library for data backup and distributed storage"; + description = "Tools & library for data backup and distributed storage"; longDescription = '' Libchop is a set of utilities and library for data backup and diff --git a/pkgs/development/libraries/libdaemon/default.nix b/pkgs/development/libraries/libdaemon/default.nix index ba7e3e47ff7672dd459c29dd262e2fa98d15f89f..cb8d07fec902030e86f5940426681c7cee09077e 100644 --- a/pkgs/development/libraries/libdaemon/default.nix +++ b/pkgs/development/libraries/libdaemon/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-lynx" ]; meta = { - description = "libdaemon, a lightweight C library that eases the writing of UNIX daemons"; + description = "Lightweight C library that eases the writing of UNIX daemons"; homepage = http://0pointer.de/lennart/projects/libdaemon/; diff --git a/pkgs/development/libraries/libdiscid/default.nix b/pkgs/development/libraries/libdiscid/default.nix index f9d1fc87870d089965cd803f771341653edd3a45..8c5c8bef35138cd46db67f991f5648dc9817105e 100644 --- a/pkgs/development/libraries/libdiscid/default.nix +++ b/pkgs/development/libraries/libdiscid/default.nix @@ -1,26 +1,21 @@ { stdenv, fetchurl, cmake, pkgconfig }: stdenv.mkDerivation rec { - name = "libdiscid-0.2.2"; + name = "libdiscid-0.6.1"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake ]; src = fetchurl { - url = "http://users.musicbrainz.org/~matt/${name}.tar.gz"; - sha256 = "00l4ln9rk0vqf67iccwqrgc9qx1al92i05zylh85kd1zn9d5sjwp"; + url = "http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/${name}.tar.gz"; + sha256 = "1mbd5y9056638cffpfwc6772xwrsk18prv1djsr6jpfim38jpsxc"; }; - # developer forgot to update his version number - # this is propagated to pkg-config - preConfigure = '' - substituteInPlace "CMakeLists.txt" \ - --replace "PROJECT_VERSION 0.1.1" "PROJECT_VERSION 0.2.2" - ''; - - meta = { + meta = with stdenv.lib; { description = "A C library for creating MusicBrainz DiscIDs from audio CDs"; homepage = http://musicbrainz.org/doc/libdiscid; - license = stdenv.lib.licenses.lgpl21; + maintainers = with maintainers; [ emery ]; + license = licenses.lgpl21; + platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/libdnet/default.nix b/pkgs/development/libraries/libdnet/default.nix index 50bdaa1c4c0813b6bb17e830c0ca8f0c10038e29..acd930ddd015760ca1680076bd616f40f9a7aacb 100644 --- a/pkgs/development/libraries/libdnet/default.nix +++ b/pkgs/development/libraries/libdnet/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { ''; meta = { - description = "libdnet provides a simplified, portable interface to several low-level networking routines"; + description = "Provides a simplified, portable interface to several low-level networking routines"; homepage = http://code.google.com/p/libdnet/; license = "BSD"; # New BSD license maintainers = [stdenv.lib.maintainers.marcweber]; diff --git a/pkgs/development/libraries/libe-book/0.0.nix b/pkgs/development/libraries/libe-book/0.0.nix deleted file mode 100644 index 2dc8de670397a6ff3afe8e54047d623436693f09..0000000000000000000000000000000000000000 --- a/pkgs/development/libraries/libe-book/0.0.nix +++ /dev/null @@ -1,30 +0,0 @@ -{stdenv, fetchurl, gperf, pkgconfig, librevenge, libxml2, boost, icu, cppunit -, libwpd}: -let - s = # Generated upstream information - rec { - baseName="libe-book"; - version="0.0.3"; - name="${baseName}-${version}"; - hash="06xhg319wbqrkj8914npasv5lr7k2904mmy7wa78063mkh31365i"; - url="mirror://sourceforge/project/libebook/libe-book-0.0.3/libe-book-0.0.3.tar.xz"; - sha256="06xhg319wbqrkj8914npasv5lr7k2904mmy7wa78063mkh31365i"; - }; - buildInputs = [ - gperf pkgconfig librevenge libxml2 boost icu cppunit libwpd - ]; -in -stdenv.mkDerivation { - inherit (s) name version; - inherit buildInputs; - src = fetchurl { - inherit (s) url sha256; - }; - meta = { - inherit (s) version; - description = ''Library for import of reflowable e-book formats''; - license = stdenv.lib.licenses.lgpl21Plus ; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/libe-book/0.0.upstream b/pkgs/development/libraries/libe-book/0.0.upstream deleted file mode 100644 index e2994f526914738eb22670562ece5ed5593b82ab..0000000000000000000000000000000000000000 --- a/pkgs/development/libraries/libe-book/0.0.upstream +++ /dev/null @@ -1,4 +0,0 @@ -url http://sourceforge.net/projects/libebook/files/ -SF_version_dir libe-book-0.0. -version_link '[.]tar.xz/download$' -SF_redirect diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix index d9436456d0d4ee8d650a904575cd5a4eb8b73827..407b367d6b7f0a92a5a364c2a760dfb5ca603f49 100644 --- a/pkgs/development/libraries/libelf/default.nix +++ b/pkgs/development/libraries/libelf/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation (rec { doCheck = true; meta = { - description = "Libelf, an ELF object file access library"; + description = "ELF object file access library"; homepage = http://www.mr511.de/software/english.html; diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix index bb854139b7943656e73fefe02da74d2bbb7f2ef8..57cf17383420cf85091751be4d39799ce7ad3496 100644 --- a/pkgs/development/libraries/libevent/default.nix +++ b/pkgs/development/libraries/libevent/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { ''; meta = { - description = "libevent, an event notification library"; + description = "Event notification library"; longDescription = '' The libevent API provides a mechanism to execute a callback function diff --git a/pkgs/development/libraries/libewf/default.nix b/pkgs/development/libraries/libewf/default.nix index 7c948aa9824714673363ab0398e26bcac5617fd6..fad0170ade78a445b94c49555d532ee0fb677d6e 100644 --- a/pkgs/development/libraries/libewf/default.nix +++ b/pkgs/development/libraries/libewf/default.nix @@ -1,10 +1,11 @@ -{ fetchurl, stdenv, zlib, openssl, libuuid, file }: +{ fetchurl, stdenv, zlib, openssl, libuuid, file, fuse }: stdenv.mkDerivation rec { - name = "libewf-20100226"; + version = "20140608"; + name = "libewf-${version}"; src = fetchurl { - url = "mirror://sourceforge/libewf/${name}.tar.gz"; - sha256 = "aedd2a6b3df6525ff535ab95cd569ebb361a4022eb4163390f26257913c2941a"; + url = "https://googledrive.com/host/0B3fBvzttpiiSMTdoaVExWWNsRjg/libewf-20140608.tar.gz"; + sha256 = "0wfsffzxk934hl8cpwr14w8ixnh8d23x0xnnzcspjwi2c7730h6i"; }; preConfigure = ''sed -e 's@/usr/bin/file@file@g' -i configure''; @@ -14,6 +15,8 @@ stdenv.mkDerivation rec { meta = { description = "Library for support of the Expert Witness Compression Format"; homepage = http://sourceforge.net/projects/libewf/; - license = "free"; + license = stdenv.lib.licenses.lgpl3; + maintainers = [ stdenv.lib.maintainers.raskin ] ; + inherit version; }; } diff --git a/pkgs/development/libraries/libewf/default.upstream b/pkgs/development/libraries/libewf/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..a071132463f8c5c89e8c399cc7a424124e1dce67 --- /dev/null +++ b/pkgs/development/libraries/libewf/default.upstream @@ -0,0 +1,7 @@ +url https://code.google.com/p/libewf/ +version_link 'googledrive[.]com' +version_link '[.]tar[.]' +do_overwrite () { + do_overwrite_just_version + set_var_value url "$CURRENT_URL" +} diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix index 6df5ca683f1f012e19edd096a6ee0964ba07da13..18387c904f83ee297c5547986742b272756f3467 100644 --- a/pkgs/development/libraries/libextractor/default.nix +++ b/pkgs/development/libraries/libextractor/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { #postInstall = "make check"; meta = { - description = "GNU libextractor, a simple library for keyword extraction"; + description = "Simple library for keyword extraction"; longDescription = '' GNU libextractor is a library used to extract meta-data from files diff --git a/pkgs/development/libraries/libgcrypt/1.6.nix b/pkgs/development/libraries/libgcrypt/1.6.nix index ced3b723b132c0eb51efec93c28bcd610e71c2a4..e468c3163d3c04b2215bdfdda7f4adde3de52016 100644 --- a/pkgs/development/libraries/libgcrypt/1.6.nix +++ b/pkgs/development/libraries/libgcrypt/1.6.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libgpgerror, transfig, ghostscript, texinfo }: stdenv.mkDerivation rec { - name = "libgcrypt-1.6.1"; + name = "libgcrypt-1.6.2"; src = fetchurl { url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; - sha256 = "0w10vhpj1r5nq7qm6jp21p1v1vhf37701cw8yilygzzqd7mfzhx1"; + sha256 = "de084492a6b38cdb27b67eaf749ceba76bf7029f63a9c0c3c1b05c88c9885c4c"; }; nativeBuildInputs = [ transfig ghostscript texinfo ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "GNU Libgcrypt, a general-pupose cryptographic library"; + description = "General-pupose cryptographic library"; longDescription = '' GNU Libgcrypt is a general purpose cryptographic library based on diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index ba3de49ede8af99d406abc0f9d17b0ee3d646337..ed267e23c87b580c90754eb6e73394f245ca6f0e 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libgpgerror }: stdenv.mkDerivation (rec { - name = "libgcrypt-1.5.3"; + name = "libgcrypt-1.5.4"; src = fetchurl { url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; - sha256 = "1lar8y3lh61zl5flljpz540d78g99h4d5idfwrfw8lm3gm737xdw"; + sha256 = "d5f88d9f41a46953dc250cdb8575129b37ee2208401b7fa338c897f667c7fb33"; }; propagatedBuildInputs = [ libgpgerror ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation (rec { ''; meta = { - description = "GNU Libgcrypt, a general-pupose cryptographic library"; + description = "General-pupose cryptographic library"; longDescription = '' GNU Libgcrypt is a general purpose cryptographic library based on diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix index ca8073fbe306bfbbb4d5eb868c998584ef5631a1..dc041490f78a756aa61498d07d7940d03c5d5349 100644 --- a/pkgs/development/libraries/libgphoto2/default.nix +++ b/pkgs/development/libraries/libgphoto2/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; - sha256 = "1h0bwrbc69yq561pw4fjyclwvk0g6rrj3pw6zrdx33isipi15d2z"; + sha256 = "1w2bfy6619fgrigasgmx3lnill8c99lq7blmy2bpp0qqqqwdb93d"; }; nativeBuildInputs = [ pkgconfig gettext ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { MTP, and other vendor specific protocols for controlling and transferring data from digital cameras. ''; - version = "2.5.4"; + version = "2.5.5"; # XXX: the homepage claims LGPL, but several src files are lgpl21Plus license = stdenv.lib.licenses.lgpl21Plus; platforms = with stdenv.lib.platforms; unix; diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix index 7b669cd780aeb8c163a39db1fd128585d573bb40..3bdb85a78ebd2bd275e93abc7893d5cd0bf74d62 100644 --- a/pkgs/development/libraries/libiconv/default.nix +++ b/pkgs/development/libraries/libiconv/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "GNU libiconv, an iconv(3) implementation"; + description = "An iconv(3) implementation"; longDescription = '' Some programs, like mailers and web browsers, must be able to convert diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix index 802ee9e3e88f679a58069f7aeabbaf7e940d91b6..5aea194e39d984fc39e41973cee7c9a9374250ff 100644 --- a/pkgs/development/libraries/libidn/default.nix +++ b/pkgs/development/libraries/libidn/default.nix @@ -1,18 +1,18 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "libidn-1.28"; + name = "libidn-1.29"; src = fetchurl { url = "mirror://gnu/libidn/${name}.tar.gz"; - sha256 = "1yxbfdiwr3l91m79sksn6v5mgpl4lfj8i82zgryckas9hjb7ldfx"; + sha256 = "fb82747dbbf9b36f703ed27293317d818d7e851d4f5773dedf3efa4db32a7c7c"; }; doCheck = ! stdenv.isDarwin; meta = { homepage = http://www.gnu.org/software/libidn/; - description = "GNU Libidn library for internationalized domain names"; + description = "Library for internationalized domain names"; longDescription = '' GNU Libidn is a fully documented implementation of the @@ -30,6 +30,7 @@ stdenv.mkDerivation rec { included. ''; + repositories.git = git://git.savannah.gnu.org/libidn.git; license = stdenv.lib.licenses.lgpl2Plus; platforms = stdenv.lib.platforms.all; maintainers = [ ]; diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix index 5e038ad85720c0bd9df5f0722f4be2380a690b48..dbd2516c05957162723b0eb4de50e52a4d905bf1 100644 --- a/pkgs/development/libraries/libksba/default.nix +++ b/pkgs/development/libraries/libksba/default.nix @@ -12,6 +12,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnupg.org; - description = "Libksba is a CMS and X.509 access library under development"; + description = "CMS and X.509 access library under development"; }; } diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix index 959dca475732b8ae4a6788acea04f89ea72258f8..39795267a2c5a018e0aa7cd999dfb78dc581345f 100644 --- a/pkgs/development/libraries/libmicrohttpd/default.nix +++ b/pkgs/development/libraries/libmicrohttpd/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { doCheck = false; meta = { - description = "GNU libmicrohttpd, an embeddable HTTP server library"; + description = "Embeddable HTTP server library"; longDescription = '' GNU libmicrohttpd is a small C library that is supposed to make diff --git a/pkgs/development/libraries/libmpeg2/A00-tags.patch b/pkgs/development/libraries/libmpeg2/A00-tags.patch deleted file mode 100644 index 0b5d7d7da12b1dd20ed7f8d1bf2969d3bcc2d229..0000000000000000000000000000000000000000 --- a/pkgs/development/libraries/libmpeg2/A00-tags.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -ru mpeg2dec.orig/libmpeg2/decode.c mpeg2dec/libmpeg2/decode.c ---- mpeg2dec.orig/libmpeg2/decode.c 2008-07-09 12:16:05.000000000 -0700 -+++ mpeg2dec/libmpeg2/decode.c 2009-07-03 16:29:48.000000000 -0700 -@@ -212,7 +212,7 @@ - - mpeg2_state_t mpeg2_parse_header (mpeg2dec_t * mpeg2dec) - { -- static int (* process_header[]) (mpeg2dec_t * mpeg2dec) = { -+ static int (* process_header[]) (mpeg2dec_t *) = { - mpeg2_header_picture, mpeg2_header_extension, mpeg2_header_user_data, - mpeg2_header_sequence, NULL, NULL, NULL, NULL, mpeg2_header_gop - }; -@@ -368,6 +368,14 @@ - - void mpeg2_tag_picture (mpeg2dec_t * mpeg2dec, uint32_t tag, uint32_t tag2) - { -+ if (mpeg2dec->num_tags == 0 && mpeg2dec->state == STATE_PICTURE && mpeg2dec->picture) { -+ // since tags got processed when we entered this state we -+ // have to set them directly or they'll end up on the next frame. -+ mpeg2dec->picture->tag = tag; -+ mpeg2dec->picture->tag2 = tag2; -+ mpeg2dec->picture->flags |= PIC_FLAG_TAGS; -+ return; -+ } - mpeg2dec->tag_previous = mpeg2dec->tag_current; - mpeg2dec->tag2_previous = mpeg2dec->tag2_current; - mpeg2dec->tag_current = tag; diff --git a/pkgs/development/libraries/libmpeg2/default.nix b/pkgs/development/libraries/libmpeg2/default.nix index e651a932efe388ab50ece0d022e9737951c701f1..c200870080489098e66fd58dff9b01b2a2934019 100644 --- a/pkgs/development/libraries/libmpeg2/default.nix +++ b/pkgs/development/libraries/libmpeg2/default.nix @@ -1,20 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libmpeg2-0.5.1p4"; - + version = "0.5.1"; + name = "libmpeg2-${version}"; + src = fetchurl { url = "http://libmpeg2.sourceforge.net/files/${name}.tar.gz"; sha256 = "1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny"; }; - # From Handbrake - Project seems unmaintained - patches = [ - ./A00-tags.patch - ]; - meta = { homepage = http://libmpeg2.sourceforge.net/; description = "A free library for decoding mpeg-2 and mpeg-1 video streams"; + license = stdenv.lib.licenses.gpl2; + maintainer = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/development/libraries/libmwaw/0.2.nix b/pkgs/development/libraries/libmwaw/0.2.nix deleted file mode 100644 index d66414b6814275d448ec94f7096fb8569088b2b9..0000000000000000000000000000000000000000 --- a/pkgs/development/libraries/libmwaw/0.2.nix +++ /dev/null @@ -1,29 +0,0 @@ -{stdenv, fetchurl, boost, pkgconfig, cppunit, zlib, libwpg, libwpd, librevenge}: -let - s = # Generated upstream information - rec { - baseName="libmwaw"; - version="0.2.1"; - name="${baseName}-${version}"; - hash="1fil1ll84pq0k3g6rcc2xfg1yrigkljp4ay5p2wpwd9qlmfvvvqn"; - url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-0.2.1/libmwaw-0.2.1.tar.xz"; - sha256="1fil1ll84pq0k3g6rcc2xfg1yrigkljp4ay5p2wpwd9qlmfvvvqn"; - }; - buildInputs = [ - boost pkgconfig cppunit zlib libwpg libwpd librevenge - ]; -in -stdenv.mkDerivation { - inherit (s) name version; - inherit buildInputs; - src = fetchurl { - inherit (s) url sha256; - }; - meta = { - inherit (s) version; - description = ''Import library for some old mac text documents''; - license = stdenv.lib.licenses.mpl20 ; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/libmwaw/0.2.upstream b/pkgs/development/libraries/libmwaw/0.2.upstream deleted file mode 100644 index 8ce00ecf767529198e723614531984dd687fb4ea..0000000000000000000000000000000000000000 --- a/pkgs/development/libraries/libmwaw/0.2.upstream +++ /dev/null @@ -1,4 +0,0 @@ -url http://sourceforge.net/projects/libmwaw/files/libmwaw/ -SF_version_dir libmwaw-0.2. -version_link '[.]tar.xz/download$' -SF_redirect diff --git a/pkgs/development/libraries/libnfc/default.nix b/pkgs/development/libraries/libnfc/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a018ce1f0fa0b943be5a47283949d7b1f12499f2 --- /dev/null +++ b/pkgs/development/libraries/libnfc/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, libusb }: + +stdenv.mkDerivation rec { + name = "libnfc-${version}"; + version = "1.7.1"; + + src = fetchurl { + url = "http://dl.bintray.com/nfc-tools/sources/libnfc-1.7.1.tar.bz2"; + sha256 = "0wj0iwwcpmpalyk61aa7yc6i4p9hgdajkrgnlswgk0vnwbc78pll"; + }; + + buildInputs = [ libusb ]; + + meta = with stdenv.lib; { + description = "Open source library libnfc for Near Field Communication"; + license = licenses.gpl3; + homepage = http://code.google.com/p/libnfc/; + maintainers = with maintainers; [offline]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..cb1e83467424b512229d9a85b4c6612243015cf0 --- /dev/null +++ b/pkgs/development/libraries/libnftnl/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, libmnl }: + +stdenv.mkDerivation rec { + name = "libnftnl-1.0.2"; + + src = fetchurl { + url = "netfilter.org/projects/libnftnl/files/${name}.tar.bz2"; + sha256 = "1p268cv85l4ipd1p9ipjdrfgba14cblp01apv7wc44zmwfr2gkkq"; + }; + + buildInputs = [ pkgconfig libmnl ]; + + meta = with stdenv.lib; { + description = "a userspace library providing a low-level netlink API to the in-kernel nf_tables subsystem"; + homepage = http://netfilter.org/projects/libnftnl; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ wkennington ]; + }; +} diff --git a/pkgs/development/libraries/libofa/default.nix b/pkgs/development/libraries/libofa/default.nix index 2e2640e86362be77ddc50f39ba6e4a9985e6dc5e..6ffef2140ec293ccad300ddee09ae144fddb7165 100644 --- a/pkgs/development/libraries/libofa/default.nix +++ b/pkgs/development/libraries/libofa/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://code.google.com/musicip-libofa/; - description = "LibOFA - Library Open Fingerprint Architecture"; + description = "Library Open Fingerprint Architecture"; longDescription = '' LibOFA (Library Open Fingerprint Architecture) is an open-source audio fingerprint created and provided by MusicIP''; diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix index ae6299286a1783d5146766d7ad08148a69b7229f..b6be8d194c15231e12757652a81d49a82b721d71 100644 --- a/pkgs/development/libraries/libsigsegv/default.nix +++ b/pkgs/development/libraries/libsigsegv/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnu.org/software/libsigsegv/; - description = "GNU libsigsegv, a library to handle page faults in user mode"; + description = "Library to handle page faults in user mode"; longDescription = '' GNU libsigsegv is a library for handling page faults in user mode. A diff --git a/pkgs/development/libraries/libspectre/default.nix b/pkgs/development/libraries/libspectre/default.nix index 7d46f9e32cef034022b5122fc31a4b9e0d3afc6f..0e5f976c1224545a5f26f9cde148042e8b297166 100644 --- a/pkgs/development/libraries/libspectre/default.nix +++ b/pkgs/development/libraries/libspectre/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://libspectre.freedesktop.org/; - description = "libspectre, a PostScript rendering library"; + description = "PostScript rendering library"; longDescription = '' libspectre is a small library for rendering Postscript diff --git a/pkgs/development/libraries/libtar/default.nix b/pkgs/development/libraries/libtar/default.nix index 7a8dfa7a62279371f94bbb94553d89a38fd2379c..212a3a23939b234df73da2590f39dda69353138c 100644 --- a/pkgs/development/libraries/libtar/default.nix +++ b/pkgs/development/libraries/libtar/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchgit, autoreconfHook }: +{ stdenv, fetchgit, fetchpatch, autoreconfHook }: stdenv.mkDerivation rec { version = "1.2.20"; name = "libtar-${version}"; - + # Maintenance repo for libtar (Arch Linux uses this) src = fetchgit { url = "git://repo.or.cz/libtar.git"; @@ -11,6 +11,19 @@ stdenv.mkDerivation rec { sha256 = "1pjsqnqjaqgkzf1j8m6y5h76bwprffsjjj6gk8rh2fjsha14rqn9"; }; + patches = let + fp = name: sha256: + fetchpatch { + url = "http://sources.debian.net/data/main/libt/libtar/1.2.20-4/debian/patches/${name}.patch"; + inherit sha256; + }; + in [ + (fp "no_static_buffers" "0yv90bhvqjj0v650gzn8fbzhdhzx5z0r1lh5h9nv39wnww435bd0") + (fp "no_maxpathlen" "11riv231wpbdb1cm4nbdwdsik97wny5sxcwdgknqbp61ibk572b7") + (fp "CVE-2013-4420" "0d010190bqgr2ggy02qwxvjaymy9a22jmyfwdfh4086v876cbxpq") + (fp "th_get_size-unsigned-int" "1ravbs5yrfac98mnkrzciw9hd2fxq4dc07xl3wx8y2pv1bzkwm41") + ]; + buildInputs = [ autoreconfHook ]; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix index bae22ef220fc18d2d5c8b7fc0a8d6d3b12594f91..5a2508a45067e7def17ad432f239ee5c2076a559 100644 --- a/pkgs/development/libraries/libtasn1/default.nix +++ b/pkgs/development/libraries/libtasn1/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnu.org/software/libtasn1/; - description = "GNU Libtasn1, an ASN.1 library"; + description = "An ASN.1 library"; longDescription = '' Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and some diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix index 6741838d33b613daf81a871e076bd66fb630936c..b5665fe402e78e29d8aae235601597744886e43c 100644 --- a/pkgs/development/libraries/libtoxcore/default.nix +++ b/pkgs/development/libraries/libtoxcore/default.nix @@ -2,8 +2,8 @@ , libvpx, check, libconfig, pkgconfig }: let - version = "e1158be5a6"; - date = "20140728"; + version = "f83fcbb13c0"; + date = "20140811"; in stdenv.mkDerivation rec { name = "tox-core-${date}-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/irungentoo/toxcore/tarball/${version}"; name = "${name}.tar.gz"; - sha256 = "1rsh1pbwvngsx5slmd6608b1zqs3jvq70bjr9zyziap9vxka3z1v"; + sha256 = "09g74h3qnx9adyxxvzay8m2idbgbln7m4kkm7sg9925mvi5abb1w"; }; NIX_LDFLAGS = "-lgcc_s"; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index b578d895c5f0da6133191a5e2b0c913092b63462..2a87d7a32490bb2143017f154355188da197a865 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation (rec { meta = { homepage = http://www.gnu.org/software/libunistring/; - description = "GNU Libunistring, a Unicode string library"; + description = "Unicode string library"; longDescription = '' This library provides functions for manipulating Unicode strings diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index bd1f926c9cbe9da08516054a147d34cb12d4f6fb..b11b889a8d99604057691864edd195d30bc672ba 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -100,4 +100,5 @@ in v0_11_24 = "1hygn81iwbdshzrq603qm6k1r7pjflx9qqazmlb72c3vy1hq21c6"; v0_11_25 = "1abszivlxf0sddwvcj3jywfsip5q9vz6axvn40qqyl8sjs80zcvj"; v0_11_26 = "1pfjdwrxhqz1vqcdm42g3j45ghrb4yl7wsngvraclhgqicff1sc3"; + v0_11_29 = "1z07phfwryfy2155p3lxcm2a33h20sfl96lds5dghn157x6csz7m"; } diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 4027bd8a84e0abf27d9e44366ea40768ca5899fc..a4c8c167b39a44f84c08e90aecfe5224480c77aa 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -4,14 +4,14 @@ , dnsmasq, libnl }: -let version = "1.2.5"; in +let version = "1.2.7"; in stdenv.mkDerivation rec { name = "libvirt-${version}"; src = fetchurl { url = "http://libvirt.org/sources/${name}.tar.gz"; - sha256 = "0igd74wkksgv24i2xaa8wx51iqpgjp1v7820pk93m0jv8gipvscf"; + sha256 = "1z6yfzzbf9rvqjq1my7x1br73g8dz8kij3khpb4x520ip8n4dyrx"; }; buildInputs = [ @@ -39,6 +39,7 @@ stdenv.mkDerivation rec { ]; postInstall = '' + sed -i 's/ON_SHUTDOWN=suspend/ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}/' $out/libexec/libvirt-guests.sh substituteInPlace $out/libexec/libvirt-guests.sh \ --replace "$out/bin" "${gettext}/bin" wrapProgram $out/sbin/libvirtd \ diff --git a/pkgs/development/libraries/libxmi/default.nix b/pkgs/development/libraries/libxmi/default.nix index 85f0dbddb0b8e355d0c15aace91a4e15258eb2b9..42c427605c4ae02bfc6deb4526e59323a7ec30d3 100644 --- a/pkgs/development/libraries/libxmi/default.nix +++ b/pkgs/development/libraries/libxmi/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation { preConfigure = "cp ${libtool}/share/libtool/config/config.sub ."; meta = { - description = "GNU libxmi, a library for rasterizing 2-D vector graphics"; + description = "Library for rasterizing 2-D vector graphics"; homepage = http://www.gnu.org/software/libxmi/; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.gnu; # arbitrary choice diff --git a/pkgs/development/libraries/lightning/default.nix b/pkgs/development/libraries/lightning/default.nix index 951627c81c2f35ac85376c6b29917ba0e149a3e2..036d9c61d07ac3afec2d13261a99f8a8d20e0452 100644 --- a/pkgs/development/libraries/lightning/default.nix +++ b/pkgs/development/libraries/lightning/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, binutils }: stdenv.mkDerivation rec { - name = "lightning-2.0.4"; + name = "lightning-2.0.5"; src = fetchurl { - url = "ftp://ftp.gnu.org/gnu/lightning/${name}.tar.gz"; - sha256 = "1lrckrx51d5hrv66bc99fd4b7g2wwn4vr304hwq3glfzhb8jqcdy"; + url = "mirror://gnu/lightning/${name}.tar.gz"; + sha256 = "0jm9a8ddxc1v9hyzyv4ybg37fjac2yjqv1hkd262wxzqms36mdk5"; }; # Needs libopcodes.so from binutils for 'make check' @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnu.org/software/lightning/; - description = "GNU lightning, a run-time code generation library"; + description = "Run-time code generation library"; longDescription = '' GNU lightning is a library that generates assembly language code diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..994c013c6319d11010210145ce5ac387df5d413c --- /dev/null +++ b/pkgs/development/libraries/liquidfun/default.nix @@ -0,0 +1,48 @@ +{ stdenv, requireFile, cmake, mesa, libX11, libXi }: + +let + sourceInfo = rec { + version="1.1.0"; + name="liquidfun-${version}"; + url="https://github.com/google/liquidfun/releases/download/v${version}/${name}"; + hash="5011a000eacd6202a47317c489e44aa753a833fb562d970e7b8c0da9de01df86"; + }; +in +stdenv.mkDerivation rec { + src = requireFile { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + name = sourceInfo.name + ".tar.gz"; + }; + + inherit (sourceInfo) name version; + buildInputs = [ cmake mesa libX11 libXi ]; + + sourceRoot = "liquidfun/Box2D/"; + + preConfigurePhases = "preConfigure"; + + preConfigure = '' + sed -i Box2D/Common/b2Settings.h -e 's@b2_maxPolygonVertices .*@b2_maxPolygonVertices 15@' + substituteInPlace Box2D/CMakeLists.txt --replace "Common/b2GrowableStack.h" "Common/b2GrowableStack.h Common/b2GrowableBuffer.h" + ''; + + configurePhase = '' + mkdir Build + cd Build; + cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=$out .. + ''; + + meta = { + description = "2D physics engine based on Box2D"; + maintainers = with stdenv.lib.maintainers; + [ + qknight + ]; + platforms = with stdenv.lib.platforms; + linux; + license = stdenv.lib.licenses.bsd2; + homepage = https://google.github.io/liquidfun/; + }; +} + diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix index 75f175a5b2da5c3f4e06fa2a924ad1c02d200667..88565d5d51b553fbb3283f3dde1ec8bb3265fcb0 100644 --- a/pkgs/development/libraries/lirc/default.nix +++ b/pkgs/development/libraries/lirc/default.nix @@ -1,18 +1,30 @@ -{ stdenv, fetchurl, alsaLib }: +{ stdenv, fetchurl, alsaLib, bash, help2man }: stdenv.mkDerivation rec { - name = "lirc-0.9.0"; + name = "lirc-0.9.1"; src = fetchurl { url = "mirror://sourceforge/lirc/${name}.tar.bz2"; - sha256 = "1zx4mcnjwzz6jsi6ln7a3dkgx05nvg1pxxvmjqvd966ldapay8v3"; + sha256 = "0vakq9x10hyj9k7iv35sm5f4dhxvk0miwxvv6kn0bhwkr2mnapj6"; }; - buildInputs = [ alsaLib ]; + preBuild = "patchShebangs ."; + + buildInputs = [ alsaLib help2man ]; configureFlags = [ "--with-driver=devinput" "--sysconfdir=$(out)/etc" "--enable-sandboxed" ]; + + makeFlags = [ "m4dir=$(out)/m4" ]; + + meta = with stdenv.lib; { + description = "Allows to receive and send infrared signals"; + homepage = http://www.lirc.org/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ pSub ]; + }; } diff --git a/pkgs/development/libraries/lzo/default.nix b/pkgs/development/libraries/lzo/default.nix index 7fa6194cbca6f5d9624ccf1630fd6cf5f4853b11..f4bff72fa80970ece72459400e042c26c62cf065 100644 --- a/pkgs/development/libraries/lzo/default.nix +++ b/pkgs/development/libraries/lzo/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "lzo-2.06"; + name = "lzo-2.08"; src = fetchurl { url = "${meta.homepage}/download/${name}.tar.gz"; - sha256 = "0wryshs446s7cclrbjykyj766znhcpnr7s3cxy33ybfn6vwfcygz"; + sha256 = "0536ad3ksk1r8h2a27d0y4p27lwjarzyndw7sagvxzj6xr6kw6xc"; }; configureFlags = [ "--enable-shared" ]; diff --git a/pkgs/development/libraries/ming/default.nix b/pkgs/development/libraries/ming/default.nix index f9632dca9d22cda5b1490956fc3b6fa474400c03..a470f77156111a0d87b44e570d331ad1c30eb8b2 100644 --- a/pkgs/development/libraries/ming/default.nix +++ b/pkgs/development/libraries/ming/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "Ming, a library for generating Flash `.swf' files"; + description = "Library for generating Flash `.swf' files"; longDescription = '' Ming is a library for generating Macromedia Flash files (.swf), diff --git a/pkgs/development/libraries/movit/default.nix b/pkgs/development/libraries/movit/default.nix index bfd474c88e715f14c3fb3f180c4c91d42e33dd22..88f18003977baf56ae20e489d116be912f15ecbe 100644 --- a/pkgs/development/libraries/movit/default.nix +++ b/pkgs/development/libraries/movit/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "movit-${version}"; - version = "1.1.1"; + version = "1.1.2"; src = fetchurl { url = "http://movit.sesse.net/${name}.tar.gz"; - sha256 = "1k3qbkxapcplpsx22xh4m4ccp9fhsjfcj3pjzbcnrc51103aklag"; + sha256 = "0jka9l3cx7q09rpz5x6rv6ii8kbgm2vc419gx2rb9rc8sl81hzj1"; }; GTEST_DIR = "${gtest}"; diff --git a/pkgs/development/libraries/mpc/default.nix b/pkgs/development/libraries/mpc/default.nix index 652227d47e8576e75c9a650431513021d372a6fb..3d05fa2e0405b332bdf3d986fdda6668ce054a77 100644 --- a/pkgs/development/libraries/mpc/default.nix +++ b/pkgs/development/libraries/mpc/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU MPC, a library for multiprecision complex arithmetic with exact rounding"; + description = "Library for multiprecision complex arithmetic with exact rounding"; longDescription = '' GNU MPC is a C library for the arithmetic of complex numbers with diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index e3fbaececb9b5e6b68a3ae910baec973febaf0f7..653481aeccd6b65b0baad0d939da9405fdc7122d 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.mpfr.org/; - description = "GNU MPFR, a library for multiple-precision floating-point arithmetic"; + description = "Library for multiple-precision floating-point arithmetic"; longDescription = '' The GNU MPFR library is a C library for multiple-precision diff --git a/pkgs/development/libraries/mpich2/default.nix b/pkgs/development/libraries/mpich2/default.nix index 5fba9c564181a6d491811fdfc59268d23900a039..b80d549931c64d21eefda4e6983dd0463991d09f 100644 --- a/pkgs/development/libraries/mpich2/default.nix +++ b/pkgs/development/libraries/mpich2/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation { ''; meta = { - description = "MPICH2, an implementation of the Message Passing Interface (MPI) standard"; + description = "Implementation of the Message Passing Interface (MPI) standard"; longDescription = '' MPICH2 is a free high-performance and portable implementation of diff --git a/pkgs/development/libraries/muparser/default.nix b/pkgs/development/libraries/muparser/default.nix index 9d9a524e86d0220c3c34b496d9544222d568a468..b68f04f642fbaaedb0b9ee9a28a7ae03b00b9d76 100644 --- a/pkgs/development/libraries/muparser/default.nix +++ b/pkgs/development/libraries/muparser/default.nix @@ -1,11 +1,14 @@ {stdenv, fetchurl, unzip}: -stdenv.mkDerivation { - name = "muparser-2.2.2"; - src = fetchurl { - url = mirror://sourceforge/muparser/muparser_v2_2_2.zip; - sha256 = "0pncvjzzbwcadgpwnq5r7sl9v5r2y9gjgfnlw0mrs9wj206dbhx9"; - }; +stdenv.mkDerivation rec { + name = "muparser-${version}"; + version = "2.2.3"; + url-version = stdenv.lib.replaceChars ["."] ["_"] version; + + src = fetchurl { + url = "mirror://sourceforge/muparser/muparser_v${url-version}.zip"; + sha256 = "00l92k231yb49wijzkspa2l58mapn6vh2dlxnlg0pawjjfv33s6z"; + }; buildInputs = [ unzip ]; diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 87953c1158d5f4af1b6775a964463c02e11d33ce..631199bf87c30f4a2e953633a6bbc80dff5efb02 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -70,7 +70,7 @@ stdenv.mkDerivation rec { postFixup = lib.optionalString stdenv.isDarwin "rm $out/lib/*.so"; meta = { - description = "GNU Ncurses, a free software emulation of curses in SVR4 and more"; + description = "Free software emulation of curses in SVR4 and more"; longDescription = '' The Ncurses (new curses) library is a free software emulation of diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix index 57d3732fa6dc905ca3d4581e75b1bbbfc3a71b93..38d197c69ab3eb1ef7d31ebca203a089bc7a39d5 100644 --- a/pkgs/development/libraries/nettle/default.nix +++ b/pkgs/development/libraries/nettle/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation (rec { ./cygwin.patch; meta = { - description = "GNU Nettle, a cryptographic library"; + description = "Cryptographic library"; longDescription = '' Nettle is a cryptographic library that is designed to fit diff --git a/pkgs/development/libraries/nix-plugins/default.nix b/pkgs/development/libraries/nix-plugins/default.nix index 3b4f7da94f3d26cf46f0df7fc5e7267f6a5c31ea..2c208ce86bbcea102a446ae01b0848d70a09dff6 100644 --- a/pkgs/development/libraries/nix-plugins/default.nix +++ b/pkgs/development/libraries/nix-plugins/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation { license = stdenv.lib.licenses.mit; maintaners = [ stdenv.lib.maintainers.shlevy ]; platforms = stdenv.lib.platforms.all; + broken = true; }; } diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix index 47a51b68d030ff7140e36abd9e5d12af1a15d9cb..08069533713dd56de40143e0d9e37b8b4a5212dd 100644 --- a/pkgs/development/libraries/oniguruma/default.nix +++ b/pkgs/development/libraries/oniguruma/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.geocities.jp/kosako3/oniguruma/; - description = "Oniguruma regular expressions library"; + description = "Regular expressions library"; license = "BSD"; }; } diff --git a/pkgs/development/libraries/opal/default.nix b/pkgs/development/libraries/opal/default.nix index 1f59c0c24a02f3ca3371d20656feb9d05c2e396a..c79c3cbe4d629d141dab22f4446cf5a3aeb45df8 100644 --- a/pkgs/development/libraries/opal/default.nix +++ b/pkgs/development/libraries/opal/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { patches = [ ./disable-samples-ftbfs.diff ./libav9.patch ./libav10.patch ]; meta = with stdenv.lib; { - description = "OPAL VoIP library"; + description = "VoIP library"; maintainers = [ maintainers.raskin ]; platforms = platforms.linux; }; diff --git a/pkgs/development/libraries/openal/default.nix b/pkgs/development/libraries/openal/default.nix index b5e390eafa85d3ed3a0bea18d19d6a2ea1cb96aa..5a935691ca580b18a61164b6b8db99cbdd734bf1 100644 --- a/pkgs/development/libraries/openal/default.nix +++ b/pkgs/development/libraries/openal/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib; meta = { - description = "OpenAL, a cross-platform 3D audio API"; + description = "Cross-platform 3D audio API"; longDescription = '' OpenAL is a cross-platform 3D audio API appropriate for use with diff --git a/pkgs/development/libraries/opencascade/oce.nix b/pkgs/development/libraries/opencascade/oce.nix index 0da8d2a740405545442bb6bf0752b76c5c96411d..480664a0d4d364d0371135fed164efe08725b2e4 100644 --- a/pkgs/development/libraries/opencascade/oce.nix +++ b/pkgs/development/libraries/opencascade/oce.nix @@ -2,10 +2,10 @@ ftgl, freetype}: stdenv.mkDerivation rec { - name = "opencascade-oce-0.14.1"; + name = "opencascade-oce-0.16"; src = fetchurl { - url = https://github.com/tpaviot/oce/archive/OCE-0.14.1.tar.gz; - sha256 = "0pfc94nmzipm6zmxywxbly1cpfr6wadxasqqkkbdvzg937mrwl5d"; + url = https://github.com/tpaviot/oce/archive/OCE-0.16.tar.gz; + sha256 = "05bmg1cjz827bpq8s0hp96byirm4c3zc9vx26qz76kjsg8ry87w4"; }; buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ]; diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index c9da441705c83ea0e611d5c8fd80d599d8b9d953..01a4e2e21daf28af455ad0b6715186fc0018a906 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -12,14 +12,16 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-overlays" + "--disable-dependency-tracking" # speeds up one-time build ] ++ stdenv.lib.optional (openssl == null) "--without-tls" ++ stdenv.lib.optional (cyrus_sasl == null) "--without-cyrus-sasl"; dontPatchELF = 1; # !!! - meta = { - homepage = "http://www.openldap.org/"; + meta = with stdenv.lib; { + homepage = http://www.openldap.org/; description = "An open source implementation of the Lightweight Directory Access Protocol"; - maintainers = stdenv.lib.maintainers.mornfall; + maintainers = with maintainers; [ lovek323 mornfall ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix index 678a439fe0acf4556576ecf16550e79b4ab3652f..15160d3afc49a3de54b1a39fdf93584ddcf7e785 100644 --- a/pkgs/development/libraries/openmpi/default.nix +++ b/pkgs/development/libraries/openmpi/default.nix @@ -1,4 +1,13 @@ -{stdenv, fetchurl, gfortran}: +{stdenv, fetchurl, gfortran + +# Enable the Sun Grid Engine bindings +, enableSGE ? false + +# Pass PATH/LD_LIBRARY_PATH to point to current mpirun by default +, enablePrefix ? false +}: + +with stdenv.lib; stdenv.mkDerivation { name = "openmpi-1.6.5"; @@ -7,6 +16,10 @@ stdenv.mkDerivation { sha256 = "11gws4d3z7934zna2r7m1f80iay2ha17kp42mkh39wjykfwbldzy"; }; buildInputs = [ gfortran ]; + configureFlags = [] + ++ optional enableSGE "--with-sge" + ++ optional enablePrefix "--enable-mpirun-prefix-by-default" + ; meta = { homePage = http://www.open-mpi.org/; description = "Open source MPI-2 implementation"; diff --git a/pkgs/development/libraries/osip/default.nix b/pkgs/development/libraries/osip/default.nix index cfa838f5a37011328564f4760bc7e467de5bd6f7..4db1cb5b5246fcdba686477df46f751f610c3c2a 100644 --- a/pkgs/development/libraries/osip/default.nix +++ b/pkgs/development/libraries/osip/default.nix @@ -1,9 +1,9 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - version = "4.0.0"; + version = "4.1.0"; src = fetchurl { url = "mirror://gnu/osip/libosip2-${version}.tar.gz"; - sha256 = "05dhj4s5k4qmhn2amca070xgh1gkcl42n040fhwsn3vm86524bdv"; + sha256 = "014503kqv7z63az6lgxr5fbajlrqylm5c4kgbf8p3a0n6cva0slr"; }; name = "libosip2-${version}"; @@ -13,5 +13,6 @@ stdenv.mkDerivation rec { description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)"; maintainers = with stdenv.lib.maintainers; [ raskin ]; platforms = stdenv.lib.platforms.linux; + inherit version; }; } diff --git a/pkgs/development/libraries/osip/default.upstream b/pkgs/development/libraries/osip/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..ba0ed2a9b2993ab4e5c3181859771c2e1bf1be13 --- /dev/null +++ b/pkgs/development/libraries/osip/default.upstream @@ -0,0 +1,3 @@ +url http://ftp.u-tx.net/gnu/osip/ +attribute_name libosip +minimize_overwrite diff --git a/pkgs/development/libraries/pdf2htmlex/default.nix b/pkgs/development/libraries/pdf2htmlex/default.nix deleted file mode 100644 index 597385aa9fa3eed40ed55a44859dbfcdedba36cc..0000000000000000000000000000000000000000 --- a/pkgs/development/libraries/pdf2htmlex/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{stdenv, fetchurl, cmake, poppler, fontforge, unzip, pkgconfig, python}: - -stdenv.mkDerivation rec { - version = "0.8.1"; - name = "pdf2htmlex-${version}"; - - src = fetchurl { - url = "https://github.com/coolwanglu/pdf2htmlEX/archive/v${version}.zip"; - sha256 = "0v8x03vq46ng9s27ryn76lcsjgpxgak6062jnx59lnyz856wvp8a"; - }; - - buildInputs = [ - cmake - unzip - poppler - fontforge - pkgconfig - python - ]; - - meta = with stdenv.lib; { - description = "Convert PDF to HTML without losing text or format. "; - license = licenses.gpl3; - maintainers = [ maintainers.iElectric ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/development/libraries/plib/default.nix b/pkgs/development/libraries/plib/default.nix index 35262f797e973d578c01592e88c02c220fadcde8..4ab6fb3ad8b436cc08f0077327c9bb41474b5e44 100644 --- a/pkgs/development/libraries/plib/default.nix +++ b/pkgs/development/libraries/plib/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { ]; meta = { - description = "PLIB: A Suite of Portable Game Libraries"; + description = "A suite of portable game libraries"; longDescription = '' PLIB includes sound effects, music, a complete 3D engine, font diff --git a/pkgs/development/libraries/ppl/default.nix b/pkgs/development/libraries/ppl/default.nix index f93eee674ffcf7cf38b5d8721a7ae9073bc82741..9edef767481ff4c223705f2b97166adf3f49c652 100644 --- a/pkgs/development/libraries/ppl/default.nix +++ b/pkgs/development/libraries/ppl/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - description = "PPL: The Parma Polyhedra Library"; + description = "The Parma Polyhedra Library"; longDescription = '' The Parma Polyhedra Library (PPL) provides numerical abstractions diff --git a/pkgs/development/libraries/qt-5/qt-5.3.nix b/pkgs/development/libraries/qt-5/qt-5.3.nix index 1722a1e52a19087efe1e0f83b47cf875d74886d3..18b464c6f248974ea54c3718c02f118f48dc89a7 100644 --- a/pkgs/development/libraries/qt-5/qt-5.3.nix +++ b/pkgs/development/libraries/qt-5/qt-5.3.nix @@ -18,7 +18,7 @@ with stdenv.lib; let v_maj = "5.3"; - v_min = "0"; + v_min = "1"; ver = "${v_maj}.${v_min}"; in @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://download.qt-project.org/official_releases/qt/" + "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz"; - sha256 = "09gp19377zpqyfzk063b3pjz8gjm2x7xsj71bdpmnhs1scz0khcj"; + sha256 = "189mgfqxjg0jp0vkfrj55p9brl018wzf7lir8yjr0pajp8jqd2ds"; }; # The version property must be kept because it will be included into the QtSDK package name diff --git a/pkgs/development/libraries/readline/readline6.3.nix b/pkgs/development/libraries/readline/readline6.3.nix index 9f5c9f7b581327ae7ca24dc9524a2d6bf91d11d4..17299e5f10d8ad244e0e109dab0eb5a793db39a3 100644 --- a/pkgs/development/libraries/readline/readline6.3.nix +++ b/pkgs/development/libraries/readline/readline6.3.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation (rec { ]; meta = { - description = "GNU Readline, a library for interactive line editing"; + description = "Library for interactive line editing"; longDescription = '' The GNU Readline library provides a set of functions for use by diff --git a/pkgs/development/libraries/readline/readline6.nix b/pkgs/development/libraries/readline/readline6.nix index 0559113285c458f41a4f5e2896a4888af09c1a90..d72d6566bbc945909f64cad995e03d79f77250aa 100644 --- a/pkgs/development/libraries/readline/readline6.nix +++ b/pkgs/development/libraries/readline/readline6.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation (rec { import ./readline-6.2-patches.nix patch); meta = { - description = "GNU Readline, a library for interactive line editing"; + description = "Library for interactive line editing"; longDescription = '' The GNU Readline library provides a set of functions for use by diff --git a/pkgs/development/libraries/science/biology/biolib/default.nix b/pkgs/development/libraries/science/biology/biolib/default.nix index 0461e5ebcf543e698e2106ecbaa19abe1af537e6..7418bdb6dfe01be89827816e9f0b63be6d2346d2 100644 --- a/pkgs/development/libraries/science/biology/biolib/default.nix +++ b/pkgs/development/libraries/science/biology/biolib/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://biolib.open-bio.org/"; - description = "BioLib"; + description = "Shared libraries for the major Bio* languages"; license = stdenv.lib.licenses.gpl2; longDescription = '' BioLib brings together a set of opensource libraries written diff --git a/pkgs/development/libraries/science/math/liblapack/3.5.0.nix b/pkgs/development/libraries/science/math/liblapack/3.5.0.nix new file mode 100644 index 0000000000000000000000000000000000000000..0b4badf26e7a01f288ab1bc02a1581a0fc40202b --- /dev/null +++ b/pkgs/development/libraries/science/math/liblapack/3.5.0.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchurl, gfortran, atlas, cmake, python, shared ? false }: +let + atlasMaybeShared = atlas.override { inherit shared; }; + usedLibExtension = if shared then ".so" else ".a"; +in +stdenv.mkDerivation rec { + version = "3.5.0"; + name = "liblapack-${version}"; + src = fetchurl { + url = "http://www.netlib.org/lapack/lapack-${version}.tgz"; + sha256 = "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s"; + }; + + propagatedBuildInputs = [ atlasMaybeShared ]; + buildInputs = [ gfortran cmake ]; + nativeBuildInputs = [ python ]; + + cmakeFlags = [ + "-DUSE_OPTIMIZED_BLAS=ON" + "-DBLAS_ATLAS_f77blas_LIBRARY=${atlasMaybeShared}/lib/libf77blas${usedLibExtension}" + "-DBLAS_ATLAS_atlas_LIBRARY=${atlasMaybeShared}/lib/libatlas${usedLibExtension}" + "-DCMAKE_Fortran_FLAGS=-fPIC" + ] + ++ (stdenv.lib.optional shared "-DBUILD_SHARED_LIBS=ON") + ; + + doCheck = ! shared; + + checkPhase = " + sed -i 's,^#!.*,#!${python}/bin/python,' lapack_testing.py + ctest + "; + + enableParallelBuilding = true; + + passthru = { + blas = atlas; + }; + + meta = { + inherit version; + description = "Linear Algebra PACKage"; + homepage = "http://www.netlib.org/lapack/"; + license = "revised-BSD"; + + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix index f1c99397452df43aff717a857371dcf7812687b4..9f4f43311a47d713bc2bc9e60e5224bd95d0c4b1 100644 --- a/pkgs/development/libraries/science/math/liblapack/default.nix +++ b/pkgs/development/libraries/science/math/liblapack/default.nix @@ -2,11 +2,12 @@ let atlasMaybeShared = atlas.override { inherit shared; }; usedLibExtension = if shared then ".so" else ".a"; + version = "3.4.1"; in -stdenv.mkDerivation { - name = "liblapack-3.4.1"; +stdenv.mkDerivation rec { + name = "liblapack-${version}"; src = fetchurl { - url = "http://www.netlib.org/lapack/lapack-3.4.1.tgz"; + url = "http://www.netlib.org/lapack/lapack-${version}.tgz"; sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f"; }; @@ -37,6 +38,7 @@ stdenv.mkDerivation { }; meta = { + inherit version; description = "Linear Algebra PACKage"; homepage = "http://www.netlib.org/lapack/"; license = "revised-BSD"; diff --git a/pkgs/development/libraries/science/math/openblas/0.2.10.nix b/pkgs/development/libraries/science/math/openblas/0.2.10.nix new file mode 100644 index 0000000000000000000000000000000000000000..ec4422ce8951c5bbb870714b490a12427626b0f5 --- /dev/null +++ b/pkgs/development/libraries/science/math/openblas/0.2.10.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, gfortran, perl, liblapack, config }: + +let local = config.openblas.preferLocalBuild or false; + localTarget = config.openblas.target or ""; +in +stdenv.mkDerivation rec { + version = "0.2.10"; + + name = "openblas-${version}"; + src = fetchurl { + url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}"; + sha256 = "06i0q4qnd5q5xljzrgvda0gjsczc6l2pl9hw6dn2qjpw38al73za"; + name = "openblas-${version}.tar.gz"; + }; + + preBuild = "cp ${liblapack.src} lapack-${liblapack.meta.version}.tgz"; + + buildInputs = [gfortran perl]; + + cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system); + + target = if local then localTarget else + if cpu == "i686" then "P2" else + if cpu == "x86_64" then "CORE2" else + # allow autodetect + ""; + + makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1"; + + meta = with stdenv.lib; { + description = "Basic Linear Algebra Subprograms"; + license = licenses.bsd3; + homepage = "https://github.com/xianyi/OpenBLAS"; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/science/math/openblas/0.2.2.nix b/pkgs/development/libraries/science/math/openblas/0.2.2.nix new file mode 100644 index 0000000000000000000000000000000000000000..c476dac955ad4d0e6dab00e2ba23eb5bfb7e650a --- /dev/null +++ b/pkgs/development/libraries/science/math/openblas/0.2.2.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, gfortran, perl, liblapack, config }: + +let local = config.openblas.preferLocalBuild or false; + localTarget = config.openblas.target or ""; +in +stdenv.mkDerivation rec { + version = "0.2.2"; + + name = "openblas-${version}"; + src = fetchurl { + url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}"; + sha256 = "13kdx3knff5ajnmgn419g0dnh83plin07p7akwamr3v7z5qfrzqr"; + name = "openblas-${version}.tar.gz"; + }; + + preBuild = "cp ${liblapack.src} lapack-${liblapack.meta.version}.tgz"; + + buildInputs = [gfortran perl]; + + cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system); + + target = if local then localTarget else + if cpu == "i686" then "P2" else + if cpu == "x86_64" then "CORE2" else + # allow autodetect + ""; + + makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\""; + + meta = with stdenv.lib; { + description = "Basic Linear Algebra Subprograms"; + license = licenses.bsd3; + homepage = "https://github.com/xianyi/OpenBLAS"; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index 6ea7333f6986e40cbdc954fc6c42797ad0b897d1..6ca1f4ccadaef3c0e0a9a4bd6f567074b8823946 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -1,37 +1,37 @@ -{ stdenv, fetchurl, gfortran, perl }: +{ stdenv, fetchurl, gfortran, perl, liblapack, config }: +let local = config.openblas.preferLocalBuild or false; + localTarget = config.openblas.target or ""; +in stdenv.mkDerivation rec { - version = "0.2.2"; - lapack_version = "3.4.1"; - lapack_src = fetchurl { - url = "http://www.netlib.org/lapack/lapack-${lapack_version}.tgz"; - sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f"; - }; + version = "0.2.11"; name = "openblas-${version}"; src = fetchurl { url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}"; - sha256 = "13kdx3knff5ajnmgn419g0dnh83plin07p7akwamr3v7z5qfrzqr"; + sha256 = "1va4yhzgj2chcj6kaxgfbzirajp1zgvkic61959aka2xq2c5igms"; name = "openblas-${version}.tar.gz"; }; - preBuild = "cp ${lapack_src} lapack-${lapack_version}.tgz"; + preBuild = "cp ${liblapack.src} lapack-${liblapack.meta.version}.tgz"; buildInputs = [gfortran perl]; cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system); - target = if cpu == "i686" then "P2" else + target = if local then localTarget else + if cpu == "i686" then "P2" else if cpu == "x86_64" then "CORE2" else # allow autodetect ""; - makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\""; + makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1"; - meta = { + meta = with stdenv.lib; { description = "Basic Linear Algebra Subprograms"; - license = stdenv.lib.licenses.bsd3; + license = licenses.bsd3; homepage = "https://github.com/xianyi/OpenBLAS"; platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ ttuegel ]; }; } diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix index 2fd5c9ad493daa77f80416b0676efb988242ab22..c0935bd33fd0238e64ef1f7facd56b3fd37243c3 100644 --- a/pkgs/development/libraries/serd/default.nix +++ b/pkgs/development/libraries/serd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "serd-${version}"; - version = "0.18.2"; + version = "0.20.0"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1hgajhm4iar4n2kh71pv6yr0yhipj28kds9y5mbig8izqc188gcf"; + sha256 = "1gxbzqsm212wmn8qkdd3lbl6wbv7fwmaf9qh2nxa4yxjbr7mylb4"; }; buildInputs = [ pcre pkgconfig python ]; diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix index 409b5db01049bab903bcdc74816d74bf6f977794..873f59dba3ab8de610cedc024d3ac7b376f43062 100644 --- a/pkgs/development/libraries/serf/default.nix +++ b/pkgs/development/libraries/serf/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig }: stdenv.mkDerivation rec { - name = "serf-1.3.6"; + version = "1.3.7"; + name = "serf-${version}"; src = fetchurl { url = "http://serf.googlecode.com/svn/src_releases/${name}.tar.bz2"; - sha256 = "1wk3cplazs8jznjc9ylpd63rrk9k2y05xa7zqx7psycr0gmpnqya"; + sha256 = "1bphz616dv1svc50kkm8xbgyszhg3ni2dqbij99sfvjycr7bgk7c"; }; buildInputs = [ apr scons openssl aprutil zlib krb5 pkgconfig ]; @@ -30,5 +31,8 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.asl20 ; maintainers = [stdenv.lib.maintainers.raskin]; hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + inherit version; + downloadPage = "http://serf.googlecode.com/svn/src_releases/"; + updateWalker = true; }; } diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..842d74848df6a145bf31185153d0cc201eb136f8 --- /dev/null +++ b/pkgs/development/libraries/skalibs/default.nix @@ -0,0 +1,58 @@ +{stdenv, fetchurl}: + +let + + version = "1.6.0.0"; + +in stdenv.mkDerivation rec { + name = "skalibs-${version}"; + + src = fetchurl { + url = "http://skarnet.org/software/skalibs/${name}.tar.gz"; + sha256 = "0jz3farll9n5jvz3g6wri99s6njkgmnf0r9jqjlg03f20dzv8c8w"; + }; + + sourceRoot = "prog/${name}"; + + # See http://skarnet.org/cgi-bin/archive.cgi?1:mss:75:201405:pkmodhckjklemogbplje + patches = [ ./getpeereid.patch ]; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-defaultpath + printf "$out/etc" > conf-etc + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/libexec" > conf-install-libexec + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + printf "$out/sysdeps" > conf-install-sysdeps + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + rm -f flag-slashpackage + touch flag-allstatic + touch flag-forcedevr + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + preInstall = '' + mkdir -p "$out/etc" + ''; + + meta = { + homepage = http://skarnet.org/software/skalibs/; + description = "A set of general-purpose C programming libraries."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/development/libraries/skalibs/getpeereid.patch b/pkgs/development/libraries/skalibs/getpeereid.patch new file mode 100644 index 0000000000000000000000000000000000000000..c366780e2670dabd655c0f755e6f542807ace3e8 --- /dev/null +++ b/pkgs/development/libraries/skalibs/getpeereid.patch @@ -0,0 +1,28 @@ +--- a/src/libstddjb/getpeereid.h ++++ b/src/libstddjb/getpeereid.h +@@ -3,6 +3,14 @@ + #ifndef GETPEEREID_H + #define GETPEEREID_H + ++#include "sysdeps.h" ++ ++#ifdef HASGETPEEREID ++/* syscall exists - do nothing */ ++ ++#else ++ + extern int getpeereid (int, int *, int *) ; + + #endif ++#endif +--- a/src/libstddjb/ipc_eid.c ++++ b/src/libstddjb/ipc_eid.c +@@ -5,7 +5,7 @@ + + int ipc_eid (int s, unsigned int *u, unsigned int *g) + { +- int dummyu, dummyg ; ++ unsigned int dummyu, dummyg ; + if (getpeereid(s, &dummyu, &dummyg) < 0) return -1 ; + *u = (unsigned int)dummyu ; + *g = (unsigned int)dummyg ; diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix index be52725f2c8facdfaf24c50082041ecdf0ca61c0..266675614ceef450278a054e302966ee8a4dbb0e 100644 --- a/pkgs/development/libraries/sodium/default.nix +++ b/pkgs/development/libraries/sodium/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="sodium"; - version="0.6.1"; + version="0.7.0"; name="${baseName}-${version}"; - hash="151nril3kzkpmy6khvqphk4zk15ri0dqv0isyyhz6n9nsbmzxk04"; - url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.6.1.tar.gz"; - sha256="151nril3kzkpmy6khvqphk4zk15ri0dqv0isyyhz6n9nsbmzxk04"; + hash="0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc"; + url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.7.0.tar.gz"; + sha256="0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc"; }; buildInputs = [ ]; diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix index 8f122cb699acb78bafea5fbb6ee19d179fa8c8a9..96a19bf37cc9312c9b6eb8e04aef2b7ec82fcdca 100644 --- a/pkgs/development/libraries/sord/default.nix +++ b/pkgs/development/libraries/sord/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sord-${version}"; - version = "0.12.0"; + version = "0.12.2"; src = fetchurl { url = "http://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1f0wz7ynnk72hyr4jfi0lgvj90ld2va1kig8fkw30s8b903alsqj"; + sha256 = "0rq7vafdv4vsxi6xk9zf5shr59w3kppdhqbj78185rz5gp9kh1dx"; }; buildInputs = [ pkgconfig python serd ]; diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix index f88ab48e027ef9126cc08d962c6f74447bbdbb2c..24dc443ca705e78af3d97cbac5697775d6829745 100644 --- a/pkgs/development/libraries/spandsp/default.nix +++ b/pkgs/development/libraries/spandsp/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, audiofile, libtiff}: stdenv.mkDerivation rec { - version = "0.0.5"; + version = "0.0.6"; name = "spandsp-${version}"; src=fetchurl { - url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tgz"; - sha256 = "07f42a237c77b08fa765c3a148c83cdfa267bf24c0ab681d80b90d30dd0b3dbf"; + url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; + sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"; }; buildInputs = []; propagatedBuildInputs = [audiofile libtiff]; @@ -13,6 +13,9 @@ stdenv.mkDerivation rec { platforms = with stdenv.lib.platforms; linux; maintainers = with stdenv.lib.maintainers; [raskin]; license = with stdenv.lib.licenses; gpl2; + downloadPage = "http://www.soft-switch.org/downloads/spandsp/"; + inherit version; + updateWalker = true; }; } diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix index 162a832c93af6b6ccd278cd0d44ea50ab8e6e428..79fe47ff476b67daedbb4ac55046f48fea6cdeb3 100644 --- a/pkgs/development/libraries/spice-protocol/default.nix +++ b/pkgs/development/libraries/spice-protocol/default.nix @@ -1,19 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "spice-protocol-0.12.6"; + name = "spice-protocol-0.12.7"; src = fetchurl { url = "http://www.spice-space.org/download/releases/${name}.tar.bz2"; - sha256 = "16r5x2sppiaa6pzawkrvk5q4hmw7ynmlp2xr38f1vaxj5rh4aiwx"; + sha256 = "1hhn94bw2l76h09sy05a15bs6zalsijnylyqpwcys5hq6rrwpiln"; }; - meta = { + meta = with stdenv.lib; { description = "Protocol headers for the SPICE protocol"; homepage = http://www.spice-space.org; - license = stdenv.lib.licenses.bsd3; - - maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.bsd3; + maintainers = with maintainers; [ bluescreen303 ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix index 2af9565e0b4f2268bb9ab4e9bb928eb021250578..2353eec73485a0321267111bed856ae498c85697 100644 --- a/pkgs/development/libraries/spice/default.nix +++ b/pkgs/development/libraries/spice/default.nix @@ -5,11 +5,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "spice-0.12.4"; + name = "spice-0.12.5"; src = fetchurl { url = "http://www.spice-space.org/download/releases/${name}.tar.bz2"; - sha256 = "11xkdz26b39syynxm3iyjsr8q7x0v09zdli9an1ilcrfyiykw1ng"; + sha256 = "10gmqaanfg929aamf11n4si4r3d1g7z9qjdclsl9kjv7iw6s42a2"; }; buildInputs = [ pixman celt alsaLib openssl libjpeg zlib diff --git a/pkgs/development/libraries/szip/default.nix b/pkgs/development/libraries/szip/default.nix index 17f9c973fd0b6302945ddf8b0279b5a6693b354f..2ad2ed55d7c02666201b916cd018f7d93324bd0c 100644 --- a/pkgs/development/libraries/szip/default.nix +++ b/pkgs/development/libraries/szip/default.nix @@ -8,9 +8,7 @@ stdenv.mkDerivation { }; meta = { - description = " - Szip is a compression library that can be used with the hdf5 library. - "; + description = "Compression library that can be used with the hdf5 library"; homepage = http://www.hdfgroup.org/doc_resource/SZIP/; license = stdenv.lib.licenses.unfree; }; diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix index e04363326d01023add3a5ecf7813f9643dfae6cf..15e89d9210a124c5b142f82a9790b3b6276d6a2e 100644 --- a/pkgs/development/libraries/talloc/default.nix +++ b/pkgs/development/libraries/talloc/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { '' else ""; meta = { - description = "talloc is a hierarchical pool based memory allocator with destructors"; + description = "Hierarchical pool based memory allocator with destructors"; homepage = http://tdb.samba.org/; license = stdenv.lib.licenses.gpl3; platforms = stdenv.lib.platforms.all; diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix index d0eb8987ea0896c5264447164cbe7a9b76d970a5..c53316564351dfec794e692ef8f593d8de295592 100644 --- a/pkgs/development/libraries/tdb/default.nix +++ b/pkgs/development/libraries/tdb/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { buildInputs = [ libxslt libxml2 docbook_xsl ]; meta = { - description = "TDB, the trivial database"; + description = "The trivial database"; longDescription = '' TDB is a Trivial Database. In concept, it is very much like GDBM, and BSD's DB except that it allows multiple simultaneous writers and diff --git a/pkgs/development/libraries/tecla/default.nix b/pkgs/development/libraries/tecla/default.nix index 6cb20f4e3563774afbdc3ddbda9eef2e9003c83e..f83b34e40d1a29e1b4d6d66e4211b614e77d1c7e 100644 --- a/pkgs/development/libraries/tecla/default.nix +++ b/pkgs/development/libraries/tecla/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://www.astro.caltech.edu/~mcs/tecla/"; - description = "Tecla command-line editing library"; + description = "Command-line editing library"; license = "as-is"; hydraPlatforms = stdenv.lib.platforms.linux; diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix index f3ac325b5a12606da7137db647638575e8d89669..0e8a95d5ac1645ecb9828bb3a24df1006554c675 100644 --- a/pkgs/development/libraries/ucommon/default.nix +++ b/pkgs/development/libraries/ucommon/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU uCommon C++, C++ library to facilitate using C++ design patterns"; + description = "C++ library to facilitate using C++ design patterns"; homepage = http://www.gnu.org/software/commoncpp/; license = stdenv.lib.licenses.lgpl3Plus; diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index d3a2511c90c2afb39c05da8f1d1051669d9a1c37..4c86de7fb56be16b101b09638eaf003332edf9cb 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -59,7 +59,7 @@ stdenv.mkDerivation rec { '' else null; meta = with stdenv.lib; { - description = "V8 is Google's open source JavaScript engine"; + description = "Google's open source JavaScript engine"; platforms = platforms.linux ++ platforms.darwin; license = licenses.bsd3; }; diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix index 99837974b1d90e582a1d6fa6eb6356e120a6582c..d74a85a9162daf8f3fcc04a7564575654e5d3eb0 100644 --- a/pkgs/development/libraries/xapian/default.nix +++ b/pkgs/development/libraries/xapian/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { buildInputs = [ libuuid zlib ]; meta = { - description = "Xapian Probabilistic Information Retrieval library"; + description = "Search engine library"; homepage = "http://xapian.org"; license = stdenv.lib.licenses.gpl2Plus; maintainers = [ stdenv.lib.maintainers.chaoflow ]; diff --git a/pkgs/development/libraries/xbase/default.nix b/pkgs/development/libraries/xbase/default.nix index 81447276db79dbaed2352840ba58b13f1bf07447..95ba2a05ad9bd2bc724b6f69a50d6a4f5c42c9ce 100644 --- a/pkgs/development/libraries/xbase/default.nix +++ b/pkgs/development/libraries/xbase/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { meta = { homepage = http://linux.techass.com/projects/xdb/; - description = "XBase compatible C++ class library formerly known as XDB"; + description = "C++ class library formerly known as XDB"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.urkud ]; }; diff --git a/pkgs/development/libraries/xylib/default.nix b/pkgs/development/libraries/xylib/default.nix index 8fff5f39338397a58a90ccd03b98847258eba02c..fe9b6c5c3ca485c5cda8f04b809dff2431c990d0 100644 --- a/pkgs/development/libraries/xylib/default.nix +++ b/pkgs/development/libraries/xylib/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { buildInputs = [boost zlib bzip2 ]; meta = { - description = "xylib is a portable library for reading files that contain x-y data from powder diffraction, spectroscopy and other experimental methods."; + description = "Portable library for reading files that contain x-y data from powder diffraction, spectroscopy and other experimental methods"; license = "LGPL"; homepage = http://xylib.sourceforge.net/; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix index 3ef43baca5edfc0332744c14df08d0a383b9736f..d0de624890b5774c9aca9164ae4e11a17bc8787b 100644 --- a/pkgs/development/libraries/zeitgeist/default.nix +++ b/pkgs/development/libraries/zeitgeist/default.nix @@ -3,10 +3,11 @@ , gtk3, json_glib, librdf_raptor2, pythonPackages, dbus_glib }: stdenv.mkDerivation rec { - name = "zeitgeist-0.0.14"; + version = "0.9.15"; + name = "zeitgeist-${version}"; src = fetchurl { - url = "https://github.com/seiflotfy/zeitgeist/archive/v0.9.15.tar.gz"; + url = "https://github.com/seiflotfy/zeitgeist/archive/v${version}.tar.gz"; sha256 = "07pnc7kmjpd0ncm32z6s3ny5p4zl52v9lld0n0f8sp6cw87k12p0"; }; diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix index 97e1661544baa1599aa48f7085a8aa66979ec18b..100577b3a7ff2c12cfe080e84a0013408a77916e 100644 --- a/pkgs/development/lisp-modules/asdf/default.nix +++ b/pkgs/development/lisp-modules/asdf/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="asdf"; - version="3.1.2"; + version="3.1.3"; name="${baseName}-${version}"; - hash="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki"; - url="http://common-lisp.net/project/asdf/archives/asdf-3.1.2.tar.gz"; - sha256="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki"; + hash="11jgbl2ys98i7lir0z76g0msm89zmz1b91gwkdz0gnxr6gavj6cn"; + url="http://common-lisp.net/project/asdf/archives/asdf-3.1.3.tar.gz"; + sha256="11jgbl2ys98i7lir0z76g0msm89zmz1b91gwkdz0gnxr6gavj6cn"; }; buildInputs = [ texinfo texLive @@ -29,7 +29,6 @@ stdenv.mkDerivation { cp -r ./* "$out"/lib/common-lisp/asdf/ cp -r doc/* "$out"/share/doc/asdf/ ''; - sourceRoot="."; meta = { inherit (s) version; description = ''Standard software-system definition library for Common Lisp''; diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index bc022bd70b4ba38897bcb277e23d4ec980fdf869..422c1516f2d04b5f2b6c18b1b075d5c597b79cd2 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -52,6 +52,12 @@ rec { alsaLib_32bit = pkgs_i686.alsaLib; }; + androidsdk_2_1 = androidsdk { + platformVersions = [ "7" ]; + abiVersions = [ "armeabi-v7a" ]; + useGoogleAPIs = true; + }; + androidsdk_2_2 = androidsdk { platformVersions = [ "8" ]; abiVersions = [ "armeabi-v7a" ]; @@ -82,6 +88,12 @@ rec { useGoogleAPIs = true; }; + androidsdk_4_4 = androidsdk { + platformVersions = [ "19" ]; + abiVersions = [ "armeabi-v7a" "x86" ]; + useGoogleAPIs = true; + }; + androidndk = import ./androidndk.nix { inherit (pkgs) stdenv fetchurl zlib ncurses; }; diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3a00f0c3888c1cafdb427a863ad796d2d2dc755d --- /dev/null +++ b/pkgs/development/ocaml-modules/cmdliner/default.nix @@ -0,0 +1,36 @@ +{stdenv, fetchurl, ocaml, findlib, opam}: + +let + pname = "cmdliner"; + version = "0.9.5"; + ocaml_version = (builtins.parseDrvName ocaml.name).version; +in +stdenv.mkDerivation { + + name = "ocaml-${pname}-${version}"; + + src = fetchurl { + url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz"; + sha256 = "a0e199c4930450e12edf81604eeceddeeb32d55c43438be689e60df282277a7e"; + }; + + unpackCmd = "tar xjf $src"; + buildInputs = [ ocaml findlib opam ]; + + createFindlibDestdir = true; + + configurePhase = "ocaml pkg/git.ml"; + buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"; + installPhase = '' + opam-installer --script --prefix=$out ${pname}.install > install.sh + sh install.sh + ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/ + ''; + + meta = with stdenv.lib; { + homepage = http://erratique.ch/software/cmdliner; + description = "An OCaml module for the declarative definition of command line interfaces"; + license = licenses.bsd3; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/csv/default.nix b/pkgs/development/ocaml-modules/csv/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..7178452e3dda484ce36e2d1772f2d1da877be72e --- /dev/null +++ b/pkgs/development/ocaml-modules/csv/default.nix @@ -0,0 +1,27 @@ +{stdenv, fetchurl, ocaml, findlib}: +stdenv.mkDerivation { + + name = "ocaml-csv-1.3.3"; + + src = fetchurl { + url = "https://forge.ocamlcore.org/frs/download.php/1376/csv-1.3.3.tar.gz"; + sha256 = "19qsvw3n7k4xpy0sw7n5s29kzj91myihjljhr5js6xcxwj4cydh2"; + }; + + buildInputs = [ ocaml findlib ]; + + createFindlibDestdir = true; + + configurePhase = "ocaml setup.ml -configure --prefix $out"; + + buildPhase = "ocaml setup.ml -build"; + + installPhase = "ocaml setup.ml -install"; + + meta = { + description = "A pure OCaml library to read and write CSV files"; + homepage = "https://forge.ocamlcore.org/projects/csv/"; + license = stdenv.lib.licenses.lgpl21; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix index 8b977dd7c525cba136f18b7f1637f80abfdfa0ba..7bc7e398948868608ad75efec63e2eb935f1048a 100644 --- a/pkgs/development/ocaml-modules/extlib/default.nix +++ b/pkgs/development/ocaml-modules/extlib/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ocaml, findlib}: +{stdenv, fetchurl, ocaml, findlib, minimal ? true}: stdenv.mkDerivation { name = "ocaml-extlib-1.6.1"; @@ -14,8 +14,8 @@ stdenv.mkDerivation { configurePhase = "true"; # Skip configure # De facto, option minimal=1 seems to be the default. See the README. - buildPhase = "make minimal=1 build"; - installPhase = "make minimal=1 install"; + buildPhase = "make ${if minimal then "minimal=1" else ""} build"; + installPhase = "make ${if minimal then "minimal=1" else ""} install"; meta = { homepage = http://code.google.com/p/ocaml-extlib/; diff --git a/pkgs/development/ocaml-modules/javalib/Makefile.config.example.patch b/pkgs/development/ocaml-modules/javalib/Makefile.config.example.patch new file mode 100644 index 0000000000000000000000000000000000000000..c06144a75c062917945300fce76ecabb4fa41059 --- /dev/null +++ b/pkgs/development/ocaml-modules/javalib/Makefile.config.example.patch @@ -0,0 +1,9 @@ +--- javalib-2.3-orig/Makefile.config.example 2013-10-30 08:35:30.000000000 +0100 ++++ javalib-2.3/Makefile.config.example 2014-07-06 17:32:29.799398394 +0200 +@@ -1,6 +1,3 @@ +-export OCAMLFIND_DESTDIR=$(LOCALDEST) +-export OCAMLPATH=$(LOCALDEST) +- + OCAMLC = $(FINDER) ocamlc $(FLAGS) + OCAMLOPT = $(FINDER) ocamlopt $(OPT_FLAGS) + OCAMLDOC = $(FINDER) ocamldoc diff --git a/pkgs/development/ocaml-modules/javalib/configure.sh.patch b/pkgs/development/ocaml-modules/javalib/configure.sh.patch new file mode 100644 index 0000000000000000000000000000000000000000..67e019b277afd86614fb005ea834d92f551e6ade --- /dev/null +++ b/pkgs/development/ocaml-modules/javalib/configure.sh.patch @@ -0,0 +1,11 @@ +--- javalib-2.3-orig/configure.sh 2013-10-30 08:35:30.000000000 +0100 ++++ javalib-2.3/configure.sh 2014-07-06 17:28:39.025066199 +0200 +@@ -44,7 +44,7 @@ + DESTDIR= + # The ocamlpath variable for the compiler to locate the locally-installed + # packages (depends on LOCALDEST) +-OCAMLPATH= ++#OCAMLPATH= + # The packages that need to be made in addition to Savalib / Sawja + MAKEDEP= + # The packages that need to be made in addition to Savalib / Sawja diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2fa72dcf07f14a90020de296c07dad03dbce1313 --- /dev/null +++ b/pkgs/development/ocaml-modules/javalib/default.nix @@ -0,0 +1,40 @@ +{stdenv, fetchurl, which, ocaml, findlib, camlzip, extlib}: +let + pname = "javalib"; + version = "2.3"; + webpage = "http://sawja.inria.fr/"; + ocaml_version = (builtins.parseDrvName ocaml.name).version; +in +stdenv.mkDerivation rec { + + name = "ocaml-${pname}-${version}"; + + src = fetchurl { + url = "https://gforge.inria.fr/frs/download.php/33090/${pname}-${version}.tar.bz2"; + sha256 = "1i8djcanzm250mwilm3jfy37cz0k0x7jbnrz8a5vvdi91kyzh52j"; + }; + + buildInputs = [ which ocaml findlib camlzip extlib ]; + + patches = [ ./configure.sh.patch ./Makefile.config.example.patch ]; + + createFindlibDestdir = true; + + configureScript = "./configure.sh"; + dontAddPrefix = "true"; + + preBuild = '' + make ptrees; + make installptrees; + export OCAMLPATH=$out/lib/ocaml/${ocaml_version}/site-lib/:$OCAMLPATH; + ''; + + propagatedBuildInputs = [ camlzip extlib ]; + + meta = { + description = "A library that parses Java .class files into OCaml data structures"; + homepage = "${webpage}"; + license = stdenv.lib.licenses.lgpl3; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..b6edadb0b14bc67ad5c4678b9d1a212aae694dac --- /dev/null +++ b/pkgs/development/ocaml-modules/lambda-term/default.nix @@ -0,0 +1,41 @@ +{stdenv, fetchurl, libev, ocaml, findlib, ocaml_lwt, ocaml_react, zed}: + +stdenv.mkDerivation rec { + version = "1.6"; + name = "lambda-term-${version}"; + + src = fetchurl { + url = https://github.com/diml/lambda-term/archive/1.6.tar.gz; + sha256 = "1rhfixdgpylxznf6sa9wr31wb4pjzpfn5mxhxqpbchmpl2afwa09"; + }; + + buildInputs = [ libev ocaml findlib ocaml_lwt ocaml_react ]; + + propagatedBuildInputs = [ zed ]; + + createFindlibDestdir = true; + + meta = { description = "Terminal manipulation library for OCaml"; + longDescription = '' + Lambda-term is a cross-platform library for + manipulating the terminal. It provides an abstraction for keys, + mouse events, colors, as well as a set of widgets to write + curses-like applications. + + The main objective of lambda-term is to provide a higher level + functional interface to terminal manipulation than, for example, + ncurses, by providing a native OCaml interface instead of bindings to + a C library. + + Lambda-term integrates with zed to provide text edition facilities in + console applications. + ''; + + homepage = https://github.com/diml/lambda-term; + license = stdenv.lib.licenses.bsd3; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; +} diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix index 9ef109063655f87ac5bc24e7a4de97f0a439a9a4..061dbb398fe262f931752a6aa0581f2078f42d07 100644 --- a/pkgs/development/ocaml-modules/lwt/default.nix +++ b/pkgs/development/ocaml-modules/lwt/default.nix @@ -1,21 +1,27 @@ -{stdenv, fetchurl, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl}: +{stdenv, fetchgit, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl, libev, pkgconfig, ncurses, ocaml_oasis, ocaml_text, glib}: let - ocaml_version = (builtins.parseDrvName ocaml.name).version; - version = "2.1.1"; + version = "2.4.5"; in stdenv.mkDerivation { + + name = "ocaml-lwt-${version}"; - src = fetchurl { - url = "http://ocsigen.org/download/lwt-${version}.tar.gz"; - sha256 = "1zjn0sgihryshancn4kna1xslhc8gifliny1qd3a85f72xxxnw0w"; + src = fetchgit { + url = git://github.com/ocsigen/lwt; + rev = "refs/tags/${version}"; + sha256 = "2bbf4f216dd62eeb765a89413f3b2b6d417a9c289ca49d595bb4d7a0545e343e"; }; - buildInputs = [which cryptopp ocaml findlib ocaml_react ocaml_ssl]; + buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib glib libev ncurses]; + + propagatedBuildInputs = [ ocaml_react ocaml_ssl ocaml_text ]; + + configureFlags = [ "--enable-all" ]; - configurePhase = "true"; + createFindlibDestdir = true; meta = { homepage = http://ocsigen.org/lwt; @@ -23,7 +29,7 @@ stdenv.mkDerivation { license = "LGPL"; platforms = ocaml.meta.platforms; maintainers = [ - stdenv.lib.maintainers.z77z + stdenv.lib.maintainers.z77z stdenv.lib.maintainers.gal_bolle ]; }; } diff --git a/pkgs/development/ocaml-modules/ocaml-text/default.nix b/pkgs/development/ocaml-modules/ocaml-text/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..08136dd2b10084ca81a0ec5f79cc2071be72fe4e --- /dev/null +++ b/pkgs/development/ocaml-modules/ocaml-text/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl, libiconv, ocaml, findlib, ncurses}: + +stdenv.mkDerivation { + name = "ocaml-text-0.6"; + + src = fetchurl { + url = https://forge.ocamlcore.org/frs/download.php/937/ocaml-text-0.6.tar.gz; + sha256 = "0j8gaak0ajnlmn8knvfygqwwzs7awjv5rfn5cbj6qxqbxhjd5m6g"; + }; + + buildInputs = [ocaml findlib libiconv ncurses]; + + configurePhase = "iconv_prefix=${libiconv} ocaml setup.ml -configure"; + + createFindlibDestdir = true; + + + meta = { + homepage = "http://ocaml-text.forge.ocamlcore.org/"; + description = "OCaml-Text is a library for dealing with ``text'', i.e. sequence of unicode characters, in a convenient way. "; + license = "BSD"; + platforms = ocaml.meta.platforms; + maintainers = [ + ]; + }; +} diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix index 6b0e694d54a0ba85047dfd398a4f924a2651d757..dfc8dcd1439ce83a85574a8356540c969e933c3a 100644 --- a/pkgs/development/ocaml-modules/react/default.nix +++ b/pkgs/development/ocaml-modules/react/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, ocaml, findlib, opam}: stdenv.mkDerivation { - name = "ocaml-react-1.0.1"; + name = "ocaml-react-1.1.0"; src = fetchurl { - url = "http://erratique.ch/software/react/releases/react-1.0.1.tbz"; - sha256 = "007c9kzl0i6xvxnqj9jny4hgm28v9a1i079q53vl5hfb5f7h1mda"; + url = http://erratique.ch/software/react/releases/react-1.1.0.tbz; + sha256 = "1gymn8hy7ga0l9qymmb1jcnnkqvy7l2zr87xavzqz0dfi9ci8dm7"; }; unpackCmd = "tar xjf $src"; @@ -15,8 +15,13 @@ stdenv.mkDerivation { configurePhase = "ocaml pkg/git.ml"; buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"; - installPhase = '' + + installPhase = + let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version; + in + '' opam-installer --script --prefix=$out react.install > install.sh + sed -i s!lib/react!lib/ocaml/${ocamlVersion}/site-lib/react! install.sh sh install.sh ''; @@ -25,6 +30,6 @@ stdenv.mkDerivation { description = "Applicative events and signals for OCaml"; license = licenses.bsd3; platforms = ocaml.meta.platforms; - maintainers = with maintainers; [ z77z vbmithr ]; + maintainers = with maintainers; [ z77z vbmithr gal_bolle]; }; } diff --git a/pkgs/development/ocaml-modules/sawja/Makefile.config.example.patch b/pkgs/development/ocaml-modules/sawja/Makefile.config.example.patch new file mode 100644 index 0000000000000000000000000000000000000000..4f2cc99e76b2d2faa9f8cc12c2d1ce4bcee7726c --- /dev/null +++ b/pkgs/development/ocaml-modules/sawja/Makefile.config.example.patch @@ -0,0 +1,9 @@ +--- sawja-1.5-orig/Makefile.config.example 2013-10-30 08:35:29.000000000 +0100 ++++ sawja-1.5/Makefile.config.example 2014-07-05 18:54:37.902423482 +0200 +@@ -1,6 +1,3 @@ +-export OCAMLFIND_DESTDIR=$(LOCALDEST) +-export OCAMLPATH=$(LOCALDEST) +- + RECODE=-charset utf-8 + DOCDIR = doc/api + diff --git a/pkgs/development/ocaml-modules/sawja/configure.sh.patch b/pkgs/development/ocaml-modules/sawja/configure.sh.patch new file mode 100644 index 0000000000000000000000000000000000000000..8165de242f57ed27a2d039a58bd12da7f3677d12 --- /dev/null +++ b/pkgs/development/ocaml-modules/sawja/configure.sh.patch @@ -0,0 +1,11 @@ +--- sawja-1.5-orig/configure.sh 2013-10-30 08:35:29.000000000 +0100 ++++ sawja-1.5/configure.sh 2014-07-05 18:50:26.833798254 +0200 +@@ -39,7 +39,7 @@ + DESTDIR= + # The ocamlpath variable for the compiler to locate the locally-installed + # packages (depends on LOCALDEST) +-OCAMLPATH= ++#OCAMLPATH= + # The path to ocamlfind + FINDER=`which ocamlfind` + # The perl executable diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..bed87a50f81de34f449020e7dad89fea2432fbc2 --- /dev/null +++ b/pkgs/development/ocaml-modules/sawja/default.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl, which, perl, ocaml, findlib, javalib }: +let + pname = "sawja"; + version = "1.5"; + webpage = "http://sawja.inria.fr/"; +in +stdenv.mkDerivation rec { + + name = "ocaml-${pname}-${version}"; + + src = fetchurl { + url = "https://gforge.inria.fr/frs/download.php/33091/${pname}-${version}.tar.bz2"; + sha256 = "0i8qgqkw9vgj6k2g6npss268ivxdkzx5qj2a52jbd8ih59rn68cm"; + }; + + buildInputs = [ which perl ocaml findlib javalib ]; + + patches = [ ./configure.sh.patch ./Makefile.config.example.patch ]; + + createFindlibDestdir = true; + + configureScript = "./configure.sh"; + dontAddPrefix = "true"; + + propagatedBuildInputs = [ javalib ]; + + meta = { + description = "A library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs"; + homepage = "${webpage}"; + license = stdenv.lib.licenses.gpl3Plus; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/uucd/default.nix b/pkgs/development/ocaml-modules/uucd/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..1d0f5c6cd5047fd3a3a839e9512a418fe4487742 --- /dev/null +++ b/pkgs/development/ocaml-modules/uucd/default.nix @@ -0,0 +1,39 @@ +{stdenv, fetchurl, ocaml, findlib, opam, xmlm}: +let + pname = "uucd"; + version = "2.0.0"; + webpage = "http://erratique.ch/software/${pname}"; + ocaml_version = (builtins.parseDrvName ocaml.name).version; +in +stdenv.mkDerivation rec { + + name = "ocaml-${pname}-${version}"; + + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + sha256 = "12lbrrdjwdxfa99pbg344dfkj51lr5d2ispcj7d7lwsqyxy6h57i"; + }; + + buildInputs = [ ocaml findlib opam xmlm ]; + + createFindlibDestdir = true; + + unpackCmd = "tar xjf $src"; + + buildPhase = "ocaml ./pkg/build.ml native=true native-dynlink=true"; + + installPhase = '' + opam-installer --script --prefix=$out ${pname}.install > install.sh + sh install.sh + ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/ + ''; + + propagatedBuildInputs = [ xmlm ]; + + meta = { + description = "An OCaml module to decode the data of the Unicode character database from its XML representation"; + homepage = "${webpage}"; + platforms = ocaml.meta.platforms; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..c807bbd44637512620b28f07bdf3282d6080c23e --- /dev/null +++ b/pkgs/development/ocaml-modules/uunf/default.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, ocaml, findlib, opam}: +let + pname = "uunf"; + version = "0.9.3"; + webpage = "http://erratique.ch/software/${pname}"; + ocaml_version = (builtins.parseDrvName ocaml.name).version; +in +stdenv.mkDerivation rec { + + name = "ocaml-${pname}-${version}"; + + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + sha256 = "16cgjy1m0m61srv1pmlc3gr0y40kd4724clvpagdnz68raz4zmn0"; + }; + + buildInputs = [ ocaml findlib opam ]; + + createFindlibDestdir = true; + + unpackCmd = "tar xjf $src"; + + buildPhase = "./pkg/build true false"; + + installPhase = '' + opam-installer --script --prefix=$out ${pname}.install > install.sh + sh install.sh + ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/ + ''; + + meta = { + description = "An OCaml module for normalizing Unicode text"; + homepage = "${webpage}"; + platforms = ocaml.meta.platforms; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..862236c169bc36cd89c3a2c5f081ddc3000d8be1 --- /dev/null +++ b/pkgs/development/ocaml-modules/uutf/default.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, ocaml, findlib, opam}: +let + pname = "uutf"; + version = "0.9.3"; + webpage = "http://erratique.ch/software/${pname}"; + ocaml_version = (builtins.parseDrvName ocaml.name).version; +in +stdenv.mkDerivation rec { + + name = "ocaml-${pname}-${version}"; + + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + sha256 = "0xvq20knmq25902ijpbk91ax92bkymsqkbfklj1537hpn64lydhz"; + }; + + buildInputs = [ ocaml findlib opam ]; + + createFindlibDestdir = true; + + unpackCmd = "tar xjf $src"; + + buildPhase = "./pkg/build true"; + + installPhase = '' + opam-installer --script --prefix=$out ${pname}.install > install.sh + sh install.sh + ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/ + ''; + + meta = { + description = "Non-blocking streaming Unicode codec for OCaml"; + homepage = "${webpage}"; + platforms = ocaml.meta.platforms; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..bd19ab716f66bdacbeb45fa6576dbaf05dbb3667 --- /dev/null +++ b/pkgs/development/ocaml-modules/xmlm/default.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, ocaml, findlib, opam}: +let + pname = "xmlm"; + version = "1.2.0"; + webpage = "http://erratique.ch/software/${pname}"; + ocaml_version = (builtins.parseDrvName ocaml.name).version; +in +stdenv.mkDerivation rec { + + name = "ocaml-${pname}-${version}"; + + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + sha256 = "1jywcrwn5z3gkgvicr004cxmdaqfmq8wh72f81jqz56iyn5024nh"; + }; + + buildInputs = [ ocaml findlib opam ]; + + createFindlibDestdir = true; + + unpackCmd = "tar xjf $src"; + + buildPhase = "./pkg/build true"; + + installPhase = '' + opam-installer --script --prefix=$out ${pname}.install > install.sh + sh install.sh + ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/ + ''; + + meta = { + description = "An OCaml streaming codec to decode and encode the XML data format"; + homepage = "${webpage}"; + platforms = ocaml.meta.platforms; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix index 9237db080d679a51e58beafe6c27d2ff6d455213..562d25550dae829de22967ab4e33e51334bb997c 100644 --- a/pkgs/development/ocaml-modules/yojson/default.nix +++ b/pkgs/development/ocaml-modules/yojson/default.nix @@ -4,16 +4,18 @@ let version = "1.1.8"; webpage = "http://mjambon.com/${pname}.html"; in -stdenv.mkDerivation rec { +stdenv.mkDerivation { - name = "${pname}-${version}"; + name = "ocaml-${pname}-${version}"; src = fetchurl { - url = "http://mjambon.com/releases/${pname}/${name}.tar.gz"; + url = "http://mjambon.com/releases/${pname}/${pname}-${version}.tar.gz"; sha256 = "0ayx17dimnpavdfyq6dk9xv2x1fx69by85vc6vl3nqxjkcv5d2rv"; }; - buildInputs = [ ocaml findlib cppo easy-format biniou ]; + buildInputs = [ ocaml findlib ]; + + propagatedBuildInputs = [ cppo easy-format biniou ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3c2fae472bec863b8072e24f5e2699a6939fe04b --- /dev/null +++ b/pkgs/development/ocaml-modules/zed/default.nix @@ -0,0 +1,34 @@ +{stdenv, fetchurl, ocaml, findlib, camomile, ocaml_react}: + +stdenv.mkDerivation rec { + version = "1.3"; + name = "ocaml-zed-${version}"; + + src = fetchurl { + url = https://github.com/diml/zed/archive/1.3.tar.gz; + sha256 = "1fr9xzf5msdnl2wx279aqj051nqbhs6v9aq1mfpv3r1mrqvrrfwj"; + }; + + buildInputs = [ ocaml findlib ocaml_react]; + + propagatedBuildInputs = [ camomile ]; + + createFindlibDestdir = true; + + meta = { + description = "Abstract engine for text edition in OCaml"; + longDescription = '' + Zed is an abstract engine for text edition. It can be used to write text editors, edition widgets, readlines, ... + + Zed uses Camomile to fully support the Unicode specification, and implements an UTF-8 encoded string type with validation, and a rope datastructure to achieve efficient operations on large Unicode buffers. Zed also features a regular expression search on ropes. + + To support efficient text edition capabilities, Zed provides macro recording and cursor management facilities. + ''; + homepage = https://github.com/diml/zed; + license = stdenv.lib.licenses.bsd3; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; +} diff --git a/pkgs/development/python-modules/btrees_interger_overflow.patch b/pkgs/development/python-modules/btrees_interger_overflow.patch new file mode 100644 index 0000000000000000000000000000000000000000..a05c7bd6b3cb528a929bb1b0fb7a02d6ef3b0965 --- /dev/null +++ b/pkgs/development/python-modules/btrees_interger_overflow.patch @@ -0,0 +1,146 @@ +From be19c1f32e4d430092c029f17984f0087a2b2087 Mon Sep 17 00:00:00 2001 +From: Jim Fulton +Date: Mon, 19 May 2014 19:52:43 -0400 +Subject: [PATCH 1/2] Fixed: integer overflow on 32-bit machines wasn't + detected correctly under Python 3. + +--- + BTrees/intkeymacros.h | 7 ++++--- + BTrees/intvaluemacros.h | 3 ++- + BTrees/tests/testBTrees.py | 11 +++++++++-- + BTrees/tests/test_IIBTree.py | 2 ++ + CHANGES.rst | 2 ++ + 5 files changed, 19 insertions(+), 6 deletions(-) + +diff --git a/BTrees/intkeymacros.h b/BTrees/intkeymacros.h +index d439aa0..f9244b5 100644 +--- a/BTrees/intkeymacros.h ++++ b/BTrees/intkeymacros.h +@@ -19,9 +19,10 @@ + #define KEY_CHECK INT_CHECK + #define COPY_KEY_TO_OBJECT(O, K) O=INT_FROM_LONG(K) + #define COPY_KEY_FROM_ARG(TARGET, ARG, STATUS) \ +- if (INT_CHECK(ARG)) { \ +- long vcopy = INT_AS_LONG(ARG); \ +- if ((int)vcopy != vcopy) { \ ++ if (INT_CHECK(ARG)) { \ ++ long vcopy = INT_AS_LONG(ARG); \ ++ if (PyErr_Occurred()) { (STATUS)=0; (TARGET)=0; } \ ++ else if ((int)vcopy != vcopy) { \ + PyErr_SetString(PyExc_TypeError, "integer out of range"); \ + (STATUS)=0; (TARGET)=0; \ + } \ +diff --git a/BTrees/intvaluemacros.h b/BTrees/intvaluemacros.h +index b77a5c9..3072eea 100644 +--- a/BTrees/intvaluemacros.h ++++ b/BTrees/intvaluemacros.h +@@ -23,7 +23,8 @@ + #define COPY_VALUE_FROM_ARG(TARGET, ARG, STATUS) \ + if (INT_CHECK(ARG)) { \ + long vcopy = INT_AS_LONG(ARG); \ +- if ((int)vcopy != vcopy) { \ ++ if (PyErr_Occurred()) { (STATUS)=0; (TARGET)=0; } \ ++ else if ((int)vcopy != vcopy) { \ + PyErr_SetString(PyExc_TypeError, "integer out of range"); \ + (STATUS)=0; (TARGET)=0; \ + } \ +diff --git a/BTrees/tests/testBTrees.py b/BTrees/tests/testBTrees.py +index 50f5b43..31d641d 100644 +--- a/BTrees/tests/testBTrees.py ++++ b/BTrees/tests/testBTrees.py +@@ -11,8 +11,11 @@ + # FOR A PARTICULAR PURPOSE + # + ############################################################################## ++import sys + import unittest + ++python3 = sys.version_info >= (3, ) ++ + from BTrees.tests.common import permutations + + +@@ -451,8 +454,12 @@ def test32(self): + # the characteristics change to match the 64 bit version, please + # feel free to change. + big = BTrees.family32.maxint + 1 +- self.assertRaises(TypeError, s.insert, big) +- self.assertRaises(TypeError, s.insert, BTrees.family32.minint - 1) ++ if python3: ++ expected_exception = OverflowError ++ else: ++ expected_exception = TypeError ++ self.assertRaises(expected_exception, s.insert, ++ BTrees.family32.minint - 1) + self.check_pickling(BTrees.family32) + + def test64(self): +diff --git a/BTrees/tests/test_IIBTree.py b/BTrees/tests/test_IIBTree.py +index 72e95b2..fe776b8 100644 +--- a/BTrees/tests/test_IIBTree.py ++++ b/BTrees/tests/test_IIBTree.py +@@ -113,6 +113,8 @@ def trial(i): + i = int(i) + try: + b[i] = 0 ++ except OverflowError: ++ self.assertRaises(OverflowError, b.__setitem__, 0, i) + except TypeError: + self.assertRaises(TypeError, b.__setitem__, 0, i) + else: +diff --git a/CHANGES.rst b/CHANGES.rst +index 4696be3..e3869ff 100644 +--- a/CHANGES.rst ++++ b/CHANGES.rst +@@ -1,6 +1,8 @@ + ``BTrees`` Changelog + ==================== + ++- Fixed: integer overflow on 32-bit machines wasn't detected correctly ++ under Python 3. + + 4.0.9 (unreleased) + ------------------ +-- +2.0.4 + + +From 11a51d2a12bb9904e96349ff86e78e24a0ebe51a Mon Sep 17 00:00:00 2001 +From: Jim Fulton +Date: Wed, 21 May 2014 07:33:06 -0400 +Subject: [PATCH 2/2] added back test mistakedly removed. + +We have to check both TypeError and OverflowError. On Python3 32-bit, +we'll get an OverflowError, otherwise, we get type error. +--- + BTrees/tests/testBTrees.py | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/BTrees/tests/testBTrees.py b/BTrees/tests/testBTrees.py +index 31d641d..d9be43a 100644 +--- a/BTrees/tests/testBTrees.py ++++ b/BTrees/tests/testBTrees.py +@@ -453,13 +453,13 @@ def test32(self): + # this next bit illustrates an, um, "interesting feature". If + # the characteristics change to match the 64 bit version, please + # feel free to change. +- big = BTrees.family32.maxint + 1 +- if python3: +- expected_exception = OverflowError +- else: +- expected_exception = TypeError +- self.assertRaises(expected_exception, s.insert, +- BTrees.family32.minint - 1) ++ try: s.insert(BTrees.family32.maxint + 1) ++ except (TypeError, OverflowError): pass ++ else: self.assert_(False) ++ ++ try: s.insert(BTrees.family32.minint - 1) ++ except (TypeError, OverflowError): pass ++ else: self.assert_(False) + self.check_pickling(BTrees.family32) + + def test64(self): +-- +2.0.4 + diff --git a/pkgs/development/python-modules/ecdsa/default.nix b/pkgs/development/python-modules/ecdsa/default.nix index f668f3c6ac3bb22bc98b0dac87870a44c78d4b71..a07eceb45aad019fd00f26649cee1e13e6dae3ea 100644 --- a/pkgs/development/python-modules/ecdsa/default.nix +++ b/pkgs/development/python-modules/ecdsa/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { meta = { homepage = "http://github.com/warner/python-ecdsa"; - description = "pure-python ECDSA signature/verification"; + description = "Pure-python ECDSA signature/verification"; license = stdenv.lib.licenses.mit; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index 75fb974e7355e3efcc2b87629779ef4918b47e7a..4c9c53aab83424487a66f299b33536d6b876b978 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -34,7 +34,10 @@ # The difference is that `pythonPath' is not propagated to the user # environment. This is preferrable for programs because it doesn't # pollute the user environment. -, pythonPath ? [] +, pythonPath ? [] + +# used to disable derivation, useful for specific python versions +, disabled ? false , meta ? {} @@ -46,8 +49,9 @@ , ... } @ attrs: + # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. -python.stdenv.mkDerivation (attrs // { +if disabled then throw "${name} not supported for interpreter ${python.executable}" else python.stdenv.mkDerivation (attrs // { inherit doCheck; name = namePrefix + name; diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh index 857f002cace96610e0eb3068e7ffac1281234524..282aeca9ed1c998bec0631abc43fbe37f40db873 100644 --- a/pkgs/development/python-modules/generic/wrap.sh +++ b/pkgs/development/python-modules/generic/wrap.sh @@ -26,12 +26,6 @@ wrapPythonProgramsIn() { # dont wrap EGG-INFO scripts since they are called from python if echo "$i" | grep -v EGG-INFO/scripts; then echo "wrapping \`$i'..." - sed -i "$i" -re '1 { - /^#!/!b; :r - /\\$/{N;b r} - /__future__|^ *(#.*)?$/{n;b r} - /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$i")'"' - }' wrapProgram "$i" \ --prefix PYTHONPATH ":" $program_PYTHONPATH \ --prefix PATH ":" $program_PATH diff --git a/pkgs/development/python-modules/numeric/default.nix b/pkgs/development/python-modules/numeric/default.nix index e97b2a5f1a406acd3ae6023fbdd0bab0ff4091cd..0d6d5b0ffed67c000e3a378fe479bb05335ea9f8 100644 --- a/pkgs/development/python-modules/numeric/default.nix +++ b/pkgs/development/python-modules/numeric/default.nix @@ -23,7 +23,7 @@ let version = "24.2"; in # FIXME: Run the tests. meta = { - description = "Numeric, a Python module for high-performance, numeric computing"; + description = "A Python module for high-performance, numeric computing"; longDescription = '' Numeric is a Python module for high-performance, numeric @@ -37,4 +37,4 @@ let version = "24.2"; in homepage = http://people.csail.mit.edu/jrennie/python/numeric/; }; - } \ No newline at end of file + } diff --git a/pkgs/development/python-modules/pil/default.nix b/pkgs/development/python-modules/pil/default.nix deleted file mode 100644 index 35a1e913bf7bce7bcc29cf2b72c5e742a4ebdb1b..0000000000000000000000000000000000000000 --- a/pkgs/development/python-modules/pil/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ fetchurl, stdenv, python, buildPythonPackage, libjpeg, zlib, freetype }: - -let version = "1.1.7"; in - -buildPythonPackage { - name = "imaging-${version}"; - - src = fetchurl { - url = "http://effbot.org/downloads/Imaging-${version}.tar.gz"; - sha256 = "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9"; - }; - - buildInputs = [ python libjpeg zlib freetype ]; - - doCheck = true; - - preConfigure = '' - sed -i "setup.py" \ - -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = libinclude("${freetype}")|g ; - s|^JPEG_ROOT =.*$|JPEG_ROOT = libinclude("${libjpeg}")|g ; - s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${zlib}")|g ;' - ''; - - checkPhase = "python selftest.py"; - buildPhase = "python setup.py build_ext -i"; - - postInstall = '' - cd "$out"/lib/python*/site-packages - ln -s $PWD PIL - ''; - - meta = { - homepage = http://www.pythonware.com/products/pil/; - description = "The Python Imaging Library (PIL)"; - - longDescription = '' - The Python Imaging Library (PIL) adds image processing - capabilities to your Python interpreter. This library - supports many file formats, and provides powerful image - processing and graphics capabilities. - ''; - - license = "http://www.pythonware.com/products/pil/license.htm"; - }; -} diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix index c8f0f74c1ff11376c28a3e0a8bac58c9f83f9d51..59bd9affef67ccbc6dff82d7c531edaf1f88ccfd 100644 --- a/pkgs/development/python-modules/pycrypto/default.nix +++ b/pkgs/development/python-modules/pycrypto/default.nix @@ -9,10 +9,9 @@ buildPythonPackage rec { sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj"; }; - buildInputs = [ gmp ]; - - doCheck = !stdenv.isDarwin; # error: AF_UNIX path too long + buildInputs = stdenv.lib.optional (!python.isPypy or false) gmp; # optional for pypy + doCheck = !(python.isPypy or stdenv.isDarwin); # error: AF_UNIX path too long meta = { homepage = "http://www.pycrypto.org/"; diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix index 7d3804d264a6b4476d8db8ec68e2d2c70f87f4b1..60aa65323d74244d46591e2c9d31bfc6abccb23d 100644 --- a/pkgs/development/python-modules/pygtk/default.nix +++ b/pkgs/development/python-modules/pygtk/default.nix @@ -1,8 +1,10 @@ { stdenv, fetchurl, python, pkgconfig, gtk, pygobject, pycairo -, buildPythonPackage, libglade ? null }: +, buildPythonPackage, libglade ? null, isPy3k }: buildPythonPackage rec { name = "pygtk-2.24.0"; + + disabled = isPy3k; src = fetchurl { url = "mirror://gnome/sources/pygtk/2.24/${name}.tar.bz2"; diff --git a/pkgs/development/python-modules/pyuv-external-libuv.patch b/pkgs/development/python-modules/pyuv-external-libuv.patch new file mode 100644 index 0000000000000000000000000000000000000000..33539d9b4b2c8b375a07eff98c09602d2371f1d6 --- /dev/null +++ b/pkgs/development/python-modules/pyuv-external-libuv.patch @@ -0,0 +1,27 @@ +diff --git a/setup.py b/setup.py +index ec0caac..2c1fdb6 100644 +--- a/setup.py ++++ b/setup.py +@@ -6,7 +6,6 @@ try: + from setuptools import setup, Extension + except ImportError: + from distutils.core import setup, Extension +-from setup_libuv import libuv_build_ext, libuv_sdist + + + __version__ = "0.11.5" +@@ -32,12 +31,11 @@ setup(name = "pyuv", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4" + ], +- cmdclass = {'build_ext': libuv_build_ext, +- 'sdist' : libuv_sdist}, + ext_modules = [Extension('pyuv', + sources = ['src/pyuv.c'], ++ libraries = ['uv'], + define_macros=[('MODULE_VERSION', __version__), +- ('LIBUV_REVISION', libuv_build_ext.libuv_revision)] ++ ('LIBUV_REVISION', 'unknown')] + )] + ) + diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix index 1dfaa5cf875bab04fedb50fb95acb78999069495..56797d9c7028d6051e6f101b37159f5806e4489a 100644 --- a/pkgs/development/tools/analysis/checkstyle/default.nix +++ b/pkgs/development/tools/analysis/checkstyle/default.nix @@ -1,12 +1,12 @@ -{stdenv, fetchurl, unzip}: +{ stdenv, fetchurl }: -stdenv.mkDerivation { - name = "checkstyle-5.0"; - buildInputs = [unzip] ; +stdenv.mkDerivation rec { + version = "5.7"; + name = "checkstyle-${version}"; src = fetchurl { - url = mirror://sourceforge/checkstyle/checkstyle-5.0.zip ; - sha256 = "0972afcxjniz64hlnc89ddnd1d0mcd5hb1sd7lpw5k52h39683nh"; + url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz"; + sha256 = "0kzj507ylynq6p7v097bjzsckkjny5i2fxwxyrlwi5samhi2m06x"; }; installPhase = '' @@ -22,6 +22,6 @@ stdenv.mkDerivation { Conventions, but is highly configurable. ''; homepage = http://checkstyle.sourceforge.net/; + license = stdenv.lib.licenses.lgpl21; }; } - diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix index 89a17d28a1b955f43d860166c4ee7f910f65e997..10cdf01103a6deb6c0e29374f96093f8f5371d2b 100644 --- a/pkgs/development/tools/analysis/lcov/default.nix +++ b/pkgs/development/tools/analysis/lcov/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "LCOV, a code coverage tool that enhances GNU gcov"; + description = "Code coverage tool that enhances GNU gcov"; longDescription = '' LCOV is an extension of GCOV, a GNU tool which provides information diff --git a/pkgs/development/tools/analysis/sparse/default.nix b/pkgs/development/tools/analysis/sparse/default.nix index 6d0e28f0ab20731a82ca96079fd526b46e8b4ac3..6898b7eee54cd4e64fb958d2f3bac2030ffb7ed1 100644 --- a/pkgs/development/tools/analysis/sparse/default.nix +++ b/pkgs/development/tools/analysis/sparse/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "Sparse, a semantic parser for C"; + description = "Semantic parser for C"; homepage = "https://git.kernel.org/cgit/devel/sparse/sparse.git/"; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 5ffc287d114b299f038e35fd5d3c515ad611fc19..aaeee026d0a8a6270e3729c634a3f1b8485f8a90 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.valgrind.org/; - description = "Valgrind, a debugging and profiling tool suite"; + description = "Debugging and profiling tool suite"; longDescription = '' Valgrind is an award-winning instrumentation framework for diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index b7316fc17c4a9d8cc6035b278495ec5fd334515b..a4863d12b5ca0986566058811f2c1ed1a8eb3dea 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ unzip jdk makeWrapper ]; meta = { - description = "Gradle is an enterprise-grade build system"; + description = "Enterprise-grade build system"; longDescription = '' Gradle is a build system which offers you ease, power and freedom. You can choose the balance for yourself. It has powerful multi-project diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix index 93f7699481c8807bbb564906cbbc1079830ff3cc..e173f82766484054e7c5ce2b3fcc2021c954cb55 100644 --- a/pkgs/development/tools/build-managers/scons/default.nix +++ b/pkgs/development/tools/build-managers/scons/default.nix @@ -2,7 +2,7 @@ let name = "scons"; - version = "2.3.2"; + version = "2.3.3"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/scons/${name}-${version}.tar.gz"; - sha256 = "1m29lhwz7p6k4f8wc8qjpwa89058lzq3vrycgxbfc5cmbq6354zr"; + sha256 = "1qn0gk4k796a6vwsq62w80d6w96r9xh6kz7aa14xb6md2884x9v3"; }; buildInputs = [python makeWrapper]; diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix index 54509178b1a16a5a2091f35f4a6414aabfb9f62c..50f2037b271c5f22e35a4382f088f86d9eac06fb 100644 --- a/pkgs/development/tools/documentation/doxygen/default.nix +++ b/pkgs/development/tools/documentation/doxygen/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation { meta = { license = stdenv.lib.licenses.gpl2Plus; homepage = "http://doxygen.org/"; - description = "Doxygen, a source code documentation generator tool"; + description = "Source code documentation generator tool"; longDescription = '' Doxygen is a documentation system for C++, C, Java, Objective-C, diff --git a/pkgs/development/tools/documentation/haddock/2.14.3.nix b/pkgs/development/tools/documentation/haddock/2.14.3.nix index a16994b1f2edbb36fbe470c79f7b7db32074274c..7ce4782bb60c0cf68cdd1883f9b430a0f371d356 100644 --- a/pkgs/development/tools/documentation/haddock/2.14.3.nix +++ b/pkgs/development/tools/documentation/haddock/2.14.3.nix @@ -12,7 +12,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ]; testDepends = [ Cabal deepseq filepath hspec QuickCheck ]; - doCheck = false; + preCheck = "unset GHC_PACKAGE_PATH"; meta = { homepage = "http://www.haskell.org/haddock/"; description = "A documentation-generation tool for Haskell libraries"; diff --git a/pkgs/development/tools/documentation/haddock/2.15.0.nix b/pkgs/development/tools/documentation/haddock/2.15.0.nix new file mode 100644 index 0000000000000000000000000000000000000000..3b3d91a1f2f1b09f21fedbbf7a730d520283b28c --- /dev/null +++ b/pkgs/development/tools/documentation/haddock/2.15.0.nix @@ -0,0 +1,20 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, Cabal, filepath, haddockApi }: + +cabal.mkDerivation (self: { + pname = "haddock"; + version = "2.15.0"; + sha256 = "1vay0v0a02xj2m40w71vmjadlm6pzv309r1jhr61xv1wnj88i75w"; + isLibrary = false; + isExecutable = true; + buildDepends = [ haddockApi ]; + testDepends = [ Cabal filepath ]; + preCheck = "unset GHC_PACKAGE_PATH"; + meta = { + homepage = "http://www.haskell.org/haddock/"; + description = "A documentation-generation tool for Haskell libraries"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/cabal-bounds/default.nix b/pkgs/development/tools/haskell/cabal-bounds/default.nix index 213ba6f9d1328f54adfc2effe6f673910b94e441..368c421221bdeebe7d611b145f6be0409e538ca2 100644 --- a/pkgs/development/tools/haskell/cabal-bounds/default.nix +++ b/pkgs/development/tools/haskell/cabal-bounds/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "cabal-bounds"; - version = "0.8.4"; - sha256 = "00vj6ca9liqlqg69d4ziacsxz6x9365sbyc1ag6g18bhibyinsh2"; + version = "0.8.6"; + sha256 = "0q7fpblhxba4np5a9igwmcvmkkvka9f85nccxw0m2lvwbjrs51xq"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix index 978ebde7e293bded8493533da829ffc0cbefa428..db7e472934c3b145f21fcdd7d86ac08b31e980c2 100644 --- a/pkgs/development/tools/haskell/cabal2nix/default.nix +++ b/pkgs/development/tools/haskell/cabal2nix/default.nix @@ -1,15 +1,18 @@ # This file was auto-generated by cabal2nix. Please do NOT edit manually! -{ cabal, Cabal, doctest, filepath, hackageDb, HTTP, mtl, regexPosix +{ cabal, Cabal, doctest, filepath, hackageDb, mtl, regexPosix +, transformers }: cabal.mkDerivation (self: { pname = "cabal2nix"; - version = "1.68"; - sha256 = "0w9ayvr3ljfxgi17yaayqvyxflbgf7b5245pc3m011lp3cfnj849"; + version = "1.69"; + sha256 = "0430086lh1h7w8wxc42aqrdjb8i12vz8m0jr1q2c45h3k6brb5r5"; isLibrary = false; isExecutable = true; - buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ]; + buildDepends = [ + Cabal filepath hackageDb mtl regexPosix transformers + ]; testDepends = [ doctest ]; doCheck = self.stdenv.lib.versionOlder "7.6" self.ghc.version; meta = { diff --git a/pkgs/development/tools/haskell/codex/default.nix b/pkgs/development/tools/haskell/codex/default.nix index fac145b14c203ee94a0dd6acd3a39f4b6002c2a6..a2f9c119700636263bbdcf0f70ce571b974c13b6 100644 --- a/pkgs/development/tools/haskell/codex/default.nix +++ b/pkgs/development/tools/haskell/codex/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "codex"; - version = "0.1.0.3"; - sha256 = "0sbkri6y9f4wws120kbb93sv1z0z75hjw9pw5r3wadmmd0lygsn9"; + version = "0.1.0.4"; + sha256 = "1wnrjmf2iypnmdsmjxbjg7kqn8802yhd9vbdc4vg19pqspir87wz"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/haskell-docs/default.nix b/pkgs/development/tools/haskell/haskell-docs/default.nix index b9cd34c716e064ea3a01fd41a2c323da157a51b1..9cc92aafc2196a5ee49174e868b7fd7425bce3d6 100644 --- a/pkgs/development/tools/haskell/haskell-docs/default.nix +++ b/pkgs/development/tools/haskell/haskell-docs/default.nix @@ -20,5 +20,7 @@ cabal.mkDerivation (self: { description = "A program to find and display the docs and type of a name"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix index 4fe5f01c3d18b4e72bb3e72be0a7e06d89b5001a..92a33602a1f6f4373432d429da7aaf4a9cd829fe 100644 --- a/pkgs/development/tools/haskell/hlint/default.nix +++ b/pkgs/development/tools/haskell/hlint/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "hlint"; - version = "1.9.3"; - sha256 = "1sdz981yq0amsw9q6hx0aqkd0ayrax5p77s3n3gz4bphpk37n09b"; + version = "1.9.4"; + sha256 = "0vqdkrhzxi99py9zrk01cz3hayfbp757rh1c1sgz00a1gf1pyz8m"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix index 4342b877a2e87d09c955cd2dce403bd3ce60d2cc..a07383778ed1c275501e5b4a289af57e502f25a3 100644 --- a/pkgs/development/tools/haskell/timeplot/default.nix +++ b/pkgs/development/tools/haskell/timeplot/default.nix @@ -20,5 +20,7 @@ cabal.mkDerivation (self: { description = "A tool for visualizing time series from log files"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + hydraPlatforms = self.stdenv.lib.platforms.none; + broken = true; }; }) diff --git a/pkgs/development/tools/java/fastjar/default.nix b/pkgs/development/tools/java/fastjar/default.nix index c8bb94412cad6cd3e1e1eb978cb3daedf88fab59..e5a9ca50ce921c681901550872f6f3ba9d024e9e 100644 --- a/pkgs/development/tools/java/fastjar/default.nix +++ b/pkgs/development/tools/java/fastjar/default.nix @@ -14,7 +14,7 @@ let version = "0.94"; in doCheck = true; meta = { - description = "FastJar, a fast Java archiver written in C"; + description = "Fast Java archiver written in C"; longDescription = '' Fastjar is a version of Sun's `jar' utility, written entirely in C, and diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 8d8fc5d464e89f3551a2f1e5f8e487567d4cf659..fc48a4aabada868e83c9c7c06226bcedb7bc5ff4 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - description = "GNU Binutils, tools for manipulating binaries (linker, assembler, etc.)"; + description = "Tools for manipulating binaries (linker, assembler, etc.)"; longDescription = '' The GNU Binutils are a collection of binary tools. The main diff --git a/pkgs/development/tools/misc/bossa/bin2c.c b/pkgs/development/tools/misc/bossa/bin2c.c new file mode 100644 index 0000000000000000000000000000000000000000..f0b915de540a6241d40527586af5b2bf74ac0d2d --- /dev/null +++ b/pkgs/development/tools/misc/bossa/bin2c.c @@ -0,0 +1,122 @@ +// bin2c.c +// +// convert a binary file into a C source vector +// +// THE "BEER-WARE LICENSE" (Revision 3.1415): +// sandro AT sigala DOT it wrote this file. As long as you retain this notice you can do +// whatever you want with this stuff. If we meet some day, and you think this stuff is +// worth it, you can buy me a beer in return. Sandro Sigala +// +// syntax: bin2c [-c] [-z] +// +// -c add the "const" keyword to definition +// -z terminate the array with a zero (useful for embedded C strings) +// +// examples: +// bin2c -c myimage.png myimage_png.cpp +// bin2c -z sometext.txt sometext_txt.cpp + +#include +#include +#include +#include + +#ifndef PATH_MAX +#define PATH_MAX 1024 +#endif + +int useconst = 0; +int zeroterminated = 0; + +int myfgetc(FILE *f) +{ + int c = fgetc(f); + if (c == EOF && zeroterminated) + { + zeroterminated = 0; + return 0; + } + return c; +} + +void process(const char *ifname, const char *ofname) +{ + FILE *ifile, *ofile; + ifile = fopen(ifname, "rb"); + if (ifile == NULL) + { + fprintf(stderr, "cannot open %s for reading\n", ifname); + exit(1); + } + ofile = fopen(ofname, "wb"); + if (ofile == NULL) + { + fprintf(stderr, "cannot open %s for writing\n", ofname); + exit(1); + } + char buf[PATH_MAX], *p; + const char *cp; + if ((cp = strrchr(ifname, '/')) != NULL) + { + ++cp; + } else { + if ((cp = strrchr(ifname, '\\')) != NULL) + ++cp; + else + cp = ifname; + } + strcpy(buf, cp); + for (p = buf; *p != '\0'; ++p) + { + if (!isalnum(*p)) + *p = '_'; + } + fprintf(ofile, "static %sunsigned char %s[] = {\n", useconst ? "const " : "", buf); + int c, col = 1; + while ((c = myfgetc(ifile)) != EOF) + { + if (col >= 78 - 6) + { + fputc('\n', ofile); + col = 1; + } + fprintf(ofile, "0x%.2x, ", c); + col += 6; + } + fprintf(ofile, "\n};\n"); + + fclose(ifile); + fclose(ofile); +} + +void usage(void) +{ + fprintf(stderr, "usage: bin2c [-cz] \n"); + exit(1); +} + +int main(int argc, char **argv) +{ + while (argc > 3) + { + if (!strcmp(argv[1], "-c")) + { + useconst = 1; + --argc; + ++argv; + } else if (!strcmp(argv[1], "-z")) + { + zeroterminated = 1; + --argc; + ++argv; + } else { + usage(); + } + } + if (argc != 3) + { + usage(); + } + process(argv[1], argv[2]); + return 0; +} diff --git a/pkgs/development/tools/misc/bossa/default.nix b/pkgs/development/tools/misc/bossa/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..f0b6d81e69ebd16d19cdc25b2a8e47df740cd127 --- /dev/null +++ b/pkgs/development/tools/misc/bossa/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchgit, wxGTK, libX11, readline }: + +let + # BOSSA needs a "bin2c" program to embed images. + # Source taken from: + # http://wiki.wxwidgets.org/Embedding_PNG_Images-Bin2c_In_C + bin2c = stdenv.mkDerivation { + name = "bossa-bin2c"; + src = ./bin2c.c; + unpackPhase = "true"; + buildPhase = ''cc $src -o bin2c''; + installPhase = ''mkdir -p $out/bin; cp bin2c $out/bin/''; + }; + +in +stdenv.mkDerivation rec { + name = "bossa"; + + src = fetchgit { + url = https://github.com/shumatech/BOSSA; + rev = "0f0a41cb1c3a65e909c5c744d8ae664e896a08ac"; /* arduino branch */ + sha256 = "01y8r45fw02rps9q995mv82bxrm6p0mysv4wir5glpagrhnyw7md"; + }; + + nativeBuildInputs = [ bin2c ]; + buildInputs = [ wxGTK libX11 readline ]; + + # Explicitly specify targets so they don't get stripped. + makeFlags = [ "bin/bossac" "bin/bossash" "bin/bossa" ]; + + installPhase = '' + mkdir -p $out/bin + cp bin/bossa{c,sh,} $out/bin/ + ''; + + meta = with stdenv.lib; { + description = "A flash programming utility for Atmel's SAM family of flash-based ARM microcontrollers"; + longDescription = '' + BOSSA is a flash programming utility for Atmel's SAM family of + flash-based ARM microcontrollers. The motivation behind BOSSA is + to create a simple, easy-to-use, open source utility to replace + Atmel's SAM-BA software. BOSSA is an acronym for Basic Open + Source SAM-BA Application to reflect that goal. + ''; + homepage = http://www.shumatech.com/web/products/bossa; + license = licenses.bsd3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/tools/misc/cflow/default.nix b/pkgs/development/tools/misc/cflow/default.nix index 53bc8ed78c8bc1a9196dc4045458e0b5ed605fe6..b1322d461ee7824f738babd580cf77bf49c3cc59 100644 --- a/pkgs/development/tools/misc/cflow/default.nix +++ b/pkgs/development/tools/misc/cflow/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU cflow, a tool to analyze the control flow of C programs"; + description = "Tool to analyze the control flow of C programs"; longDescription = '' GNU cflow analyzes a collection of C source files and prints a diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix index d66ca9868f574631a1ec79cd0cf0550c28d15b41..085af9df3a3902e5852ae9635d61493aa8c01b2d 100644 --- a/pkgs/development/tools/misc/cl-launch/default.nix +++ b/pkgs/development/tools/misc/cl-launch/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="cl-launch"; - version="4.0.5"; + version="4.1"; name="${baseName}-${version}"; - hash="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj"; - url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.5.tar.gz"; - sha256="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj"; + hash="0fmxa8013sgxmbfmh1wqffywg72zynzlw5yyrdvy9qpx1my36pwb"; + url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.1.tar.gz"; + sha256="0fmxa8013sgxmbfmh1wqffywg72zynzlw5yyrdvy9qpx1my36pwb"; }; buildInputs = [ ]; diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix index 0bf5bbce692d3c6a500cfeb05eaa920a97409ac8..51f5ed6091fa750cf0e239f847294156a517e2b4 100644 --- a/pkgs/development/tools/misc/coccinelle/default.nix +++ b/pkgs/development/tools/misc/coccinelle/default.nix @@ -37,7 +37,7 @@ in stdenv.mkDerivation { configureFlags = "--enable-release"; meta = { - description = "Coccinelle, a program to apply C code semantic patches"; + description = "Program to apply semantic patches to C code"; longDescription = '' Coccinelle is a program matching and transformation engine which diff --git a/pkgs/development/tools/misc/complexity/default.nix b/pkgs/development/tools/misc/complexity/default.nix index 9f1eca0fa13c7fcb6c90dffdc3db68fec1a2811c..a7ae4d17ab104a11095caf704f6e3885426cc5a8 100644 --- a/pkgs/development/tools/misc/complexity/default.nix +++ b/pkgs/development/tools/misc/complexity/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "GNU Complexity, C code complexity measurement tool"; + description = "C code complexity measurement tool"; longDescription = '' GNU Complexity is a tool designed for analyzing the complexity of C diff --git a/pkgs/development/tools/misc/cppi/default.nix b/pkgs/development/tools/misc/cppi/default.nix index 500129c7c9de5f402857c85a3209b40b050ec7bc..2942408de8065f08c4293d86bac2bc6dbe87494d 100644 --- a/pkgs/development/tools/misc/cppi/default.nix +++ b/pkgs/development/tools/misc/cppi/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://savannah.gnu.org/projects/cppi/; - description = "GNU cppi, a cpp directive indenter"; + description = "A C preprocessor directive indenter"; longDescription = '' GNU cppi indents C preprocessor directives to reflect their nesting diff --git a/pkgs/development/tools/misc/cscope/default.nix b/pkgs/development/tools/misc/cscope/default.nix index 3a83b1ba32516f65c56ca5faa14b262cf2341fcf..223f19682746deadf5336b6912d4da17837a8285 100644 --- a/pkgs/development/tools/misc/cscope/default.nix +++ b/pkgs/development/tools/misc/cscope/default.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "Cscope, a developer's tool for browsing source code"; + description = "A developer's tool for browsing source code"; longDescription = '' Cscope is a developer's tool for browsing source code. It has diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix index 80def733cf8c8e7566f61f239f99226e52156fe1..bf13a5daa666a16c0afef27c9f98b7078571537a 100644 --- a/pkgs/development/tools/misc/ctags/default.nix +++ b/pkgs/development/tools/misc/ctags/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://ctags.sourceforge.net/"; - description = "Exuberant Ctags, a tool for fast source code browsing"; + description = "A tool for fast source code browsing (exuberant ctags)"; license = stdenv.lib.licenses.gpl2Plus; longDescription = '' diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 2b5ced78063314086f98d120467f08b41b26ed29..5ee0f64a4e41a24e2ca2e910f8b0aff9a009c4d2 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { doCheck = false; meta = with stdenv.lib; { - description = "GDB, the GNU Project debugger"; + description = "The GNU Project debugger"; longDescription = '' GDB, the GNU Project debugger, allows you to see what is going diff --git a/pkgs/development/tools/misc/gengetopt/default.nix b/pkgs/development/tools/misc/gengetopt/default.nix index 9926dd6cd33477936f30bb27ae7b8a47aaf1be2c..19e934f884f7cb596766662b1842fd3f25544efa 100644 --- a/pkgs/development/tools/misc/gengetopt/default.nix +++ b/pkgs/development/tools/misc/gengetopt/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU Gengetopt, a command-line option parser generator"; + description = "Command-line option parser generator"; longDescription = '' GNU Gengetopt program generates a C function that uses getopt_long diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix index d6abf8d10bdb5acf6a68da545d4b8a3d9414ff9f..b366feb304a6e1198226a33575299aa34c3f3be3 100644 --- a/pkgs/development/tools/misc/global/default.nix +++ b/pkgs/development/tools/misc/global/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "GNU GLOBAL source code tag system"; + description = "Source code tag system"; longDescription = '' GNU GLOBAL is a source code tagging system that works the same way diff --git a/pkgs/development/tools/misc/gperf/default.nix b/pkgs/development/tools/misc/gperf/default.nix index e25998e542043f69e1e63a2a46b7b82a07ef7bc3..f0fd081ec5f1426cf5f5e2f69c4c96217346562b 100644 --- a/pkgs/development/tools/misc/gperf/default.nix +++ b/pkgs/development/tools/misc/gperf/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "GNU gperf, a perfect hash function generator"; + description = "Perfect hash function generator"; longDescription = '' GNU gperf is a perfect hash function generator. For a given diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index 23bd35c8739a44047fb75fdd4ba8c426f0b0adaf..c8cff1162821db0646b3e7a906a4d1fc908d21b6 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }: stdenv.mkDerivation rec { - name = "help2man-1.44.1"; + name = "help2man-1.46.1"; src = fetchurl { url = "mirror://gnu/help2man/${name}.tar.xz"; - sha256 = "1yyyfw9zrfdvslnv91bnhyqmazwx243wmkc9wdaz888rfx36ipi2"; + sha256 = "0iqwb3qirl7rp1wwpbh01q89qxvi4h3bc73wi03av6hl4sh05z9x"; }; buildInputs = [ makeWrapper perl gettext LocaleGettext ]; @@ -18,8 +18,8 @@ stdenv.mkDerivation rec { ''; - meta = { - description = "GNU help2man generates man pages from `--help' output"; + meta = with stdenv.lib; { + description = "Generate man pages from `--help' output"; longDescription = '' help2man produces simple manual pages from the ‘--help’ and @@ -28,8 +28,8 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/help2man/; - license = stdenv.lib.licenses.gpl3Plus; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice - maintainers = [ stdenv.lib.maintainers.ludo ]; + license = licenses.gpl3Plus; + platforms = platforms.gnu; # arbitrary choice + maintainers = with maintainers; [ ludo pSub ]; }; } diff --git a/pkgs/development/tools/misc/inotify-tools/default.nix b/pkgs/development/tools/misc/inotify-tools/default.nix index 3402c2060e7f838fa565d2862622ae14d26cce7e..4c1cd5bd7bdf3a3d5a90f9883f2afaa019cad911 100644 --- a/pkgs/development/tools/misc/inotify-tools/default.nix +++ b/pkgs/development/tools/misc/inotify-tools/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-${version}.tar.gz"; - sha256 = "0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6"; + sha256 = "0by9frv1k59f76cx08sn06sk6lmdxsfb6zr0rshzhyrxi6lcqar2"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/misc/libtool/default.nix b/pkgs/development/tools/misc/libtool/default.nix index 5eee9ead5d6367282cd783e6f38be92362ad1e47..262d8aad23bb63b06accd94f000ee40aab434c4a 100644 --- a/pkgs/development/tools/misc/libtool/default.nix +++ b/pkgs/development/tools/misc/libtool/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { dontPatchShebangs = true; meta = { - description = "GNU Libtool, a generic library support script"; + description = "Generic library support script"; longDescription = '' GNU libtool is a generic library support script. Libtool hides diff --git a/pkgs/development/tools/misc/nixbang/default.nix b/pkgs/development/tools/misc/nixbang/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..762e6f2c4db667db1acb206cccd7935be43a32da --- /dev/null +++ b/pkgs/development/tools/misc/nixbang/default.nix @@ -0,0 +1,20 @@ +{ lib, pythonPackages, fetchgit }: + +let version = "0.1.1"; in +pythonPackages.buildPythonPackage { + name = "nixbang-${version}"; + namePrefix = ""; + + src = fetchgit { + url = "git://github.com/madjar/nixbang.git"; + rev = "refs/tags/${version}"; + sha256 = "1n8jq32r2lzk3g0d95ksfq7vdqciz34jabribrr4hcnz4nlijshf"; + }; + + meta = { + homepage = https://github.com/madjar/nixbang; + description = "A special shebang to run scripts in a nix-shell"; + maintainers = [ lib.maintainers.madjar ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/development/tools/misc/sloccount/default.nix b/pkgs/development/tools/misc/sloccount/default.nix index 455305be7492221a0cca4c1789ea95e6f40d0b70..1aa9a2c058d6b6f724ff7addc52e97fc3f868333 100644 --- a/pkgs/development/tools/misc/sloccount/default.nix +++ b/pkgs/development/tools/misc/sloccount/default.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "SLOCCount, a set of tools for counting physical Source Lines of Code (SLOC)"; + description = "Set of tools for counting physical Source Lines of Code (SLOC)"; longDescription = '' This is the home page of "SLOCCount", a set of tools for diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix index 09978b5ad650f81ebfc5f6672563b7f3a07493ba..66d6b65453eaf619f44165c53081b8dc68b41672 100644 --- a/pkgs/development/tools/misc/swig/default.nix +++ b/pkgs/development/tools/misc/swig/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { configureFlags = stdenv.lib.optionalString stdenv.isDarwin "--disable-ccache"; meta = { - description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages"; + description = "Interface compiler that connects C/C++ code to higher-level languages"; longDescription = '' SWIG is an interface compiler that connects programs written in C and diff --git a/pkgs/development/tools/misc/texinfo/4.13a.nix b/pkgs/development/tools/misc/texinfo/4.13a.nix index 5131d38141235fc5426b6dfa84282d4c0852d114..a31552305147db8785f488ee250a7eab0e0a1265 100644 --- a/pkgs/development/tools/misc/texinfo/4.13a.nix +++ b/pkgs/development/tools/misc/texinfo/4.13a.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { #doCheck = true; meta = { - description = "GNU Texinfo, the GNU documentation system"; + description = "The GNU documentation system"; longDescription = '' Texinfo is the official documentation format of the GNU project. diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix index 804e7a2527fef5502ec47f4119be07a78ffd6083..62e1ff62d1e31f7ccaeed00ab0c5cfe4a09bf91e 100644 --- a/pkgs/development/tools/misc/texinfo/5.2.nix +++ b/pkgs/development/tools/misc/texinfo/5.2.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://www.gnu.org/software/texinfo/"; - description = "GNU Texinfo, the GNU documentation system"; + description = "The GNU documentation system"; license = stdenv.lib.licenses.gpl3Plus; platforms = stdenv.lib.platforms.all; diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix index c0882439f5c5d8d97ade673cad1892b4578a153f..970c07f354646e48c188ab54cfc866c5f0762e49 100644 --- a/pkgs/development/tools/ocaml/merlin/default.nix +++ b/pkgs/development/tools/ocaml/merlin/default.nix @@ -1,14 +1,14 @@ -{stdenv, fetchurl, ocaml, findlib, easy-format, biniou, yojson, menhir}: +{stdenv, fetchurl, ocaml, findlib, yojson, menhir}: stdenv.mkDerivation { - name = "merlin-1.6"; + name = "merlin-1.7.1"; src = fetchurl { - url = "https://github.com/the-lambda-church/merlin/archive/v1.6.tar.gz"; - sha256 = "0wq75hgffaszazrhkl0nfjxgx8bvazi2sjannd8q64hvax8hxzcy"; + url = https://github.com/the-lambda-church/merlin/archive/v1.7.1.tar.gz; + sha256 = "c3b60c7b3fddaa2860e0d8ac0d4fed2ed60e319875734c7ac1a93df524c67aff"; }; - buildInputs = [ ocaml findlib biniou yojson menhir easy-format ]; + buildInputs = [ ocaml findlib yojson menhir ]; prefixKey = "--prefix "; diff --git a/pkgs/development/tools/ocaml/omake/default.nix b/pkgs/development/tools/ocaml/omake/default.nix index 22e0d71af4d1718dff8d8ce5e19a3b8f814a1e5d..300cbbc0a0c1573470e2b5cbf27c71d0c14a2066 100644 --- a/pkgs/development/tools/ocaml/omake/default.nix +++ b/pkgs/development/tools/ocaml/omake/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation { # buildFlags = "world.opt"; meta = { - description = "Omake build system"; + description = "A build system designed for scalability and portability"; homepage = "${webpage}"; license = "GPL"; }; diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..1b99c4d4d43b9c12721c0cca4681c5bcbe63dcb9 --- /dev/null +++ b/pkgs/development/tools/ocaml/utop/default.nix @@ -0,0 +1,46 @@ +{stdenv, fetchurl, ocaml, findlib, lambdaTerm, ocaml_lwt, makeWrapper, + ocaml_react, camomile, zed +}: + +stdenv.mkDerivation rec { + version = "1.14"; + name = "utop-${version}"; + + src = fetchurl { + url = https://github.com/diml/utop/archive/1.14.tar.gz; + sha256 = "17dqinvdrpba2fjs7sl6gxs47rrx6j8a5bbjhc7flp6bdls898zk"; + }; + + buildInputs = [ ocaml findlib makeWrapper]; + + propagatedBuildInputs = [ lambdaTerm ocaml_lwt ]; + + createFindlibDestdir = true; + + buildPhase = '' + make + make doc + ''; + + postFixup = + let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version; + in + '' + wrapProgram "$out"/bin/utop --set CAML_LD_LIBRARY_PATH "${ocaml_lwt}"/lib/ocaml/${ocamlVersion}/site-lib/lwt/:"${lambdaTerm}"/lib/ocaml/${ocamlVersion}/site-lib/lambda-term/:'$CAML_LD_LIBRARY_PATH' --set OCAMLPATH "${ocaml_lwt}"/lib/ocaml/${ocamlVersion}/site-lib:${ocaml_react}/lib/ocaml/${ocamlVersion}/site-lib:${camomile}/lib/ocaml/${ocamlVersion}/site-lib:${zed}/lib/ocaml/${ocamlVersion}/site-lib:${lambdaTerm}/lib/ocaml/${ocamlVersion}/site-lib:"$out"/lib/ocaml/${ocamlVersion}/site-lib:'$OCAMLPATH' + ''; + + meta = { + description = "Universal toplevel for OCaml"; + longDescription = '' + utop is an improved toplevel for OCaml. It can run in a terminal or in Emacs. It supports line edition, history, real-time and context sensitive completion, colors, and more. + + It integrates with the tuareg mode in Emacs. + ''; + homepage = https://github.com/diml/utop; + license = stdenv.lib.licenses.bsd3; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; +} diff --git a/pkgs/development/tools/parsing/bison/2.x.nix b/pkgs/development/tools/parsing/bison/2.x.nix index 5bf5d7c2e8c64dce68db1a09f16aa180805cfa5e..f89e7bca5a76473b17983e4907a205a43e16231e 100644 --- a/pkgs/development/tools/parsing/bison/2.x.nix +++ b/pkgs/development/tools/parsing/bison/2.x.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://www.gnu.org/software/bison/"; - description = "GNU Bison, a Yacc-compatible parser generator"; + description = "Yacc-compatible parser generator"; license = stdenv.lib.licenses.gpl3Plus; longDescription = '' diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix index 5947f85343c49653fefcc8a4b57d5903482bd560..49602a23201020f3ac65bedb05b651d6b3e19ff2 100644 --- a/pkgs/development/tools/parsing/bison/3.x.nix +++ b/pkgs/development/tools/parsing/bison/3.x.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://www.gnu.org/software/bison/"; - description = "GNU Bison, a Yacc-compatible parser generator"; + description = "Yacc-compatible parser generator"; license = stdenv.lib.licenses.gpl3Plus; longDescription = '' diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix index ec3026110531f365b5e358e24b29cdc8e3098740..8842c8723b1ef712614febd9568e2d783699c23d 100644 --- a/pkgs/development/tools/parsing/byacc/default.nix +++ b/pkgs/development/tools/parsing/byacc/default.nix @@ -4,15 +4,10 @@ stdenv.mkDerivation { name = "byacc-1.9"; src = fetchurl { - url = http://www.isc.org/sources/devel/tools/byacc-1.9.tar.gz; - sha256 = "d61a15ac4ac007c188d0c0e99365f016f8d327755f43032b58e400754846f736"; + url = ftp://invisible-island.net/byacc/byacc-20140715.tgz; + sha256 = "1rbzx5ipkvih9rjfdfv6310wcr6mxjbdlsh9zcv5aaz6yxxxil7c"; }; - preConfigure = - ''mkdir -p $out/bin - sed -i "s@^DEST.*\$@DEST = $out/bin/yacc@" Makefile - ''; - meta = { description = "Berkeley YACC"; homepage = http://dickey.his.com/byacc/byacc.html; diff --git a/pkgs/development/tools/profiling/oprofile/default.nix b/pkgs/development/tools/profiling/oprofile/default.nix index e301fe8431afcc5afe31daf242669a3ab586c194..6c7b2a4d9ae15b51726722d42c629aa3b870b047 100644 --- a/pkgs/development/tools/profiling/oprofile/default.nix +++ b/pkgs/development/tools/profiling/oprofile/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "OProfile, a system-wide profiler for Linux"; + description = "System-wide profiler for Linux"; longDescription = '' OProfile is a system-wide profiler for Linux systems, capable of profiling all running code at low overhead. It consists of a diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix index 457a5d1dcaa52db40e1cf7495e13a1a703a2b017..826ca93aa7d412b3e65a488164cac8d6cda84061 100644 --- a/pkgs/development/tools/profiling/sysprof/default.nix +++ b/pkgs/development/tools/profiling/sysprof/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://sysprof.com/; - description = "Sysprof, a system-wide profiler for Linux"; + description = "System-wide profiler for Linux"; license = stdenv.lib.licenses.gpl2Plus; longDescription = '' diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix index 9741b0930d223f91c2c13ea1071d78a1de9327ba..23b7d9e692cf642ef1cb1408f7f164f8d2229393 100644 --- a/pkgs/development/tools/slimerjs/default.nix +++ b/pkgs/development/tools/slimerjs/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="slimerjs"; - version="0.9.1"; + version="0.9.2"; name="${baseName}-${version}"; - hash="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k"; - url="http://download.slimerjs.org/v0.9/0.9.1/slimerjs-0.9.1.zip"; - sha256="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k"; + hash="0817f3aq0gn04q4hq43xk4av02d86s2001lg5s5p38phd2jvh703"; + url="http://download.slimerjs.org/releases/0.9.2/slimerjs-0.9.2.zip"; + sha256="0817f3aq0gn04q4hq43xk4av02d86s2001lg5s5p38phd2jvh703"; }; buildInputs = [ unzip zip diff --git a/pkgs/development/tools/sqsh/default.nix b/pkgs/development/tools/sqsh/default.nix index a0f7922b1aa84ad5f6fc3ca447ae51cebf6b3d1a..15a6985b8bf782390cb1c468fb3ccbeb6fd0d069 100644 --- a/pkgs/development/tools/sqsh/default.nix +++ b/pkgs/development/tools/sqsh/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ]; meta = { - description = "SQSH is command line tool for querying Sybase/MSSQL databases"; + description = "Command line tool for querying Sybase/MSSQL databases"; longDescription = '' Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell), diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix index 84b0da1674c4607dab9635e47cce9c5df3e86bb6..ca3439df4c464cef17030f04e488525030511378 100644 --- a/pkgs/development/web/nodejs/build-node-package.nix +++ b/pkgs/development/web/nodejs/build-node-package.nix @@ -8,7 +8,7 @@ let npmFlags = concatStringsSep " " (map (v: "--${v}") flags); sources = runCommand "node-sources" {} '' - tar --no-same-owner -xf ${nodejs.src} + tar --no-same-owner --no-same-permissions -xf ${nodejs.src} mv *node* $out ''; diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix index e83f50df1b78a49dbeb1f33b1d5938ee107f0c5a..ef5aba96d09244e50c13c312005a2881a8375d20 100644 --- a/pkgs/games/adom/default.nix +++ b/pkgs/games/adom/default.nix @@ -1,6 +1,8 @@ { stdenv, patchelf, zlib, libmad, libpng12, libcaca, mesa, alsaLib, pulseaudio , xlibs, plowshare }: +assert stdenv.isLinux; + let inherit (xlibs) libXext libX11; diff --git a/pkgs/games/banner/default.nix b/pkgs/games/banner/default.nix index b4e61b6d1d1f57c8ec09e0c3c3957d27601cf7ba..b443a76b9a77d45648513f2455dfcd5d41880dd3 100644 --- a/pkgs/games/banner/default.nix +++ b/pkgs/games/banner/default.nix @@ -36,7 +36,7 @@ mkDerivation "banner-1.3.2" "0dc0ac0667b2e884a7f5ad3e467af68cd0fd5917f8c9aa19188 meta = { homepage = "http://shh.thathost.com/pub-unix/"; - description = "print large banners to ASCII terminals"; + description = "Print large banners to ASCII terminals"; license = stdenv.lib.licenses.gpl2; longDescription = '' diff --git a/pkgs/games/chessdb/default.nix b/pkgs/games/chessdb/default.nix index 381e35632a6ef54fb571ad215d1c55d568c6da0a..224eb6f594a0344acb75d2b7079184fd4035dc2a 100644 --- a/pkgs/games/chessdb/default.nix +++ b/pkgs/games/chessdb/default.nix @@ -24,6 +24,6 @@ stdenv.mkDerivation { meta = { homepage = http://chessdb.sourceforge.net/; - description = "ChessDB is a free chess database"; + description = "A free chess database"; }; } diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix index 57d055ed3d3d8a3c2f0a5402541af1a9885b5a8a..f94b489908eb05e32cc6daa88172aef7809f5bc2 100644 --- a/pkgs/games/construo/default.nix +++ b/pkgs/games/construo/default.nix @@ -24,6 +24,6 @@ stdenv.mkDerivation rec { builder = writeScript (name + "-builder") (textClosure localDefs ["preConfigure" "doConfigure" "doMakeInstall" "doForceShare" "doPropagate"]); meta = { - description = "Construo masses and springs simulation"; + description = "Masses and springs simulation game"; }; } diff --git a/pkgs/games/crafty/default.nix b/pkgs/games/crafty/default.nix index 0e2796df22d89c628849241943fa05e5d3194b17..351e25388e17622e0b19c543d5351ac5d4c3fa5f 100644 --- a/pkgs/games/crafty/default.nix +++ b/pkgs/games/crafty/default.nix @@ -659,7 +659,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.craftychess.com/; - description = "Crafty is a free, open-source computer chess program developed by Dr. Robert M. Hyatt"; + description = "Chess program developed by Dr. Robert M. Hyatt"; license = stdenv.lib.licenses.unfree; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.jwiegley ]; diff --git a/pkgs/games/eboard/default.nix b/pkgs/games/eboard/default.nix index 1decee4264a41dbe964737ffa593122dda9c6d11..8dd06fa6a28157f0b9e417fcb9bc9fbf412dbdba 100644 --- a/pkgs/games/eboard/default.nix +++ b/pkgs/games/eboard/default.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation { meta = { homepage = http://www.bergo.eng.br/eboard/; - description = "eboard is a chess interface for Unix-like systems"; + description = "Chess interface for Unix-like systems"; }; } diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix index e35eb3266c2d07029ddabee3838674c9d0d9afdd..af80467c960d34ce55db28010e28991c3f16fe22 100644 --- a/pkgs/games/extremetuxracer/default.nix +++ b/pkgs/games/extremetuxracer/default.nix @@ -1,34 +1,38 @@ -a : -let - fetchurl = a.fetchurl; +{ stdenv, fetchurl, mesa, libX11, xproto, tcl, freeglut +, SDL, SDL_mixer, SDL_image, libXi, inputproto +, libXmu, libXext, xextproto, libXt, libSM, libICE +, libpng, pkgconfig, gettext, intltool +}: - version = a.lib.attrByPath ["version"] "0.5beta" a; - buildInputs = with a; [ +stdenv.mkDerivation rec { + version = "0.6.0"; + name = "extremetuxracer-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/extremetuxracer/etr-${version}.tar.xz"; + sha256 = "0fl9pwkywqnsmgr6plfj9zb05xrdnl5xb2hcmbjk7ap9l4cjfca4"; + }; + + buildInputs = [ mesa libX11 xproto tcl freeglut - SDL SDL_mixer libXi inputproto + SDL SDL_mixer SDL_image libXi inputproto libXmu libXext xextproto libXt libSM libICE libpng pkgconfig gettext intltool ]; -in -rec { - src = fetchurl { - url = "mirror://sourceforge/extremetuxracer/extremetuxracer-${version}.tar.gz"; - sha256 = "04d99fsfna5mc9apjxsiyw0zgnswy33kwmm1s9d03ihw6rba2zxs"; - }; - inherit buildInputs; - configureFlags = [ - "--with-tcl=${a.tcl}/lib" - ]; + configureFlags = [ "--with-tcl=${tcl}/lib" ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; + preConfigure = '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL}/include/SDL" + ''; - name = "extremetuxracer-" + version; meta = { description = "High speed arctic racing game based on Tux Racer"; longDescription = '' ExtremeTuxRacer - Tux lies on his belly and accelerates down ice slopes. ''; + license = stdenv.lib.licenses.gpl2Plus; + homepage = http://sourceforge.net/projects/extremetuxracer/; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/games/gemrb/default.nix b/pkgs/games/gemrb/default.nix index 31e8ae05d0069730ff1df638691048f472277d89..dc89e405e24eddbe7e3c9dc853e0a315ac31f273 100644 --- a/pkgs/games/gemrb/default.nix +++ b/pkgs/games/gemrb/default.nix @@ -3,14 +3,15 @@ assert stdenv.gcc.libc != null; stdenv.mkDerivation rec { - name = "gemrb-0.8.0.1"; + name = "gemrb-0.8.1"; src = fetchurl { url = "mirror://sourceforge/gemrb/${name}.tar.gz"; - sha256 = "0v9iypls4iawnfkc91hcdnmc4vyg3ix7v7lmw3knv73q145v0ksd"; + sha256 = "1g68pc0x4azy6zm5y7813g0qky96q796si9v3vafiy7sa8ph49kl"; }; buildInputs = [ cmake python openal SDL zlib libpng libvorbis ]; + # TODO: make libpng, libvorbis, sdl_mixer, freetype, vlc, glew (and other gl reqs) optional # Necessary to find libdl. CMAKE_LIBRARY_PATH = "${stdenv.gcc.libc}/lib"; @@ -18,8 +19,19 @@ stdenv.mkDerivation rec { # Can't have -werror because of the Vorbis header files. cmakeFlags = "-DDISABLE_WERROR=ON -DCMAKE_VERBOSE_MAKEFILE=ON"; - meta = { + # upstream prefers some symbols to remain + dontStrip = true; + + meta = with stdenv.lib; { description = "A reimplementation of the Infinity Engine, used by games such as Baldur's Gate"; - homepage = http://gemrb.sourceforge.net/; + longDescription = '' + GemRB (Game engine made with pre-Rendered Background) is a portable open-source implementation of + Bioware's Infinity Engine. It was written to support pseudo-3D role playing games based on the + Dungeons & Dragons ruleset (Baldur's Gate and Icewind Dale series, Planescape: Torment). + ''; + homepage = http://gemrb.org/; + license = licenses.gpl2; + platforms = stdenv.lib.platforms.all; + hydraPlatforms = []; }; } diff --git a/pkgs/games/hawkthorne/default.nix b/pkgs/games/hawkthorne/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..4a99ec447640bbc1e3e9032a4de4289da9aed6ec --- /dev/null +++ b/pkgs/games/hawkthorne/default.nix @@ -0,0 +1,38 @@ +{ fetchgit, stdenv, love, curl, zip }: + +stdenv.mkDerivation rec { + version = "0.9.1"; + name = "hawkthorne-${version}"; + + src = fetchgit { + url = "https://github.com/hawkthorne/hawkthorne-journey.git"; + rev = "e48b5eef0058f63bb8ee746bc00b47b3e03f0854"; + sha256 = "0rvcpv8fsi450xs2cglv4w6m5iqbhsr2n09pcvhh0krhg7xay538"; + }; + + buildInputs = [ + love curl zip + ]; + + patches = [ + ./makefile.patch + ]; + + enableParallelBuilding = true; + + meta = { + description = "Journey to the Center of Hawkthorne - A fan-made retro-style game based on the show Community"; + longDescription = '' + Journey to the Center of Hawkthorne is an open source game written in Love2D. + It's based on the show Community, starring Jim Rash and Joel McHale as + the primary will-they-or-won't-they relationship. + + This game has been entirely developed by fans of the show, who were inspired + to bring to life the video game used to determine the winner of Pierce + Hawthorne's inheritance. + ''; + homepage = "http://www.reddit.com/r/hawkthorne"; + license = stdenv.lib.licenses.mit; + maintainers = with stdenv.lib.maintainers; [ campadrenalin ]; + }; +} diff --git a/pkgs/games/hawkthorne/makefile.patch b/pkgs/games/hawkthorne/makefile.patch new file mode 100644 index 0000000000000000000000000000000000000000..16a79683149d092358f6802c9e2a613f8e07a0eb --- /dev/null +++ b/pkgs/games/hawkthorne/makefile.patch @@ -0,0 +1,33 @@ +diff --git a/Makefile b/Makefile +index 55eb817..f3406aa 100644 +--- a/Makefile ++++ b/Makefile +@@ -18,10 +18,14 @@ endif + + tilemaps := $(patsubst %.tmx,%.lua,$(wildcard src/maps/*.tmx)) + +-maps: $(tilemaps) +- + love: build/hawkthorne.love + ++shebang: build/hawkthorne.love ++ cat <(echo '#!/usr/bin/env love') build/hawkthorne.love > build/hawkthorne ++ chmod +x build/hawkthorne ++ ++maps: $(tilemaps) ++ + build/hawkthorne.love: $(tilemaps) src/* + mkdir -p build + cd src && zip --symlinks -q -r ../build/hawkthorne.love . -x ".*" \ +@@ -30,6 +34,12 @@ build/hawkthorne.love: $(tilemaps) src/* + run: $(tilemaps) $(LOVE) + $(LOVE) src + ++check: test ++ ++install: shebang ++ mkdir -p $(out)/bin ++ cp build/hawkthorne $(out)/bin ++ + src/maps/%.lua: src/maps/%.tmx bin/tmx2lua + bin/tmx2lua $< diff --git a/pkgs/games/openspades/default.nix b/pkgs/games/openspades/default.nix index 7f11fc82903207fa577b0f8767ea8f9a811a1961..df987b3f856c42c3c24994e763fdb5a43952ad09 100644 --- a/pkgs/games/openspades/default.nix +++ b/pkgs/games/openspades/default.nix @@ -19,6 +19,18 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DOPENSPADES_INSTALL_BINARY=bin" ]; + enableParallelBuilding = true; + + devPack = fetchurl { + url = "http://yvt.jp/files/programs/osppaks/DevPaks27.zip"; + sha256 = "05y7wldg70v5ys41fm0c8kipyspn524z4pglwr3p8h0gfz9n52v6"; + }; + + preBuild = '' + cp $devPack Resources/DevPaks27.zip + unzip -u -o Resources/DevPaks27.zip -d Resources/DevPak + ''; + # OpenAL is loaded dynamicly postInstall = if withOpenal then '' @@ -28,7 +40,7 @@ stdenv.mkDerivation rec { else null; meta = with stdenv.lib; { - description = "OpenSpades is a compatible client of Ace of Spades 0.75"; + description = "A compatible client of Ace of Spades 0.75"; homepage = "https://github.com/yvt/openspades/"; license = licenses.gpl3; platforms = platforms.linux; diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 1b6b7f26a41edae07428e73a3ae3ca2f1a6e2aae..ff96622cb59cf64323077b4ea9c3aad769b0a509 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = ''OpenTTD is an open source clone of the Microprose game "Transport Tycoon Deluxe"''; + description = ''Open source clone of the Microprose game "Transport Tycoon Deluxe"''; longDescription = '' OpenTTD is a transportation economics simulator. In single player mode, players control a transportation business, and use rail, road, sea, and air diff --git a/pkgs/games/opentyrian/default.nix b/pkgs/games/opentyrian/default.nix index cfae6a4bb3e8418eb41557ee94b33b39f40e9b2b..c435bbe5887febba08ba9acd75aaf9c9b5be63c7 100644 --- a/pkgs/games/opentyrian/default.nix +++ b/pkgs/games/opentyrian/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { "; meta = { - description = ''OpenTyrian is an open source port of the game "Tyrian".''; + description = ''Open source port of the game "Tyrian"''; homepage = https://opentyrian.googlecode.com/; # This does not account of Tyrian data. # license = stdenv.lib.licenses.gpl2; diff --git a/pkgs/games/quake3/game/default.nix b/pkgs/games/quake3/game/default.nix index 6a05ab7f2bd7b73943d5da7bf2f5f09ac8b2bb99..596ba595d813dd5746db7f2cb8c2519740be8671 100644 --- a/pkgs/games/quake3/game/default.nix +++ b/pkgs/games/quake3/game/default.nix @@ -32,5 +32,7 @@ stdenv.mkDerivation { installTargets=copyfiles installFlags="COPYDIR=$out" ''; + + meta.broken = true; } diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix index 29d3b4e4557133fa7876de53255e4d81eb7f19e7..db42572de5eb67cffd553509007b9f6ad4cfd2ea 100644 --- a/pkgs/games/super-tux-kart/default.nix +++ b/pkgs/games/super-tux-kart/default.nix @@ -1,18 +1,19 @@ { fetchurl, cmake, stdenv, plib, SDL, openal, freealut, mesa , libvorbis, libogg, gettext, libXxf86vm, curl, pkgconfig -, fribidi, autoconf, automake, libtool }: +, fribidi, autoconf, automake, libtool, bluez }: stdenv.mkDerivation rec { - name = "supertuxkart-0.8"; + version = "0.8.1"; + name = "supertuxkart-${version}"; src = fetchurl { url = "mirror://sourceforge/supertuxkart/${name}-src.tar.bz2"; - sha256 = "12sbml4wxg2x2wgnnkxfisj96a9gcsaj3fj27kdk8yj524ikv7xr"; + sha256 = "1mpqmi62a2kl6n58mw11fj0dr5xiwmjkqnfmd2z7ghdhc6p02lrk"; }; buildInputs = [ plib SDL openal freealut mesa libvorbis libogg gettext - libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake + libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake bluez ]; enableParallelBuilding = true; @@ -27,15 +28,13 @@ stdenv.mkDerivation rec { meta = { description = "SuperTuxKart is a Free 3D kart racing game"; - longDescription = '' SuperTuxKart is a Free 3D kart racing game, with many tracks, characters and items for you to try, similar in spirit to Mario Kart. ''; - homepage = http://supertuxkart.sourceforge.net/; - license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/games/tcl2048/builder.sh b/pkgs/games/tcl2048/builder.sh new file mode 100644 index 0000000000000000000000000000000000000000..b34441cdc9965de04d0d8725b6e94a93cc8a9171 --- /dev/null +++ b/pkgs/games/tcl2048/builder.sh @@ -0,0 +1,5 @@ +source $stdenv/setup + +mkdir -p $out/bin +cp $src $out/bin/2048 +chmod +x $out/bin/2048 diff --git a/pkgs/games/tcl2048/default.nix b/pkgs/games/tcl2048/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..01ffd27d5bb4f79dcab1999d7cb6b960204cc056 --- /dev/null +++ b/pkgs/games/tcl2048/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, tcl, tcllib }: + +stdenv.mkDerivation { + name = "tcl2048-0.2.6"; + + src = fetchurl { + url = https://raw.githubusercontent.com/dbohdan/2048-tcl/v0.2.6/2048.tcl; + sha256 = "481eac7cccc37d1122c3069da6186f584906bd27b86b8d4ae1a2d7e355c1b6b2"; + }; + + builder = ./builder.sh; + + meta = { + homepage = https://github.com/dbohdan/2048-tcl; + description = "The game of 2048 implemented in Tcl."; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/games/teeworlds/default.nix b/pkgs/games/teeworlds/default.nix index c685f11c4c161f01d35d17b123cae6d9f448ed10..5276ec4cc34fa8687e556d6f30da00d654e0ca4b 100644 --- a/pkgs/games/teeworlds/default.nix +++ b/pkgs/games/teeworlds/default.nix @@ -51,7 +51,7 @@ EOF ''; meta = { - description = "Teeworlds, a retro multiplayer shooter game"; + description = "Retro multiplayer shooter game"; longDescription = '' Teeworlds is a free online multiplayer game, available for all diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix index 44d07cf3ffd57aa29efa4295cb79a27d8105b946..3cf91e11a55e1cbec2591c1dc2b7c8b01a07a571 100644 --- a/pkgs/games/the-butterfly-effect/default.nix +++ b/pkgs/games/the-butterfly-effect/default.nix @@ -1,6 +1,6 @@ x@{builderDefsPackage , qt4, box2d, which - ,fetchsvn + ,fetchsvn, cmake , ...}: builderDefsPackage (a : @@ -12,11 +12,11 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="tbe"; - revision="1319"; + revision="2048"; version="r${revision}"; name="${baseName}-${version}"; url="https://tbe.svn.sourceforge.net/svnroot/tbe/trunk"; - hash="e9a7c24f0668ba2f36c472c1d05238fa7d9ed2150d99ce8a927285d099cc0f7f"; + hash="19pqpkil4r5y9j4nszkbs70lq720nvqw8g8magd8nf2n3l9nqm51"; }; in rec { @@ -30,8 +30,7 @@ rec { inherit (sourceInfo) name version; inherit buildInputs; - phaseNames = ["setVars" "doConfigure" "doMakeInstall" "doDeploy"]; - configureCommand = "sh configure"; + phaseNames = ["setVars" "doCmake" "doMakeInstall" "doDeploy"]; setVars = a.noDepEntry '' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${a.box2d}/include/Box2D" diff --git a/pkgs/games/xskat/default.nix b/pkgs/games/xskat/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..bd41531d923630eaad40606262a4740d38a91b5e --- /dev/null +++ b/pkgs/games/xskat/default.nix @@ -0,0 +1,38 @@ +{stdenv, fetchurl, libX11, imake, gccmakedep}: + + +let + s = # Generated upstream information + rec { + baseName="xskat"; + version="4.0"; + name="${baseName}-${version}"; + + url="http://www.xskat.de/xskat-4.0.tar.gz"; + hash="8ba52797ccbd131dce69b96288f525b0d55dee5de4008733f7a5a51deb831c10"; + sha256="8ba52797ccbd131dce69b96288f525b0d55dee5de4008733f7a5a51deb831c10"; + }; + buildInputs = [ libX11 imake gccmakedep ]; +in + +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + preInstall = '' + sed -i Makefile \ + -e "s|.* BINDIR .*| BINDIR = $out/bin|" \ + -e "s|.* MANPATH .*| MANPATH = $out/man|" + ''; + installTargets = "install install.man"; + meta = { + inherit (s) version; + description = ''Famous german card game''; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.free; + longDescription = ''Play the german card game Skat against the AI or over IRC.''; + homepage = http://www.xskat.de/; + }; +} diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..bf03e1e52aa9d004cba2a6a7c80c241219ee74d1 --- /dev/null +++ b/pkgs/misc/emulators/dolphin-emu/default.nix @@ -0,0 +1,33 @@ +{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib +, gettext, libpthreadstubs, libXrandr, libXext, readline +, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchurl +, pulseaudio ? null }: + +stdenv.mkDerivation rec { + name = "dolphin-emu-4.0.2"; + src = fetchurl { + url = https://github.com/dolphin-emu/dolphin/archive/4.0.2.tar.gz; + sha256 = "0a8ikcxdify9d7lqz8fn2axk2hq4q1nvbcsi1b8vb9z0mdrhzw89"; + }; + + cmakeFlags = '' + -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include + -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include + -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0 + -DCMAKE_BUILD_TYPE=Release + -DENABLE_LTO=True + ''; + + enableParallelBuilding = true; + + buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib + gettext libpthreadstubs libXrandr libXext readline openal + libXdmcp portaudio SDL wxGTK30 pulseaudio ]; + + meta = { + homepage = http://dolphin-emu.org/; + description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM"; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ MP2E ]; + }; +} diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix new file mode 100644 index 0000000000000000000000000000000000000000..4823d41d1ac24399dc637c0591c2f8f3a75071a9 --- /dev/null +++ b/pkgs/misc/emulators/dolphin-emu/master.nix @@ -0,0 +1,34 @@ +{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib +, gettext, git, libpthreadstubs, libXrandr, libXext, readline +, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchgit +, pulseaudio ? null }: + +stdenv.mkDerivation rec { + name = "dolphin-emu-20140902"; + src = fetchgit { + url = git://github.com/dolphin-emu/dolphin.git; + rev = "cc6db8cf26c1508ae382912bc25e64aaf12e0543"; + sha256 = "17pc4kk1v0p1llc12ifih02j2klfjz29qh8nhz5lapb0a1wr6lb3"; + }; + + cmakeFlags = '' + -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include + -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include + -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0 + -DCMAKE_BUILD_TYPE=Release + -DENABLE_LTO=True + ''; + + enableParallelBuilding = true; + + buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib + gettext libpthreadstubs libXrandr libXext readline openal + git libXdmcp portaudio SDL wxGTK30 pulseaudio ]; + + meta = { + homepage = http://dolphin-emu.org/; + description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM"; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ MP2E ]; + }; +} diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..5767786e814a3d9d605c016757a3fffc987cd4f9 --- /dev/null +++ b/pkgs/misc/emulators/emulationstation/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, cmake, boost, eigen, freeimage, freetype +, mesa, SDL, dejavu_fonts }: + +stdenv.mkDerivation rec { + name = "emulationstation-${version}"; + version = "1.0.2"; + src = fetchurl { + url = "https://github.com/Aloshi/EmulationStation/archive/v${version}.tar.gz"; + sha256 = "809d67aaa727809c1426fb543e36bb788ca6a3404f8c46dd1917088b57ab5f50"; + }; + + buildInputs = [ pkgconfig cmake boost eigen freeimage freetype mesa SDL ]; + + prePatch = '' + sed -i \ + -e 's,/usr\(.*\)/ttf-dejavu\(.*\),${dejavu_fonts}\1\2,' src/Font.cpp + ''; + + buildPhase = "cmake . && make"; + installPhase = '' + mkdir -p $out/bin + mv ../emulationstation $out/bin/. + ''; + + meta = { + description = "A flexible emulator front-end supporting keyboardless navigation and custom system themes"; + homepage = "http://emulationstation.org"; + maintainers = [ stdenv.lib.maintainers.edwtjo ]; + license = stdenv.lib.licenses.mit; + }; +} \ No newline at end of file diff --git a/pkgs/misc/emulators/higan/builder.sh b/pkgs/misc/emulators/higan/builder.sh new file mode 100644 index 0000000000000000000000000000000000000000..144c23d39de509a13f4fa1882867ba40bca78840 --- /dev/null +++ b/pkgs/misc/emulators/higan/builder.sh @@ -0,0 +1,20 @@ + +source $stdenv/setup + +unpackPhase +cd $sourceName +make phoenix=gtk profile=accuracy -C ananke +make phoenix=gtk profile=accuracy + +install -dm 755 $out/share/applications $out/share/pixmaps $out/share/higan/Video\ Shaders $out/bin $out/lib + +install -m 644 data/higan.desktop $out/share/applications/ +install -m 644 data/higan.png $out/share/pixmaps/ +cp -dr --no-preserve=ownership profile/* data/cheats.bml $out/share/higan/ +cp -dr --no-preserve=ownership shaders/*.shader $out/share/higan/Video\ Shaders/ + +install -m 755 out/higan $out/bin/higan +install -m 644 ananke/libananke.so $out/lib/libananke.so.1 +(cd $out/lib && ln -s libananke.so.1 libananke.so) +oldRPath=$(patchelf --print-rpath $out/bin/higan) +patchelf --set-rpath $oldRPath:$out/lib $out/bin/higan diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..aceb55b139676c8d28fff8432dd50707b7fec273 --- /dev/null +++ b/pkgs/misc/emulators/higan/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl +, pkgconfig +, libX11, libXv +, udev +, mesa, gtk, SDL +, libao, openal, pulseaudio +}: + +stdenv.mkDerivation rec { + + name = "higan-${version}"; + version = "094"; + sourceName = "higan_v${version}-source"; + + src = fetchurl { + url = "http://byuu.org/files/${sourceName}.tar.xz"; + sha256 = "06qm271pzf3qf2labfw2lx6k0xcd89jndmn0jzmnc40cspwrs52y"; + curlOpts = "--user-agent 'Mozilla/5.0'"; # the good old user-agent trick... + }; + + buildInputs = with stdenv.lib; + [ pkgconfig libX11 libXv udev mesa gtk SDL libao openal pulseaudio ]; + + builder = ./builder.sh; + + meta = { + description = "An open-source, cycle-accurate Nintendo multi-system emulator"; + longDescription = '' + Higan (formerly bsnes) is a Nintendo multi-system emulator. + It currently supports the following systems: + Famicom; Super Famicom; + Game Boy; Game Boy Color; Game Boy Advance + higan also supports the following subsystems: + Super Game Boy; BS-X Satellaview; Sufami Turbo + ''; + homepage = http://byuu.org/higan/; + license = stdenv.lib.licenses.gpl3Plus; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} + +# +# TODO: +# - options to choose profiles (accuracy, balanced, performance) +# and different GUIs (gtk2, qt4) +# - fix the BML and BIOS paths - maybe a custom patch to Higan project? +# diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/misc/emulators/ppsspp/default.nix index ced8e1344dad438535a39a24add630472329feaa..4c49e1e3af2dc235193a2a928ae4a7b5dbeb6339 100644 --- a/pkgs/misc/emulators/ppsspp/default.nix +++ b/pkgs/misc/emulators/ppsspp/default.nix @@ -3,15 +3,15 @@ }: let - version = "0.9.9"; + version = "0.9.9.1"; fstat = x: fn: "-D" + fn + "=" + (if x then "ON" else "OFF"); in stdenv.mkDerivation { name = "PPSSPP-${version}"; src = fetchgit { url = "https://github.com/hrydgard/ppsspp.git"; - sha256 = "1m7awac87wrwys22qwbr0589im1ilm0dv30wp945xg30793rivvj"; - rev = "b421e29391b34d997b2c99ce2bdc74a0df5bb472"; + sha256 = "0fdbda0b4dfbecacd01850f1767e980281fed4cc34a21df26ab3259242d8c352"; + rev = "bf709790c4fed9cd211f755acaa650ace0f7555a"; fetchSubmodules = true; }; @@ -19,7 +19,7 @@ in stdenv.mkDerivation { ++ (if withGamepads then [ SDL ] else [ ]); configurePhase = "cd Qt && qmake PPSSPPQt.pro"; - installPhase = "mkdir -p $out/bin && cp PPSSPPQt $out/bin"; + installPhase = "mkdir -p $out/bin && cp ppsspp $out/bin"; meta = with stdenv.lib; { homepage = "http://www.ppsspp.org/"; diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3f10d7afb6e39b57c43d0e36aa50ac317708ca2b --- /dev/null +++ b/pkgs/misc/emulators/stella/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl +, pkgconfig, SDL2 +}: + +stdenv.mkDerivation rec { + + name = "stella-${version}"; + version = "4.0"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/project/stella/stella/${version}/${name}-src.tar.gz"; + sha256 = "1j96sj2qflq3agb7fvb08ih3pxy8nsvlkwj40q3n00q9k884ad5w"; + }; + + buildInputs = with stdenv.lib; + [ pkgconfig SDL2 ]; + + meta = with stdenv.lib; { + description = "An open-source Atari 2600 VCS emulator"; + longDescription = '' + Stella is a multi-platform Atari 2600 VCS emulator released under + the GNU General Public License (GPL). Stella was originally + developed for Linux by Bradford W. Mott, and is currently + maintained by Stephen Anthony. + As of its 3.5 release, Stella is officialy donationware. + ''; + homepage = http://stella.sourceforge.net/; + license = licenses.gpl2; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix index cd5c5a8b4790a490b8756d0b1c3437a33203c9bc..a7d52f2bca4f57a437341d11385d873a617aef78 100644 --- a/pkgs/misc/emulators/wine/unstable.nix +++ b/pkgs/misc/emulators/wine/unstable.nix @@ -7,12 +7,12 @@ assert stdenv.isLinux; assert stdenv.gcc.gcc != null; let - version = "1.7.23"; + version = "1.7.25"; name = "wine-${version}"; src = fetchurl { url = "mirror://sourceforge/wine/${name}.tar.bz2"; - sha256 = "012ww1yifayakw9n2m23sx83dc3i2xiq3bn5n9iprppdhwxpp76v"; + sha256 = "0h7mijxv5nhn0nn5knr8arq9bl7chi3diaa668yyhjbxwn15xqzm"; }; gecko = fetchurl { diff --git a/pkgs/misc/emulators/wine/unstable.upstream b/pkgs/misc/emulators/wine/unstable.upstream index e3616df768022606fa0035943e4f750979e662b8..fa78360c76af4b7678e27e855fc81a79cb5030d4 100644 --- a/pkgs/misc/emulators/wine/unstable.upstream +++ b/pkgs/misc/emulators/wine/unstable.upstream @@ -1,5 +1,5 @@ url http://sourceforge.net/projects/wine/files/Source/ -attribute_name wine_unstable +attribute_name wineUnstable version_link '[.]tar[.][^./]+/download$' SF_redirect do_overwrite () { diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix index 275b93e01b8b7f92d605dbea42aad7695c0f45df..b8c879d598ba9a02c92615b804e7ee45c10a9ebf 100644 --- a/pkgs/misc/ghostscript/default.nix +++ b/pkgs/misc/ghostscript/default.nix @@ -12,7 +12,7 @@ assert cupsSupport -> cups != null; let meta_common = { homepage = "http://www.gnu.org/software/ghostscript/"; - description = "GNU Ghostscript, a PostScript interpreter"; + description = "PostScript interpreter (GNU version)"; longDescription = '' Ghostscript is the name of a set of tools that provides (i) an @@ -48,7 +48,7 @@ let }; meta = meta_common // { homepage = "http://www.ghostscript.com/"; - description = "GPL Ghostscript, a PostScript interpreter"; + description = "PostScript interpreter (mainline version)"; }; preConfigure = '' diff --git a/pkgs/misc/my-env/loadenv.sh b/pkgs/misc/my-env/loadenv.sh index 1aab4ac0208ff2daf9eb0a27a85d0f9897b88d02..2a990e8685c35401716c085c1e2b7b6b8653f0f6 100644 --- a/pkgs/misc/my-env/loadenv.sh +++ b/pkgs/misc/my-env/loadenv.sh @@ -2,6 +2,8 @@ OLDPATH="$PATH" OLDTZ="$TZ" +OLD_http_proxy="$http_proxy" +OLD_ftp_proxy="$http_proxy" source @myenvpath@ PATH="$PATH:$OLDPATH" @@ -10,6 +12,8 @@ export NIX_MYENV_NAME="@name@" export buildInputs export NIX_STRIP_DEBUG=0 export TZ="$OLDTZ" +export http_proxy="$OLD_http_proxy" +export ftp_proxy="$OLD_ftp_proxy" if test $# -gt 0; then exec "$@" diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix index 0479174981004ca7299224ba1a8f1f77a60091d3..40fad768b16903adf339d2f3331886a13ffaa1cf 100644 --- a/pkgs/misc/screensavers/xscreensaver/default.nix +++ b/pkgs/misc/screensavers/xscreensaver/default.nix @@ -41,5 +41,8 @@ stdenv.mkDerivation rec { description = "A set of screensavers"; maintainers = with stdenv.lib.maintainers; [ raskin urkud ]; platforms = with stdenv.lib.platforms; allBut cygwin; + inherit version; + downloadPage = "http://www.jwz.org/xscreensaver/download.html"; + updateWalker = true; }; } diff --git a/pkgs/misc/xosd/default.nix b/pkgs/misc/xosd/default.nix index d6b73ed16fe05577579c8d4c02a84a0e8da504ab..54538be84b413e93b9ade10e15b1b1e7c146f0d9 100644 --- a/pkgs/misc/xosd/default.nix +++ b/pkgs/misc/xosd/default.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation rec { buildInputs = [ libX11 libXext libXt xextproto xproto ]; meta = { - description = "XOSD displays text on your screen"; + description = "Displays text on your screen"; }; } diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index 92b97ffb592e8e3a96cecc0b69fbd1cae6fcd93d..52e5d95346ed195a05cf4ecf47eb758c355d652a 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://conky.sourceforge.net/; - description = "Conky is an advanced, highly configurable system monitor based on torsmo"; + description = "Advanced, highly configurable system monitor based on torsmo"; maintainers = [ stdenv.lib.maintainers.guibert ]; license = stdenv.lib.licenses.gpl3Plus; }; diff --git a/pkgs/os-specific/linux/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix index d252d9ce16217e479c0a79ccec3cc665a4c81c95..78d403a3afcfc4a2c6d6877835c980479fe7ac68 100644 --- a/pkgs/os-specific/linux/conspy/default.nix +++ b/pkgs/os-specific/linux/conspy/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="conspy"; - version="1.9"; + version="1.10"; name="${baseName}-${version}"; - hash="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv"; - url="http://ace-host.stuart.id.au/russell/files/conspy/conspy-1.9.tar.gz"; - sha256="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv"; + hash="1vnph4xa1qp4sr52jc9zldmbdpkr6z5j7hk2vgyhfn7m1vc5g0qw"; + url="mirror://sourceforge/project/conspy/conspy-1.10-1/conspy-1.10.tar.gz"; + sha256="1vnph4xa1qp4sr52jc9zldmbdpkr6z5j7hk2vgyhfn7m1vc5g0qw"; }; buildInputs = [ autoconf automake ncurses diff --git a/pkgs/os-specific/linux/conspy/default.upstream b/pkgs/os-specific/linux/conspy/default.upstream index db0c0fd96802da877f957e3f44eca6fb1d865a49..3eeacf34694ee0670b21b680b303ac4d5f907e4e 100644 --- a/pkgs/os-specific/linux/conspy/default.upstream +++ b/pkgs/os-specific/linux/conspy/default.upstream @@ -1 +1,5 @@ -url http://ace-host.stuart.id.au/russell/files/conspy/ +url http://sourceforge.net/projects/conspy/files/ +version_link 'conspy-[-0-9.]+/$' +version_link '[-0-9.]+[.]tar[.][a-z0-9]+/download$' +SF_redirect +version '.*-([-0-9.]+)[.]tar[.].*' '\1' diff --git a/pkgs/os-specific/linux/dmraid/default.nix b/pkgs/os-specific/linux/dmraid/default.nix index 35efa8533ab114e0148df5ed88f8a8d6b923c163..ec4621e6957076485bbeeaf76ada58d46eca133c 100644 --- a/pkgs/os-specific/linux/dmraid/default.nix +++ b/pkgs/os-specific/linux/dmraid/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, devicemapper }: stdenv.mkDerivation rec { - name = "dmraid-1.0.0.rc15"; + name = "dmraid-1.0.0.rc16"; src = fetchurl { url = "http://people.redhat.com/~heinzm/sw/dmraid/src/old/${name}.tar.bz2"; - sha256 = "01bcaq0sc329ghgj7f182xws7jgjpdc41bvris8fsiprnxc7511h"; + sha256 = "0m92971gyqp61darxbiri6a48jz3wq3gkp8r2k39320z0i6w8jgq"; }; preConfigure = "cd */"; diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix index e024a608a0b6e5aa88ed18eb94864a5ad3e52cfc..70c13be9ab4b2541a30349886ca6185397c8229d 100644 --- a/pkgs/os-specific/linux/ffado/default.nix +++ b/pkgs/os-specific/linux/ffado/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "libffado-${version}"; - version = "2.1.0"; + version = "2.2.1"; src = fetchurl { url = "http://www.ffado.org/files/${name}.tgz"; - sha256 = "11cxmy31c19720j2171l735rpg7l8i41icsgqscfd2vkbscfmh6y"; + sha256 = "1ximic90l0av91njb123ra2zp6mg23yg5iz8xa5371cqrn79nacz"; }; buildInputs = @@ -19,6 +19,17 @@ stdenv.mkDerivation rec { patches = [ ./enable-mixer-and-dbus.patch ]; + # SConstruct checks cpuinfo and an objdump of /bin/mount to determine the appropriate arch + # Let's just skip this and tell it which to build + postPatch = if stdenv.isi686 then '' + sed '/def is_userspace_32bit(cpuinfo):/a\ + return True' -i SConstruct + '' + else '' + sed '/def is_userspace_32bit(cpuinfo):/a\ + return False' -i SConstruct + ''; + # TODO fix ffado-diag, it doesn't seem to use PYPKGDIR buildPhase = '' export PYLIBSUFFIX=lib/${python.libPrefix}/site-packages diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix index c1fa2c26205a854abe58e8047290bd2e10c976b8..d7f3d293c489c7b093afa3be9432a59a133e21bc 100644 --- a/pkgs/os-specific/linux/firejail/default.nix +++ b/pkgs/os-specific/linux/firejail/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="firejail"; - version="0.9.8.1"; + version="0.9.10"; name="${baseName}-${version}"; - hash="0wjanz42k301zdwv06ylnzqrabxy424j0k9dh4i4aqhvihvxr83x"; - url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.8.1.tar.bz2"; - sha256="0wjanz42k301zdwv06ylnzqrabxy424j0k9dh4i4aqhvihvxr83x"; + hash="0pjzs77r86nnhddpfm39f0a4lrzahq0cwi8d2wsg35gxvb19w1jg"; + url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.10.tar.bz2"; + sha256="0pjzs77r86nnhddpfm39f0a4lrzahq0cwi8d2wsg35gxvb19w1jg"; }; buildInputs = [ ]; diff --git a/pkgs/os-specific/linux/kernel/3.17-buildfix.patch b/pkgs/os-specific/linux/kernel/3.17-buildfix.patch new file mode 100644 index 0000000000000000000000000000000000000000..234f0ac749f6f393237628d720981d6af4603c33 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/3.17-buildfix.patch @@ -0,0 +1,62 @@ +From Shea Levy <> +Subject [PATCH 1/1] usb: gadget: Remove use of PWD in Makefiles +Date Thu, 28 Aug 2014 01:30:46 -0400 + +Using PWD breaks out-of-tree builds in certain circumstances [1], and +other kernel Makefiles use relative paths just fine. + +[1]: https://bugzilla.kernel.org/show_bug.cgi?id=83251 + +Signed-off-by: Shea Levy +--- + drivers/usb/gadget/Makefile | 2 +- + drivers/usb/gadget/function/Makefile | 4 ++-- + drivers/usb/gadget/legacy/Makefile | 6 +++--- + 3 files changed, 6 insertions(+), 6 deletions(-) +diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile +index a186afe..9add915 100644 +--- a/drivers/usb/gadget/Makefile ++++ b/drivers/usb/gadget/Makefile +@@ -3,7 +3,7 @@ + # + subdir-ccflags-$(CONFIG_USB_GADGET_DEBUG) := -DDEBUG + subdir-ccflags-$(CONFIG_USB_GADGET_VERBOSE) += -DVERBOSE_DEBUG +-ccflags-y += -I$(PWD)/drivers/usb/gadget/udc ++ccflags-y += -Idrivers/usb/gadget/udc + + obj-$(CONFIG_USB_LIBCOMPOSITE) += libcomposite.o + libcomposite-y := usbstring.o config.o epautoconf.o +diff --git a/drivers/usb/gadget/function/Makefile b/drivers/usb/gadget/function/Makefile +index 6d91f21..83ae106 100644 +--- a/drivers/usb/gadget/function/Makefile ++++ b/drivers/usb/gadget/function/Makefile +@@ -2,8 +2,8 @@ + # USB peripheral controller drivers + # + +-ccflags-y := -I$(PWD)/drivers/usb/gadget/ +-ccflags-y += -I$(PWD)/drivers/usb/gadget/udc/ ++ccflags-y := -Idrivers/usb/gadget/ ++ccflags-y += -Idrivers/usb/gadget/udc/ + + # USB Functions + usb_f_acm-y := f_acm.o +diff --git a/drivers/usb/gadget/legacy/Makefile b/drivers/usb/gadget/legacy/Makefile +index a11aad5..edba2d1 100644 +--- a/drivers/usb/gadget/legacy/Makefile ++++ b/drivers/usb/gadget/legacy/Makefile +@@ -2,9 +2,9 @@ + # USB gadget drivers + # + +-ccflags-y := -I$(PWD)/drivers/usb/gadget/ +-ccflags-y += -I$(PWD)/drivers/usb/gadget/udc/ +-ccflags-y += -I$(PWD)/drivers/usb/gadget/function/ ++ccflags-y := -Idrivers/usb/gadget/ ++ccflags-y += -Idrivers/usb/gadget/udc/ ++ccflags-y += -Idrivers/usb/gadget/function/ + + g_zero-y := zero.o + g_audio-y := audio.o +-- +2.1.0 \ No newline at end of file diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 7a6ba94eb9fe21f57cebc523975fdf9c87acf48c..d5c754eebc7b5b7772336ecaa57025a1516404af 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -337,6 +337,8 @@ with stdenv.lib; ZSMALLOC y ''} ZRAM m + + ${optionalString (versionAtLeast version "3.17") "NFC? n"} ${kernelPlatform.kernelExtraConfig or ""} ${extraConfig} diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 08611e4485621f5a5f0c31e215e368a0830af9d4..13250e45494fc54e315f2b141c2095605596d61a 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -28,6 +28,7 @@ }: assert stdenv.platform.name == "sheevaplug" -> stdenv.platform.uboot != null; +assert stdenv.isLinux; let diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix index 291e43a98e586e294ff9ce734e8b17a149b36c6b..c67c531667a5929a1feb708f9b44b76a366ce458 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.12.26"; + version = "3.12.27"; extraMeta.branch = "3.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1gp6brk2ix30g8dznd5yv1fq7yx82295va6cn7lwv6jj9w287s6c"; + sha256 = "0c8psz9k6k413b48dphclqs6wkh9wiwf5nslykg27afdqd6v4ycc"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index f44f3d327921b3e622efe431965e2e95144d36d8..ebbdd79ba167e696e9397b2b70afbdc84a4f0291 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,16 +1,17 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - # Reason to add: RTL8192EE - version = "3.16-rc3"; - modDirVersion = "3.16.0-rc3"; - extraMeta.branch = "3.16"; + version = "3.17-rc2"; + modDirVersion = "3.17.0-rc2"; + extraMeta.branch = "3.17"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/testing/linux-${version}.tar.xz"; - sha256 = "17jgv1hnx2im68f8721x11yfg8mpas7lsxg0j00qxv2fc6km2glm"; + sha256 = "094r4kqp7bj1wcdfsgdmv73law4zb7d0sd8lw82v3rz944mlm9y3"; }; + kernelPatches = args.kernelPatches ++ [ { name = "3.17-buildfix.patch"; patch = ./3.17-buildfix.patch; } ]; + features.iwlwifi = true; features.efiBootStub = true; features.needsCifsUtils = true; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index cfe006fbe4b57d7c64583db9298fc65b0e2758ae..c91b8ddfb44d2b0731e7549465cdfd802f92ced4 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -60,17 +60,17 @@ rec { }; grsecurity_stable = grsecPatch - { kversion = "3.14.10"; - revision = "201407012152"; + { kversion = "3.14.17"; + revision = "201408260041"; branch = "stable"; - sha256 = "1119044lzkr9wpr1gpl1g0bz67c2xpdd9bkddllij7ja24jv8sx1"; + sha256 = "1brcfxbdd5f29vci3bj2dk3878z24ncrjw268j4i1n8ms65jqda0"; }; grsecurity_unstable = grsecPatch - { kversion = "3.15.3"; - revision = "201407012153"; + { kversion = "3.15.10"; + revision = "201408212335"; branch = "test"; - sha256 = "0bccayakprc77530crxfr9v2hbs6hlcf290pj1ywlh1p861ljgbm"; + sha256 = "0ynnci7jms5a1acn8cpdw4w2j4jz5xai1da5w1l5r65909kwmx0k"; }; grsec_fix_path = diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix index bf30530e9ad30961310dbae7450e9fac3a641ea5..b3df129912e47806fc65fb89687cfb80d6495133 100644 --- a/pkgs/os-specific/linux/libaio/default.nix +++ b/pkgs/os-specific/linux/libaio/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchgit }: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libaio-0.3.109"; + version = "0.3.110"; + name = "libaio-${version}"; - src = fetchgit { - url = https://git.fedorahosted.org/git/libaio.git; - rev = "refs/tags/${name}"; - sha256 = "1wbziq0hqvnbckpxrz1cgr8dlw3mifs4xpy3qhnagbrrsmrq2rhi"; + src = fetchurl { + url = "https://fedorahosted.org/releases/l/i/libaio/${name}.tar.gz"; + sha256 = "0zjzfkwd1kdvq6zpawhzisv7qbq1ffs343i5fs9p498pcf7046g0"; }; makeFlags = "prefix=$(out)"; @@ -15,5 +15,7 @@ stdenv.mkDerivation rec { description = "Library for asynchronous I/O in Linux"; homepage = http://lse.sourceforge.net/io/aio.html; platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.lgpl21; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix index 8e20bf1e3d3f46f8d6194ed7cd63fa89aab663fa..4794cd8f96c3282479c9dcb1b5d9227df3f53613 100644 --- a/pkgs/os-specific/linux/lttng-modules/default.nix +++ b/pkgs/os-specific/linux/lttng-modules/default.nix @@ -26,6 +26,7 @@ stdenv.mkDerivation rec { # TODO license = with licenses; [ lgpl21 gpl2 mit ]; platforms = platforms.linux; maintainers = [ maintainers.bjornfor ]; + broken = true; }; } diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 9e2b0c9007947f6921201de93684253bddb50ee9..ee6165bfc9a50287d93230ef8381fee97e6a6157 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -1,19 +1,21 @@ -{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }: +{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils, enable_dmeventd ? false }: let - v = "2.02.106"; + version = "2.02.110"; in stdenv.mkDerivation { - name = "lvm2-${v}"; + name = "lvm2-${version}"; src = fetchurl { - url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${v}.tgz"; - sha256 = "0nr833bl0q4zq52drjxmmpf7bs6kqxwa5kahwwxm9411khkxz0vc"; + url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz"; + sha256 = "04fdzvv5431d1i4p701zkm9kc50087q56k7l2l5l5f3i9ah1mb9x"; }; configureFlags = - "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib"; + "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib --enable-cmdlib" + + (stdenv.lib.optionalString enable_dmeventd " --enable-dmeventd") + ; buildInputs = [ pkgconfig udev ]; @@ -54,5 +56,8 @@ stdenv.mkDerivation { homepage = http://sourceware.org/lvm2/; descriptions = "Tools to support Logical Volume Management (LVM) on Linux"; platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [raskin]; + inherit version; + downloadPage = "ftp://sources.redhat.com/pub/lvm2/"; }; } diff --git a/pkgs/os-specific/linux/lvm2/default.upstream b/pkgs/os-specific/linux/lvm2/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..1e5aaf5ab5cffb7345abd700d9259fb08388e503 --- /dev/null +++ b/pkgs/os-specific/linux/lvm2/default.upstream @@ -0,0 +1,4 @@ +url ftp://sources.redhat.com/pub/lvm2/ +version_link '[.]tgz$' +version '.*[^0-9.][^.]*[.]([0-9.]+)[.].*' '\1' +do_overwrite () { do_overwrite_just_version; } diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..e8dd56ab9e26e6b41bf36f4763722729d9fecec1 --- /dev/null +++ b/pkgs/os-specific/linux/nftables/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, docbook2x, docbook_xml_dtd_45 +, flex, bison, libmnl, libnftnl, gmp, readline }: + +stdenv.mkDerivation rec { + name = "nftables-0.3"; + + src = fetchurl { + url = "http://netfilter.org/projects/nftables/files/${name}.tar.bz2"; + sha256 = "0bww48hc424svxfx3fpqxmbmp0n42ahs1f28f5f6g29d8i2jcdsd"; + }; + + configureFlags = [ + "CONFIG_MAN=y" + "DB2MAN=docbook2man" + ]; + + XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml"; + + buildInputs = [ docbook2x flex bison libmnl libnftnl gmp readline ]; + + meta = with stdenv.lib; { + description = "the project that aims to replace the existing {ip,ip6,arp,eb}tables framework"; + homepage = http://netfilter.org/projects/nftables; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ wkennington ]; + }; +} diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2e25c0383b7b153a1f222a444517df5272dcd42f --- /dev/null +++ b/pkgs/os-specific/linux/openvswitch/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, openssl, python27, iproute, perl, kernel ? null}: +let + + version = "2.1.2"; + + skipKernelMod = kernel == null; + +in +stdenv.mkDerivation { + version = "2.1.2"; + name = "openvswitch-${version}"; + src = fetchurl { + url = "http://openvswitch.org/releases/openvswitch-2.1.2.tar.gz"; + sha256 = "16q7faqrj2pfchhn0x5s9ggi5ckcg9n62f6bnqaih064aaq2jm47"; + }; + kernel = if skipKernelMod then null else kernel.dev; + buildInputs = [ + openssl + python27 + perl + ]; + configureFlags = [ + "--localstatedir=/var" + "--sharedstatedir=/var" + "--sbindir=$(out)/bin" + ] ++ (if skipKernelMod then [] else ["--with-linux"]); + # Leave /var out of this! + installFlags = [ + "LOGDIR=$(TMPDIR)/dummy" + "RUNDIR=$(TMPDIR)/dummy" + "PKIDIR=$(TMPDIR)/dummy" + ]; + meta = { + platforms = stdenv.lib.platforms.linux; + description = "A multilayer virtual switch"; + longDescription = + '' + Open vSwitch is a production quality, multilayer virtual switch + licensed under the open source Apache 2.0 license. It is + designed to enable massive network automation through + programmatic extension, while still supporting standard + management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, + RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to + support distribution across multiple physical servers similar + to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. + ''; + homepage = "http://openvswitch.org/"; + licence = "Apache 2.0"; + }; +} diff --git a/pkgs/os-specific/linux/policycoreutils/default.nix b/pkgs/os-specific/linux/policycoreutils/default.nix index d312e25fc2e4335bf12f65270d95bef53bafbafe..ef7e76824db5ce17baf58976bc952084c1a30a3b 100644 --- a/pkgs/os-specific/linux/policycoreutils/default.nix +++ b/pkgs/os-specific/linux/policycoreutils/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "1lpwxr5hw3dwhlp2p7y8jcr18mvfcrclwd8c2idz3lmmb3pglk46"; }; - patchPhase = '' + preConfigure = '' substituteInPlace po/Makefile --replace /usr/bin/install install find . -type f -exec sed -i 's,/usr/bin/python,${python}/bin/python,' {} \; ''; @@ -36,6 +36,10 @@ stdenv.mkDerivation rec { makeFlags = "PREFIX=$(out) DESTDIR=$(out) LOCALEDIR=$(out)/share/locale"; + patches = [ ./size_format.patch ]; + + patchFlags = [ "-p0" ]; + meta = with stdenv.lib; { description = "SELinux policy core utilities"; license = licenses.gpl2; diff --git a/pkgs/os-specific/linux/policycoreutils/size_format.patch b/pkgs/os-specific/linux/policycoreutils/size_format.patch new file mode 100644 index 0000000000000000000000000000000000000000..0443209854797abffa9bbf3231aedf0520711394 --- /dev/null +++ b/pkgs/os-specific/linux/policycoreutils/size_format.patch @@ -0,0 +1,11 @@ +--- setfiles/restore.c.orig 2014-08-21 17:26:00.200788259 +0200 ++++ setfiles/restore.c 2014-08-21 17:26:04.728888118 +0200 +@@ -118,7 +118,7 @@ + r_opts->count++; + if (r_opts->count % STAR_COUNT == 0) { + if (r_opts->progress == 1) { +- fprintf(stdout, "\r%luk", (size_t) r_opts->count / STAR_COUNT ); ++ fprintf(stdout, "\r%zuk", (size_t) r_opts->count / STAR_COUNT ); + } else { + if (r_opts->nfile > 0) { + progress = (r_opts->count < r_opts->nfile) ? (100.0 * r_opts->count / r_opts->nfile) : 100; diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..0f0967079dfbe276eb706d65ca861a5d94d76296 --- /dev/null +++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchurl, skalibs }: + +let + + version = "1.0.3.1"; + +in stdenv.mkDerivation rec { + + name = "s6-linux-utils-${version}"; + + src = fetchurl { + url = "http://www.skarnet.org/software/s6-linux-utils/${name}.tar.gz"; + sha256 = "1s17g03z5hfpiz32g001g5wyamyvn9l36fr2csk3k7r0jkqfnl0d"; + }; + + buildInputs = [ skalibs ]; + + sourceRoot = "admin/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + printf "${skalibs}/sysdeps" > import + printf "%s" "${skalibs}/include" > path-include + printf "%s" "${skalibs}/lib" > path-library + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + meta = { + homepage = http://www.skarnet.org/software/s6-linux-utils/; + description = "A set of minimalistic Linux-specific system utilities."; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index b52801cacff76224513f29f64bd1695a41052e62..f928dc8e657c6ccc01c8ad955ef14c64e8c705e3 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -15,11 +15,11 @@ let in stdenv.mkDerivation rec { - name = "shadow-4.1.5.1"; + name = "shadow-4.2.1"; src = fetchurl { - url = "http://pkg-shadow.alioth.debian.org/releases/${name}.tar.bz2"; - sha256 = "1yvqx57vzih0jdy3grir8vfbkxp0cl0myql37bnmi2yn90vk6cma"; + url = "http://pkg-shadow.alioth.debian.org/releases/${name}.tar.xz"; + sha256 = "0h9x1zdbq0pqmygmc1x459jraiqw4gqz8849v268crk78z8r621v"; }; buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam; diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index d5e2ed3ff940525988d1c92d529a07faea09e9b2..80677a52a32b079cbf996813bf10ba37d431c7de 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -3,14 +3,14 @@ let inherit (stdenv.lib) optional optionalString; s = rec { baseName="sysdig"; - version="0.1.87"; + version = "0.1.88"; name="${baseName}-${version}"; url="https://github.com/draios/sysdig/archive/${version}.tar.gz"; - sha256="0xfildaj8kzbngpza47zqm363i6q87m97a18qlmdisrxmz11s32b"; + sha256 = "1a4ij3qpk1h7xnyhic6p21jp46p9lpnagfl46ky46snflld4bz96"; }; buildInputs = [ cmake zlib luajit - ] ++ optional (kernel != null) kernel; + ]; in stdenv.mkDerivation { inherit (s) name version; @@ -30,6 +30,10 @@ stdenv.mkDerivation { ''; postInstall = optionalString (kernel != null) '' make install_driver + kernel_dev=${kernel.dev} + kernel_dev=''${kernel_dev#/nix/store/} + kernel_dev=''${kernel_dev%%-linux*dev*} + sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko ''; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix index d4786037b5afff0a442254838bb44ccd7bc9769e..962aca77753227d0edd6f19cef984c646124a798 100644 --- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix +++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix @@ -3,11 +3,11 @@ , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }: stdenv.mkDerivation rec { - name = "xf86-input-wacom-0.25.0"; + name = "xf86-input-wacom-0.25.99.1"; src = fetchurl { url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2"; - sha256 = "06kwcxmgja0xwc5glzwmxm237bsv9fk52k2d6ffq4naqfzn2k31k"; + sha256 = "0vjl4m1w6j5j9yr2kw6f66n723ghq5jwxivbdjmacjw6r3ml4l9r"; }; buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix index 09b091b323c847b4f50155ce880150bd82fdc059..b5f9195abbdea5fc2e430e6367aea157e39d8258 100644 --- a/pkgs/servers/amqp/rabbitmq-server/default.nix +++ b/pkgs/servers/amqp/rabbitmq-server/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "rabbitmq-server-${version}"; - version = "3.3.4"; + version = "3.3.5"; src = fetchurl { url = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.gz"; - sha256 = "13nnsn34b44mz8w4b69bcpxmq4daqnxzd0lppg0f138pcssha43l"; + sha256 = "1hkhkpv2f0nzvw09zfrqg89mphdpn4nwvzrlqnhqf82bd2pzhsvs"; }; buildInputs = diff --git a/pkgs/servers/dico/default.nix b/pkgs/servers/dico/default.nix index ca4980f5a6c43fa55c4eba5c85421b0dd101465d..f345fe71a34ff4046ebadc0cc91f8592fd8e572e 100644 --- a/pkgs/servers/dico/default.nix +++ b/pkgs/servers/dico/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "GNU Dico, a flexible dictionary server and client implementing RFC 2229"; + description = "Flexible dictionary server and client implementing RFC 2229"; homepage = http://www.gnu.org/software/dico/; license = "GPLv3+"; maintainers = with maintainers; [ lovek323 ]; diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix index 921d8e907f19fda06a7af8763ab6d3a247644893..50e71a7454642f1b383fb44515e2e2ff57149c00 100644 --- a/pkgs/servers/dns/bind/default.nix +++ b/pkgs/servers/dns/bind/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://www.isc.org/software/bind"; - description = "ISC BIND: a domain name server"; + description = "Domain name server"; license = stdenv.lib.licenses.isc; maintainers = with stdenv.lib.maintainers; [viric simons]; diff --git a/pkgs/servers/felix/default.nix b/pkgs/servers/felix/default.nix index aa40365e8deaf8430e116122373fb66f843ba9d6..c1114232ea8f01830d321feb6091991a8e97947c 100644 --- a/pkgs/servers/felix/default.nix +++ b/pkgs/servers/felix/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { cp -av * $out ''; meta = { - description = "Apache Felix OSGi gateway"; + description = "An OSGi gateway"; homepage = http://felix.apache.org; license = "ASF"; maintainers = [ stdenv.lib.maintainers.sander ]; diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix index 365af29595c1e10decef3408128fdc4df7412bdb..3e778317169c48030250fc8543f214aee988e71b 100644 --- a/pkgs/servers/firebird/default.nix +++ b/pkgs/servers/firebird/default.nix @@ -79,7 +79,7 @@ stdenv.mkDerivation rec { installPhase = ''cp -r gen/firebird $out''; meta = { - description = "firebird database engine"; + description = "SQL relational database management system"; homepage = http://www.firebirdnews.org; license = ["IDPL" "Interbase-1.0"]; maintainers = [stdenv.lib.maintainers.marcweber]; diff --git a/pkgs/servers/http/couchdb/default.nix b/pkgs/servers/http/couchdb/default.nix index 35d4ebbf89f316d1b2b34d1405d3223a937d6ce5..0b5244a5974fc0c388a4e72e3501963574710ca2 100644 --- a/pkgs/servers/http/couchdb/default.nix +++ b/pkgs/servers/http/couchdb/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Apache CouchDB is a database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API"; + description = "A database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API"; homepage = "http://couchdb.apache.org"; license = stdenv.lib.licenses.asl20; maintainers = with stdenv.lib.maintainers; [ viric garbas ]; diff --git a/pkgs/servers/http/jboss/default.nix b/pkgs/servers/http/jboss/default.nix index d5768da4c8241dad34a2aae7947151af1aa003b2..86d371898872a75e071039eec341b0dc86ce23bd 100644 --- a/pkgs/servers/http/jboss/default.nix +++ b/pkgs/servers/http/jboss/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { meta = { homepage = "http://www.jboss.org/"; - description = "JBoss, Open Source J2EE application server"; + description = "Open Source J2EE application server"; license = "GPL/LGPL"; maintainers = [ lib.maintainers.sander ]; }; diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix index e301cc429b9ebd9251785f00ba81ebd248c7324a..571cd215356c11436ab71728ba1890f7f4e723f2 100644 --- a/pkgs/servers/http/openresty/default.nix +++ b/pkgs/servers/http/openresty/default.nix @@ -1,6 +1,8 @@ { stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, gd, geoip , perl }: +assert stdenv.isLinux; + with stdenv.lib; stdenv.mkDerivation rec { @@ -53,7 +55,7 @@ stdenv.mkDerivation rec { description = "A fast web application server built on Nginx"; homepage = http://openresty.org; license = licenses.bsd2; - platforms = platforms.all; + platforms = platforms.linux; maintainers = with maintainers; [ thoughtpolice ]; }; } diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix index ee0049ce08f6922a1f8b71cd7eab43dc09b395f8..19f20cc8823ca1c23657465adf6ff7ae4cd6e460 100644 --- a/pkgs/servers/http/tomcat/6.0.nix +++ b/pkgs/servers/http/tomcat/6.0.nix @@ -1,23 +1,6 @@ -{ stdenv, fetchurl }: - -let version = "6.0.39"; in - -stdenv.mkDerivation rec { - name = "apache-tomcat-${version}"; - - src = fetchurl { - url = "mirror://apache/tomcat/tomcat-6/v${version}/bin/${name}.tar.gz"; +import ./recent.nix + { + versionMajor = "6"; + versionMinor = "0.39"; sha256 = "19qix6affhc252n03smjf482drg3nxd27shni1gvhphgj3zfmgfy"; - }; - - installPhase = - '' - mkdir $out - mv * $out - ''; - - meta = { - homepage = http://tomcat.apache.org/; - description = "An implementation of the Java Servlet and JavaServer Pages technologies"; - }; -} + } diff --git a/pkgs/servers/http/tomcat/7.0.nix b/pkgs/servers/http/tomcat/7.0.nix new file mode 100644 index 0000000000000000000000000000000000000000..87bc57eb2b656f8bd308ed05d6958b7402cd432e --- /dev/null +++ b/pkgs/servers/http/tomcat/7.0.nix @@ -0,0 +1,6 @@ +import ./recent.nix + { + versionMajor = "7"; + versionMinor = "0.55"; + sha256 = "c20934fda63bc7311e2d8e067d67f886890c8be72280425c5f6f8fdd7a376c15"; + } diff --git a/pkgs/servers/http/tomcat/8.0.nix b/pkgs/servers/http/tomcat/8.0.nix new file mode 100644 index 0000000000000000000000000000000000000000..63b8d2bbc94ee52a38478715b7566b441f3147e7 --- /dev/null +++ b/pkgs/servers/http/tomcat/8.0.nix @@ -0,0 +1,6 @@ +import ./recent.nix + { + versionMajor = "8"; + versionMinor = "0.9"; + sha256 = "5ea3c8260088ee4fd223a532a4b0c23a10e549c34705e2f190279a1a7f1f83d9"; + } diff --git a/pkgs/servers/http/tomcat/recent.nix b/pkgs/servers/http/tomcat/recent.nix new file mode 100644 index 0000000000000000000000000000000000000000..0d11ba7a1046ff97131e1fed9e5243c59acc47a4 --- /dev/null +++ b/pkgs/servers/http/tomcat/recent.nix @@ -0,0 +1,24 @@ +{ versionMajor, versionMinor, sha256 }: +{ stdenv, fetchurl }: + +let version = "${versionMajor}.${versionMinor}"; in + +stdenv.mkDerivation rec { + name = "apache-tomcat-${version}"; + + src = fetchurl { + url = "mirror://apache/tomcat/tomcat-${versionMajor}/v${version}/bin/${name}.tar.gz"; + inherit sha256; + }; + + installPhase = + '' + mkdir $out + mv * $out + ''; + + meta = { + homepage = http://tomcat.apache.org/; + description = "An implementation of the Java Servlet and JavaServer Pages technologies"; + }; +} diff --git a/pkgs/servers/mail/mlmmj/default.nix b/pkgs/servers/mail/mlmmj/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2ad6dedbf697fb9725c42235b1c9305a14dc2c47 --- /dev/null +++ b/pkgs/servers/mail/mlmmj/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig }: + +stdenv.mkDerivation rec { + + name = "mlmmj-${version}"; + version = "1.2.18.1"; + + src = fetchurl { + url = "http://mlmmj.org/releases/${name}.tar.gz"; + sha256 = "336b6b20a6d7f0dcdc7445ecea0fe4bdacee241f624fcc710b4341780f35e383"; + }; + + meta = with stdenv.lib; { + homepage = http://mlmmj.org; + description = "Mailing List Management Made Joyful"; + maintainers = [ maintainers.edwtjo ]; + platforms = platforms.linux; + license = licenses.mit; + }; + +} \ No newline at end of file diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index 245c838607f3df4394ea007a14f8b6cf5a8bed97..0ce58e64015876af89a1c560aee011b7f6ddb66c 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -105,7 +105,7 @@ stdenv.mkDerivation rec { *.jar) continue;; esac wrapProgram "$file" \ - --set PERL5LIB "$out/lib/perl5/site_perl:${with perlPackages; stdenv.lib.makePerlPath [ + --set PERL5LIB "$out/lib/perl5/site_perl:${rrdtool}/lib/perl:${with perlPackages; stdenv.lib.makePerlPath [ Log4Perl IOSocketInet6 Socket6 URI DBFile DateManip HTMLTemplate FileCopyRecursive FCGI NetSNMP NetServer ListMoreUtils TimeHiRes DBDPg LWPUserAgent diff --git a/pkgs/servers/monitoring/riemann/default.nix b/pkgs/servers/monitoring/riemann/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..5278e5438133870133d69bb3950933395cfd3402 --- /dev/null +++ b/pkgs/servers/monitoring/riemann/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "riemann-${version}"; + version = "0.2.6"; + + src = fetchurl { + url = "http://aphyr.com/riemann/${name}.tar.bz2"; + sha256 = "1m1vkvdcpcc93ipzpdlq0lig81yw172qfiqbxlrbjyb0x6j1984d"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/share/java + mv lib/riemann.jar $out/share/java/ + ''; + + meta = with stdenv.lib; { + homepage = "http://riemann.io/"; + description = '' + A network monitoring system. + ''; + license = licenses.epl10; + platforms = platforms.all; + maintainers = [ maintainers.rickynils ]; + }; +} diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/servers/news/leafnode/default.nix index 56d402397ecd7ee23cb71405985eb98bde4dd176..23f236a9a34e1aa72523fc6b12e0c3e049981b6a 100644 --- a/pkgs/servers/news/leafnode/default.nix +++ b/pkgs/servers/news/leafnode/default.nix @@ -24,5 +24,6 @@ stdenv.mkDerivation rec { description = "Leafnode implements a store & forward NNTP proxy"; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.unix; + broken = true; # The user check in the configure does not work in a chroot }; } diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix index 77852b6d2ed9ad70a433e683bf39d6e601201aa2..6c6fb213cb8ca78306bce71ff6d8a9e1514e0ca5 100644 --- a/pkgs/servers/nosql/influxdb/default.nix +++ b/pkgs/servers/nosql/influxdb/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, makeWrapper }: +assert stdenv.isLinux; + stdenv.mkDerivation rec { name = "influxdb-${version}"; version = "0.7.0"; diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix index aa9da965d1728be8ea046de2cafb0c3693672138..40c255d592147bc91f447af96036f909ca0364ee 100644 --- a/pkgs/servers/nosql/mongodb/default.nix +++ b/pkgs/servers/nosql/mongodb/default.nix @@ -1,24 +1,25 @@ { stdenv, fetchurl, scons, boost, gperftools, pcre, snappy }: -let version = "2.6.0"; +with stdenv.lib; + +let version = "2.6.4"; system-libraries = [ - "tcmalloc" "pcre" "boost" "snappy" # "v8" -- mongo still bundles 3.12 and does not work with 3.15+ # "stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs) # "yaml" -- it seems nixpkgs' yamlcpp (0.5.1) is problematic for mongo - ]; - system-lib-args = stdenv.lib.concatStringsSep " " - (map (lib: "--use-system-${lib}") system-libraries); + ] ++ optionals (!stdenv.isDarwin) [ "tcmalloc" ]; + system-lib-args = concatStringsSep " " + (map (lib: "--use-system-${lib}") system-libraries); in stdenv.mkDerivation rec { name = "mongodb-${version}"; src = fetchurl { url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz"; - sha256 = "066kppjdmdpadjr09ildla3aw42anzsc9pa55iwp3wa4rgqd2i33"; + sha256 = "1h4rrgcb95234ryjma3fjg50qsm1bnxjx5ib0c3p9nzmc2ji2m07"; }; nativeBuildInputs = [ scons boost gperftools pcre snappy ]; @@ -40,9 +41,9 @@ in stdenv.mkDerivation rec { meta = { description = "a scalable, high-performance, open source NoSQL database"; homepage = http://www.mongodb.org; - license = stdenv.lib.licenses.agpl3; + license = licenses.agpl3; - maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; - platforms = stdenv.lib.platforms.linux; + maintainers = with maintainers; [ bluescreen303 offline ]; + platforms = platforms.unix; }; } diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..91c4472e049211347e11fade988bd91dfdefa83c --- /dev/null +++ b/pkgs/servers/nosql/neo4j/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, makeWrapper, jre, which, gnused }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "neo4j-${version}"; + version = "2.1.3"; + + src = fetchurl { + url = "http://dist.neo4j.org/neo4j-community-${version}-unix.tar.gz"; + sha256 = "0gcyy6ayn8qvxj6za5463lgy320mn4rq7q5qysc26fxjd73drrrk"; + }; + + buildInputs = [ makeWrapper jre which gnused ]; + + patchPhase = '' + substituteInPlace "bin/neo4j" --replace "NEO4J_INSTANCE=\$NEO4J_HOME" "" + ''; + + installPhase = '' + mkdir -p "$out/share/neo4j" + cp -R * "$out/share/neo4j" + + mkdir -p "$out/bin" + makeWrapper "$out/share/neo4j/bin/neo4j" "$out/bin/neo4j" \ + --prefix PATH : "${jre}/bin:${which}/bin:${gnused}/bin" + makeWrapper "$out/share/neo4j/bin/neo4j-shell" "$out/bin/neo4j-shell" \ + --prefix PATH : "${jre}/bin:${which}/bin:${gnused}/bin" + ''; + + meta = with stdenv.lib; { + description = "a highly scalable, robust (fully ACID) native graph database"; + homepage = "http://www.neo4j.org/"; + license = licenses.gpl3; + + maintainers = [ maintainers.offline ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/servers/pies/default.nix b/pkgs/servers/pies/default.nix index 958578138bc2905420e9366008eef63a2eb775c8..56c7da5caedfbe5b12565f95742c5f838d9f7888 100644 --- a/pkgs/servers/pies/default.nix +++ b/pkgs/servers/pies/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU Pies, a program invocation and execution supervisor"; + description = "A program invocation and execution supervisor"; longDescription = '' The name Pies (pronounced "p-yes") stands for Program Invocation and diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 2c6f6c104931825df0d1c8b18b71edf5024a7d76..a918007b47c66be58a3a876ed7f6521d179d70cf 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { installFlags = "sysconfdir=$(out)/etc pulseconfdir=$(out)/etc/pulse"; meta = with stdenv.lib; { - description = "PulseAudio, a sound server for POSIX and Win32 systems"; + description = "Sound server for POSIX and Win32 systems"; homepage = http://www.pulseaudio.org/; # Note: Practically, the server is under the GPL due to the # dependency on `libsamplerate'. See `LICENSE' for details. diff --git a/pkgs/servers/s6/default.nix b/pkgs/servers/s6/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..045e31207ba0543a9750ce5d18a2ad65b5de1506 --- /dev/null +++ b/pkgs/servers/s6/default.nix @@ -0,0 +1,57 @@ +{stdenv, fetchurl, skalibs, execline}: + +let + + version = "1.1.3.2"; + +in stdenv.mkDerivation rec { + + name = "s6-${version}"; + + src = fetchurl { + url = "http://www.skarnet.org/software/s6/${name}.tar.gz"; + sha256 = "0djxdd3d3mlp63sjqqs0ilf8p68m86c1s98d82fl0kgaaibpsikp"; + }; + + buildInputs = [ skalibs execline ]; + + sourceRoot = "admin/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + printf "$out/sysdeps" > conf-install-sysdeps + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + printf "${skalibs}/sysdeps" > import + printf "%s\n%s" "${skalibs}/include" "${execline}/include" > path-include + printf "%s\n%s" "${skalibs}/lib" "${execline}/lib" > path-library + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + substituteInPlace "src/daemontools-extras/s6-log.c" \ + --replace '"execlineb"' '"${execline}/bin/execlineb"' + + patchShebangs src/sys + ''; + + meta = { + homepage = http://www.skarnet.org/software/s6/; + description = "skarnet.org's small & secure supervision software suite."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/servers/shishi/default.nix b/pkgs/servers/shishi/default.nix index 2e0a4e84f6c7f9fe40d16427f029d9376ffcc363..a41915e5be8aeae48a42b35cd147a59dd70d2b3c 100644 --- a/pkgs/servers/shishi/default.nix +++ b/pkgs/servers/shishi/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU Shishi, free implementation of the Kerberos 5 network security system"; + description = "An implementation of the Kerberos 5 network security system"; homepage = http://www.gnu.org/software/shishi/; license = stdenv.lib.licenses.gpl3Plus; maintainers = with stdenv.lib.maintainers; [ bjg lovek323 ]; diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index bb0c0bc8da868cabc0f26247444cbc76afb241ad..0efdd542fa4e47a15c242e1f2aa49d08ff0708e1 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, ncurses, openssl, bison, boost, libxml2, libaio, judy, libevent, groff }: +{ stdenv, fetchurl, cmake, ncurses, openssl, bison, boost, libxml2, libaio, judy, libevent, groff, perl, fixDarwinDylibNames }: stdenv.mkDerivation rec { name = "mariadb-${version}"; @@ -9,12 +9,25 @@ stdenv.mkDerivation rec { sha256 = "039wz89vs03a27anpshj5xaqknm7cqi7mrypvwingqkq26ns0mhs"; }; - buildInputs = [ cmake ncurses openssl bison boost libxml2 libaio judy libevent groff ]; + buildInputs = [ cmake ncurses openssl bison boost libxml2 judy libevent groff ] + ++ stdenv.lib.optional (!stdenv.isDarwin) libaio + ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames ]; + + patches = stdenv.lib.optional stdenv.isDarwin ./my_context_asm.patch; cmakeFlags = [ "-DWITH_READLINE=yes" "-DWITH_EMBEDDED_SERVER=yes" "-DINSTALL_SCRIPTDIR=bin" ]; enableParallelBuilding = true; + prePatch = '' + substituteInPlace cmake/libutils.cmake \ + --replace /usr/bin/libtool libtool + ''; + postInstall = '' + substituteInPlace $out/bin/mysql_install_db \ + --replace basedir=\"\" basedir=\"$out\" + ''; + passthru.mysqlVersion = "5.5"; meta = { diff --git a/pkgs/servers/sql/mariadb/my_context_asm.patch b/pkgs/servers/sql/mariadb/my_context_asm.patch new file mode 100644 index 0000000000000000000000000000000000000000..3a747ed1b03cfced00832f9f06e03de99f011f32 --- /dev/null +++ b/pkgs/servers/sql/mariadb/my_context_asm.patch @@ -0,0 +1,18 @@ +--- a/mysys/my_context.c ++++ b/mysys/my_context.c +@@ -206,15 +206,6 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d) + ( + "movq %%rsp, (%[save])\n\t" + "movq %[stack], %%rsp\n\t" +-#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 4 && !defined(__INTEL_COMPILER) +- /* +- This emits a DWARF DW_CFA_undefined directive to make the return address +- undefined. This indicates that this is the top of the stack frame, and +- helps tools that use DWARF stack unwinding to obtain stack traces. +- (I use numeric constant to avoid a dependency on libdwarf includes). +- */ +- ".cfi_escape 0x07, 16\n\t" +-#endif + "movq %%rbp, 8(%[save])\n\t" + "movq %%rbx, 16(%[save])\n\t" + "movq %%r12, 24(%[save])\n\t" diff --git a/pkgs/servers/uhub/default.nix b/pkgs/servers/uhub/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a6e0d474d897862b12b2a2b6526e37a244bcba2e --- /dev/null +++ b/pkgs/servers/uhub/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, cmake, openssl, sqlite, pkgconfig, systemd +, tlsSupport ? false }: + +assert tlsSupport -> openssl != null; + +let version = "0.4.1"; in +stdenv.mkDerivation { + name = "uhub-${version}"; + + src = fetchurl { + url = "http://www.extatic.org/downloads/uhub/uhub-${version}-src.tar.bz2"; + sha256 = "1q0n74fb0h5w0k9fhfkznxb4r46qyfb8g2ss3wflivx4l0m1f9x2"; + }; + + buildInputs = [ cmake sqlite pkgconfig systemd ] ++ stdenv.lib.optional tlsSupport openssl; + + outputs = [ "out" + "mod_example" + "mod_welcome" + "mod_logging" + "mod_auth_simple" + "mod_auth_sqlite" + "mod_chat_history" + "mod_chat_only" + "mod_topic" + "mod_no_guest_downloads" + ]; + + patches = [ ./plugin-dir.patch ./systemd.patch ]; + + cmakeFlags = '' + -DSYSTEMD_SUPPORT=ON + ${if tlsSupport then "-DSSL_SUPPORT=ON" else "-DSSL_SUPPORT=OFF"} + ''; + + meta = with stdenv.lib; { + description = "High performance peer-to-peer hub for the ADC network"; + homepage = https://www.uhub.org/; + license = licenses.gpl3; + maintainers = [ maintainers.emery ]; + platforms = platforms.unix; + }; +} \ No newline at end of file diff --git a/pkgs/servers/uhub/plugin-dir.patch b/pkgs/servers/uhub/plugin-dir.patch new file mode 100644 index 0000000000000000000000000000000000000000..95ebfd6706ffda19f36ee5ce4cfc3f976fa933f8 --- /dev/null +++ b/pkgs/servers/uhub/plugin-dir.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 40e996e..d3b7e6d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -185,10 +185,16 @@ else() + # add_definitions(-DDEBUG) + endif() + ++set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads ) ++ + if (UNIX) + install( TARGETS uhub RUNTIME DESTINATION bin ) +- install( TARGETS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads DESTINATION /usr/lib/uhub/ OPTIONAL ) +- install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION /etc/uhub OPTIONAL ) ++ ++ foreach( PLUGIN ${PLUGINS} ) ++ install( TARGETS ${PLUGIN} DESTINATION $ENV{${PLUGIN}} OPTIONAL ) ++ endforeach( PLUGIN ) ++ ++ install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION doc/ OPTIONAL ) + + if (SQLITE_SUPPORT) + install( TARGETS uhub-passwd RUNTIME DESTINATION bin ) diff --git a/pkgs/servers/uhub/systemd.patch b/pkgs/servers/uhub/systemd.patch new file mode 100644 index 0000000000000000000000000000000000000000..05e7571d18d5f1ba9a93c9e49830c4a87e224abb --- /dev/null +++ b/pkgs/servers/uhub/systemd.patch @@ -0,0 +1,164 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 40e996e..fc4fb01 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,6 +19,7 @@ option(LINK_SUPPORT "Allow hub linking" OFF) + option(SSL_SUPPORT "Enable SSL support" ON) + option(USE_OPENSSL "Use OpenSSL's SSL support" ON ) + option(SQLITE_SUPPORT "Enable SQLite support" ON) ++option(SYSTEMD_SUPPORT "Enable systemd notify and journal logging" OFF) + option(ADC_STRESS "Enable the stress tester client" OFF) + + find_package(Git) +@@ -34,6 +35,12 @@ if (SSL_SUPPORT) + endif() + endif() + ++if (SYSTEMD_SUPPORT) ++ INCLUDE(FindPkgConfig) ++ pkg_search_module(SD_DAEMON REQUIRED libsystemd-daemon) ++ pkg_search_module(SD_JOURNAL REQUIRED libsystemd-journal) ++endif() ++ + if (MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + endif() +@@ -175,6 +182,18 @@ if(SSL_SUPPORT) + endif() + endif() + ++if (SYSTEMD_SUPPORT) ++ target_link_libraries(uhub ${SD_DAEMON_LIBRARIES}) ++ target_link_libraries(uhub ${SD_JOURNAL_LIBRARIES}) ++ target_link_libraries(test ${SD_DAEMON_LIBRARIES}) ++ target_link_libraries(test ${SD_JOURNAL_LIBRARIES}) ++ target_link_libraries(uhub-passwd ${SD_JOURNAL_LIBRARIES}) ++ target_link_libraries(uhub-admin ${SD_JOURNAL_LIBRARIES}) ++ include_directories(${SD_DAEMON_INCLUDE_DIRS}) ++ include_directories(${SD_JOURNAL_INCLUDE_DIRS}) ++ add_definitions(-DSYSTEMD) ++endif() ++ + configure_file ("${PROJECT_SOURCE_DIR}/version.h.in" "${PROJECT_SOURCE_DIR}/version.h") + + mark_as_advanced(FORCE CMAKE_BUILD_TYPE) +diff --git a/src/core/main.c b/src/core/main.c +index bb78672..ac2d2a8 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -19,6 +19,10 @@ + + #include "uhub.h" + ++#ifdef SYSTEMD ++#include ++#endif ++ + static int arg_verbose = 5; + static int arg_fork = 0; + static int arg_check_config = 0; +@@ -145,7 +149,16 @@ int main_loop() + } + #if !defined(WIN32) + setup_signal_handlers(hub); +-#endif ++#ifdef SYSTEMD ++ /* Notify the service manager that this daemon has ++ * been successfully initalized and shall enter the ++ * main loop. ++ */ ++ sd_notifyf(0, "READY=1\n" ++ "MAINPID=%lu", (unsigned long) getpid()); ++#endif /* SYSTEMD */ ++ ++#endif /* ! WIN32 */ + } + + hub_set_variables(hub, &acl); +@@ -216,13 +229,17 @@ void print_usage(char* program) + " -q Quiet mode - no output\n" + " -f Fork to background\n" + " -l Log messages to given file (default: stderr)\n" +- " -L Log messages to syslog\n" + " -c Specify configuration file (default: " SERVER_CONFIG ")\n" + " -C Check configuration and return\n" + " -s Show configuration parameters\n" + " -S Show configuration parameters, but ignore defaults\n" + " -h This message\n" + #ifndef WIN32 ++#ifdef SYSTEMD ++ " -L Log messages to journal\n" ++#else ++ " -L Log messages to syslog\n" ++#endif + " -u Run as given user\n" + " -g Run with given group permissions\n" + " -p Store pid in file (process id)\n" +diff --git a/src/util/log.c b/src/util/log.c +index 42badb3..2d97528 100644 +--- a/src/util/log.c ++++ b/src/util/log.c +@@ -21,7 +21,15 @@ + #include + + #ifndef WIN32 ++ ++#ifdef SYSTEMD ++#define SD_JOURNAL_SUPPRESS_LOCATION ++#include ++ ++#else + #include ++#endif ++ + static int use_syslog = 0; + #endif + +@@ -83,7 +91,9 @@ void hub_log_initialize(const char* file, int syslog) + if (syslog) + { + use_syslog = 1; ++ #ifndef SYSTEMD + openlog("uhub", LOG_PID, LOG_USER); ++ #endif + } + #endif + +@@ -132,7 +142,9 @@ void hub_log_shutdown() + if (use_syslog) + { + use_syslog = 0; ++ #ifndef SYSTEMD + closelog(); ++ #endif + } + #endif + } +@@ -212,7 +224,12 @@ void hub_log(int log_verbosity, const char *format, ...) + case log_fatal: level = LOG_CRIT; break; + case log_error: level = LOG_ERR; break; + case log_warning: level = LOG_WARNING; break; +- case log_user: level = LOG_INFO | LOG_AUTH; break; ++ #ifdef SYSTEMD ++ case log_user: level = LOG_INFO; break; ++ ++ #else ++ case log_user: level = LOG_INFO | LOG_AUTH; break; ++ #endif + case log_info: level = LOG_INFO; break; + case log_debug: level = LOG_DEBUG; break; + +@@ -224,8 +241,13 @@ void hub_log(int log_verbosity, const char *format, ...) + if (level == 0) + return; + ++ #ifdef SYSTEMD ++ sd_journal_print(level, "%s", logmsg); ++ ++ #else + level |= (LOG_USER | LOG_DAEMON); + syslog(level, "%s", logmsg); ++ #endif + } + #endif + diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 6945d6559fbb4ae67b8ef98492febc3af247bf26..c4dfa983f55fcdf5eb2f9ecbdaef7cab808d205c 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1644,6 +1644,16 @@ let buildInputs = [pkgconfig fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ]; }) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;}; + xf86videoqxl = (mkDerivation "xf86videoqxl" { + name = "xf86-video-qxl-0.1.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-qxl-0.1.2.tar.bz2; + sha256 = "09sjpkg7klzzg9sagmqpsw911501vqk9wdd4nr0jkqqanvkx39s3"; + }; + buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ]; + }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;}; + xf86videor128 = (mkDerivation "xf86videor128" { name = "xf86-video-r128-6.9.2"; builder = ./builder.sh; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index a81b1a4ac22599210ab73a25d81870d9308c794c..93afa06a7f24b39c44dc132396714fdeee044bfa 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -205,6 +205,10 @@ in buildInputs = attrs.buildInputs ++ [ args.mesa_drivers ]; # for libxatracker }; + xf86videoqxl = attrs: attrs // { + buildInputs = attrs.buildInputs ++ [ args.spice_protocol ]; + }; + xdriinfo = attrs: attrs // { buildInputs = attrs.buildInputs ++ [args.mesa]; }; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 417d12ddadc957533c02a9c59ab373b947b65200..93acd927f3bf0148df19d1aaeae6953582e7da17 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -138,6 +138,7 @@ mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2 mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2 mirror://xorg/individual/driver/xf86-video-modesetting-0.9.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-qxl-0.1.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2 diff --git a/pkgs/servers/zookeeper/default.nix b/pkgs/servers/zookeeper/default.nix new file mode 100755 index 0000000000000000000000000000000000000000..307993a958ad5cb2fb864ab152daa402f84e875f --- /dev/null +++ b/pkgs/servers/zookeeper/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, jre, makeWrapper, bash }: + +stdenv.mkDerivation rec { + name = "zookeeper-3.4.6"; + + src = fetchurl { + url = "mirror://apache/zookeeper/${name}/${name}.tar.gz"; + sha256 = "01b3938547cd620dc4c93efe07c0360411f4a66962a70500b163b59014046994"; + }; + + buildInputs = [ makeWrapper jre ]; + + phases = ["unpackPhase" "installPhase"]; + + installPhase = '' + mkdir -p $out + cp -R conf docs lib ${name}.jar $out + mkdir -p $out/bin + cp -R bin/{zkCli,zkCleanup,zkEnv}.sh $out/bin + for i in $out/bin/{zkCli,zkCleanup}.sh; do + wrapProgram $i \ + --set JAVA_HOME "${jre}" \ + --prefix PATH : "${bash}/bin" + done + chmod -x $out/bin/zkEnv.sh + ''; + + meta = with stdenv.lib; { + homepage = "http://zookeeper.apache.org"; + description = "Apache Zookeeper"; + license = licenses.asl20; + maintainers = [ maintainers.nathan-gs ]; + platforms = platforms.unix; + }; + +} diff --git a/pkgs/shells/ipython/default.nix b/pkgs/shells/ipython/default.nix index cb0cc95c4cedd4e3e231ea3644a854b276ec7a61..990eb174bafc8bd0eba346c8d636db654201d18f 100644 --- a/pkgs/shells/ipython/default.nix +++ b/pkgs/shells/ipython/default.nix @@ -13,12 +13,12 @@ assert qtconsoleSupport == true -> pyqt4 != null; assert pylabQtSupport == true -> pyqt4 != null && sip != null; buildPythonPackage rec { - name = "ipython-2.0.0"; + name = "ipython-2.2.0"; namePrefix = ""; src = fetchurl { url = "http://pypi.python.org/packages/source/i/ipython/${name}.tar.gz"; - sha256 = "0fl9sznx83y2ck8wh5zr8avzjm5hz6r0xz38ij2fil3gin7w10sf"; + sha256 = "1qk44lmir24gnwb3gxh0mqcghc8ln1i5ygxpalh06bx0ajx7gjmp"; }; propagatedBuildInputs = [ diff --git a/pkgs/shells/rush/default.nix b/pkgs/shells/rush/default.nix index e9d0c61ee0812adb78def0619ad2f43122dd3f58..3232caf5848bc59460e945da0a15177187c751e0 100644 --- a/pkgs/shells/rush/default.nix +++ b/pkgs/shells/rush/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU Rush, Restricted User Shell"; + description = "Restricted User Shell"; longDescription = '' GNU Rush is a Restricted User Shell, designed for sites diff --git a/pkgs/tools/X11/hsetroot/default.nix b/pkgs/tools/X11/hsetroot/default.nix index d91f4bfdf652e5decdbcb33655e18595b4f392ce..e226f1f93c435da4c189089c05c09f1477b14409 100644 --- a/pkgs/tools/X11/hsetroot/default.nix +++ b/pkgs/tools/X11/hsetroot/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation { buildInputs = [ imlib2 libX11 libXext ]; meta = { - description = "hsetroot allows you to compose wallpapers ('root pixmaps') for X"; + description = "Allows you to compose wallpapers ('root pixmaps') for X"; homepage = http://thegraveyard.org/hsetroot.html; license = stdenv.lib.licenses.gpl2Plus; }; diff --git a/pkgs/tools/X11/obconf/default.nix b/pkgs/tools/X11/obconf/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..e1a2e0dd496d1bbf8e478b9484b4b43b0b6d5ad1 --- /dev/null +++ b/pkgs/tools/X11/obconf/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, gtk, libglade, openbox, + imlib2, libstartup_notification, makeWrapper }: + +stdenv.mkDerivation rec { + name = "obconf-${version}"; + version = "2.0.4"; + + src = fetchurl { + url = "http://openbox.org/dist/obconf/obconf-${version}.tar.gz"; + sha256 = "1fanjdmd8727kk74x5404vi8v7s4kpq48l583d12fsi4xvsfb8vi"; + }; + + buildInputs = [ + pkgconfig gtk libglade openbox imlib2 libstartup_notification makeWrapper + ]; + + postInstall = '' + wrapProgram $out/bin/obconf --prefix XDG_DATA_DIRS : ${openbox}/share/ + ''; + + meta = { + description = "GUI configuration tool for openbox"; + homepage = "http://openbox.org/wiki/ObConf"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.lhvwb ]; + }; +} diff --git a/pkgs/tools/X11/wmctrl/default.nix b/pkgs/tools/X11/wmctrl/default.nix index 3f691b8ecd451296c5fc6cd52c19e3be18135c0f..2e23e7bd4de42da2921bf23378c89991baf9f823 100644 --- a/pkgs/tools/X11/wmctrl/default.nix +++ b/pkgs/tools/X11/wmctrl/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://tomas.styblo.name/wmctrl/; - description = "wmctrl is a UNIX/Linux command line tool to interact with an EWMH/NetWM compatible X Window Manager"; + description = "Command line tool to interact with an EWMH/NetWM compatible X Window Manager"; license = stdenv.lib.licenses.gpl2; platforms = with stdenv.lib.platforms; all; }; diff --git a/pkgs/tools/X11/xinput_calibrator/default.nix b/pkgs/tools/X11/xinput_calibrator/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..8f21f6558ffc4cb01f5ec12a01fcf5f59f432132 --- /dev/null +++ b/pkgs/tools/X11/xinput_calibrator/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, libXi, inputproto, autoconf, automake, libtool, m4, x11, pkgconfig }: + +stdenv.mkDerivation rec { + version = "0.7.5"; + name = "xinput_calibrator"; + src = fetchurl { + url = "https://github.com/tias/${name}/archive/v${version}.tar.gz"; + sha256 = "d8edbf84523d60f52311d086a1e3ad0f3536f448360063dd8029bf6290aa65e9"; + }; + + preConfigure = "./autogen.sh --with-gui=X11"; + + buildInputs = [ inputproto libXi autoconf automake libtool m4 x11 pkgconfig ]; + + meta = { + homepage = https://github.com/tias/xinput_calibrator; + description = "A generic touchscreen calibration program for X.Org"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.flosse ]; + }; +} diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix index 0e92021b62c91d102cdea69274257a694fd2d10a..43fa105e68086e51292d688cebcc080890e47faa 100644 --- a/pkgs/tools/X11/xnee/default.nix +++ b/pkgs/tools/X11/xnee/default.nix @@ -2,11 +2,12 @@ , gtk, libXi, inputproto, pkgconfig, recordproto, texinfo }: stdenv.mkDerivation rec { - name = "xnee-3.12"; + version = "3.19"; + name = "xnee-${version}"; src = fetchurl { url = "mirror://gnu/xnee/${name}.tar.gz"; - sha256 = "10vxn0in0l2jir6x90grx5jc64x63l3b0f8liladdbplc8za8zmw"; + sha256 = "04n2lac0vgpv8zsn7nmb50hf3qb56pmj90dmwnivg09gyrf1x92j"; }; patchPhase = @@ -34,7 +35,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU Xnee, an X11 event recording and replay tool"; + description = "X11 event recording and replay tool"; longDescription = '' Xnee is a suite of programs that can record, replay and distribute @@ -48,7 +49,7 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/xnee/; - maintainers = [ ]; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; platforms = stdenv.lib.platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/tools/X11/xtrace/default.nix b/pkgs/tools/X11/xtrace/default.nix index efc0647f5dbd3dda4d9623b702de4f8f2a0937d0..c3c9c70fe9272db81212fbdf5a0505595b2d2a9c 100644 --- a/pkgs/tools/X11/xtrace/default.nix +++ b/pkgs/tools/X11/xtrace/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { meta = { homepage = http://xtrace.alioth.debian.org/; - description = "xtrace, a tool to trace X11 protocol connections"; + description = "Tool to trace X11 protocol connections"; license = stdenv.lib.licenses.gpl2; maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix index 7393336f2be4cd9e7df8b66555c8a30ac1925226..a7ec73f55d7366dcbbbc9d28be986c8f28899a4a 100644 --- a/pkgs/tools/admin/tigervnc/default.nix +++ b/pkgs/tools/admin/tigervnc/default.nix @@ -53,7 +53,12 @@ stdenv.mkDerivation rec { patch -p1 < $a done autoreconf -vfi - ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx --prefix="$out" --disable-unit-tests + ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest \ + --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx \ + --prefix="$out" --disable-unit-tests \ + --with-xkb-path=${xkeyboard_config}/share/X11/xkb \ + --with-xkb-bin-directory=${xkbcomp}/bin \ + --with-xkb-output=$out/share/X11/xkb/compiled make TIGERVNC_SRCDIR=`pwd`/../.. popd ''; diff --git a/pkgs/tools/admin/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix index acb8708ec14fdf591b349d85995770db326f1a72..407242cf2d9bb7d006e251617f139e3117bbbd03 100644 --- a/pkgs/tools/admin/tightvnc/default.nix +++ b/pkgs/tools/admin/tightvnc/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { meta = { license = stdenv.lib.licenses.gpl2Plus; homepage = "http://vnc-tight.sourceforge.net/"; - description = "TightVNC is an improved version of VNC"; + description = "Improved version of VNC"; longDescription = '' TightVNC is an improved version of VNC, the great free diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix index afd734fbae04c4b4c246c13087cd9bde3e6547c3..f19564e4ad916524b3cca95b1d1d7490cc01e2c2 100644 --- a/pkgs/tools/archivers/sharutils/default.nix +++ b/pkgs/tools/archivers/sharutils/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "GNU Sharutils, tools for remote synchronization and `shell archives'"; + description = "Tools for remote synchronization and `shell archives'"; longDescription = '' GNU shar makes so-called shell archives out of many files, preparing diff --git a/pkgs/tools/audio/pnmixer/default.nix b/pkgs/tools/audio/pnmixer/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..d7964c0961c6818ad79845e7b8681d8aa4ce2f47 --- /dev/null +++ b/pkgs/tools/audio/pnmixer/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchgit, alsaLib, pkgconfig, gtk3, glibc, autoconf, automake, libnotify, libX11, gettext }: + +stdenv.mkDerivation rec { + name = "pnmixer"; + + src = fetchgit { + url = "git://github.com/nicklan/pnmixer.git"; + rev = "1e09a075c0c63d8b161b13ea92528a798bdb464a"; + sha256 = "15k689xycpc6pvq9vgg9ak92b9sg09dh4yrh83kjcaws63alrzl5"; + }; + + buildInputs = [ + alsaLib pkgconfig gtk3 glibc autoconf automake libnotify libX11 gettext + ]; + + preConfigure = '' + ./autogen.sh + ''; + + # work around a problem related to gtk3 updates + NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; + + meta = with stdenv.lib; { + description = "ALSA mixer for the system tray"; + license = licenses.gpl3; + maintainers = with maintainers; [ campadrenalin ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index 45d6cb83739ab245c67af1c4cd34e0c5693415de..0f8c46e2dc31e568a286a87609726617c4e6ae8e 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -1,14 +1,15 @@ -{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper, lockfile }: +{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper +, lockfile, setuptools }: let - version = "0.6.23"; + version = "0.6.24"; in stdenv.mkDerivation { name = "duplicity-${version}"; src = fetchurl { url = "http://code.launchpad.net/duplicity/0.6-series/${version}/+download/duplicity-${version}.tar.gz"; - sha256 = "0q0ckkmyq9z7xfbb1jajflmbzjwxpcjkkiab43rxrplm0ghz25vs"; + sha256 = "0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x"; }; installPhase = '' @@ -20,7 +21,7 @@ stdenv.mkDerivation { --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \ ''; - buildInputs = [ python librsync makeWrapper ]; + buildInputs = [ python librsync makeWrapper setuptools ]; meta = { description = "Encrypted bandwidth-efficient backup using the rsync algorithm"; diff --git a/pkgs/tools/backup/partclone/default.nix b/pkgs/tools/backup/partclone/default.nix index b446b06f987c7c19b3e3cbc25c206035d2631fb5..fe2b9e00aaaf254ebefb1391757cdd2e30ac2af8 100644 --- a/pkgs/tools/backup/partclone/default.nix +++ b/pkgs/tools/backup/partclone/default.nix @@ -17,7 +17,13 @@ stdenv.mkDerivation { installPhase = ''make INSTPREFIX=$out install''; meta = { - description = "Partclone provides utilities to save and restore used blocks on a partition and is designed for higher compatibility of the file system by using existing libraries, e.g. e2fslibs is used to read and write the ext2 partition"; + description = "Utilities to save and restore used blocks on a partition"; + longDescription = '' + Partclone provides utilities to save and restore used blocks on a + partition and is designed for higher compatibility of the file system by + using existing libraries, e.g. e2fslibs is used to read and write the + ext2 partition. + ''; homepage = http://partclone.org; license = stdenv.lib.licenses.gpl2; maintainers = [stdenv.lib.maintainers.marcweber]; diff --git a/pkgs/tools/cd-dvd/xorriso/default.nix b/pkgs/tools/cd-dvd/xorriso/default.nix index 88cca66efb13ec23f615b1483e0136ecd6297351..218ea9a1e7ffb6e49a11113f93348057f2db2842 100644 --- a/pkgs/tools/cd-dvd/xorriso/default.nix +++ b/pkgs/tools/cd-dvd/xorriso/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional stdenv.isLinux acl; meta = { - description = "GNU xorriso, an ISO 9660 Rock Ridge file system manipulator"; + description = "ISO 9660 Rock Ridge file system manipulator"; longDescription = '' GNU xorriso copies file objects from POSIX compliant filesystems diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix index b7bf9c59f494fdcec2c69cfb7cb06b1f3bb52d97..cc304d9aa1e593dadb72c48f20138d5bf5aed373 100644 --- a/pkgs/tools/compression/gzip/default.nix +++ b/pkgs/tools/compression/gzip/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnu.org/software/gzip/; - description = "Gzip, the GNU zip compression program"; + description = "GNU zip compression program"; longDescription = ''gzip (GNU zip) is a popular data compression program written by diff --git a/pkgs/tools/compression/rzip/default.nix b/pkgs/tools/compression/rzip/default.nix index ca8d356abb3eab878439a89938afdf1ce340b6a1..4460ae6edf3edc7b892bfb133c08ba19b1e8a71f 100644 --- a/pkgs/tools/compression/rzip/default.nix +++ b/pkgs/tools/compression/rzip/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { meta = { homepage = http://rzip.samba.org/; - description = "The RZIP compression program"; + description = "Compression program"; license = stdenv.lib.licenses.gpl2Plus; }; } diff --git a/pkgs/tools/compression/xar/default.nix b/pkgs/tools/compression/xar/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..0bb4a1fb2ae4af0ef06af20b67d37412baa0959e --- /dev/null +++ b/pkgs/tools/compression/xar/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, libxml2, openssl, zlib, bzip2 }: + +stdenv.mkDerivation rec { + version = "1.5.2"; + name = "xar-${version}"; + + src = fetchurl { + url = "https://xar.googlecode.com/files/${name}.tar.gz"; + sha256 = "1rp3va6akzlh35yqrapfqnbxaxa0zi8wyr93swbapprwh215cpac"; + }; + + buildInputs = [ libxml2 openssl zlib bzip2 ]; + + meta = { + homepage = https://code.google.com/p/xar/; + description = "Extensible Archiver"; + + longDescription = + '' The XAR project aims to provide an easily extensible archive format. + Important design decisions include an easily extensible XML table of + contents for random access to archived files, storing the toc at the + beginning of the archive to allow for efficient handling of streamed + archives, the ability to handle files of arbitrarily large sizes, the + ability to choose independent encodings for individual files in the + archive, the ability to store checksums for individual files in both + compressed and uncompressed form, and the ability to query the table + of content's rich meta-data. + ''; + + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ copumpkin ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index 66152f9589b7c8e8d70de41928eaf4ec3e78ff4d..02f214ad430eae603c188837ff27cd4252241d1f 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }: -let version = "3.14.2"; in +let version = "3.16"; in stdenv.mkDerivation rec { name = "btrfs-progs-${version}"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/mason/btrfs-progs/btrfs-progs-v${version}.tar.xz"; - sha256 = "14vpj6f2v076v9zabgrz8l4dp6n1ar2mvk3lvii51ykvi35d1qbh"; + sha256 = "0phbrgipl04q8cdj9nnshik7b6p2bg51jxb3l1gvfc04dkgm2xls"; }; buildInputs = [ @@ -21,10 +21,11 @@ stdenv.mkDerivation rec { makeFlags = "prefix=$(out)"; - meta = { + meta = with stdenv.lib; { description = "Utilities for the btrfs filesystem"; homepage = https://btrfs.wiki.kernel.org/; - maintainers = [ stdenv.lib.maintainers.raskin ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + maintainers = with maintainers; [ raskin wkennington ]; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/filesystems/chunkfs/default.nix b/pkgs/tools/filesystems/chunkfs/default.nix index d91525e348f76961616da26fdcfbce56ee481213..f8c6942bad0eefd77462093c60e2e6c215deba46 100644 --- a/pkgs/tools/filesystems/chunkfs/default.nix +++ b/pkgs/tools/filesystems/chunkfs/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "(Un)ChunkFS is a pair of FUSE filesystems for viewing chunksync-style directory trees as a block device and vice versa."; + description = "FUSE filesystems for viewing chunksync-style directory trees as a block device and vice versa"; homepage = "http://chunkfs.florz.de/"; license = stdenv.lib.licenses.gpl2; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/tools/filesystems/encfs/default.nix b/pkgs/tools/filesystems/encfs/default.nix index 9ebab38984bca99451a82d656da5c7c55495ce8d..ea96001a421b312f1aa81b6f343daf67d95555fc 100644 --- a/pkgs/tools/filesystems/encfs/default.nix +++ b/pkgs/tools/filesystems/encfs/default.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation { meta = { homepage = http://www.arg0.net/encfs; - description = "EncFS provides an encrypted filesystem in user-space via FUSE"; + description = "Provides an encrypted filesystem in user-space via FUSE"; }; } diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix index 0b666f3894204ffc5ab00ed2338cad33e7d9d3cc..6b9631bfccfe02854dbcbfa90e3130b3ef8df120 100644 --- a/pkgs/tools/filesystems/mtools/default.nix +++ b/pkgs/tools/filesystems/mtools/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnu.org/software/mtools/; - description = "GNU mtools, utilities to access MS-DOS disks"; + description = "Utilities to access MS-DOS disks"; platforms = stdenv.lib.platforms.gnu; # arbitrary choice maintainers = [ ]; }; diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix index 616f61e6c84c7bd14648569538cc7a71f4371910..e9d9b27d751b583fa349e5c77430ae13fe9c99d2 100644 --- a/pkgs/tools/filesystems/smbnetfs/default.nix +++ b/pkgs/tools/filesystems/smbnetfs/default.nix @@ -12,17 +12,16 @@ let sourceInfo = rec { baseName="smbnetfs"; dirBaseName="SMBNetFS"; - version="0.5.3a"; + version = "0.5.3b"; name="${baseName}-${version}"; project="${baseName}"; url="mirror://sourceforge/project/${project}/${baseName}/${dirBaseName}-${version}/${name}.tar.bz2"; - hash="0fzlw11y2vkxmjzz3qcypqlvz074v6a3pl4pyffbniqal64qgrsw"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "1j9b30kh4ymv4nr8c1qc7hfg6pscgyj75ib16pqa0zljjk1klx18"; }; inherit (sourceInfo) name version; @@ -40,11 +39,9 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.gpl2; - }; - passthru = { - updateInfo = { - downloadPage = "http://sourceforge.net/projects/smbnetfs/files/smbnetfs"; - }; + downloadPage = "http://sourceforge.net/projects/smbnetfs/files/smbnetfs"; + updateWalker = true; + inherit version; }; }) x diff --git a/pkgs/tools/filesystems/smbnetfs/default.upstream b/pkgs/tools/filesystems/smbnetfs/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..9e2ba2bd59bb58242839922c970ec22205b44ae9 --- /dev/null +++ b/pkgs/tools/filesystems/smbnetfs/default.upstream @@ -0,0 +1,6 @@ +url http://sourceforge.net/projects/smbnetfs/files/smbnetfs/ +version_link '[-][0-9.]+[a-z]*/$' +version_link '[.]tar[.][a-z0-9]+/download$' +SF_redirect +version '.*[-]([0-9.]+[a-z]*)[.]tar[.].*' '\1' +do_overwrite () { do_overwrite_just_version; } diff --git a/pkgs/tools/filesystems/svnfs/default.nix b/pkgs/tools/filesystems/svnfs/default.nix index b6a296e6bc7b269fd0bdf9e8ab6695308b605de5..fba066d0f4cb4356c5e27f886ca225952c427b67 100644 --- a/pkgs/tools/filesystems/svnfs/default.nix +++ b/pkgs/tools/filesystems/svnfs/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { NIX_LDFLAGS="-lsvn_client-1"; meta = { - description = "SvnFs is a filesystem written using FUSE for accessing Subversion repositories"; + description = "FUSE filesystem for accessing Subversion repositories"; homepage = http://www.jmadden.eu/index.php/svnfs/; license = stdenv.lib.licenses.gpl2; maintainers = [stdenv.lib.maintainers.marcweber]; diff --git a/pkgs/tools/filesystems/wdfs/default.nix b/pkgs/tools/filesystems/wdfs/default.nix index 68d978a2a554c551689241f45900449280a9376b..a28d5394fc19fa71a6756f0679f3d3934bebe530 100644 --- a/pkgs/tools/filesystems/wdfs/default.nix +++ b/pkgs/tools/filesystems/wdfs/default.nix @@ -10,6 +10,6 @@ stdenv.mkDerivation rec buildInputs = [fuse glib neon pkgconfig]; meta = { homepage = "http://noedler.de/projekte/wdfs/"; - description = "wdfs a user-space filesystem that allows to mount a webdav share"; + description = "User-space filesystem that allows to mount a webdav share"; }; } diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix index 24dbae08fab32478bf609dae7ab5db683bc63714..c9078a0cb8be0b315e7bfe726c47e045f67ef5b3 100644 --- a/pkgs/tools/filesystems/yandex-disk/default.nix +++ b/pkgs/tools/filesystems/yandex-disk/default.nix @@ -1,4 +1,7 @@ { stdenv, fetchurl, writeText, zlib, rpm, cpio, patchelf, which }: + +assert stdenv.isLinux; + let p = if stdenv.is64bit then { arch = "x86_64"; diff --git a/pkgs/tools/graphics/barcode/default.nix b/pkgs/tools/graphics/barcode/default.nix index 60dc5a285da3783032364d791f8f40b0f9656ab5..23a2e6dd78fc326c390e50a782d1e70189062136 100644 --- a/pkgs/tools/graphics/barcode/default.nix +++ b/pkgs/tools/graphics/barcode/default.nix @@ -9,17 +9,16 @@ let buildInputs = map (n: builtins.getAttr n x) (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { - version="0.99"; + version = "0.99"; baseName="barcode"; name="${baseName}-${version}"; - url="mirror://gnu/${baseName}/${name}.tar.gz"; - hash="0r2b2lwg7a9i9ic5spkbnavy1ynrppmrldv46vsl44l1xgriq0vw"; + url="mirror://gnu/${baseName}/${name}.tar.xz"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8"; }; inherit (sourceInfo) name version; @@ -35,11 +34,9 @@ rec { raskin ]; platforms = with a.lib.platforms; allBut darwin; - }; - passthru = { - updateInfo = { - downloadPage = "ftp://ftp.gnu.org/gnu/barcode/"; - }; + downloadPage = "http://ftp.gnu.org/gnu/barcode/"; + updateWalker = true; + inherit version; }; }) x diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix index 2638594903ab3a3a0cf7c3014bbb8e8cc00d0f58..0e94571503c3ccec8b20e51a340bcbf7cc803fe5 100644 --- a/pkgs/tools/graphics/cuneiform/default.nix +++ b/pkgs/tools/graphics/cuneiform/default.nix @@ -37,6 +37,6 @@ rec { name = "cuneiform-" + version; meta = { inherit version; - description = "Cuneiform OCR"; + description = "Multi-language OCR system"; }; } diff --git a/pkgs/tools/graphics/graphviz/2.32.nix b/pkgs/tools/graphics/graphviz/2.32.nix new file mode 100644 index 0000000000000000000000000000000000000000..0a86a8924174dd46447006c897dc272b76917e4c --- /dev/null +++ b/pkgs/tools/graphics/graphviz/2.32.nix @@ -0,0 +1,61 @@ +{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw +, yacc, libtool, fontconfig, pango, gd, xlibs, gts, gettext, cairo +}: + +stdenv.mkDerivation rec { + version = "2.32.0"; + name = "graphviz-${version}"; + + src = fetchurl { + url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz"; + sha256 = "0ym7lw3xnkcgbk32vfmm3329xymca60gzn90rq6dv8887qqv4lyq"; + }; + + buildInputs = + [ pkgconfig libpng libjpeg expat libXaw yacc libtool fontconfig + pango gd gts + ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ] + ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext; + + CPPFLAGS = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "-I${cairo}/include/cairo"; + + configureFlags = + [ "--with-pngincludedir=${libpng}/include" + "--with-pnglibdir=${libpng}/lib" + "--with-jpegincludedir=${libjpeg}/include" + "--with-jpeglibdir=${libjpeg}/lib" + "--with-expatincludedir=${expat}/include" + "--with-expatlibdir=${expat}/lib" + "--with-cgraph=no" + "--with-sparse=no" + ] + ++ stdenv.lib.optional (xlibs == null) "--without-x"; + + preBuild = '' + sed -e 's@am__append_5 *=.*@am_append_5 =@' -i lib/gvc/Makefile + ''; + + # "command -v" is POSIX, "which" is not + postInstall = '' + sed -i 's|`which lefty`|"'$out'/bin/lefty"|' $out/bin/dotty + sed -i 's|which|command -v|' $out/bin/vimdot + ''; + + meta = { + homepage = "http://www.graphviz.org/"; + description = "Open source graph visualization software"; + + longDescription = '' + Graphviz is open source graph visualization software. Graph + visualization is a way of representing structural information as + diagrams of abstract graphs and networks. It has important + applications in networking, bioinformatics, software engineering, + database and web design, machine learning, and in visual + interfaces for other technical domains. + ''; + + hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ simons bjornfor raskin ]; + inherit version; + }; +} diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix index 27883ca603760688360d1569c33fcbbc521926aa..e9a552e33001beb8971cc786a0a6319660f337da 100644 --- a/pkgs/tools/graphics/graphviz/default.nix +++ b/pkgs/tools/graphics/graphviz/default.nix @@ -3,11 +3,12 @@ }: stdenv.mkDerivation rec { - name = "graphviz-2.36.0"; + version = "2.38.0"; + name = "graphviz-${version}"; src = fetchurl { url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz"; - sha256 = "0qb30z5sxlbjni732ndad3j4x7l36vsxpxn4fmf5fn7ivvc6dz9p"; + sha256 = "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1"; }; buildInputs = @@ -52,6 +53,9 @@ stdenv.mkDerivation rec { ''; hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - maintainers = with stdenv.lib.maintainers; [ simons bjornfor ]; + maintainers = with stdenv.lib.maintainers; [ simons bjornfor raskin ]; + downloadPage = "http://www.graphviz.org/pub/graphviz/ARCHIVE/"; + inherit version; + updateWalker = true; }; } diff --git a/pkgs/tools/graphics/plotutils/default.nix b/pkgs/tools/graphics/plotutils/default.nix index ae0c4d197315e4a65f5cd66034658ae5d71662be..0f67de3c3ea149d2669124ca7255f079a614680d 100644 --- a/pkgs/tools/graphics/plotutils/default.nix +++ b/pkgs/tools/graphics/plotutils/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU Plotutils, a powerful C/C++ library for exporting 2D vector graphics"; + description = "Powerful C/C++ library for exporting 2D vector graphics"; longDescription = '' The GNU plotutils package contains software for both programmers and diff --git a/pkgs/tools/inputmethods/anthy/default.nix b/pkgs/tools/inputmethods/anthy/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..34ffa1568b9831b8d882e24f0f861ca1601320a9 --- /dev/null +++ b/pkgs/tools/inputmethods/anthy/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "anthy-9100h"; + + meta = with stdenv.lib; { + description = "Hiragana text to Kana Kanji mixed text Japanese input method"; + homepace = http://sourceforge.jp/projects/anthy/; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "http://dl.sourceforge.jp/anthy/37536/anthy-9100h.tar.gz"; + sha256 = "0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj"; + }; +} diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..b8ee95fae92cafa87793f14fb8dac349aa5f6f42 --- /dev/null +++ b/pkgs/tools/inputmethods/uim/default.nix @@ -0,0 +1,44 @@ +{stdenv, fetchurl, intltool, pkgconfig, qt4, gtk2, gtk3, kdelibs, cmake, ... }: + +stdenv.mkDerivation rec { + version = "1.8.6"; + name = "uim-${version}"; + + buildInputs = [ + intltool + pkgconfig + qt4 + gtk2 + gtk3 + kdelibs + cmake + ]; + + patches = [ ./immodules_cache.patch ]; + + configureFlags = [ + "--with-gtk2" + "--with-gtk3" + "--enable-kde4-applet" + "--enable-notify=knotify4" + "--enable-pref" + "--with-qt4" + "--with-qt4-immodule" + "--with-skk" + "--with-x" + ]; + + dontUseCmakeConfigure = true; + + src = fetchurl { + url = "http://uim.googlecode.com/files/uim-${version}.tar.bz2"; + sha1 = "43b9dbdead6797880e6cfc9c032ecb2d37d42777"; + }; + + meta = { + homepage = "http://code.google.com/p/uim/"; + description = "A multilingual input method framework"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/inputmethods/uim/immodules_cache.patch b/pkgs/tools/inputmethods/uim/immodules_cache.patch new file mode 100644 index 0000000000000000000000000000000000000000..c2d08b661e38d003251a1df104bcbc8539314e66 --- /dev/null +++ b/pkgs/tools/inputmethods/uim/immodules_cache.patch @@ -0,0 +1,231 @@ +diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.am uim-1.8.6/gtk2/immodule/Makefile.am +--- uim-1.8.6.orig/gtk2/immodule/Makefile.am 2013-06-30 13:26:09.000000000 +0900 ++++ uim-1.8.6/gtk2/immodule/Makefile.am 2014-07-13 21:51:26.538400004 +0900 +@@ -1,5 +1,5 @@ + uim_gtk_im_module_path = $(libdir)/gtk-2.0 +-uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules ++uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache + + moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules + +@@ -38,48 +38,12 @@ + + install-data-hook: gtk-rc-get-immodule-file + if test -z $(DESTDIR); then \ +- if test $(libdir) = $(GTK_LIBDIR); then \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ +- echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ +- else \ +- echo "********************** Warning ***********************"; \ +- echo " $(QUERY_COMMAND) not found"; \ +- echo " Please make sure to update"; \ +- echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \ +- echo " manually."; \ +- echo "******************************************************"; \ +- fi \ +- else \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \ +- GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ +- echo "******************************************************"; \ +- echo " You need to set"; \ +- echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ +- echo " environment variable to use this module."; \ +- echo "******************************************************"; \ +- else \ +- echo "********************** Warning ***********************"; \ +- echo " $(QUERY_COMMAND) not found"; \ +- echo " Please make sure to update"; \ +- echo " \"$(uim_gtk_im_module_file)\""; \ +- echo " manually, and set"; \ +- echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ +- echo " environment variable to use this module."; \ +- echo "******************************************************"; \ +- fi \ +- fi \ ++ $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \ ++ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ + fi + uninstall-hook: + if test -z $(DESTDIR); then \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- if test $(libdir) = $(GTK_LIBDIR); then \ +- $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ +- else \ +- GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ +- fi \ +- fi \ ++ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ + fi + else + install-data-hook: +diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.in uim-1.8.6/gtk2/immodule/Makefile.in +--- uim-1.8.6.orig/gtk2/immodule/Makefile.in 2013-06-30 13:27:08.000000000 +0900 ++++ uim-1.8.6/gtk2/immodule/Makefile.in 2014-07-13 22:12:27.947595507 +0900 +@@ -434,7 +434,7 @@ + top_srcdir = @top_srcdir@ + uim_pixmapsdir = @uim_pixmapsdir@ + uim_gtk_im_module_path = $(libdir)/gtk-2.0 +-uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules ++uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache + moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules + @GTK2_TRUE@im_uim_la = im-uim.la + @GTK2_TRUE@im_uim_la_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) +@@ -875,48 +875,12 @@ + + @GTK2_TRUE@install-data-hook: gtk-rc-get-immodule-file + @GTK2_TRUE@ if test -z $(DESTDIR); then \ +-@GTK2_TRUE@ if test $(libdir) = $(GTK_LIBDIR); then \ +-@GTK2_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK2_TRUE@ $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ +-@GTK2_TRUE@ echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ +-@GTK2_TRUE@ else \ +-@GTK2_TRUE@ echo "********************** Warning ***********************"; \ +-@GTK2_TRUE@ echo " $(QUERY_COMMAND) not found"; \ +-@GTK2_TRUE@ echo " Please make sure to update"; \ +-@GTK2_TRUE@ echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \ +-@GTK2_TRUE@ echo " manually."; \ +-@GTK2_TRUE@ echo "******************************************************"; \ +-@GTK2_TRUE@ fi \ +-@GTK2_TRUE@ else \ +-@GTK2_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK2_TRUE@ $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \ +-@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ +-@GTK2_TRUE@ echo "******************************************************"; \ +-@GTK2_TRUE@ echo " You need to set"; \ +-@GTK2_TRUE@ echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ +-@GTK2_TRUE@ echo " environment variable to use this module."; \ +-@GTK2_TRUE@ echo "******************************************************"; \ +-@GTK2_TRUE@ else \ +-@GTK2_TRUE@ echo "********************** Warning ***********************"; \ +-@GTK2_TRUE@ echo " $(QUERY_COMMAND) not found"; \ +-@GTK2_TRUE@ echo " Please make sure to update"; \ +-@GTK2_TRUE@ echo " \"$(uim_gtk_im_module_file)\""; \ +-@GTK2_TRUE@ echo " manually, and set"; \ +-@GTK2_TRUE@ echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ +-@GTK2_TRUE@ echo " environment variable to use this module."; \ +-@GTK2_TRUE@ echo "******************************************************"; \ +-@GTK2_TRUE@ fi \ +-@GTK2_TRUE@ fi \ ++@GTK2_TRUE@ $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \ ++@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ + @GTK2_TRUE@ fi + @GTK2_TRUE@uninstall-hook: + @GTK2_TRUE@ if test -z $(DESTDIR); then \ +-@GTK2_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK2_TRUE@ if test $(libdir) = $(GTK_LIBDIR); then \ +-@GTK2_TRUE@ $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ +-@GTK2_TRUE@ else \ +-@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ +-@GTK2_TRUE@ fi \ +-@GTK2_TRUE@ fi \ ++@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ + @GTK2_TRUE@ fi + @GTK2_FALSE@install-data-hook: + +diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.am uim-1.8.6/gtk3/immodule/Makefile.am +--- uim-1.8.6.orig/gtk3/immodule/Makefile.am 2013-06-30 13:26:20.000000000 +0900 ++++ uim-1.8.6/gtk3/immodule/Makefile.am 2014-07-13 21:55:38.114246503 +0900 +@@ -45,42 +45,11 @@ + + install-data-hook: gtk3-rc-get-immodule-file + if test -z $(DESTDIR); then \ +- if test $(libdir) = $(GTK3_LIBDIR); then \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- $(QUERY_COMMAND) --update-cache; \ +- echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ +- else \ +- echo "********************** Warning ***********************"; \ +- echo " $(QUERY_COMMAND) not found"; \ +- echo " Please make sure to update"; \ +- echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \ +- echo " manually."; \ +- echo "******************************************************"; \ +- fi \ +- else \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ +- else \ +- echo "********************** Warning ***********************"; \ +- echo " $(QUERY_COMMAND) not found"; \ +- echo " Please make sure to update"; \ +- echo " immodules.cache"; \ +- echo " manually, and set"; \ +- echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \ +- echo " environment variable to use this module."; \ +- echo "******************************************************"; \ +- fi \ +- fi \ ++ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ + fi + uninstall-hook: + if test -z $(DESTDIR); then \ +- if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +- if test $(libdir) = $(GTK3_LIBDIR); then \ +- $(QUERY_COMMAND) --update-cache; \ +- else \ +- GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ +- fi \ +- fi \ ++ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ + fi + else + install-data-hook: +diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.in uim-1.8.6/gtk3/immodule/Makefile.in +--- uim-1.8.6.orig/gtk3/immodule/Makefile.in 2013-06-30 13:27:08.000000000 +0900 ++++ uim-1.8.6/gtk3/immodule/Makefile.in 2014-07-13 21:56:11.531225832 +0900 +@@ -893,42 +893,11 @@ + + @GTK3_TRUE@install-data-hook: gtk3-rc-get-immodule-file + @GTK3_TRUE@ if test -z $(DESTDIR); then \ +-@GTK3_TRUE@ if test $(libdir) = $(GTK3_LIBDIR); then \ +-@GTK3_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK3_TRUE@ $(QUERY_COMMAND) --update-cache; \ +-@GTK3_TRUE@ echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ +-@GTK3_TRUE@ else \ +-@GTK3_TRUE@ echo "********************** Warning ***********************"; \ +-@GTK3_TRUE@ echo " $(QUERY_COMMAND) not found"; \ +-@GTK3_TRUE@ echo " Please make sure to update"; \ +-@GTK3_TRUE@ echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \ +-@GTK3_TRUE@ echo " manually."; \ +-@GTK3_TRUE@ echo "******************************************************"; \ +-@GTK3_TRUE@ fi \ +-@GTK3_TRUE@ else \ +-@GTK3_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ +-@GTK3_TRUE@ else \ +-@GTK3_TRUE@ echo "********************** Warning ***********************"; \ +-@GTK3_TRUE@ echo " $(QUERY_COMMAND) not found"; \ +-@GTK3_TRUE@ echo " Please make sure to update"; \ +-@GTK3_TRUE@ echo " immodules.cache"; \ +-@GTK3_TRUE@ echo " manually, and set"; \ +-@GTK3_TRUE@ echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \ +-@GTK3_TRUE@ echo " environment variable to use this module."; \ +-@GTK3_TRUE@ echo "******************************************************"; \ +-@GTK3_TRUE@ fi \ +-@GTK3_TRUE@ fi \ ++@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ + @GTK3_TRUE@ fi + @GTK3_TRUE@uninstall-hook: + @GTK3_TRUE@ if test -z $(DESTDIR); then \ +-@GTK3_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ +-@GTK3_TRUE@ if test $(libdir) = $(GTK3_LIBDIR); then \ +-@GTK3_TRUE@ $(QUERY_COMMAND) --update-cache; \ +-@GTK3_TRUE@ else \ +-@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ +-@GTK3_TRUE@ fi \ +-@GTK3_TRUE@ fi \ ++@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ + @GTK3_TRUE@ fi + @GTK3_FALSE@install-data-hook: + +diff -ru -x '*~' uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in +--- uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in 2013-06-30 13:26:20.000000000 +0900 ++++ uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in 2014-03-09 11:31:19.388085048 +0900 +@@ -35,4 +35,4 @@ + + TARGET = uiminputcontextplugin + +-target.path += @DESTDIR@$$[QT_INSTALL_PLUGINS]/inputmethods ++target.path += @DESTDIR@@exec_prefix@/lib/qt4/plugins/inputmethods diff --git a/pkgs/tools/misc/abduco/default.nix b/pkgs/tools/misc/abduco/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a3f5c4a1d61e0751f58b02522a6ec13b2e2ad1aa --- /dev/null +++ b/pkgs/tools/misc/abduco/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, writeText, conf? null}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "abduco-0.1"; + + meta = { + homepage = http://brain-dump.org/projects/abduco; + license = licenses.isc; + description = "Allows programs to be run independently from its controlling terminal"; + platforms = with platforms; linux; + }; + + src = fetchurl { + url = "http://www.brain-dump.org/projects/abduco/${name}.tar.gz"; + sha256 = "b4ef297cb7cc81170dc7edf75385cb1c55e024a52f90c1dd0bc0e9862e6f39b5"; + }; + + configFile = optionalString (conf!=null) (writeText "config.def.h" conf); + preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; + + buildInputs = []; + + installPhase = '' + make PREFIX=$out install + ''; +} diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix index dfe5476f81307e41a4a5832eb6338b293071a6fe..8d7ba0c70c82a280d76d73bbd26f6ac389933ff2 100644 --- a/pkgs/tools/misc/cloc/default.nix +++ b/pkgs/tools/misc/cloc/default.nix @@ -1,30 +1,25 @@ { stdenv, fetchurl, perl, AlgorithmDiff, RegexpCommon }: stdenv.mkDerivation rec { - + name = "cloc-${version}"; - version = "1.58"; + version = "1.62"; src = fetchurl { url = "mirror://sourceforge/cloc/cloc-${version}.tar.gz"; - sha256 = "1k92jldy4m717lh1xd6yachx3l2hhpx76qhj1ipnx12hsxw1zc8w"; + sha256 = "1cxc663dccd0sc2m0aj5lxdbnbzrys6rh9n8q122h74bfvsiw4f4"; }; buildInputs = [ perl AlgorithmDiff RegexpCommon ]; - unpackPhase = '' - mkdir ${name} - tar xf $src -C ${name} - cd ${name} - ''; - makeFlags = [ "prefix=" "DESTDIR=$(out)" "INSTALL=install" ]; meta = { description = "A program that counts lines of source code"; homepage = http://cloc.sourceforge.net; license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/tools/misc/cpuminer-multi/default.nix b/pkgs/tools/misc/cpuminer-multi/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..c61e0ff00b3fda3c154e2040e9620be384b59e3c --- /dev/null +++ b/pkgs/tools/misc/cpuminer-multi/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchgit, curl, jansson, autoconf, automake, openssl +, aesni ? true }: + +let + rev = "4230012da5d1cc491976c6f5e45da36db6d9f576"; + date = "20140619"; +in +stdenv.mkDerivation rec { + name = "cpuminer-multi-${date}-${stdenv.lib.strings.substring 0 7 rev}"; + + src = fetchgit { + inherit rev; + url = https://github.com/wolf9466/cpuminer-multi.git; + sha256 = "c19a5dd1bfdbbaec3729f61248e858a5d8701424fffe67fdabf8179ced9c110b"; + }; + + buildInputs = [ autoconf automake curl jansson openssl ]; + + preConfigure = '' + ./autogen.sh + ''; + + configureFlags = if aesni then [ "--disable-aes-ni" ] else [ ]; + + meta = with stdenv.lib; { + description = "Multi-algo CPUMiner"; + homepage = https://github.com/wolf9466/cpuminer-multi; + license = licenses.gpl2; + maintainers = [ maintainers.emery ]; + }; +} \ No newline at end of file diff --git a/pkgs/tools/misc/execline/default.nix b/pkgs/tools/misc/execline/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..ba0784138b31ebad7b8b2e6b218793473094e0f6 --- /dev/null +++ b/pkgs/tools/misc/execline/default.nix @@ -0,0 +1,54 @@ +{stdenv, fetchurl, skalibs}: + +let + + version = "1.3.1.1"; + +in stdenv.mkDerivation rec { + + name = "execline-${version}"; + + src = fetchurl { + url = "http://skarnet.org/software/execline/${name}.tar.gz"; + sha256 = "1br3qzif166kbp4k813ljbyq058p7mfsp2lj88n8vi4dmj935nzg"; + }; + + buildInputs = [ skalibs ]; + + sourceRoot = "admin/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + printf "$out/sysdeps" > conf-install-sysdeps + + printf "${skalibs}/sysdeps" > import + printf "${skalibs}/include" > path-include + printf "${skalibs}/lib" > path-library + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + meta = { + homepage = http://skarnet.org/software/execline/; + description = "A small scripting language, to be used in place of a shell in non-interactive scripts."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/tools/misc/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..c4e74359b15b10fca4ba3bab3b68c461803ea070 --- /dev/null +++ b/pkgs/tools/misc/flashrom/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, libftdi, pciutils }: + +let version = "0.9.7"; in +stdenv.mkDerivation rec { + name = "flashrom-${version}"; + + src = fetchurl { + url = "http://download.flashrom.org/releases/${name}.tar.bz2"; + sha256 = "5a55212d00791981a9a1cb0cdca9d9e58bea6d399864251e7b410b4d3d6137e9"; + }; + + buildInputs = [ pkgconfig libftdi pciutils ]; + + makeFlags = ["PREFIX=$out"]; + + meta = { + homepage = "http://www.flashrom.org"; + description = "Utility for reading, writing, erasing and verifying flash ROM chips"; + license = "GPLv2"; + maintainers = [ stdenv.lib.maintainers.funfunctor ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix index 56e18227d6612210b4e96e1421db69b2918b5d59..0f8f82acaed04b71801592d8c8a2bfcd52e3579d 100644 --- a/pkgs/tools/misc/goaccess/default.nix +++ b/pkgs/tools/misc/goaccess/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ]; meta = { - description = "GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems."; + description = "Real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems"; homepage = http://goaccess.prosoftcorp.com; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index a7d03d1335f03a8425345f5fa1a404cb123346b4..5cdc468c2a5af3885dde6f3dc8654a37463b0a48 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -3,6 +3,8 @@ , fetchurl , zlib ? null , szip ? null +, mpi ? null +, enableShared ? true }: stdenv.mkDerivation rec { version = "1.8.13"; @@ -12,11 +14,23 @@ stdenv.mkDerivation rec { sha256 = "1h9qdl321gzm3ihdhlijbl9sh9qcdrw94j7izg64yfqhxj7b7xl2"; }; + passthru = { + mpiSupport = (mpi != null); + inherit mpi; + }; + buildInputs = [] ++ stdenv.lib.optional (zlib != null) zlib ++ stdenv.lib.optional (szip != null) szip; - configureFlags = if szip != null then "--with-szlib=${szip}" else ""; + propagatedBuildInputs = [] + ++ stdenv.lib.optional (mpi != null) mpi; + + configureFlags = " + ${if szip != null then "--with-szlib=${szip}" else ""} + ${if mpi != null then "--enable-parallel" else ""} + ${if enableShared then "--enable-shared" else ""} + "; patches = [./bin-mv.patch]; diff --git a/pkgs/tools/misc/idutils/default.nix b/pkgs/tools/misc/idutils/default.nix index 2b2f3aeaca3c9bc22f9a60d3e36e72c55c29bb84..503beefa15af7b3df888d14c78fdaa78e8417548 100644 --- a/pkgs/tools/misc/idutils/default.nix +++ b/pkgs/tools/misc/idutils/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { patches = [ ./nix-mapping.patch ]; meta = { - description = "GNU Idutils, a text searching utility"; + description = "Text searching utility"; longDescription = '' An "ID database" is a binary file containing a list of file diff --git a/pkgs/tools/misc/ised/default.nix b/pkgs/tools/misc/ised/default.nix index 02cb65b1060af946213a499dd26e07a9d7243c52..96acc6c8ab93c555594ceddbeb8295fc4f3f1517 100644 --- a/pkgs/tools/misc/ised/default.nix +++ b/pkgs/tools/misc/ised/default.nix @@ -10,16 +10,15 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="ised"; - version="2.5.0"; + version = "2.6.0"; name="${baseName}-${version}"; url="mirror://sourceforge/project/ised/${name}.tar.bz2"; - hash="1avfb4ivq6iz50rraci0pcxl0w94899sz6icdqc0l4954y4zs8qd"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "0rf9brqkrad8f3czpfc1bxq9ybv3nxci9276wdxas033c82cqkjs"; }; inherit (sourceInfo) name version; @@ -37,11 +36,7 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.gpl3Plus; - }; - passthru = { - updateInfo = { - downloadPage = "ised.sf.net"; - }; + inherit version; }; }) x diff --git a/pkgs/tools/misc/ised/default.upstream b/pkgs/tools/misc/ised/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..6539bf477e5457253ca334e4461864f2095b0cda --- /dev/null +++ b/pkgs/tools/misc/ised/default.upstream @@ -0,0 +1,4 @@ +url http://ised.sourceforge.net/web_nav.html +SF_version_tarball +SF_redirect +minimize_overwrite diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix index 20830bad6bfa685a0851cfa0a5342c0568f06715..6d03b09c588f04e51b9294e03d50ab0f02a4802a 100644 --- a/pkgs/tools/misc/lbdb/default.nix +++ b/pkgs/tools/misc/lbdb/default.nix @@ -17,6 +17,6 @@ stdenv.mkDerivation { homepage = "http://www.spinnaker.de/lbdb/"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.all; - description = "The Little Brother's Database (lbdb)"; + description = "The Little Brother's Database"; }; } diff --git a/pkgs/tools/misc/ldapvi/default.nix b/pkgs/tools/misc/ldapvi/default.nix index 28d9b4863d4bc7de55a59656503e2aabfd05088b..6dba834e8be5ddd7727dca8e5adebb19dd6f47ad 100644 --- a/pkgs/tools/misc/ldapvi/default.nix +++ b/pkgs/tools/misc/ldapvi/default.nix @@ -21,7 +21,11 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "ldapvi is an interactive LDAP client for Unix terminals. Using it, you can update LDAP entries with a text editor"; + description = "Interactive LDAP client for Unix terminals"; + longDescription = '' + ldapvi is an interactive LDAP client for Unix terminals. Using it, you + can update LDAP entries with a text editor. + ''; homepage = http://www.lichteblau.com/ldapvi/; license = licenses.gpl2; maintainers = with maintainers; [ iElectric ]; diff --git a/pkgs/tools/misc/logstash-forwarder/default.nix b/pkgs/tools/misc/logstash-forwarder/default.nix index 52180c75c98147e5804d5a4defcfbc8a76df79ce..961dbc08335209ab62a82fca6f2abb965ca58727 100644 --- a/pkgs/tools/misc/logstash-forwarder/default.nix +++ b/pkgs/tools/misc/logstash-forwarder/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, go }: +{ stdenv, fetchgit, go_1_1 }: stdenv.mkDerivation { name = "logstash-forwarder-20140410"; src = fetchgit { @@ -6,7 +6,7 @@ stdenv.mkDerivation { rev = "ec504792108ab6536b45bcf6dff6d26a6b56fef3"; sha256 = "309545ceaec171bee997cad260bef1433e041b9f3bfe617d475bcf79924f943d"; }; - buildInputs = [ go ]; + buildInputs = [ go_1_1 ]; installPhase = '' mkdir -p $out/bin cp build/bin/logstash-forwarder $out/bin @@ -15,5 +15,6 @@ stdenv.mkDerivation { meta = { license = stdenv.lib.licenses.asl20; homepage = https://github.com/elasticsearch/logstash-forwarder; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/tools/misc/minicom/default.nix b/pkgs/tools/misc/minicom/default.nix index 8ede3aa918b1aac04f4e93174de9acadf8cfca47..d731e856790d8c23959dff6031c548046f8bb28f 100644 --- a/pkgs/tools/misc/minicom/default.nix +++ b/pkgs/tools/misc/minicom/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Minicom, a modem control and terminal emulation program"; + description = "Modem control and terminal emulation program"; homepage = http://alioth.debian.org/projects/minicom/; longDescription = diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix index b7f7842680f6a6d288868de8efa914401935abc4..b97d8f0b71990f007b23e39a18132a59b5f8cba5 100644 --- a/pkgs/tools/misc/most/default.nix +++ b/pkgs/tools/misc/most/default.nix @@ -20,7 +20,8 @@ stdenv.mkDerivation { buildInputs = [ slang ncurses ]; meta = { - description = '' + description = "A terminal pager similar to 'more' and 'less'"; + longDescription = '' MOST is a powerful paging program for Unix, VMS, MSDOS, and win32 systems. Unlike other well-known paging programs most supports multiple windows and can scroll left and right. Why settle for less? diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix index df360bb9804d41344d2fa5ee3b6b013a1702c37a..727657ca6e8dd23bc3e033d6b0f445e6e947f90f 100644 --- a/pkgs/tools/misc/parallel/default.nix +++ b/pkgs/tools/misc/parallel/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, perl }: stdenv.mkDerivation rec { - name = "parallel-20140222"; + name = "parallel-20140822"; src = fetchurl { url = "mirror://gnu/parallel/${name}.tar.bz2"; - sha256 = "0zb3hg92br6a53jn0pzfl16ffc1hfw81jk7nzw5spkshsdrcqx3y"; + sha256 = "8a146a59bc71218921d561f2c801b85e06fe3a21571083b58e6e0966dd397fd4"; }; patchPhase = @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU Parallel, a shell tool for executing jobs in parallel"; + description = "Shell tool for executing jobs in parallel"; longDescription = '' GNU Parallel is a shell tool for executing jobs in parallel. A job diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix index 108d4d5e0400cb9ac931a1c1c3a1c43bf65482df..01b9f391a4435e8fc8b20410ea92a9efc92ba867 100644 --- a/pkgs/tools/misc/parted/default.nix +++ b/pkgs/tools/misc/parted/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { "export PATH=\"${utillinux}/sbin:$PATH\""; meta = { - description = "GNU Parted, a tool to create, destroy, resize, check, and copy partitions"; + description = "Create, destroy, resize, check, and copy partitions"; longDescription = '' GNU Parted is an industrial-strength package for creating, destroying, diff --git a/pkgs/tools/misc/pg_top/default.nix b/pkgs/tools/misc/pg_top/default.nix index 392fcbcc8ff99bd5cb5739fd94634053b2297e16..0d379cd11d4a3157325edaa54eb798433930f2a4 100644 --- a/pkgs/tools/misc/pg_top/default.nix +++ b/pkgs/tools/misc/pg_top/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { buildInputs = [ncurses postgresql]; meta = { - description = "pg_top is 'top' for PostgreSQL"; + description = "A 'top' like tool for PostgreSQL"; longDescription = '' pg_top allows you to: diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix index f2f5f37ebe44c033b91a0b958700ca24a465c57e..4d6829e99a4c1a6af4efaccf54e2a53286d32496 100644 --- a/pkgs/tools/misc/recutils/default.nix +++ b/pkgs/tools/misc/recutils/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ curl emacs ] ++ (stdenv.lib.optionals doCheck [ check bc ]); meta = { - description = "GNU Recutils, tools and libraries to access human-editable, text-based databases"; + description = "Tools and libraries to access human-editable, text-based databases"; longDescription = '' GNU Recutils is a set of tools and libraries to access diff --git a/pkgs/tools/misc/rrdtool/default.nix b/pkgs/tools/misc/rrdtool/default.nix index aa14087dfc85564722617b5cd38a9e9556c045c5..29d98284ccf17a8229733f004cd930d131501a90 100644 --- a/pkgs/tools/misc/rrdtool/default.nix +++ b/pkgs/tools/misc/rrdtool/default.nix @@ -7,6 +7,11 @@ stdenv.mkDerivation { sha256 = "07fgn0y4yj7p2vh6a37q273hf98gkfw2sdam5r1ldn1k0m1ayrqj"; }; buildInputs = [ gettext perl pkgconfig libxml2 pango cairo ]; + + postInstall = '' + # for munin support + mv $out/lib/perl/5*/*/*.pm $out/lib/perl/5*/ + ''; meta = { homepage = http://oss.oetiker.ch/rrdtool/; diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..f8e7dfaddc9ea8d58a5926904facdb0e51f72603 --- /dev/null +++ b/pkgs/tools/misc/s6-portable-utils/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchurl, skalibs }: + +let + + version = "1.0.3.2"; + +in stdenv.mkDerivation rec { + + name = "s6-portable-utils-${version}"; + + src = fetchurl { + url = "http://www.skarnet.org/software/s6-portable-utils/${name}.tar.gz"; + sha256 = "040nmls7qbgw8yn502lym4kgqh5zxr2ks734bqajpi2ricnasvhl"; + }; + + buildInputs = [ skalibs ]; + + sourceRoot = "admin/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/libexec" > conf-install-libexec + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + printf "${skalibs}/sysdeps" > import + printf "%s" "${skalibs}/include" > path-include + printf "%s" "${skalibs}/lib" > path-library + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + preInstall = '' + mkdir -p "$out/libexec" + ''; + + meta = { + homepage = http://www.skarnet.org/software/s6-portable-utils/; + description = "A set of tiny general Unix utilities optimized for simplicity and small size."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/tools/misc/time/default.nix b/pkgs/tools/misc/time/default.nix index 3a35e9a9f1cc68a3633d7aa9ff8b793ac47a5779..737ba244fe8e61c82c4fbdfe806764989667cb97 100644 --- a/pkgs/tools/misc/time/default.nix +++ b/pkgs/tools/misc/time/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { patches = [ ./max-resident.patch ]; meta = { - description = "GNU Time, a tool that runs programs and summarizes the system resources they use"; + description = "Tool that runs programs and summarizes the system resources they use"; longDescription = '' The `time' command runs another program, then displays diff --git a/pkgs/tools/misc/tmpwatch/default.nix b/pkgs/tools/misc/tmpwatch/default.nix index c19d58b981622b819706d0aa761f7241f6c350ad..760f56726fab9d68e50f85e4d3e7355e5f898540 100644 --- a/pkgs/tools/misc/tmpwatch/default.nix +++ b/pkgs/tools/misc/tmpwatch/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://fedorahosted.org/tmpwatch/; - description = "The tmpwatch utility recursively searches through specified directories and removes files which have not been accessed in a specified period of time."; + description = "Recursively searches through specified directories and removes files which have not been accessed in a specified period of time"; license = licenses.gpl2; maintainers = with maintainers; [ vlstill ]; platforms = platforms.unix; diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix index 4acbabb50f983c3b03de23f7fe263ff3fd3a9380..32f681dabebbc51ce83f604d81cedd21d29cae7f 100644 --- a/pkgs/tools/misc/tmux/default.nix +++ b/pkgs/tools/misc/tmux/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://tmux.sourceforge.net/; - description = "tmux is a terminal multiplexer"; + description = "Terminal multiplexer"; longDescription = '' tmux is intended to be a modern, BSD-licensed alternative to programs such as GNU screen. Major features include: diff --git a/pkgs/tools/misc/xdaliclock/default.nix b/pkgs/tools/misc/xdaliclock/default.nix index 79c6a743bce4ca4084aa0a6cb682bd8808b735a1..df1a7eedeffd49b3138710b0b1e6a81aae991a83 100644 --- a/pkgs/tools/misc/xdaliclock/default.nix +++ b/pkgs/tools/misc/xdaliclock/default.nix @@ -12,17 +12,16 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="xdaliclock"; - version="2.40"; + version = "2.41"; name="${baseName}-${version}"; project="${baseName}"; url="http://www.jwz.org/${project}/${name}.tar.gz"; - hash="03i8vwi9vz3gr938wr4miiymwv283mg11wgfaf2jhl6aqbmz4id7"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "1crkjvza692irkqm9vwgn58m8ps93n0rxigm6pasgl5dnx3p6d1d"; }; inherit (sourceInfo) name version; @@ -46,10 +45,8 @@ rec { platforms = with a.lib.platforms; linux ++ freebsd; license = "free"; #TODO BSD on Gentoo, looks like MIT - }; - passthru = { - updateInfo = { - downloadPage = "http://www.jwz.org/xdaliclock/"; - }; + downloadPage = "http://www.jwz.org/xdaliclock/"; + inherit version; + updateWalker = true; }; }) x diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix index fcdf5095d70f3b308e48df624f24d373794cfd79..d884d48f521485d2d2ff02563b4c763fb419e1b1 100644 --- a/pkgs/tools/misc/yad/default.nix +++ b/pkgs/tools/misc/yad/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://code.google.com/p/yad/"; - description = "Yad (yet another dialog) is a GUI dialog tool for shell scripts"; + description = "GUI dialog tool for shell scripts"; longDescription = '' Yad (yet another dialog) is a GUI dialog tool for shell scripts. It is a fork of Zenity with many improvements, such as custom buttons, additional diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix index 225c3c04f7a4c6761646512e6fcb2a92b3a2590b..b6bdfc7fabc67c32ce78cb2077675fd0ab649dfa 100644 --- a/pkgs/tools/networking/atftp/default.nix +++ b/pkgs/tools/networking/atftp/default.nix @@ -1,59 +1,34 @@ -x@{builderDefsPackage - , readline, tcp_wrappers, pcre, runCommand - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; - - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="atftp"; - version="0.7"; - name="${baseName}-${version}"; - url="mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg.orig.tar.gz"; - hash="0nd5dl14d6z5abgcbxcn41rfn3syza6s57bbgh4aq3r9cxdmz08q"; - }; +{ lib, stdenv, fetchurl, readline, tcp_wrappers, pcre, makeWrapper }: +assert stdenv.isLinux; +assert stdenv.gcc.gcc != null; +let +version = "0.7"; +debianPatch = fetchurl { +url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg-11.diff.gz"; +sha256 = "07g4qbmp0lnscg2dkj6nsj657jaghibvfysdm1cdxcn215n3zwqd"; +}; in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; - }; - - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doPatch" "doConfigure" "doMakeInstall"]; - - debianPatchGz = a.fetchurl { - url = ftp://ftp.ru.debian.org/pub/debian/pool/main/a/atftp/atftp_0.7.dfsg-11.diff.gz; - sha256 = "07g4qbmp0lnscg2dkj6nsj657jaghibvfysdm1cdxcn215n3zwqd"; - }; - - debianPatch = a.runCommand "atftp-0.7.dfsg-11" {} '' - gunzip < "${debianPatchGz}" > "$out" - ''; - - patches = [debianPatch]; - - meta = { - description = "Advanced tftp tools"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.gpl2Plus; - }; - passthru = { - updateInfo = { - downloadPage = "http://packages.debian.org/source/sid/atftp"; - }; - }; -}) x - +stdenv.mkDerivation { +name = "atftp"; +inherit version; +src = fetchurl { +url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg.orig.tar.gz"; +sha256 = "0nd5dl14d6z5abgcbxcn41rfn3syza6s57bbgh4aq3r9cxdmz08q"; +}; +buildInputs = [ readline tcp_wrappers pcre makeWrapper ]; +patches = [ debianPatch ]; +postInstall = '' +wrapProgram $out/sbin/atftpd --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib${if stdenv.system == "x86_64-linux" then "64" else ""} +''; +meta = { +description = "Advanced tftp tools"; +maintainers = lib.maintainers.raskin; +platforms = lib.platforms.linux; +license = lib.licenses.gpl2Plus; +passthru = { +updateInfo = { +downloadPage = "http://packages.debian.org/source/wheezy/atftp"; +}; +}; +}; +} diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix index 48e21f4507e5b51ec1fdecc5a73e51ff9c26ba12..be107dfa81e7373b2204fa57c2187ebe9de11442 100644 --- a/pkgs/tools/networking/cjdns/default.nix +++ b/pkgs/tools/networking/cjdns/default.nix @@ -1,21 +1,27 @@ { stdenv, fetchgit, nodejs, which, python27 }: let - date = "20140303"; - rev = "f11ce1fd4795b0173ac0ef18c8a6f752aa824adb"; + date = "20140829"; + rev = "9595d67f9edd759054c5bd3aaee0968ff55e361a"; in stdenv.mkDerivation { name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}"; src = fetchgit { - url = "git://github.com/cjdelisle/cjdns.git"; + url = "https://github.com/cjdelisle/cjdns.git"; inherit rev; - sha256 = "1bxhf9f1v0slf9mz3ll6jf45mkwvwxlf3yqxx9k23kjyr1nsc8s8"; + sha256 = "519c549c42ae26c5359ae13a4548c44b51e36db403964b4d9f78c19b749dfb83"; }; buildInputs = [ which python27 nodejs]; - builder = ./builder.sh; + patches = [ ./makekey.patch ]; + + buildPhase = "bash do"; + installPhase = '' + mkdir -p $out/sbin + cp cjdroute makekey $out/sbin + ''; meta = { homepage = https://github.com/cjdelisle/cjdns; diff --git a/pkgs/tools/networking/cjdns/makekey.patch b/pkgs/tools/networking/cjdns/makekey.patch new file mode 100644 index 0000000000000000000000000000000000000000..fcce5e3e728e38ffd367c473fbff6e8e7327d2ca --- /dev/null +++ b/pkgs/tools/networking/cjdns/makekey.patch @@ -0,0 +1,64 @@ +diff --git a/contrib/c/makekey.c b/contrib/c/makekey.c +new file mode 100644 +index 0000000..c7184e5 +--- /dev/null ++++ b/contrib/c/makekey.c +@@ -0,0 +1,46 @@ ++/* vim: set expandtab ts=4 sw=4: */ ++/* ++ * You may redistribute this program and/or modify it under the terms of ++ * the GNU General Public License as published by the Free Software Foundation, ++ * either version 3 of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see . ++ */ ++#include "crypto/random/Random.h" ++#include "memory/MallocAllocator.h" ++#include "crypto/AddressCalc.h" ++#include "util/AddrTools.h" ++#include "util/Hex.h" ++ ++#include "crypto_scalarmult_curve25519.h" ++ ++#include ++ ++int main(int argc, char** argv) ++{ ++ struct Allocator* alloc = MallocAllocator_new(1<<22); ++ struct Random* rand = Random_new(alloc, NULL, NULL); ++ ++ uint8_t privateKey[32]; ++ uint8_t publicKey[32]; ++ uint8_t ip[16]; ++ uint8_t hexPrivateKey[65]; ++ ++ for (;;) { ++ Random_bytes(rand, privateKey, 32); ++ crypto_scalarmult_curve25519_base(publicKey, privateKey); ++ if (AddressCalc_addressForPublicKey(ip, publicKey)) { ++ Hex_encode(hexPrivateKey, 65, privateKey, 32); ++ printf(hexPrivateKey); ++ return 0; ++ } ++ } ++ return 0; ++} ++ +diff --git a/node_build/make.js b/node_build/make.js +index 5e51645..11465e3 100644 +--- a/node_build/make.js ++++ b/node_build/make.js +@@ -339,6 +339,7 @@ Builder.configure({ + builder.buildExecutable('contrib/c/privatetopublic.c'); + builder.buildExecutable('contrib/c/sybilsim.c'); + builder.buildExecutable('contrib/c/makekeys.c'); ++ builder.buildExecutable('contrib/c/makekey.c'); + + builder.buildExecutable('crypto/random/randombytes.c'); + diff --git a/pkgs/tools/networking/cntlm/default.nix b/pkgs/tools/networking/cntlm/default.nix index cd3ae12a11b8e1d426e166c391cf98ecdf4f6368..f890bdddb693f8966e84e65f95df0eddee9abf15 100644 --- a/pkgs/tools/networking/cntlm/default.nix +++ b/pkgs/tools/networking/cntlm/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { ''; meta = { - description = "Cntlm is an NTLM/NTLMv2 authenticating HTTP proxy"; + description = "NTLM/NTLMv2 authenticating HTTP proxy"; homepage = http://cntlm.sourceforge.net/; license = stdenv.lib.licenses.gpl2; maintainers = [ stdenv.lib.maintainers.qknight ]; diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix index c99af220a56c457f5cfa6c8c7ebc954fa742fc86..7d955b44950666b72525545ba9de6e52b174ab69 100644 --- a/pkgs/tools/networking/connman/default.nix +++ b/pkgs/tools/networking/connman/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation { ''; meta = { - description = "The ConnMan project provides a daemon for managing internet connections"; + description = "Provides a daemon for managing internet connections"; homepage = "https://connman.net/"; maintainers = [ stdenv.lib.maintainers.matejc ]; # tested only on linux, might work on others also diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index cec4057a284f4df7e09a3239c6b2f8661acafe7c..3cfc902711ea9cf640de17cae7e79ff064dd3f35 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ pkgconfig, dbus_libs, nettle, stdenv, fetchurl }: stdenv.mkDerivation rec { name = "dnsmasq-2.71"; @@ -8,13 +8,35 @@ stdenv.mkDerivation rec { sha256 = "1fpzpzja7qr8b4kfdhh4i4sijp62c634yf0xvq2n4p7d5xbzn6a9"; }; + # Can't rely on make flags because of space in one of the parameters + buildPhase = '' + make COPTS="-DHAVE_DNSSEC -DHAVE_DBUS" + ''; + + # make flags used for installation only makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale"; - meta = { + postInstall = '' + install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf + install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf + + mkdir -p $out/share/dbus-1/system-services + cat < $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service + [D-BUS Service] + Name=uk.org.thekelleys.dnsmasq + Exec=$out/sbin/dnsmasq -k -1 + User=root + SystemdService=dnsmasq.service + END + ''; + + buildInputs = [ pkgconfig dbus_libs nettle ]; + + meta = with stdenv.lib; { description = "An integrated DNS, DHCP and TFTP server for small networks"; homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html; - license = "GPL"; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2; + platforms = with platforms; linux ++ darwin; + maintainers = with maintainers; [ eelco ]; }; } diff --git a/pkgs/tools/networking/flvstreamer/default.nix b/pkgs/tools/networking/flvstreamer/default.nix index f932212961256558c5f172c8283802a0d80c38ac..ab8e14fddd0b15e3740e1d126db7ea5ed5070cb5 100644 --- a/pkgs/tools/networking/flvstreamer/default.nix +++ b/pkgs/tools/networking/flvstreamer/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "flvstreamer is an command-line RTMP client"; + description = "Command-line RTMP client"; longDescription = '' flvstreamer is an open source command-line RTMP client intended to diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix index 6d9666506b887ee25e17a035aa45c400ef237670..8c9103790b9b773386c85db86c779c670744e642 100644 --- a/pkgs/tools/networking/getmail/default.nix +++ b/pkgs/tools/networking/getmail/default.nix @@ -1,12 +1,13 @@ { stdenv, fetchurl, buildPythonPackage }: buildPythonPackage rec { - name = "getmail-4.43.0"; + version = "4.46.0"; + name = "getmail-${version}"; namePrefix = ""; src = fetchurl { url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz"; - sha256 = "0abcj4d2jp9y56c85kq7265d8wcij91w9lpzib9q6j9lcs4la8hy"; + sha256 = "15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl"; }; doCheck = false; @@ -15,5 +16,9 @@ buildPythonPackage rec { description = "A program for retrieving mail"; maintainers = [ stdenv.lib.maintainers.raskin stdenv.lib.maintainers.iElectric ]; platforms = stdenv.lib.platforms.linux; + + homepage = "http://pyropus.ca/software/getmail/"; + inherit version; + updateWalker = true; }; } diff --git a/pkgs/tools/networking/host/default.nix b/pkgs/tools/networking/host/default.nix index c74dbe52829037a72211b154806c470febdc852e..54cb8b21aafae3ecf1fa36cb5d203ab7735bb6e2 100644 --- a/pkgs/tools/networking/host/default.nix +++ b/pkgs/tools/networking/host/default.nix @@ -18,7 +18,7 @@ let version = "20000331"; in installTargets = "install man"; meta = { - description = "`host', a DNS resolution utility"; + description = "DNS resolution utility"; license = "BSD-style"; }; } diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix index 20ee6da8a30ceec8e85e441d28312c1060255e7b..a6a921f6f5884a652e5fe5bf4d02a41080cc50c8 100644 --- a/pkgs/tools/networking/inetutils/default.nix +++ b/pkgs/tools/networking/inetutils/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "GNU Inetutils, a collection of common network programs"; + description = "Collection of common network programs"; longDescription = '' The GNU network utilities suite provides the diff --git a/pkgs/tools/networking/jnettop/default.nix b/pkgs/tools/networking/jnettop/default.nix index 49753d189d63380e2c727543ec971e44eb67100e..cfeaf47fdf23ecdff0462904839d15070d09f922 100644 --- a/pkgs/tools/networking/jnettop/default.nix +++ b/pkgs/tools/networking/jnettop/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { preConfigure = '' autoconf ''; meta = { - description = "Jnettop, a network traffic visualizer"; + description = "Network traffic visualizer"; longDescription = '' Jnettop is a traffic visualiser, which captures traffic going diff --git a/pkgs/tools/networking/lsh/default.nix b/pkgs/tools/networking/lsh/default.nix index 6be4119469ea0ca6101a759c6ee96c7838d3ef2e..c86dba91f5e6c361bfd1b796c09526305f3a2ccb 100644 --- a/pkgs/tools/networking/lsh/default.nix +++ b/pkgs/tools/networking/lsh/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { buildInputs = [ gperf guile gmp zlib liboop readline gnum4 pam ]; meta = { - description = "GNU lsh, a GPL'd implementation of the SSH protocol"; + description = "GPL'd implementation of the SSH protocol"; longDescription = '' lsh is a free implementation (in the GNU sense) of the ssh diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix index 4c1001310ae1f3745eab0727a951b01263f4e86e..0ee4903270426821b7cf144b2ae35e9ecfc14b93 100755 --- a/pkgs/tools/networking/mailutils/default.nix +++ b/pkgs/tools/networking/mailutils/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { doCheck = false; meta = { - description = "GNU Mailutils is a rich and powerful protocol-independent mail framework"; + description = "Rich and powerful protocol-independent mail framework"; longDescription = '' GNU Mailutils is a rich and powerful protocol-independent mail diff --git a/pkgs/tools/networking/minidlna/default.nix b/pkgs/tools/networking/minidlna/default.nix index 02013d8ede6dba306ec3d1028c202e4c21707c31..9db42f09d81aea20268e4f74690b3c58be0c06b3 100644 --- a/pkgs/tools/networking/minidlna/default.nix +++ b/pkgs/tools/networking/minidlna/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { buildInputs = [ ffmpeg flac libvorbis libogg libid3tag libexif libjpeg sqlite ]; meta = { - description = "MiniDLNA Media Server"; + description = "Media server software"; longDescription = '' MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully compliant with DLNA/UPnP-AV clients. diff --git a/pkgs/tools/networking/netboot/default.nix b/pkgs/tools/networking/netboot/default.nix index ec49770d269bf164d9f7312299691d19bc786f71..dbf393094c8ee08bdd990c2baa02047dc4c12a8d 100644 --- a/pkgs/tools/networking/netboot/default.nix +++ b/pkgs/tools/networking/netboot/default.nix @@ -1,47 +1,18 @@ -x@{builderDefsPackage - , fetchurl, yacc, bison, ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ stdenv, fetchurl, yacc, lzo, db4 }: - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - version="0.10.2"; - baseName="netboot"; - name="${baseName}-${version}"; - url="mirror://sourceforge/netboot/${name}.tar.gz"; - hash="09w09bvwgb0xzn8hjz5rhi3aibysdadbg693ahn8rylnqfq4hwg0"; +stdenv.mkDerivation rec { + name = "netboot-0.10.2"; + src = fetchurl { + url = "mirror://sourceforge/netboot/${name}.tar.gz"; + sha256 = "09w09bvwgb0xzn8hjz5rhi3aibysdadbg693ahn8rylnqfq4hwg0"; }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; - }; - - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doUnpack" "doConfigure" "doMakeInstall"]; + + buildInputs = [ yacc lzo db4 ]; - meta = { + meta = with stdenv.lib; { description = "Mini PXE server"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; + maintainers = [ maintainers.raskin ]; + platforms = ["x86_64-linux"]; license = "free-noncopyleft"; }; - passthru = { - updateInfo = { - downloadPage = "https://github.com/ITikhonov/netboot"; - }; - }; -}) x - +} \ No newline at end of file diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix index 3c33da1b6619eff11f9fbb8ae4a1edb1c18d02c2..52554209d59590e384ef1f4c9d64d3b251f38ad2 100644 --- a/pkgs/tools/networking/ntopng/default.nix +++ b/pkgs/tools/networking/ntopng/default.nix @@ -1,16 +1,36 @@ { stdenv, fetchurl, libpcap, gnutls, libgcrypt, libxml2, glib, geoip, sqlite -, which +, which, autoreconfHook, subversion, pkgconfig, groff }: # ntopng includes LuaJIT, mongoose, rrdtool and zeromq in its third-party/ # directory. stdenv.mkDerivation rec { - name = "ntopng-1.1_6932"; + name = "ntopng-1.2.0_r8116"; + + geoLiteCity = fetchurl { + url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz"; + sha256 = "1rv5yx5xgz04ymicx9pilidm19wh01ql2klwjcdakv558ndxdzd5"; + }; + + geoLiteCityV6 = fetchurl { + url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz"; + sha256 = "0j974qpi92wwnibq46h16vxpcz7yy8bbqc4k8kmby1yx994k33v4"; + }; + + geoIPASNum = fetchurl { + url = "http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz"; + sha256 = "1msnbls66npq001nmf1wmkrh6vyacgi8g5phfm1c34cz7vqnh683"; + }; + + geoIPASNumV6 = fetchurl { + url = "http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz"; + sha256 = "126syia75mkxs6xfinfp70xcfq6a3rgfmh673pzzkwxya393lbdn"; + }; src = fetchurl { url = "mirror://sourceforge/project/ntop/ntopng/${name}.tgz"; - sha256 = "0cdbmrsjp3bb7xzci0vfnnkmbyxwxbf47l4kbnk4ydd7xwhwdnzr"; + sha256 = "0y7xc0l77k2qi2qalwfqiw2z361hdypirfv4k5gi652pb20jc9j6"; }; patches = [ @@ -18,19 +38,13 @@ stdenv.mkDerivation rec { ./0002-Remove-requirement-to-have-writeable-callback-dir.patch ]; - buildInputs = [ libpcap gnutls libgcrypt libxml2 glib geoip sqlite which ]; - - preBuild = '' - sed -e "s|^SHELL=.*|SHELL=${stdenv.shell}|" \ - -e "s|/usr/local|$out|g" \ - -e "s|/bin/rm|rm|g" \ - -i Makefile + buildInputs = [ libpcap gnutls libgcrypt libxml2 glib geoip sqlite which autoreconfHook subversion pkgconfig groff ]; - sed -e "s|^SHELL=.*|SHELL=${stdenv.shell}|" \ - -e "s|/usr/local|$out|g" \ - -e "s|/opt/local|/non-existing-dir|g" \ - -i configure + preConfigure = '' + find . -name Makefile.in | xargs sed -i "s|/bin/rm|rm|" + ''; + preBuild = '' sed -e "s|/usr/local|$out|g" \ -i Ntop.cpp @@ -40,6 +54,11 @@ stdenv.mkDerivation rec { -e "s|\(#define CONST_DEFAULT_CALLBACKS_DIR\).*|\1 \"$out/share/ntopng/scripts/callbacks\"|g" \ -e "s|\(#define CONST_DEFAULT_INSTALL_DIR\).*|\1 \"$out/share/ntopng\"|g" \ -i ntop_defines.h + + gunzip -c $geoLiteCity > httpdocs/geoip/GeoLiteCity.dat + gunzip -c $geoLiteCityV6 > httpdocs/geoip/GeoLiteCityv6.dat + gunzip -c $geoIPASNum > httpdocs/geoip/GeoIPASNum.dat + gunzip -c $geoIPASNumV6 > httpdocs/geoip/GeoIPASNumv6.dat ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/openntpd/default.nix b/pkgs/tools/networking/openntpd/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..c90582a754748b666318a8b3543adef42f308b98 --- /dev/null +++ b/pkgs/tools/networking/openntpd/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchgit, openssl +, privsepPath ? "/var/empty" +, privsepUser ? "ntp" +}: + +stdenv.mkDerivation rec { + name = "openntpd-${version}"; + version = "20080406p-10"; + + src = fetchgit { + url = "git://git.debian.org/collab-maint/openntpd.git"; + rev = "refs/tags/debian/${version}"; + sha256 = "0gd6j4sw4x4adlz0jzbp6lblx5vlnk6l1034hzbj2xd95k8hjhh8"; + }; + + postPatch = '' + sed -i -e '/^install:/,/^$/{/@if.*PRIVSEP_PATH/,/^$/d}' Makefile.in + ''; + + configureFlags = [ + "--with-privsep-path=${privsepPath}" + "--with-privsep-user=${privsepUser}" + ]; + + buildInputs = [ openssl ]; + + meta = { + homepage = "http://www.openntpd.org/"; + license = stdenv.lib.licenses.bsd3; + description = "OpenBSD NTP daemon (Debian port)"; + }; +} diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix index 14d0d99119dcfebc0be2b848f23a34fb8083e430..e74106ec67f4f69135b965b4d037d9980146819d 100644 --- a/pkgs/tools/networking/radvd/default.nix +++ b/pkgs/tools/networking/radvd/default.nix @@ -1,16 +1,20 @@ -{ stdenv, fetchurl, bison, flex }: +{ stdenv, fetchurl, pkgconfig, libdaemon, bison, flex, check }: stdenv.mkDerivation rec { - name = "radvd-1.8.1"; + name = "radvd-2.5"; src = fetchurl { - url = "http://www.litech.org/radvd/dist/${name}.tar.gz"; - sha256 = "1sg3halppbz3vwr88lbcdv7mndzwl4nkqnrafkyf2a248wwz2cbc"; + url = "http://www.litech.org/radvd/dist/${name}.tar.xz"; + sha256 = "0hsa647l236q9rhrwjb44xqmjfz4fxzcixlbf2chk4lzh8lzwjp0"; }; - buildInputs = [ bison flex ]; + buildInputs = [ pkgconfig libdaemon bison flex check ]; - meta.homepage = http://www.litech.org/radvd/; - meta.description = "IPv6 Router Advertisement Daemon"; - meta.platforms = stdenv.lib.platforms.linux; + meta = with stdenv.lib; { + homepage = http://www.litech.org/radvd/; + description = "IPv6 Router Advertisement Daemon"; + platforms = platforms.linux; + license = licenses.bsdOriginal; + maintainers = with maintainers; [ wkennington ]; + }; } diff --git a/pkgs/tools/networking/s6-dns/default.nix b/pkgs/tools/networking/s6-dns/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3165434de3da0ebb8665a35bb4d9a0250450f731 --- /dev/null +++ b/pkgs/tools/networking/s6-dns/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchurl, skalibs }: + +let + + version = "0.1.0.0"; + +in stdenv.mkDerivation rec { + + name = "s6-dns-${version}"; + + src = fetchurl { + url = "http://www.skarnet.org/software/s6-dns/${name}.tar.gz"; + sha256 = "1r82l5fnz2rrwm5wq2sldqp74lk9fifr0d8hyq98xdyh24hish68"; + }; + + buildInputs = [ skalibs ]; + + sourceRoot = "web/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + printf "${skalibs}/sysdeps" > import + printf "%s" "${skalibs}/include" > path-include + printf "%s" "${skalibs}/lib" > path-library + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + meta = { + homepage = http://www.skarnet.org/software/s6-dns/; + description = "A suite of DNS client programs and libraries for Unix systems."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3d5e3e048110becb184fac8c772cc6a68cf8318b --- /dev/null +++ b/pkgs/tools/networking/s6-networking/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, execline +, fetchurl +, s6Dns +, skalibs +}: + +let + + version = "0.1.0.0"; + +in stdenv.mkDerivation rec { + + name = "s6-networking-${version}"; + + src = fetchurl { + url = "http://www.skarnet.org/software/s6-networking/${name}.tar.gz"; + sha256 = "1np9m2j1i2450mbcjvpbb56kv3wc2fbyvmv2a039q61j2lk6vjz7"; + }; + + buildInputs = [ skalibs s6Dns execline ]; + + sourceRoot = "net/${name}"; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + printf "${skalibs}/sysdeps" > import + + rm -f path-include + rm -f path-library + for dep in "${execline}" "${s6Dns}" "${skalibs}"; do + printf "%s\n" "$dep/include" >> path-include + printf "%s\n" "$dep/lib" >> path-library + done + + rm -f flag-slashpackage + touch flag-allstatic + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + meta = { + homepage = http://www.skarnet.org/software/s6-networking/; + description = "A suite of small networking utilities for Unix systems."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix index ac2736ffb19e191224c2e66090ea71140678bf86..f854b92b87e56d68f65b2ae4cf7e25157306bf23 100644 --- a/pkgs/tools/networking/spiped/default.nix +++ b/pkgs/tools/networking/spiped/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "spiped-${version}"; - version = "1.3.1"; + version = "1.4.0"; src = fetchurl { url = "http://www.tarsnap.com/spiped/${name}.tgz"; - sha256 = "1viglk61v1v2ga1n31r0h8rvib5gy2h02lhhbbnqh2s6ps1sjn4a"; + sha256 = "0pyg1llnqgfx7n7mi3dq4ra9xg3vkxlf01z5jzn7ncq5d6ii7ynq"; }; buildInputs = [ openssl ]; diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix index 2e27c2b2dc339a3480c98ebcf0f00004d977d3e3..ed295e95a38bac8b0b805f41c8be91df2f1a431e 100644 --- a/pkgs/tools/networking/tcpdump/default.nix +++ b/pkgs/tools/networking/tcpdump/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "tcpdump, a famous network sniffer"; + description = "Network sniffer"; homepage = http://www.tcpdump.org/; license = "BSD-style"; maintainers = stdenv.lib.maintainers.mornfall; diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..4843f07c8f22ae8cddac2397c92d09fe24aa9e53 --- /dev/null +++ b/pkgs/tools/networking/urlwatch/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, python3Packages }: + +python3Packages.buildPythonPackage rec { + name = "urlwatch-1.16"; + + src = fetchurl { + url = "http://thp.io/2008/urlwatch/${name}.tar.gz"; + sha256 = "0yf1m909awfm06z7xwn20qxbbgslb1vjwwb6rygp6bn7sq022f1f"; + }; + + patchPhase = '' + ./convert-to-python3.sh + ''; + + meta = { + description = "A tool for monitoring webpages for updates"; + homepage = https://thp.io/2008/urlwatch/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.tv ]; + }; +} diff --git a/pkgs/tools/networking/wavemon/default.nix b/pkgs/tools/networking/wavemon/default.nix index e9c102817e1031b192b35c43963f306b47032819..b5927fd247806a551ca4ac2d335700bcfbe938e7 100644 --- a/pkgs/tools/networking/wavemon/default.nix +++ b/pkgs/tools/networking/wavemon/default.nix @@ -11,16 +11,15 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="wavemon"; - version="0.7.5"; + version = "0.7.6"; name="${baseName}-${version}"; url="http://eden-feed.erg.abdn.ac.uk/wavemon/stable-releases/${name}.tar.bz2"; - hash="0b1fx00aar2fsw49a10w5bpiyjpz8h8f4nrlwb1acfw36yi1pfkd"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "18cwlzgmwzy7z9dfr6lwd8kmkv0pqiihizm4gi0kkm52bzz6836y"; }; inherit (sourceInfo) name version; @@ -38,11 +37,9 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.gpl2Plus; - }; - passthru = { - updateInfo = { - downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/"; - }; + downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/"; + inherit version; + updateWalker = true; }; }) x diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix index 6ff5439c4bc627cca4129b146f8d1e8c7d202187..27d7fe2572a06da7bd0132cf5f69ca898c6034bb 100644 --- a/pkgs/tools/networking/wget/default.nix +++ b/pkgs/tools/networking/wget/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { doCheck = (perl != null); meta = { - description = "GNU Wget, a tool for retrieving files using HTTP, HTTPS, and FTP"; + description = "Tool for retrieving files using HTTP, HTTPS, and FTP"; longDescription = '' GNU Wget is a free software package for retrieving files using HTTP, diff --git a/pkgs/tools/package-management/koji/default.nix b/pkgs/tools/package-management/koji/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..7f03ed1625e81ff1581a71dcf9d96d78d1aac640 --- /dev/null +++ b/pkgs/tools/package-management/koji/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pythonPackages, python }: + +stdenv.mkDerivation rec { + name = "koji-1.8"; + + src = fetchurl { + url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2"; + sha256 = "10dph209h4jgajb5jmbjhqy4z4hd22i7s2d93vm3ikdf01i8iwf1"; + }; + + propagatedBuildInputs = [ pythonPackages.pycurl python ]; + + makeFlags = "DESTDIR=$(out)"; + + postInstall = '' + cp -R $out/nix/store/*/* $out/ + rm -rf $out/nix + ''; + + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; +} diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index b2e86935b50df5082714375e41c8f0570579a5b2..6631214f39abeca29e22f9c1b5b729b63b001cde 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -66,7 +66,14 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - description = "The Nix Deployment System"; + description = "Powerful package manager that makes package management reliable and reproducible"; + longDescription = '' + Nix is a powerful package manager for Linux and other Unix systems that + makes package management reliable and reproducible. It provides atomic + upgrades and rollbacks, side-by-side installation of multiple versions of + a package, multi-user package management and easy setup of build + environments. + ''; homepage = http://nixos.org/; license = stdenv.lib.licenses.lgpl2Plus; maintainers = [ stdenv.lib.maintainers.eelco ]; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index 731965d9a7cf54de54603bbe314dc8c82c5dce35..bba53b0002fc01aa8134a9c78d3eb391470b88d4 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "nix-1.8pre3748_02843ba"; + name = "nix-1.8pre3766_809ca33"; src = fetchurl { - url = "http://hydra.nixos.org/build/13483092/download/5/${name}.tar.xz"; - sha256 = "074k5spq07bz6ljbiiwfzsnnnpqlwssigxirkyrcamcyjmig4v34"; + url = "http://hydra.nixos.org/build/13584170/download/5/${name}.tar.xz"; + sha256 = "e6d91e73aabf8e8912f9701bf87b66089c197c5b8c8fbcc1707b888c88b96dfd"; }; nativeBuildInputs = [ perl pkgconfig ]; diff --git a/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch b/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch new file mode 100644 index 0000000000000000000000000000000000000000..9c379adb7dfbc339f273d21fc06a5d08e1a4079a --- /dev/null +++ b/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch @@ -0,0 +1,25 @@ +diff -urN chntpw-140201.orig/Makefile chntpw-140201/Makefile +--- chntpw-140201.orig/Makefile 2014-02-01 20:54:37.000000000 +0400 ++++ chntpw-140201/Makefile 2014-08-03 20:26:56.497161881 +0400 +@@ -12,14 +12,13 @@ + + CC=gcc + +-# Force 32 bit +-CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall -m32 +-OSSLLIB=$(OSSLPATH)/lib +- +-# 64 bit if default for compiler setup +-#CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall +-#OSSLLIB=$(OSSLPATH)/lib64 +- ++ifeq '$(shell gcc -dumpmachine)' 'x86_64-unknown-linux-gnu' ++ CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall ++ OSSLLIB=$(OSSLPATH)/lib64 ++else ifeq '$(shell gcc -dumpmachine)' 'i686-unknown-linux-gnu' ++ CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall -m32 ++ OSSLLIB=$(OSSLPATH)/lib ++endif + + # This is to link with whatever we have, SSL crypto lib we put in static + #LIBS=-L$(OSSLLIB) $(OSSLLIB)/libcrypto.a diff --git a/pkgs/tools/security/chntpw/01-chntpw-install-target.patch b/pkgs/tools/security/chntpw/01-chntpw-install-target.patch new file mode 100644 index 0000000000000000000000000000000000000000..d3163a026f9152c9d1d244ab73c98bcfbe89ec06 --- /dev/null +++ b/pkgs/tools/security/chntpw/01-chntpw-install-target.patch @@ -0,0 +1,26 @@ +diff -urN chntpw-140201.orig/Makefile chntpw-140201/Makefile +--- chntpw-140201.orig/Makefile 2014-08-03 20:26:56.497161881 +0400 ++++ chntpw-140201/Makefile 2014-08-04 12:57:16.563818342 +0400 +@@ -10,6 +10,8 @@ + OSSLPATH=/usr + OSSLINC=$(OSSLPATH)/include + ++PREFIX ?= /usr ++ + CC=gcc + + ifeq '$(shell gcc -dumpmachine)' 'x86_64-unknown-linux-gnu' +@@ -24,8 +26,12 @@ + #LIBS=-L$(OSSLLIB) $(OSSLLIB)/libcrypto.a + LIBS=-L$(OSSLLIB) + ++BINARIES := chntpw chntpw.static cpnt reged reged.static samusrgrp samusrgrp.static sampasswd sampasswd.static + +-all: chntpw chntpw.static cpnt reged reged.static samusrgrp samusrgrp.static sampasswd sampasswd.static ++all: $(BINARIES) ++install: $(BINARIES) ++ mkdir -p $(PREFIX)/bin ++ cp $^ $(PREFIX)/bin + + chntpw: chntpw.o ntreg.o edlib.o libsam.o + $(CC) $(CFLAGS) -o chntpw chntpw.o ntreg.o edlib.o libsam.o $(LIBS) diff --git a/pkgs/tools/security/chntpw/default.nix b/pkgs/tools/security/chntpw/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a1aab355a3c344824daa95e7d882b32d8a136968 --- /dev/null +++ b/pkgs/tools/security/chntpw/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + name = "chntpw-${version}"; + + version = "140201"; + + src = fetchurl { + url = "http://pogostick.net/~pnh/ntpasswd/chntpw-source-${version}.zip"; + sha256 = "1k1cxsj0221dpsqi5yibq2hr7n8xywnicl8yyaicn91y8h2hkqln"; + }; + + buildInputs = [ unzip ]; + + patches = [ + ./00-chntpw-build-arch-autodetect.patch + ./01-chntpw-install-target.patch + ]; + + installPhase = '' + make install PREFIX=$out + ''; + + meta = with stdenv.lib; { + homepage = http://pogostick.net/~pnh/ntpasswd/; + description = "An utility to reset the password of any user that has a valid local account on a Windows system"; + license = licenses.gpl2; + }; +} diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix index fc43f01b344f78cc59f45acdcde14ecadd80d8c7..f5c4a4e9b4e6d35e5bb092e3310f1cffae15ba1f 100644 --- a/pkgs/tools/security/clamav/default.nix +++ b/pkgs/tools/security/clamav/default.nix @@ -1,19 +1,23 @@ -{ stdenv, fetchurl, zlib, bzip2, libiconv }: +{ stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl }: stdenv.mkDerivation rec { name = "clamav-${version}"; - version = "0.98.1"; + version = "0.98.4"; src = fetchurl { url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz"; - sha256 = "1p13n8g3b88cxwxj07if9z1d2cav1ib94v6cq4r4bpacfd6yix9m"; + sha256 = "071yzamalj3rf7kl2jvc35ipnk1imdkq5ylbb8whyxfgmd3nf06k"; }; - buildInputs = [ zlib bzip2 libiconv ]; + buildInputs = [ zlib bzip2 libiconv libxml2 openssl ncurses curl ]; configureFlags = [ "--with-zlib=${zlib}" "--with-libbz2-prefix=${bzip2}" "--with-iconv-dir=${libiconv}" + "--with-xml=${libxml2}" + "--with-openssl=${openssl}" + "--with-libncurses-prefix=${ncurses}" + "--with-libcurl=${curl}" "--disable-clamav" ]; meta = with stdenv.lib; { diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix index 9b8d33b6b6960b32c9beef21871d4fcaf7921328..64e2be90d30d9b2fe1a4d8cb5fc425a8a799ef93 100644 --- a/pkgs/tools/security/gnupg/default.nix +++ b/pkgs/tools/security/gnupg/default.nix @@ -13,11 +13,11 @@ assert useUsb -> (libusb != null); assert useCurl -> (curl != null); stdenv.mkDerivation rec { - name = "gnupg-2.0.24"; + name = "gnupg-2.0.26"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "0ch2hbindk832cy7ca00a7whw84ndm0nhqrl24a5fw4ldkca2x6r"; + sha256 = "1q5qcl5panrvcvpwvz6nl9gayl5a6vwvfhgdcxqpmbl2qc6y6n3p"; }; buildInputs diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix index 5e17372419040bdfb74a2d92f4d03b76f02d43d6..699901ad59e9137bda8d081bedf585bf3f2dca34 100644 --- a/pkgs/tools/security/hashcat/default.nix +++ b/pkgs/tools/security/hashcat/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, p7zip, patchelf }: +assert stdenv.isLinux; + let bits = if stdenv.system == "x86_64-linux" then "64" else "32"; libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ]; diff --git a/pkgs/tools/security/mfcuk/default.nix b/pkgs/tools/security/mfcuk/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..9d92482f68f10dc6b1299f0365e95c798422cbd4 --- /dev/null +++ b/pkgs/tools/security/mfcuk/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, libnfc }: + +stdenv.mkDerivation rec { + name = "mfcuk-${version}"; + version = "0.3.8"; + + src = fetchurl { + url = "http://mfcuk.googlecode.com/files/mfcuk-0.3.8.tar.gz"; + sha256 = "0m9sy61rsbw63xk05jrrmnyc3xda0c3m1s8pg3sf8ijbbdv9axcp"; + }; + + buildInputs = [ pkgconfig libnfc ]; + + meta = with stdenv.lib; { + description = "MiFare Classic Universal toolKit"; + license = licenses.gpl2; + homepage = http://code.google.com/p/mfcuk/; + maintainers = with maintainers; [ offline ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/tools/security/scrypt/default.nix b/pkgs/tools/security/scrypt/default.nix index fe2a19491d99ba1bb8d6cc0a90cf0fc37c56f474..668a76051153a7ca2e19b626738e259a36ae4488 100644 --- a/pkgs/tools/security/scrypt/default.nix +++ b/pkgs/tools/security/scrypt/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ openssl ]; meta = { - description = "The scrypt encryption utility"; + description = "Encryption utility"; homepage = https://www.tarsnap.com/scrypt.html; license = stdenv.lib.licenses.bsd2; platforms = stdenv.lib.platforms.all; diff --git a/pkgs/tools/security/steghide/default.nix b/pkgs/tools/security/steghide/default.nix index bc87c091a58fff5cee3e792b10a224ae854cbd4f..03e8c727022df33d593af5c81e6c9e8ba7e388cd 100644 --- a/pkgs/tools/security/steghide/default.nix +++ b/pkgs/tools/security/steghide/default.nix @@ -7,7 +7,7 @@ meta = with stdenv.lib; { homepage = http://steghide.sourceforge.net/; - description = "Steghide is a steganography program that is able to hide data in various kinds of image- and audio-files."; + description = "Steganography program that is able to hide data in various kinds of image- and audio-files"; license = licenses.gpl2; }; diff --git a/pkgs/tools/security/tboot/default.nix b/pkgs/tools/security/tboot/default.nix index 1c9967edc4778be0182664c7124967a683c12b5f..854f67f2aeec2daebbdeb2ae721854acc5cbf68e 100644 --- a/pkgs/tools/security/tboot/default.nix +++ b/pkgs/tools/security/tboot/default.nix @@ -21,9 +21,7 @@ stdenv.mkDerivation rec { installFlags = "DESTDIR=$(out)"; meta = with stdenv.lib; { - description = ''Trusted Boot (tboot) is an open source, pre-kernel/VMM module that uses - Intel(R) Trusted Execution Technology (Intel(R) TXT) to perform a measured - and verified launch of an OS kernel/VMM.''; + description = "A pre-kernel/VMM module that uses Intel(R) TXT to perform a measured and verified launch of an OS kernel/VMM"; homepage = http://sourceforge.net/projects/tboot/; license = licenses.bsd3; maintainers = [ maintainers.ak ]; diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index d71bbd891f916cf6abccd793a249c708ab76aeb1..3318d0c1102d58f016d44f815d8167a36e19f6d7 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.torproject.org/; repositories.git = https://git.torproject.org/git/tor; - description = "Tor, an anonymous network router to improve privacy on the Internet"; + description = "Anonymous network router to improve privacy on the Internet"; longDescription='' Tor protects you by bouncing your communications around a distributed diff --git a/pkgs/tools/security/tpm-tools/default.nix b/pkgs/tools/security/tpm-tools/default.nix index 95b3b6b51f77706d7adee9d155fdf4dcb80d6c32..6e7ff75a6a487c241997da6a19f3d1dc34603d1d 100644 --- a/pkgs/tools/security/tpm-tools/default.nix +++ b/pkgs/tools/security/tpm-tools/default.nix @@ -14,9 +14,12 @@ stdenv.mkDerivation rec { buildInputs = [ trousers openssl ]; meta = with stdenv.lib; { - description = ''tpm-tools is an open-source package designed to enable user and application - enablement of Trusted Computing using a Trusted Platform Module (TPM), - similar to a smart card environment.''; + description = "Management tools for TPM hardware"; + longDescription = '' + tpm-tools is an open-source package designed to enable user and + application enablement of Trusted Computing using a Trusted Platform + Module (TPM), similar to a smart card environment. + ''; homepage = http://sourceforge.net/projects/trousers/files/tpm-tools/; license = licenses.cpl10; maintainers = [ maintainers.ak ]; diff --git a/pkgs/tools/security/trousers/default.nix b/pkgs/tools/security/trousers/default.nix index 4c2af359b9645912fd19a5a5e7076b612c7c6a1f..fe797291f9ea9d4eea00bb9c10e4ef75414d2558 100644 --- a/pkgs/tools/security/trousers/default.nix +++ b/pkgs/tools/security/trousers/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = "-lgcc_s"; meta = with stdenv.lib; { - description = "TrouSerS is an CPL (Common Public License) licensed Trusted Computing Software Stack."; + description = "Trusted computing software stack"; homepage = http://trousers.sourceforge.net/; license = licenses.cpl10; maintainers = [ maintainers.ak ]; diff --git a/pkgs/tools/system/cron/default.nix b/pkgs/tools/system/cron/default.nix index 6132abc0879034729b456eb0e2c9653026be348b..0cf29a67b9da461f2c883643386f66cdf76f5ad4 100644 --- a/pkgs/tools/system/cron/default.nix +++ b/pkgs/tools/system/cron/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation { preInstall = "mkdir -p $out/bin $out/sbin $out/share/man/man1 $out/share/man/man5 $out/share/man/man8"; meta = { - description = "Vixie Cron, a daemon for running commands at specific times"; + description = "Daemon for running commands at specific times (Vixie Cron)"; }; } diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix index 9c7f041342103ba5433da7dee618cc5ceb0bd0be..7b3e62a1bc03125961e39663a1acdbc5a70eadf2 100644 --- a/pkgs/tools/system/dd_rescue/default.nix +++ b/pkgs/tools/system/dd_rescue/default.nix @@ -1,10 +1,11 @@ { stdenv, fetchurl, autoconf }: stdenv.mkDerivation rec { - name = "dd_rescue-1.42.1"; + version = "1.46"; + name = "dd_rescue-${version}"; src = fetchurl { - sha256 = "0g2d292m1cnp8syy19hh5jvly3zy7lcvcj563wgjnf20ppm2diaq"; + sha256 = "1fhs4jl5pkyn4aq75fxczrgnsj2m0kz9hfa7dhxy93vp7xcba2cy"; url="http://www.garloff.de/kurt/linux/ddrescue/${name}.tar.gz"; }; @@ -33,5 +34,8 @@ stdenv.mkDerivation rec { description = "A tool to copy data from a damaged block device"; maintainers = with maintainers; [ raskin iElectric ]; platforms = with platforms; linux; + downloadPage = "http://www.garloff.de/kurt/linux/ddrescue/"; + inherit version; + updateWalker = true; }; } diff --git a/pkgs/tools/system/di/default.nix b/pkgs/tools/system/di/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..dc15ce13bccbeebc6025cb3a8a5a87a2a1284151 --- /dev/null +++ b/pkgs/tools/system/di/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "di-4.35"; + + src = fetchurl { + url = "http://gentoo.com/di/${name}.tar.gz"; + sha256 = "1lkiggvdm6wi14xy8845w6mqqr50j2q7g0i2rdcs7qw5gb7gmprc"; + }; + + makeFlags = "INSTALL_DIR=$(out)"; + + meta = with stdenv.lib; { + description = "A disk information utility, displaying everything (and more) that your 'df' command does"; + homepage = http://www.gentoo.com/di/; + license = licenses.zlib; + maintainers = with maintainers; [ manveru ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix index 21a67dba305c7cae6d73bd036624348799b37796..8f94b21a771269ce207f58fecac8c86ca26532bc 100644 --- a/pkgs/tools/system/freeipmi/default.nix +++ b/pkgs/tools/system/freeipmi/default.nix @@ -1,11 +1,12 @@ { fetchurl, stdenv, libgcrypt, readline }: stdenv.mkDerivation rec { - name = "freeipmi-1.3.4"; + version = "1.4.5"; + name = "freeipmi-${version}"; src = fetchurl { url = "mirror://gnu/freeipmi/${name}.tar.gz"; - sha256 = "0gadf3yj019y3rvgf34pxk502p0p6nrhy6nwldvvir5rknndxh63"; + sha256 = "033zakrk3kvi4y41kslicr90b3yb2kj052cl6nbja7ybn70y9nkz"; }; buildInputs = [ libgcrypt readline ]; @@ -13,7 +14,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU FreeIPMI, an implementation of the Intelligent Platform Management Interface"; + description = "Implementation of the Intelligent Platform Management Interface"; longDescription = '' GNU FreeIPMI provides in-band and out-of-band IPMI software based on @@ -30,10 +31,14 @@ stdenv.mkDerivation rec { ''; homepage = http://www.gnu.org/software/freeipmi/; + downloadPage = "http://www.gnu.org/software/freeipmi/download.html"; license = stdenv.lib.licenses.gpl3Plus; maintainers = with stdenv.lib.maintainers; [ raskin ]; platforms = stdenv.lib.platforms.gnu; # arbitrary choice + + updateWalker = true; + inherit version; }; } diff --git a/pkgs/tools/system/hardlink/default.nix b/pkgs/tools/system/hardlink/default.nix index 982aac3c9900929751250fca77acc4144d73e888..6ae92b685cc9449f33331cff3340af68787f0740 100644 --- a/pkgs/tools/system/hardlink/default.nix +++ b/pkgs/tools/system/hardlink/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { meta = { homepage = "http://pkgs.fedoraproject.org/cgit/hardlink.git/"; - description = "consolidate duplicate files via hardlinks"; + description = "Consolidate duplicate files via hardlinks"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.unix; diff --git a/pkgs/tools/system/ioping/default.nix b/pkgs/tools/system/ioping/default.nix index 52d32b4e838e90076932af5bbc9133a787fc7887..588da0624ce61d643ba6bd710f772074c1f6312f 100644 --- a/pkgs/tools/system/ioping/default.nix +++ b/pkgs/tools/system/ioping/default.nix @@ -10,16 +10,15 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="ioping"; - version="0.7"; + version = "0.8"; name="${baseName}-${version}"; url="http://ioping.googlecode.com/files/${name}.tar.gz"; - hash="1c0k9gsq7rr9fqh6znn3i196l84zsm44nq3pl1b7grsnnbp2hki3"; }; in rec { src = a.fetchurl { url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "0j7yal61nby1lkg9wnr6lxfljbd7wl3n0z8khqwvc9lf57bxngz2"; }; inherit (sourceInfo) name version; @@ -40,11 +39,8 @@ rec { platforms = with a.lib.platforms; linux; license = a.lib.licenses.gpl3Plus; - }; - passthru = { - updateInfo = { - downloadPage = "http://code.google.com/p/ioping/downloads/list"; - }; + downloadPage = "http://code.google.com/p/ioping/downloads/list"; + inherit version; }; }) x diff --git a/pkgs/tools/system/ioping/default.upstream b/pkgs/tools/system/ioping/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..e51cb487852dc8f6bd26667635ffaa6ee350d65f --- /dev/null +++ b/pkgs/tools/system/ioping/default.upstream @@ -0,0 +1,5 @@ +url http://code.google.com/p/ioping/downloads/list +version_link '[.]tar[.][a-z0-9]+$' +process 'code[.]google[.]com//' '' + +do_overwrite() { do_overwrite_just_version; } diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix index c5f33c323594fbac2ba7adfe01a82831e9ab490a..6590b1ad209123beba108c6a831bd79c210a6617 100644 --- a/pkgs/tools/system/ipmiutil/default.nix +++ b/pkgs/tools/system/ipmiutil/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { baseName = "ipmiutil"; - version = "2.9.3"; + version = "2.7.3"; name = "${baseName}-${version}"; src = fetchurl { url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz"; - sha256 = "1dwyxp4jn5wxzyahd0x839kj1q7z6xin1wybpx9na4xsgscj6v27"; + sha256 = "0z6ykz5db4ws7hpi25waf9vznwsh0vp819h5s7s8r054vxslrfpq"; }; buildInputs = [ openssl ]; @@ -26,11 +26,7 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; license = licenses.bsd3; - }; - - passthru = { - updateInfo = { - downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/"; - }; + downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/"; + inherit version; }; } diff --git a/pkgs/tools/system/ipmiutil/default.upstream b/pkgs/tools/system/ipmiutil/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..18dc096a36b67658d6a49931c4cf4b6db15db052 --- /dev/null +++ b/pkgs/tools/system/ipmiutil/default.upstream @@ -0,0 +1,4 @@ +url http://sourceforge.net/projects/ipmiutil/files/ipmiutil/ +SF_version_tarball +SF_redirect +minimize_overwrite diff --git a/pkgs/tools/system/mcron/default.nix b/pkgs/tools/system/mcron/default.nix index 4bf958959961b80dcbd52b2bd47c169b65495686..842529c573f1d2893a57cda801156382f2282a99 100644 --- a/pkgs/tools/system/mcron/default.nix +++ b/pkgs/tools/system/mcron/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU mcron, a flexible implementation of `cron' in Guile"; + description = "Flexible implementation of `cron' in Guile"; longDescription = '' The GNU package mcron (Mellor's cron) is a 100% compatible diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix index 0148e3c699eba5281d1539df11127a6024509cd6..016e2ccda37cdb4544f447c9f062c08890b94fcc 100644 --- a/pkgs/tools/system/sleuthkit/default.nix +++ b/pkgs/tools/system/sleuthkit/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, libewf, afflib, openssl, zlib }: stdenv.mkDerivation rec { - name = "sleuthkit-3.2.2"; + version = "4.1.3"; + name = "sleuthkit-${version}"; src = fetchurl { url = "mirror://sourceforge/sleuthkit/${name}.tar.gz"; - sha256 = "02hik5xvbgh1dpisvc3wlhhq1aprnlsk0spbw6h5khpbq9wqnmgj"; + sha256 = "09q3ky4rpv18jasf5gc2hlivzadzl70jy4nnk23db1483aix5yb7"; }; enableParallelBuilding = true; @@ -20,5 +21,6 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.raskin ]; platforms = stdenv.lib.platforms.linux; license = "IBM Public License"; + inherit version; }; } diff --git a/pkgs/tools/system/sleuthkit/default.upstream b/pkgs/tools/system/sleuthkit/default.upstream new file mode 100644 index 0000000000000000000000000000000000000000..f8ffe9352ede19e8eddb99d7f6f06ea58968fe41 --- /dev/null +++ b/pkgs/tools/system/sleuthkit/default.upstream @@ -0,0 +1,5 @@ +url http://sourceforge.net/projects/sleuthkit/files/sleuthkit/ +SF_version_dir +SF_version_tarball +SF_redirect +minimize_overwrite diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..86d121f0c22fdf8c6725b559b495ed0fa3fabf72 --- /dev/null +++ b/pkgs/tools/system/thermald/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, unzip, autoconf, automake, libtool, pkgconfig, dbus_libs, dbus_glib, libxml2 }: + +stdenv.mkDerivation rec { + version = "1.3"; + name = "thermald-${version}"; + src = fetchurl { + url = "https://github.com/01org/thermal_daemon/archive/v${version}.zip"; + sha256 = "0jqxc8vvd4lx4z0kcdisk8lpdf823nysvjcfjxlr5wzla1xysqwc"; + }; + buildInputs = [ unzip autoconf automake libtool pkgconfig dbus_libs dbus_glib libxml2 ]; + + patchPhase = ''sed -e 's/upstartconfdir = \/etc\/init/upstartconfdir = $(out)\/etc\/init/' -i data/Makefile.am''; + + preConfigure = '' + export PKG_CONFIG_PATH="${dbus_libs}/lib/pkgconfig:$PKG_CONFIG_PATH" + ./autogen.sh #--prefix="$out" + ''; + + configureFlags = [ + "--sysconfdir=$(out)/etc" "--localstatedir=/var" + "--with-dbus-sys-dir=$(out)/etc/dbus-1/system.d" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + ]; + + preInstall = "sysconfdir=$out/etc"; + + + meta = { + description = "Thermal Daemon"; + longDescription = '' + Thermal Daemon + ''; + homepage = https://01.org/linux-thermal-daemon; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/pkgs/tools/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix index fe11ec59246357905cd6344ac7a10fcb72a318a3..797f5b8b6922001a0d8a64e6cabfa95e6ff875e8 100644 --- a/pkgs/tools/text/enscript/default.nix +++ b/pkgs/tools/text/enscript/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "GNU Enscript, a converter from ASCII to PostScript, HTML, or RTF"; + description = "Converter from ASCII to PostScript, HTML, or RTF"; longDescription = '' GNU Enscript converts ASCII files to PostScript, HTML, or RTF and diff --git a/pkgs/tools/text/mpage/default.nix b/pkgs/tools/text/mpage/default.nix index 5b95c37c732d07f20926031ca8ce052d64dfe9fd..c147b3ea301f8165d5ba7aa4bc9ffbd43f8a539d 100644 --- a/pkgs/tools/text/mpage/default.nix +++ b/pkgs/tools/text/mpage/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Mpage, many-to-one page printing utility"; + description = "Many-to-one page printing utility"; longDescription = '' Mpage reads plain text files or PostScript documents and prints diff --git a/pkgs/tools/text/namazu/default.nix b/pkgs/tools/text/namazu/default.nix index fba52b69fbafd1372394d6576f559f9f3aed600f..72caa7ba5cb4910b49ef3a54e6dbf10835f2fada 100644 --- a/pkgs/tools/text/namazu/default.nix +++ b/pkgs/tools/text/namazu/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { doCheck = !stdenv.isLinux; meta = { - description = "Namazu, a full-text search engine"; + description = "Full-text search engine"; longDescription = '' Namazu is a full-text search engine intended for easy use. Not diff --git a/pkgs/tools/text/sgml/openjade/default.nix b/pkgs/tools/text/sgml/openjade/default.nix index a2920345afa73d572d061c10f06edf7d2325176a..3427f62f15bc6b13204549a3cdbb0696ecb9bfb8 100644 --- a/pkgs/tools/text/sgml/openjade/default.nix +++ b/pkgs/tools/text/sgml/openjade/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1l92sfvx1f0wmkbvzv1385y1gb3hh010xksi1iyviyclrjb7jb8x"; }; + patches = [ ./msggen.patch ]; + buildInputs = [ opensp perl ]; configureFlags = [ diff --git a/pkgs/tools/text/sgml/openjade/msggen.patch b/pkgs/tools/text/sgml/openjade/msggen.patch new file mode 100644 index 0000000000000000000000000000000000000000..d59573fa49cf29cd7b7e661f83a0c4cac543004f --- /dev/null +++ b/pkgs/tools/text/sgml/openjade/msggen.patch @@ -0,0 +1,34 @@ +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-text/openjade/files/openjade-1.3.2-msggen.pl.patch?revision=1.2 + +Use Getopt::Std in place of getopts.pl. +https://bugs.gentoo.org/show_bug.cgi?id=420083 + +--- a/msggen.pl ++++ b/msggen.pl +@@ -4,6 +4,7 @@ + # See the file COPYING for copying permission. + + use POSIX; ++use Getopt::Std; + + # Package and version. + $package = 'openjade'; +@@ -18,8 +19,7 @@ + undef $opt_l; + undef $opt_p; + undef $opt_t; +-do 'getopts.pl'; +-&Getopts('l:p:t:'); ++getopts('l:p:t:'); + $module = $opt_l; + $pot_file = $opt_p; + +@@ -72,7 +72,7 @@ + else { + $field[0] =~ /^[IWQXE][0-9]$/ || &error("invalid first field");; + $type[$num] = substr($field[0], 0, 1); +- $argc = int(substr($field[0], 1, 1)); ++ $argc = substr($field[0], 1, 1); + } + $nargs[$num] = $argc; + $field[1] =~ /^[a-zA-Z_][a-zA-Z0-9_]+$/ || &error("invalid tag"); diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix index e6fc3510cd40164e3f2d650ae32b93e7546bf69b..c07caad15a35f637eb7c952083fc03bfb715b104 100644 --- a/pkgs/tools/text/wdiff/default.nix +++ b/pkgs/tools/text/wdiff/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnu.org/software/wdiff/; - description = "GNU wdiff, comparing files on a word by word basis"; + description = "Comparing files on a word by word basis"; license = stdenv.lib.licenses.gpl3Plus; maintainers = [ stdenv.lib.maintainers.eelco ]; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/tools/text/wgetpaste/default.nix b/pkgs/tools/text/wgetpaste/default.nix index 7635e042499365b3e1139ed3405be369d164ea0d..3c0af0157a52ed86cd47184b1e0f543aa2f6d392 100644 --- a/pkgs/tools/text/wgetpaste/default.nix +++ b/pkgs/tools/text/wgetpaste/default.nix @@ -1,28 +1,29 @@ -{stdenv, fetchurl, wget, bash, coreutils}: - stdenv.mkDerivation rec { - version = "2.23"; - name = "wgetpaste-${version}"; - src = fetchurl { - url = "http://wgetpaste.zlin.dk/${name}.tar.bz2"; - sha256 = "1xam745f5pmqi16br72a866117hnmcfwjyvsw1jhg3npbdnm9x6n"; - }; - # currently zsh-autocompletion support is not installed +{ stdenv, fetchurl, wget, bash, coreutils }: - prePatch = '' - substituteInPlace wgetpaste --replace "/usr/bin/env bash" "${bash}/bin/bash" - substituteInPlace wgetpaste --replace "LC_ALL=C wget" "LC_ALL=C ${wget}/bin/wget" - ''; +stdenv.mkDerivation rec { + version = "2.25"; + name = "wgetpaste-${version}"; + src = fetchurl { + url = "http://wgetpaste.zlin.dk/${name}.tar.bz2"; + sha256 = "1x209j85mryp3hxmv1gfsbvw03k306k5fa65ky0zxx07cs70fzka"; + }; + # currently zsh-autocompletion support is not installed - installPhase = '' - mkdir -p $out/bin; - cp wgetpaste $out/bin; - ''; + prePatch = '' + substituteInPlace wgetpaste --replace "/usr/bin/env bash" "${bash}/bin/bash" + substituteInPlace wgetpaste --replace "LC_ALL=C wget" "LC_ALL=C ${wget}/bin/wget" + ''; - meta = { - description = "Command-line interface to various pastebins"; - homepage = http://wgetpaste.zlin.dk/; - license = "publicDomain"; - maintainers = with stdenv.lib.maintainers; [qknight]; - platforms = stdenv.lib.platforms.all; - }; - } + installPhase = '' + mkdir -p $out/bin; + cp wgetpaste $out/bin; + ''; + + meta = { + description = "Command-line interface to various pastebins"; + homepage = http://wgetpaste.zlin.dk/; + license = "publicDomain"; + maintainers = with stdenv.lib.maintainers; [ qknight iElectric ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix index 78dac0c6aa4eacd84d7684ec616de98a65e8fecd..b31c64e6936a3a35a3ea33f339c115c739b7bc86 100644 --- a/pkgs/tools/typesetting/docbook2x/default.nix +++ b/pkgs/tools/typesetting/docbook2x/default.nix @@ -46,13 +46,14 @@ stdenv.mkDerivation rec { "${gnused}/bin" ''; - meta = { + meta = with stdenv.lib; { longDescription = '' docbook2X is a software package that converts DocBook documents into the traditional Unix man page format and the GNU Texinfo format. ''; - license = stdenv.lib.licenses.mit; + license = licenses.mit; homepage = http://docbook2x.sourceforge.net/; + platforms = platforms.all; }; } diff --git a/pkgs/tools/typesetting/lout/default.nix b/pkgs/tools/typesetting/lout/default.nix index c0fc43362971591dcd2db36e7692fdde10580170..a2ebfa0a9fd4b2ec9d78f576c7d37f56a04aec85 100644 --- a/pkgs/tools/typesetting/lout/default.nix +++ b/pkgs/tools/typesetting/lout/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { builder = ./builder.sh; meta = { - description = "Lout, a document layout system similar in style to LaTeX"; + description = "Document layout system similar in style to LaTeX"; longDescription = '' The Lout document formatting system is now reads a high-level diff --git a/pkgs/tools/typesetting/rubber/default.nix b/pkgs/tools/typesetting/rubber/default.nix index 8344735606ca8a8e0d4e70c421fc82225f3d158b..32545abaff2d841fccf51318151bbe9cc295d358 100644 --- a/pkgs/tools/typesetting/rubber/default.nix +++ b/pkgs/tools/typesetting/rubber/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { patchPhase = "substituteInPlace configure --replace which \"type -P\""; meta = { - description = "Rubber, a wrapper for LaTeX and friends"; + description = "Wrapper for LaTeX and friends"; longDescription = '' Rubber is a program whose purpose is to handle all tasks related diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index c2840fd843ff8448bde8d89111cb4e3f86c8c60c..beb6a7f3a68cf417f230929cb42e93e2f02e9b8b 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -5,16 +5,16 @@ rec { sha256 = "0nh8hfayyf60nm4z8zyclrbc3792c62azgsvrwxnl28iq223200s"; }; - texmfVersion = "2014.20140717"; + texmfVersion = "2014.20140821"; texmfSrc = fetchurl { url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz"; - sha256 = "08vhl6x742r8fl0gags2r6yspz8ynvz26vdjrqb4vyz5h7h3rzc9"; + sha256 = "02qkzlhb381sybs970fgpc94nhx4jm0l3j5pv8z48l11415lvm9b"; }; - langTexmfVersion = "2014.20140717"; + langTexmfVersion = "2014.20140821"; langTexmfSrc = fetchurl { url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz"; - sha256 = "1x9aa3v2cg4lcb58lwksnfdsgrhi0sg968pjqsbndmbxhr1msbp7"; + sha256 = "075avhhhhzw5pbd19q659rn23rws15b5hv7nv0grd93vn3vfwdcy"; }; passthru = { inherit texmfSrc langTexmfSrc; }; diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix index 4644ee3e50ec5fb2f95e2c82691e26553cf92645..f47fedd927d8aa0bb71dcc93020a5ed7e1055444 100644 --- a/pkgs/tools/typesetting/tex/texlive/extra.nix +++ b/pkgs/tools/typesetting/tex/texlive/extra.nix @@ -1,11 +1,11 @@ args: with args; rec { name = "texlive-extra-2014"; - version = "2014.20140717"; + version = "2014.20140821"; src = fetchurl { url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz"; - sha256 = "1khxqdq9gagm6z8kbpjbraysfzibfjs2cgbrhjpncbd24sxpw13q"; + sha256 = "1y3w8bgp85s90ng2y5dw9chrrvvdf7ibb6ynss8kycvgc0y4m6b3"; }; buildInputs = [texLive xz]; diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix index 1b0602063e9eb40fff99929113a3b4fe24bffa8e..a1eee51b34d52486c8a8508d6df2b2a8e33edef8 100644 --- a/pkgs/tools/typesetting/xmlto/default.nix +++ b/pkgs/tools/typesetting/xmlto/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "xmlto, a front-end to an XSL toolchain"; + description = "Front-end to an XSL toolchain"; longDescription = '' xmlto is a front-end to an XSL toolchain. It chooses an diff --git a/pkgs/tools/video/dvgrab/default.nix b/pkgs/tools/video/dvgrab/default.nix index faaea6aaffc41539ae49840b650d5aac5b1b252a..73986b5be05d745f81dd3c14a0943a5fc4fee4aa 100644 --- a/pkgs/tools/video/dvgrab/default.nix +++ b/pkgs/tools/video/dvgrab/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { ]; meta = { - description = "dvgrab, receive and store audio & video over IEEE1394"; + description = "Receive and store audio & video over IEEE1394"; longDescription = '' dvgrab receives audio and video data from a digital camcorder via an diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6fa8c4f91b932b93ef52db19d27c2f73d422d904..d20d991d5e80f7833298ec0469bb3a1dca1c5f34 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -421,6 +421,8 @@ let ### TOOLS + abduco = callPackage ../tools/misc/abduco { }; + acct = callPackage ../tools/system/acct { }; acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter { @@ -581,7 +583,7 @@ let bmon = callPackage ../tools/misc/bmon { }; - bochs = callPackage ../applications/virtualization/bochs { }; + bochs = callPackage ../applications/virtualization/bochs { wxSupport = false; }; boomerang = callPackage ../development/tools/boomerang { }; @@ -606,6 +608,8 @@ let consul = callPackage ../servers/consul { }; consul_ui = callPackage ../servers/consul/ui.nix { }; + chntpw = callPackage ../tools/security/chntpw { }; + coprthr = callPackage ../development/libraries/coprthr { flex = flex_2_5_35; }; @@ -789,6 +793,8 @@ let cpuminer = callPackage ../tools/misc/cpuminer { }; + cpuminer-multi = callPackage ../tools/misc/cpuminer-multi { }; + cuetools = callPackage ../tools/cd-dvd/cuetools { }; unifdef = callPackage ../development/tools/misc/unifdef { }; @@ -797,6 +803,8 @@ let usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { }; + anthy = callPackage ../tools/inputmethods/anthy { }; + biosdevname = callPackage ../tools/networking/biosdevname { }; clamav = callPackage ../tools/security/clamav { }; @@ -811,6 +819,8 @@ let convmv = callPackage ../tools/misc/convmv { }; + cool-old-term = callPackage ../applications/misc/cool-old-term { }; + coreutils = callPackage ../tools/misc/coreutils { # TODO: Add ACL support for cross-Linux. @@ -893,6 +903,8 @@ let dhcpcd = callPackage ../tools/networking/dhcpcd { }; + di = callPackage ../tools/system/di { }; + diffstat = callPackage ../tools/text/diffstat { }; diffutils = callPackage ../tools/text/diffutils { }; @@ -921,6 +933,9 @@ let dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { }; + dolphinEmu = callPackage ../misc/emulators/dolphin-emu { }; + dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { }; + dropbear = callPackage ../tools/networking/dropbear { }; dtach = callPackage ../tools/misc/dtach { }; @@ -955,6 +970,10 @@ let edk2 = callPackage ../development/compilers/edk2 { }; + emscripten = callPackage ../development/compilers/emscripten { }; + + emscriptenfastcomp = callPackage ../development/compilers/emscripten-fastcomp { }; + efibootmgr = callPackage ../tools/system/efibootmgr { }; efivar = callPackage ../tools/system/efivar { }; @@ -985,6 +1004,8 @@ let exempi = callPackage ../development/libraries/exempi { }; + execline = callPackage ../tools/misc/execline { }; + exercism = callPackage ../development/tools/exercism { }; exif = callPackage ../tools/graphics/exif { }; @@ -1033,6 +1054,8 @@ let platformTools = androidenv.platformTools; }; + flashrom = callPackage ../tools/misc/flashrom { }; + flpsed = callPackage ../applications/editors/flpsed { }; flvstreamer = callPackage ../tools/networking/flvstreamer { }; @@ -1190,9 +1213,15 @@ let /* Readded by Michael Raskin. There are programs in the wild * that do want 2.0 but not 2.22. Please give a day's notice for - * objections before removal. + * objections before removal. The feature is integer coordinates */ graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { }; + + /* Readded by Michael Raskin. There are programs in the wild + * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for + * objections before removal. The feature is libgraph. + */ + graphviz_2_32 = callPackage ../tools/graphics/graphviz/2.32.nix { }; grive = callPackage ../tools/filesystems/grive { json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable @@ -1217,6 +1246,7 @@ let gt5 = callPackage ../tools/system/gt5 { }; gtest = callPackage ../development/libraries/gtest {}; + gmock = callPackage ../development/libraries/gmock {}; gtkdatabox = callPackage ../development/libraries/gtkdatabox {}; @@ -1258,6 +1288,8 @@ let haveged = callPackage ../tools/security/haveged { }; + hawkthorne = callPackage ../games/hawkthorne { love = love_0_9; }; + hardlink = callPackage ../tools/system/hardlink { }; hashcat = callPackage ../tools/security/hashcat { }; @@ -1268,6 +1300,12 @@ let hdf5 = callPackage ../tools/misc/hdf5 { szip = null; + mpi = null; + }; + + hdf5-mpi = hdf5.override { + szip = null; + mpi = pkgs.openmpi; }; heimdall = callPackage ../tools/misc/heimdall { }; @@ -1502,6 +1540,8 @@ let megatools = callPackage ../tools/networking/megatools { }; + mfcuk = callPackage ../tools/security/mfcuk { }; + minecraft = callPackage ../games/minecraft { }; minecraft-server = callPackage ../games/minecraft-server { }; @@ -1635,6 +1675,8 @@ let pa_applet = callPackage ../tools/audio/pa-applet { }; + pnmixer = callPackage ../tools/audio/pnmixer { }; + nifskope = callPackage ../tools/graphics/nifskope { }; nilfs_utils = callPackage ../tools/filesystems/nilfs-utils {}; @@ -1712,9 +1754,9 @@ let opendylan_bin = callPackage ../development/compilers/opendylan/bin.nix { }; - openjade = callPackage ../tools/text/sgml/openjade { - perl = perl510; - }; + openjade = callPackage ../tools/text/sgml/openjade { }; + + openntpd = callPackage ../tools/networking/openntpd { }; openobex = callPackage ../tools/bluetooth/openobex { }; @@ -1750,6 +1792,8 @@ let openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { }; + openvswitch = callPackage ../os-specific/linux/openvswitch { }; + optipng = callPackage ../tools/graphics/optipng { libpng = libpng12; }; @@ -2021,6 +2065,14 @@ let ruby = ruby18; }; + s6Dns = callPackage ../tools/networking/s6-dns { }; + + s6LinuxUtils = callPackage ../os-specific/linux/s6-linux-utils { }; + + s6Networking = callPackage ../tools/networking/s6-networking { }; + + s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { }; + sablotron = callPackage ../tools/text/xml/sablotron { }; safecopy = callPackage ../tools/system/safecopy { }; @@ -2181,6 +2233,8 @@ let tboot = callPackage ../tools/security/tboot { }; + tcl2048 = callPackage ../games/tcl2048 { }; + tcpdump = callPackage ../tools/networking/tcpdump { }; tcpflow = callPackage ../tools/networking/tcpflow { }; @@ -2365,6 +2419,12 @@ let ttmkfdir = callPackage ../tools/misc/ttmkfdir { }; + uim = callPackage ../tools/inputmethods/uim { + inherit (pkgs.kde4) kdelibs; + }; + + uhub = callPackage ../servers/uhub { }; + unclutter = callPackage ../tools/misc/unclutter { }; unbound = callPackage ../tools/networking/unbound { }; @@ -2373,6 +2433,8 @@ let unrar = callPackage ../tools/archivers/unrar { }; + xar = callPackage ../tools/compression/xar { }; + xarchive = callPackage ../tools/archivers/xarchive { }; xarchiver = callPackage ../tools/archivers/xarchiver { }; @@ -2389,6 +2451,8 @@ let uptimed = callPackage ../tools/system/uptimed { }; + urlwatch = callPackage ../tools/networking/urlwatch { }; + varnish = callPackage ../servers/varnish { }; varnish2 = callPackage ../servers/varnish/2.1.nix { }; @@ -2646,7 +2710,6 @@ let adobe_flex_sdk = callPackage ../development/compilers/adobe-flex-sdk { }; fpc = callPackage ../development/compilers/fpc { }; - fpc_2_4_0 = callPackage ../development/compilers/fpc/2.4.0.nix { }; gambit = callPackage ../development/compilers/gambit { }; @@ -3094,12 +3157,24 @@ let juliaGit = callPackage ../development/compilers/julia/git-20131013.nix { liblapack = liblapack.override {shared = true;}; llvm = llvm_33; + openblas = openblas_0_2_2; }; julia021 = callPackage ../development/compilers/julia/0.2.1.nix { liblapack = liblapack.override {shared = true;}; llvm = llvm_33; + openblas = openblas_0_2_2; + }; + julia030 = let + liblapack = liblapack_3_5_0.override {shared = true;}; + in callPackage ../development/compilers/julia/0.3.0.nix { + inherit liblapack; + suitesparse = suitesparse.override { + inherit liblapack; + }; + llvm = llvm_34; + openblas = openblas_0_2_10; }; - julia = julia021; + julia = julia030; lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) { inherit makeWrapper gtk glib pango atk gdk_pixbuf; @@ -3211,16 +3286,24 @@ let ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { }; + cmdliner = callPackage ../development/ocaml-modules/cmdliner { }; + cppo = callPackage ../development/tools/ocaml/cppo { }; cryptokit = callPackage ../development/ocaml-modules/cryptokit { }; + csv = callPackage ../development/ocaml-modules/csv { }; + deriving = callPackage ../development/tools/ocaml/deriving { }; easy-format = callPackage ../development/ocaml-modules/easy-format { }; findlib = callPackage ../development/tools/ocaml/findlib { }; + javalib = callPackage ../development/ocaml-modules/javalib { + extlib = ocaml_extlib_maximal; + }; + dypgen = callPackage ../development/ocaml-modules/dypgen { }; patoline = callPackage ../tools/typesetting/patoline { }; @@ -3237,6 +3320,8 @@ let gtkmathview = callPackage ../development/libraries/gtkmathview { }; }; + lambdaTerm = callPackage ../development/ocaml-modules/lambda-term { }; + menhir = callPackage ../development/ocaml-modules/menhir { }; merlin = callPackage ../development/tools/ocaml/merlin { }; @@ -3281,6 +3366,8 @@ let ocaml_ssl = callPackage ../development/ocaml-modules/ssl { }; + ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { }; + ounit = callPackage ../development/ocaml-modules/ounit { }; ulex = callPackage ../development/ocaml-modules/ulex { }; @@ -3296,6 +3383,9 @@ let ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { }; ocaml_extlib = callPackage ../development/ocaml-modules/extlib { }; + ocaml_extlib_maximal = callPackage ../development/ocaml-modules/extlib { + minimal = false; + }; pycaml = callPackage ../development/ocaml-modules/pycaml { }; @@ -3307,9 +3397,21 @@ let twt = callPackage ../development/ocaml-modules/twt { }; + utop = callPackage ../development/tools/ocaml/utop { }; + + sawja = callPackage ../development/ocaml-modules/sawja { }; + + uucd = callPackage ../development/ocaml-modules/uucd { }; + uunf = callPackage ../development/ocaml-modules/uunf { }; + uutf = callPackage ../development/ocaml-modules/uutf { }; + xmlm = callPackage ../development/ocaml-modules/xmlm { }; + yojson = callPackage ../development/ocaml-modules/yojson { }; zarith = callPackage ../development/ocaml-modules/zarith { }; + + zed = callPackage ../development/ocaml-modules/zed { }; + }; ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0; @@ -3454,8 +3556,11 @@ let erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { }; erlangR15 = callPackage ../development/interpreters/erlang/R15.nix { }; erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { }; + erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; }; erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { }; + erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix { odbcSupport = true; }; erlang = erlangR17; + erlang_odbc = erlangR17_odbc; rebar = callPackage ../development/tools/build-managers/rebar { }; @@ -3544,12 +3649,6 @@ let ocropus = callPackage ../applications/misc/ocropus { }; - perl58 = callPackage ../development/interpreters/perl/5.8 { - impureLibcPath = if stdenv.isLinux then null else "/usr"; - }; - - perl510 = callPackage ../development/interpreters/perl/5.10 { }; - perl514 = callPackage ../development/interpreters/perl/5.14 { }; perl516 = callPackage ../development/interpreters/perl/5.16 { @@ -3653,6 +3752,7 @@ let ruby18 = callPackage ../development/interpreters/ruby/ruby-18.nix { }; ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { }; ruby2 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.0.nix { }); + ruby21 = callPackage ../development/interpreters/ruby/ruby-2.1.2.nix { }; ruby = ruby19; @@ -3673,6 +3773,8 @@ let scheme48 = callPackage ../development/interpreters/scheme48 { }; + self = callPackage_i686 ../development/interpreters/self { }; + spark = callPackage ../applications/networking/cluster/spark { }; spidermonkey = callPackage ../development/interpreters/spidermonkey { }; @@ -3826,6 +3928,10 @@ let bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { }; bison = bison3; + bossa = callPackage ../development/tools/misc/bossa { + wxGTK = wxGTK30; + }; + buildbot = callPackage ../development/tools/build-managers/buildbot { inherit (pythonPackages) twisted jinja2 sqlalchemy sqlalchemy_migrate; dateutil = pythonPackages.dateutil_1_5; @@ -4066,6 +4172,10 @@ let ninja = callPackage ../development/tools/build-managers/ninja { }; + nixbang = callPackage ../development/tools/misc/nixbang { + pythonPackages = python3Packages; + }; + node_webkit = callPackage ../development/tools/node-webkit { gconf = pkgs.gnome.GConf; }; @@ -4302,8 +4412,6 @@ let audiofile = callPackage ../development/libraries/audiofile { }; - axis = callPackage ../development/libraries/axis { }; - babl_0_0_22 = callPackage ../development/libraries/babl/0_0_22.nix { }; babl = callPackage ../development/libraries/babl { }; @@ -4494,11 +4602,7 @@ let expat = callPackage ../development/libraries/expat { }; - extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) { - inherit mesa tcl freeglut SDL SDL_mixer pkgconfig - gettext intltool; - inherit (xlibs) libX11 xproto libXi inputproto - libXmu libXext xextproto libXt libSM libICE; + extremetuxracer = callPackage ../games/extremetuxracer { libpng = libpng12; }; @@ -4687,36 +4791,10 @@ let glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { }; - glibc_multi = - runCommand "${glibc.name}-multi" - { glibc64 = glibc; - glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc; - } - '' - mkdir -p $out - ln -s $glibc64/* $out/ - - rm $out/lib $out/lib64 - mkdir -p $out/lib - ln -s $glibc64/lib/* $out/lib - ln -s $glibc32/lib $out/lib/32 - ln -s lib $out/lib64 - - # fixing ldd RLTDLIST - rm $out/bin - cp -rs $glibc64/bin $out - chmod u+w $out/bin - rm $out/bin/ldd - sed -e "s|^RTLDLIST=.*$|RTLDLIST=\"$out/lib/ld-2.19.so $out/lib/32/ld-linux.so.2\"|g" \ - $glibc64/bin/ldd > $out/bin/ldd - chmod 555 $out/bin/ldd - - rm $out/include - cp -rs $glibc32/include $out - chmod -R u+w $out/include - cp -rsf $glibc64/include $out - '' # */ - ; + glibc_multi = callPackage ../development/libraries/glibc/2.19/multi.nix { + inherit glibc; + glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc; + }; glm = callPackage ../development/libraries/glm { }; @@ -5193,7 +5271,6 @@ let liblscp = callPackage ../development/libraries/liblscp { }; libe-book = callPackage ../development/libraries/libe-book {}; - libe-book_00 = callPackage ../development/libraries/libe-book/0.0.nix {}; libev = builderDefsPackage ../development/libraries/libev { }; @@ -5284,6 +5361,8 @@ let libnatspec = callPackage ../development/libraries/libnatspec { }; + libnfc = callPackage ../development/libraries/libnfc { }; + libnfsidmap = callPackage ../development/libraries/libnfsidmap { }; libnice = callPackage ../development/libraries/libnice { }; @@ -5408,7 +5487,6 @@ let libmusicbrainz = libmusicbrainz3; libmwaw = callPackage ../development/libraries/libmwaw { }; - libmwaw_02 = callPackage ../development/libraries/libmwaw/0.2.nix { }; libmx = callPackage ../development/libraries/libmx { }; @@ -5420,6 +5498,8 @@ let libnfnetlink = callPackage ../development/libraries/libnfnetlink { }; + libnftnl = callPackage ../development/libraries/libnftnl { }; + libnih = callPackage ../development/libraries/libnih { }; libnova = callPackage ../development/libraries/libnova { }; @@ -5662,6 +5742,8 @@ let lirc = callPackage ../development/libraries/lirc { }; + liquidfun = callPackage ../development/libraries/liquidfun { }; + liquidwar = builderDefsPackage ../games/liquidwar { inherit (xlibs) xproto libX11 libXrender; inherit gmp mesa libjpeg @@ -5863,7 +5945,11 @@ let openexr = callPackage ../development/libraries/openexr { }; - openldap = callPackage ../development/libraries/openldap { }; + openldap = callPackage ../development/libraries/openldap { + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; openlierox = callPackage ../games/openlierox { }; @@ -5916,8 +6002,6 @@ let pdf2xml = callPackage ../development/libraries/pdf2xml {} ; - pdf2htmlex = callPackage ../development/libraries/pdf2htmlex {} ; - phonon = callPackage ../development/libraries/phonon { }; phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { }; @@ -6157,6 +6241,8 @@ let SDL2_mixer = callPackage ../development/libraries/SDL2_mixer { }; + SDL2_net = callPackage ../development/libraries/SDL2_net { }; + SDL2_gfx = callPackage ../development/libraries/SDL2_gfx { }; serd = callPackage ../development/libraries/serd {}; @@ -6170,6 +6256,8 @@ let sfml_git = callPackage ../development/libraries/sfml { }; + skalibs = callPackage ../development/libraries/skalibs { }; + slang = callPackage ../development/libraries/slang { }; slibGuile = callPackage ../development/libraries/slib { @@ -6566,14 +6654,6 @@ let overrides = (config.perlPackageOverrides or (p: {})) pkgs; }); - perl510Packages = import ./perl-packages.nix { - pkgs = pkgs // { - perl = perl510; - buildPerlPackage = import ../development/perl-modules/generic perl510; - }; - overrides = (config.perl510PackageOverrides or (p: {})) pkgs; - }; - perl514Packages = import ./perl-packages.nix { pkgs = pkgs // { perl = perl514; @@ -6858,6 +6938,8 @@ let miniHttpd = callPackage ../servers/http/mini-httpd {}; + mlmmj = callPackage ../servers/mail/mlmmj { }; + myserver = callPackage ../servers/http/myserver { }; nginx = callPackage ../servers/http/nginx { @@ -6937,8 +7019,12 @@ let nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official-2.x.nix { }; + neo4j = callPackage ../servers/nosql/neo4j { }; + net_snmp = callPackage ../servers/monitoring/net-snmp { }; + riemann = callPackage ../servers/monitoring/riemann { }; + oidentd = callPackage ../servers/identd/oidentd { }; openfire = callPackage ../servers/xmpp/openfire { }; @@ -6987,6 +7073,8 @@ let rippled = callPackage ../servers/rippled { }; + s6 = callPackage ../servers/s6 { }; + spamassassin = callPackage ../servers/mail/spamassassin { inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM LWP IOSocketSSL; @@ -7030,6 +7118,10 @@ let tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { }; + tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { }; + + tomcat8 = callPackage ../servers/http/tomcat/8.0.nix { }; + tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; axis2 = callPackage ../servers/http/tomcat/axis2 { }; @@ -7048,12 +7140,14 @@ let xinetd = callPackage ../servers/xinetd { }; + zookeeper = callPackage ../servers/zookeeper { }; + xquartz = callPackage ../servers/x11/xquartz { }; quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; }; xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig - libxslt expat libpng zlib perl mesa_drivers + libxslt expat libpng zlib perl mesa_drivers spice_protocol dbus libuuid openssl gperf m4 autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman; mesa = mesa_noglu; @@ -7201,7 +7295,9 @@ let inherit (xlibs) xproto; }; - dmraid = callPackage ../os-specific/linux/dmraid { }; + dmraid = callPackage ../os-specific/linux/dmraid { + devicemapper = devicemapper.override {enable_dmeventd = true;}; + }; drbd = callPackage ../os-specific/linux/drbd { }; @@ -7349,12 +7445,6 @@ let kernelPatches = []; }; - linux_3_2_xen = lowPrio (linux_3_2.override { - extraConfig = '' - XEN_DOM0 y - ''; - }); - linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) { inherit fetchurl stdenv perl buildLinux; kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") @@ -7552,7 +7642,6 @@ let # Build the kernel modules for the some of the kernels. linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); - linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen; linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi; linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); @@ -7649,6 +7738,8 @@ let libpng = libpng15; }; + nftables = callPackage ../os-specific/linux/nftables { }; + numactl = callPackage ../os-specific/linux/numactl { }; gocode = callPackage ../development/tools/gocode { }; @@ -7958,6 +8049,8 @@ let cantarell_fonts = callPackage ../data/fonts/cantarell-fonts { }; + comic-neue = callPackage ../data/fonts/comic-neue { }; + corefonts = callPackage ../data/fonts/corefonts { }; wrapFonts = paths : ((import ../data/fonts/fontWrap) { @@ -8001,6 +8094,8 @@ let eb-garamond = callPackage ../data/fonts/eb-garamond { }; + fira = callPackage ../data/fonts/fira { }; + freefont_ttf = callPackage ../data/fonts/freefont-ttf { }; freepats = callPackage ../data/misc/freepats { }; @@ -8214,6 +8309,12 @@ let inherit (gnome3) baobab; + backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { }; + + backintime-gnome = callPackage ../applications/networking/sync/backintime/gnome.nix { }; + + backintime = backintime-gnome; + bar = callPackage ../applications/window-managers/bar { }; baresip = callPackage ../applications/networking/instant-messengers/baresip { @@ -8235,7 +8336,12 @@ let bibletime = callPackage ../applications/misc/bibletime { }; - bitcoin = callPackage ../applications/misc/bitcoin { }; + bitcoin = callPackage ../applications/misc/bitcoin {}; + bitcoind = callPackage ../applications/misc/bitcoin { gui = false; }; + + altcoins = recurseIntoAttrs ( + callPackage ../applications/misc/bitcoin/altcoins.nix {} + ); bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { gnutls = gnutls; @@ -8256,7 +8362,9 @@ let inherit (gnome) libglade; }; - calibre = callPackage ../applications/misc/calibre { }; + calibre = callPackage ../applications/misc/calibre { + inherit (pythonPackages) pyqt5 sip_4_16; + }; camlistore = callPackage ../applications/misc/camlistore { }; @@ -8290,23 +8398,21 @@ let chatzilla = callPackage ../applications/networking/irc/chatzilla { }; - chromium = lowPrio (callPackage ../applications/networking/browsers/chromium { + chromium = callPackage ../applications/networking/browsers/chromium { channel = "stable"; pulseSupport = config.pulseaudio or true; enablePepperFlash = config.chromium.enablePepperFlash or false; enablePepperPDF = config.chromium.enablePepperPDF or false; - }); + }; chromiumBeta = lowPrio (chromium.override { channel = "beta"; }); - chromiumBetaWrapper = lowPrio (wrapChromium chromiumBeta); chromiumDev = lowPrio (chromium.override { channel = "dev"; }); - chromiumDevWrapper = lowPrio (wrapChromium chromiumDev); - - chromiumWrapper = wrapChromium chromium; cinelerra = callPackage ../applications/video/cinelerra { }; + clipit = callPackage ../applications/misc/clipit { }; + cmus = callPackage ../applications/audio/cmus { }; compiz = callPackage ../applications/window-managers/compiz { @@ -8356,7 +8462,7 @@ let d4x = callPackage ../applications/misc/d4x { }; - darcs = with haskellPackages_ghc763; callPackage ../applications/version-management/darcs { + darcs = with haskellPackages_ghc783; callPackage ../applications/version-management/darcs { cabal = cabal.override { extension = self : super : { isLibrary = false; @@ -8470,6 +8576,8 @@ let colorTheme = callPackage ../applications/editors/emacs-modes/color-theme { }; + colorThemeSolarized = callPackage ../applications/editors/emacs-modes/color-theme-solarized { }; + cryptol = callPackage ../applications/editors/emacs-modes/cryptol { }; cua = callPackage ../applications/editors/emacs-modes/cua { }; @@ -8602,6 +8710,10 @@ let inherit (gnome) gnomedocutils libgnome libglade libgnomeui scrollkeeper; }; + evilvte = callPackage ../applications/misc/evilvte { + configH = config.evilvte.config or ""; + }; + evopedia = callPackage ../applications/misc/evopedia { }; keepassx = callPackage ../applications/misc/keepassx { }; @@ -8728,6 +8840,8 @@ let debug = config.flashplayer.debug or false; }; + fluxbox = callPackage ../applications/window-managers/fluxbox { }; + freecad = callPackage ../applications/graphics/freecad { opencascade = opencascade_6_5; inherit (pythonPackages) matplotlib pycollada; @@ -8918,7 +9032,9 @@ let gpsd = callPackage ../servers/gpsd { }; - guitone = callPackage ../applications/version-management/guitone { }; + guitone = callPackage ../applications/version-management/guitone { + graphviz = graphviz_2_32; + }; gv = callPackage ../applications/misc/gv { }; @@ -8957,26 +9073,6 @@ let i810switch = callPackage ../os-specific/linux/i810switch { }; - icecat3 = lowPrio (callPackage ../applications/networking/browsers/icecat-3 { - inherit (gnome) libIDL libgnomeui gnome_vfs; - inherit (xlibs) pixman; - inherit (pythonPackages) ply; - }); - - icecatXulrunner3 = lowPrio (callPackage ../applications/networking/browsers/icecat-3 { - application = "xulrunner"; - inherit (gnome) libIDL libgnomeui gnome_vfs; - inherit (xlibs) pixman; - inherit (pythonPackages) ply; - }); - - icecat3Xul = - (symlinkJoin "icecat-with-xulrunner-${icecat3.version}" - [ icecat3 icecatXulrunner3 ]) - // { inherit (icecat3) gtk isFirefox3Like meta; }; - - icecat3Wrapper = wrapFirefox { browser = icecat3Xul; browserName = "icecat"; desktopName = "IceCat"; }; - icewm = callPackage ../applications/window-managers/icewm { }; id3v2 = callPackage ../applications/audio/id3v2 { }; @@ -9075,6 +9171,8 @@ let inherit (gnome) libglade; }; + koji = callPackage ../tools/package-management/koji { }; + lame = callPackage ../applications/audio/lame { }; larswm = callPackage ../applications/window-managers/larswm { }; @@ -9160,6 +9258,11 @@ let handbrake = callPackage ../applications/video/handbrake { }; + lilyterm = callPackage ../applications/misc/lilyterm { + inherit (gnome) vte; + gtk = gtk2; + }; + lynx = callPackage ../applications/networking/browsers/lynx { }; lyx = callPackage ../applications/misc/lyx { }; @@ -9296,9 +9399,10 @@ let mpv = callPackage ../applications/video/mpv { lua = lua5_1; - bs2bSupport = true; - quviSupport = true; - cacaSupport = true; + bs2bSupport = config.mpv.bs2bSupport or true; + quviSupport = config.mpv.quviSupport or false; + cacaSupport = config.mpv.cacaSupport or true; + vaapiSupport = config.mpv.vaapiSupport or false; }; mrxvt = callPackage ../applications/misc/mrxvt { }; @@ -9324,6 +9428,9 @@ let mutt = callPackage ../applications/networking/mailreaders/mutt { }; + namecoin = callPackage ../applications/misc/namecoin { }; + namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { }; + pcmanfm = callPackage ../applications/misc/pcmanfm { }; ruby_gpgme = callPackage ../development/libraries/ruby_gpgme { @@ -9342,8 +9449,11 @@ let cursesSupport = true; }; - inherit gettext highline iconv locale lockfile rmail_sup - text trollop unicode xapian_ruby which; + inherit gettext highline iconv locale lockfile + text trollop xapian_ruby which; + + rmail_sup = ""; # missing + unicode = ""; # See https://github.com/NixOS/nixpkgs/issues/1804 and # https://github.com/NixOS/nixpkgs/issues/2146 @@ -9352,15 +9462,16 @@ let dontPatchShebangs = 1; } ); - - chronic = chronic_0_9_1; + chronic = chronic; gpgme = ruby_gpgme; - mime_types = mime_types_1_25; + mime_types = mime_types; ncursesw_sup = ruby_ncursesw_sup; - rake = rubyLibs.rake_10_1_0; + rake = rake; }; - synfigstudio = callPackage ../applications/graphics/synfigstudio { }; + synfigstudio = callPackage ../applications/graphics/synfigstudio { + fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; }; + }; sxhkd = callPackage ../applications/window-managers/sxhkd { }; @@ -9382,6 +9493,8 @@ let nano = callPackage ../applications/editors/nano { }; + nanoblogger = callPackage ../applications/misc/nanoblogger { }; + navipowm = callPackage ../applications/misc/navipowm { }; navit = callPackage ../applications/misc/navit { }; @@ -9414,6 +9527,10 @@ let nvpy = callPackage ../applications/editors/nvpy { }; + obconf = callPackage ../tools/X11/obconf { + inherit (gnome) libglade; + }; + ocrad = callPackage ../applications/graphics/ocrad { }; offrss = callPackage ../applications/networking/offrss { }; @@ -9512,6 +9629,8 @@ let qiv = callPackage ../applications/graphics/qiv { }; + processing = callPackage ../applications/graphics/processing { inherit (xorg) libXxf86vm; }; + # perhaps there are better apps for this task? It's how I had configured my preivous system. # And I don't want to rewrite all rules procmail = callPackage ../applications/misc/procmail { }; @@ -9645,6 +9764,8 @@ let conf = config.st.conf or null; }; + stella = callPackage ../misc/emulators/stella { }; + linuxstopmotion = callPackage ../applications/video/linuxstopmotion { }; sweethome3d = recurseIntoAttrs ( (callPackage ../applications/misc/sweethome3d { }) @@ -9817,6 +9938,11 @@ let tig = gitAndTools.tig; + tilda = callPackage ../applications/misc/tilda { + vte = gnome3.vte; + gtk = gtk3; + }; + timidity = callPackage ../tools/misc/timidity { }; tint2 = callPackage ../applications/misc/tint2 { }; @@ -9964,6 +10090,8 @@ let vwm = callPackage ../applications/window-managers/vwm { }; + vym = callPackage ../applications/misc/vym { }; + w3m = callPackage ../applications/networking/browsers/w3m { graphicsSupport = false; }; @@ -10003,13 +10131,6 @@ let wordnet = callPackage ../applications/misc/wordnet { }; - wrapChromium = browser: wrapFirefox { - inherit browser; - browserName = browser.packageName; - desktopName = "Chromium"; - icon = "${browser}/share/icons/hicolor/48x48/apps/${browser.packageName}.png"; - }; - wrapFirefox = { browser, browserName ? "firefox", desktopName ? "Firefox", nameSuffix ? "" , icon ? "${browser}/lib/${browser.name}/browser/icons/mozicon128.png" }: @@ -10038,6 +10159,8 @@ let gtk_modules = [ libcanberra ]; }; + wxhexeditor = callPackage ../applications/editors/wxhexeditor { }; + x11vnc = callPackage ../tools/X11/x11vnc { }; x2vnc = callPackage ../tools/X11/x2vnc { }; @@ -10141,10 +10264,7 @@ let xmp = callPackage ../applications/audio/xmp { }; - xnee = callPackage ../tools/X11/xnee { - # Work around "missing separator" error. - stdenv = overrideInStdenv stdenv [ gnumake381 ]; - }; + xnee = callPackage ../tools/X11/xnee { }; xvidcap = callPackage ../applications/video/xvidcap { inherit (gnome) scrollkeeper libglade; @@ -10183,6 +10303,10 @@ let zgrviewer = callPackage ../applications/graphics/zgrviewer {}; + zim = callPackage ../applications/office/zim { + pygtk = pyGtkGlade; + }; + zotero = callPackage ../applications/office/zotero { xulrunner = xulrunner_30; }; @@ -10530,6 +10654,8 @@ let xonotic = callPackage ../games/xonotic { }; + xskat = callPackage ../games/xskat { }; + xsokoban = builderDefsPackage (import ../games/xsokoban) { inherit (xlibs) libX11 xproto libXpm libXt; }; @@ -10715,6 +10841,11 @@ let quassel = callPackage ../applications/networking/irc/quassel { dconf = gnome3.dconf; }; + quasselWithoutKDE = (self.quassel.override { + withKDE = false; + tag = "-without-kde"; + }); + quasselDaemon = (self.quassel.override { monolithic = false; daemon = true; @@ -10727,6 +10858,11 @@ let tag = "-client"; }); + quasselClientWithoutKDE = (self.quasselClient.override { + withKDE = false; + tag = "-client-without-kde"; + }); + rekonq = callPackage ../applications/networking/browsers/rekonq { }; kwebkitpart = callPackage ../applications/networking/browsers/kwebkitpart { }; @@ -10839,10 +10975,20 @@ let jags = callPackage ../applications/science/math/jags { }; liblapack = callPackage ../development/libraries/science/math/liblapack { }; + liblapack_3_5_0 = callPackage ../development/libraries/science/math/liblapack/3.5.0.nix { }; liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; - openblas = callPackage ../development/libraries/science/math/openblas { }; + # julia is pinned to specific versions of openblas, so keep old versions + # until they aren't needed. The un-versioned attribute may continue to track + # upstream development. + openblas = callPackage ../development/libraries/science/math/openblas { + liblapack = liblapack_3_5_0; + }; + openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix { + liblapack = liblapack_3_5_0; + }; + openblas_0_2_2 = callPackage ../development/libraries/science/math/openblas/0.2.2.nix { }; mathematica = callPackage ../applications/science/math/mathematica { }; @@ -11114,6 +11260,8 @@ let ekiga = newScope pkgs.gnome ../applications/networking/instant-messengers/ekiga { }; + emulationstation = callPackage ../misc/emulators/emulationstation { }; + electricsheep = callPackage ../misc/screensavers/electricsheep { }; fakenes = callPackage ../misc/emulators/fakenes { }; @@ -11378,6 +11526,8 @@ let inherit texLive unzip; }; + thermald = callPackage ../tools/system/thermald { }; + thinkfan = callPackage ../tools/system/thinkfan { }; vice = callPackage ../misc/emulators/vice { @@ -11430,6 +11580,10 @@ let xboxdrv = callPackage ../misc/drivers/xboxdrv { }; + xinput_calibrator = callPackage ../tools/X11/xinput_calibrator { + inherit (xlibs) libXi inputproto; + }; + xosd = callPackage ../misc/xosd { }; xsane = callPackage ../applications/graphics/sane/xsane.nix { @@ -11478,6 +11632,8 @@ let snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { }; + higan = callPackage ../misc/emulators/higan { }; + misc = import ../misc/misc.nix { inherit pkgs stdenv; }; bullet = callPackage ../development/libraries/bullet {}; diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 20f695a0d2369b3eb310e86cbc82488edbf840bd..9a064212a40ebe576e5dabfae5d6f5cc0be22913 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -23,6 +23,7 @@ ghc783Prefs = self : super : ghcHEADPrefs self super // { cabalInstall_1_20_0_3 = super.cabalInstall_1_20_0_3.override { Cabal = self.Cabal_1_20_0_2; }; codex = super.codex.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_20_0_2; }; }; + MonadRandom = self.MonadRandom_0_1_13; # requires transformers >= 0.4.x mtl = self.mtl_2_1_2; }; @@ -58,10 +59,15 @@ ghc742Prefs = self : super : ghc763Prefs self super // { aeson = self.aeson_0_7_0_4.override { blazeBuilder = self.blazeBuilder; }; + cabalInstall_0_14_0 = super.cabalInstall_0_14_0.override { + HTTP = self.HTTP.override { network = self.network_2_3_0_13; }; + network = self.network_2_3_0_13; + }; extensibleExceptions = null; # core package in ghc <= 7.4.x hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; haddock = self.haddock_2_11_0; haskeline = super.haskeline.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + random = self.random_1_0_1_1; # requires base >= 4.6.x shelly = self.shelly_0_15_4_1; }; @@ -95,6 +101,7 @@ logict = super.logict.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; monadPar = self.monadPar_0_1_0_3; nats = null; # none of our versions compile + networkUri = super.networkUri.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; parallel = self.parallel_3_2_0_3; primitive = self.primitive_0_5_0_1; reflection = super.reflection.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; @@ -118,6 +125,7 @@ happy = super.happy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; hashable = super.hashable.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; hashtables = super.hashtables.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + hsyslog = super.hsyslog.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; HTTP = super.HTTP.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; HUnit = super.HUnit.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; network = super.network_2_2_1_7.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index acf164d57c7a0b6907eab75757fbef324a8965d3..15f6ed71007fcaf91cb4047c42b1eff03019d752 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -391,7 +391,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in cgi_3001_1_7_4 = callPackage ../development/libraries/haskell/cgi/3001.1.7.4.nix {}; cgi_3001_1_7_5 = callPackage ../development/libraries/haskell/cgi/3001.1.7.5.nix {}; cgi_3001_1_8_5 = callPackage ../development/libraries/haskell/cgi/3001.1.8.5.nix {}; - cgi = self.cgi_3001_1_8_5; + cgi_3001_2_0_0 = callPackage ../development/libraries/haskell/cgi/3001.2.0.0.nix {}; + cgi = self.cgi_3001_2_0_0; cgrep = callPackage ../development/libraries/haskell/cgrep {}; @@ -642,6 +643,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix {}; diagramsLib = callPackage ../development/libraries/haskell/diagrams/lib.nix {}; diagramsPostscript = callPackage ../development/libraries/haskell/diagrams/postscript.nix {}; + diagramsRasterific = callPackage ../development/libraries/haskell/diagrams/rasterific.nix {}; diagramsSvg = callPackage ../development/libraries/haskell/diagrams/svg.nix {}; Diff = callPackage ../development/libraries/haskell/Diff {}; @@ -668,6 +670,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in directSqlite = callPackage ../development/libraries/haskell/direct-sqlite {}; + directoryLayout = callPackage ../development/libraries/haskell/directory-layout {}; + directoryTree = callPackage ../development/libraries/haskell/directory-tree {}; distributedStatic = callPackage ../development/libraries/haskell/distributed-static {}; @@ -751,6 +755,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in entropy = callPackage ../development/libraries/haskell/entropy {}; + equationalReasoning = callPackage ../development/libraries/haskell/equational-reasoning {}; + equivalence_0_2_3 = callPackage ../development/libraries/haskell/equivalence/0.2.3.nix {}; equivalence_0_2_5 = callPackage ../development/libraries/haskell/equivalence/0.2.5.nix {}; equivalence = self.equivalence_0_2_5; @@ -769,7 +775,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in eventList = callPackage ../development/libraries/haskell/event-list {}; - exPool = callPackage ../development/libraries/haskell/ex-pool { }; + exPool = callPackage ../development/libraries/haskell/ex-pool {}; exceptionMtl = callPackage ../development/libraries/haskell/exception-mtl {}; @@ -851,6 +857,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in folds = callPackage ../development/libraries/haskell/folds {}; + FontyFruity = callPackage ../development/libraries/haskell/FontyFruity {}; + forceLayout = callPackage ../development/libraries/haskell/force-layout {}; formatting = callPackage ../development/libraries/haskell/formatting {}; @@ -897,14 +905,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; - ghcMod_4_1_6 = callPackage ../development/libraries/haskell/ghc-mod/4.1.6.nix { - inherit (pkgs) emacs; - }; - - ghcMod_5_0_1 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.nix { - inherit (pkgs) emacs; - }; - + ghcMod_4_1_6 = callPackage ../development/libraries/haskell/ghc-mod/4.1.6.nix { inherit (pkgs) emacs; }; + ghcMod_5_0_1_1 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.1.nix { inherit (pkgs) emacs; }; ghcMod = self.ghcMod_4_1_6; ghcMtl = callPackage ../development/libraries/haskell/ghc-mtl {}; @@ -1127,8 +1129,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in HTTP_4000_2_3 = callPackage ../development/libraries/haskell/HTTP/4000.2.3.nix {}; HTTP_4000_2_5 = callPackage ../development/libraries/haskell/HTTP/4000.2.5.nix {}; HTTP_4000_2_8 = callPackage ../development/libraries/haskell/HTTP/4000.2.8.nix {}; - HTTP_4000_2_17 = callPackage ../development/libraries/haskell/HTTP/4000.2.17.nix {}; - HTTP = self.HTTP_4000_2_17; + HTTP_4000_2_18 = callPackage ../development/libraries/haskell/HTTP/4000.2.18.nix {}; + HTTP = self.HTTP_4000_2_18; httpAttoparsec = callPackage ../development/libraries/haskell/http-attoparsec {}; @@ -1386,6 +1388,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in ivor = callPackage ../development/libraries/haskell/ivor {}; + ivory = callPackage ../development/libraries/haskell/ivory {}; + ixdopp = callPackage ../development/libraries/haskell/ixdopp { preprocessorTools = self.preprocessorTools_0_1_3; }; @@ -1459,6 +1463,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in lens = callPackage ../development/libraries/haskell/lens {}; + lensAeson = callPackage ../development/libraries/haskell/lens-aeson {}; + lensDatetime = callPackage ../development/libraries/haskell/lens-datetime {}; lensFamilyCore = callPackage ../development/libraries/haskell/lens-family-core {}; @@ -1506,14 +1512,14 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in llvmConfig = pkgs.llvm_33; llvmGeneralPure = self.llvmGeneralPure_3_3_8_2; }; - llvmGeneral_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general/3.4.2.2.nix { + llvmGeneral_3_4_4_0 = callPackage ../development/libraries/haskell/llvm-general/3.4.4.0.nix { llvmConfig = pkgs.llvm; }; - llvmGeneral = self.llvmGeneral_3_4_2_2; + llvmGeneral = self.llvmGeneral_3_4_4_0; - llvmGeneralPure_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.3.8.2.nix { }; - llvmGeneralPure_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.4.2.2.nix {}; - llvmGeneralPure = self.llvmGeneralPure_3_4_2_2; + llvmGeneralPure_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.3.8.2.nix {}; + llvmGeneralPure_3_4_4_0 = callPackage ../development/libraries/haskell/llvm-general-pure/3.4.4.0.nix {}; + llvmGeneralPure = self.llvmGeneralPure_3_4_4_0; lrucache = callPackage ../development/libraries/haskell/lrucache {}; @@ -1537,6 +1543,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in machines = callPackage ../development/libraries/haskell/machines {}; + markdown = callPackage ../development/libraries/haskell/markdown {}; + markdownUnlit = callPackage ../development/libraries/haskell/markdown-unlit {}; mathFunctions = callPackage ../development/libraries/haskell/math-functions {}; @@ -1551,6 +1559,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in MaybeT = callPackage ../development/libraries/haskell/MaybeT {}; + meep = callPackage ../development/libraries/haskell/meep {}; + MemoTrie = callPackage ../development/libraries/haskell/MemoTrie {}; mersenneRandomPure64 = callPackage ../development/libraries/haskell/mersenne-random-pure64 {}; @@ -1619,7 +1629,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in MonadPrompt = callPackage ../development/libraries/haskell/MonadPrompt {}; - MonadRandom = callPackage ../development/libraries/haskell/MonadRandom {}; + MonadRandom_0_1_13 = callPackage ../development/libraries/haskell/MonadRandom/0.1.13.nix {}; + MonadRandom_0_2_0_1 = callPackage ../development/libraries/haskell/MonadRandom/0.2.0.1.nix {}; + MonadRandom = self.MonadRandom_0_2_0_1; monadStm = callPackage ../development/libraries/haskell/monad-stm {}; @@ -1635,6 +1647,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in mongoDB = callPackage ../development/libraries/haskell/mongoDB {}; + monomorphic = callPackage ../development/libraries/haskell/monomorphic {}; + monoTraversable = callPackage ../development/libraries/haskell/mono-traversable {}; mmorph = callPackage ../development/libraries/haskell/mmorph {}; @@ -1705,13 +1719,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {}; network_2_4_1_2 = callPackage ../development/libraries/haskell/network/2.4.1.2.nix {}; network_2_5_0_0 = callPackage ../development/libraries/haskell/network/2.5.0.0.nix {}; - network = self.network_2_5_0_0; + network_2_6_0_1 = callPackage ../development/libraries/haskell/network/2.6.0.1.nix {}; + network = self.network_2_5_0_0; # the latest version break HTTP on all platforms networkCarbon = callPackage ../development/libraries/haskell/network-carbon {}; networkConduit = callPackage ../development/libraries/haskell/network-conduit {}; networkConduitTls = callPackage ../development/libraries/haskell/network-conduit-tls {}; + networkFancy = callPackage ../development/libraries/haskell/network-fancy {}; + networkInfo = callPackage ../development/libraries/haskell/network-info {}; networkMetrics = callPackage ../development/libraries/haskell/network-metrics {}; @@ -1720,7 +1737,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in networkProtocolXmpp = callPackage ../development/libraries/haskell/network-protocol-xmpp {}; - networkSimple = callPackage ../development/libraries/haskell/network-simple { }; + networkSimple = callPackage ../development/libraries/haskell/network-simple {}; networkTransport = callPackage ../development/libraries/haskell/network-transport {}; @@ -1812,9 +1829,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in parsec_3_1_5 = callPackage ../development/libraries/haskell/parsec/3.1.5.nix {}; parsec = self.parsec_3_1_5; - parsers_0_10_3 = callPackage ../development/libraries/haskell/parsers/0.10.3.nix {}; - parsers_0_12_1 = callPackage ../development/libraries/haskell/parsers/0.12.1.nix {}; - parsers = self.parsers_0_12_1; + parsers = callPackage ../development/libraries/haskell/parsers {}; parsimony = callPackage ../development/libraries/haskell/parsimony {}; @@ -1924,6 +1939,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in presburger = callPackage ../development/libraries/haskell/presburger {}; + present = callPackage ../development/libraries/haskell/present {}; + prettyclass = callPackage ../development/libraries/haskell/prettyclass {}; prettyShow = callPackage ../development/libraries/haskell/pretty-show {}; @@ -1994,7 +2011,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {}; random_1_0_1_1 = callPackage ../development/libraries/haskell/random/1.0.1.1.nix {}; - random = self.random_1_0_1_1; + random_1_0_1_3 = callPackage ../development/libraries/haskell/random/1.0.1.3.nix {}; + random = self.random_1_0_1_3; randomFu = callPackage ../development/libraries/haskell/random-fu {}; @@ -2006,6 +2024,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in ranges = callPackage ../development/libraries/haskell/ranges {}; + Rasterific = callPackage ../development/libraries/haskell/Rasterific {}; + reserve = callPackage ../development/libraries/haskell/reserve {}; rvar = callPackage ../development/libraries/haskell/rvar {}; @@ -2114,6 +2134,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in RSA = callPackage ../development/libraries/haskell/RSA {}; + saltine = callPackage ../development/libraries/haskell/saltine {}; + sampleFrame = callPackage ../development/libraries/haskell/sample-frame {}; safe = callPackage ../development/libraries/haskell/safe {}; @@ -2144,6 +2166,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in semigroupoidExtras = callPackage ../development/libraries/haskell/semigroupoid-extras {}; + servant = callPackage ../development/libraries/haskell/servant {}; + + servantPool = callPackage ../development/libraries/haskell/servant-pool {}; + + servantPostgresql = callPackage ../development/libraries/haskell/servant-postgresql {}; + + servantResponse = callPackage ../development/libraries/haskell/servant-response {}; + + servantScotty = callPackage ../development/libraries/haskell/servant-scotty {}; + setenv = callPackage ../development/libraries/haskell/setenv {}; setlocale = callPackage ../development/libraries/haskell/setlocale {}; @@ -2167,6 +2199,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in silently = callPackage ../development/libraries/haskell/silently {}; + sized = callPackage ../development/libraries/haskell/sized {}; + sizedTypes = callPackage ../development/libraries/haskell/sized-types {}; skein = callPackage ../development/libraries/haskell/skein {}; @@ -2375,6 +2409,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in tagged = callPackage ../development/libraries/haskell/tagged {}; + taggedTransformer = callPackage ../development/libraries/haskell/tagged-transformer {}; + taggy = callPackage ../development/libraries/haskell/taggy {}; taggyLens = callPackage ../development/libraries/haskell/taggy-lens {}; @@ -2546,6 +2582,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in typeEquality = callPackage ../development/libraries/haskell/type-equality {}; + typeNatural = callPackage ../development/libraries/haskell/type-natural {}; + typeLevelNaturalNumber = callPackage ../development/libraries/haskell/type-level-natural-number {}; tz = callPackage ../development/libraries/haskell/tz { @@ -2653,8 +2691,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in void = callPackage ../development/libraries/haskell/void {}; vty_4_7_5 = callPackage ../development/libraries/haskell/vty/4.7.5.nix {}; - vty_5_1_4 = callPackage ../development/libraries/haskell/vty/5.1.4.nix {}; - vty = self.vty_5_1_4; + vty_5_2_1 = callPackage ../development/libraries/haskell/vty/5.2.1.nix {}; + vty = self.vty_5_2_1; vtyUi = callPackage ../development/libraries/haskell/vty-ui { vty = self.vty_4_7_5; @@ -2717,6 +2755,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in word8 = callPackage ../development/libraries/haskell/word8 {}; + wordexp = callPackage ../development/libraries/haskell/wordexp {}; + Workflow = callPackage ../development/libraries/haskell/Workflow {}; wreq = callPackage ../development/libraries/haskell/wreq {}; @@ -2797,6 +2837,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in yesodAuth = callPackage ../development/libraries/haskell/yesod-auth {}; + yesodAuthHashdb = callPackage ../development/libraries/haskell/yesod-auth-hashdb {}; + yesodBin = callPackage ../development/libraries/haskell/yesod-bin {}; yesodCore = callPackage ../development/libraries/haskell/yesod-core {}; @@ -2886,7 +2928,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in haddock_2_13_2 = callPackage ../development/tools/documentation/haddock/2.13.2.nix {}; haddock_2_14_2 = callPackage ../development/tools/documentation/haddock/2.14.2.nix {}; haddock_2_14_3 = callPackage ../development/tools/documentation/haddock/2.14.3.nix {}; - haddock = self.haddock_2_14_3; + haddock_2_15_0 = callPackage ../development/tools/documentation/haddock/2.15.0.nix {}; + haddock = self.haddock_2_15_0; + + haddockApi = callPackage ../development/libraries/haskell/haddock-api {}; haddockLibrary = callPackage ../development/libraries/haskell/haddock-library {}; @@ -2933,7 +2978,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in pointful = callPackage ../development/tools/haskell/pointful {}; - ShellCheck = callPackage ../development/tools/misc/ShellCheck { }; + ShellCheck = callPackage ../development/tools/misc/ShellCheck {}; SourceGraph = callPackage ../development/tools/haskell/SourceGraph {}; diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix index 70330f4304f14fb81f512c8a62440a7afce07405..356368d137d3a342ffc31e83847aa0cc3c5e1132 100644 --- a/pkgs/top-level/make-tarball.nix +++ b/pkgs/top-level/make-tarball.nix @@ -14,14 +14,7 @@ releaseTools.sourceTarball rec { version = builtins.readFile ../../.version; versionSuffix = "pre${toString nixpkgs.revCount}.${nixpkgs.shortRev}"; - buildInputs = [ - lzma - libxml2 # Needed for the release notes. - libxslt - w3m - nix # Needed to check whether the expressions are valid. - tetex dblatex - ]; + buildInputs = [ nix ]; configurePhase = '' eval "$preConfigure" @@ -32,13 +25,6 @@ releaseTools.sourceTarball rec { dontBuild = false; - buildPhase = '' - echo "building docs..." - export VARTEXFONTS=$TMPDIR/texfonts - make -C doc docbookxsl=${docbook5_xsl}/xml/xsl/docbook - ln -s doc/NEWS.txt NEWS - ''; - doCheck = true; checkPhase = '' @@ -66,7 +52,7 @@ releaseTools.sourceTarball rec { # Check that all-packages.nix evaluates on a number of platforms. for platform in i686-linux x86_64-linux x86_64-darwin i686-freebsd x86_64-freebsd; do header "checking pkgs/top-level/all-packages.nix on $platform" - nix-env -f pkgs/top-level/all-packages.nix \ + NIXPKGS_ALLOW_BROKEN=1 nix-env -f pkgs/top-level/all-packages.nix \ --show-trace --argstr system "$platform" \ -qa \* --drv-path --system-filter \* --system --meta --xml > /dev/null stopNest @@ -87,19 +73,6 @@ releaseTools.sourceTarball rec { cp -prd . ../$releaseName echo nixpkgs > ../$releaseName/channel-name (cd .. && tar cfa $out/tarballs/$releaseName.tar.xz $releaseName) || false - - mkdir -p $out/release-notes - cp doc/NEWS.html $out/release-notes/index.html - cp doc/style.css $out/release-notes/ - echo "doc release-notes $out/release-notes" >> $out/nix-support/hydra-build-products - - mkdir -p $out/manual - cp doc/manual.html $out/manual/index.html - cp doc/style.css $out/manual/ - echo "doc manual $out/manual" >> $out/nix-support/hydra-build-products - - cp doc/manual.pdf $out/manual.pdf - echo "doc-pdf manual $out/manual.pdf" >> $out/nix-support/hydra-build-products ''; meta = { diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json index fec7884eb2516993dc72e40cad027947a8d65b35..1ebb9f290b71d90ed5c003b833a9f3809ccdf70b 100644 --- a/pkgs/top-level/node-packages.json +++ b/pkgs/top-level/node-packages.json @@ -83,6 +83,7 @@ , "grunt-contrib-uglify" , "grunt-karma" , "grunt-sed" +, "gulp" , "karma" , "karma-mocha" , "karma-coverage" @@ -123,4 +124,5 @@ , "sinon" , "shelljs" , "typescript" +, "git-run" ] diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8895d4d093b2fd8b674340730978ed802f06b647..67accf016cc90c844cde7db1de53f918836f6c3c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -480,6 +480,7 @@ let self = _self // overrides; _self = with self; { sha256 = "14s75bsm5irisp8wkbwl3ycw160srr1rks7x9jcbvcxh79wr6gbh"; }; propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ]; + doCheck = false; # randomly fails }; CacheFastMmap = buildPerlPackage rec { @@ -4246,6 +4247,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/C/CF/CFRANKS/HTML-Widget-1.11.tar.gz; sha256 = "02w21rd30cza094m5xs9clzw8ayigbhg2ddzl6jycp4jam0dyhmy"; }; + doCheck = false; propagatedBuildInputs = [ TestNoWarnings ClassAccessor ClassAccessorChained ClassDataAccessor ModulePluggableFast HTMLTree @@ -5698,8 +5700,8 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/H/HA/HAARG/Moo-1.006000.tar.gz; sha256 = "0gjh6dyz825cwjibq2wlpx14drjqx4pxxh931p4x3jd2617hax17"; }; - buildInputs = [ TestFatal ImportInto ]; - propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ModuleRuntime RoleTiny strictures ]; + buildInputs = [ TestFatal ]; + propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ImportInto ModuleRuntime RoleTiny strictures ]; meta = { description = "Minimalist Object Orientation (with Moose compatiblity)"; license = "perl5"; @@ -6467,7 +6469,7 @@ let self = _self // overrides; _self = with self; { }; }; - NetAMQP = buildPerlPackage { + NetAMQP = buildPerlModule { name = "Net-AMQP-0.06"; src = fetchurl { url = mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz; @@ -6481,13 +6483,6 @@ let self = _self // overrides; _self = with self; { maintainers = with maintainers; [ ocharles ]; platforms = stdenv.lib.platforms.unix; }; - preConfigure = - '' - substituteInPlace META.json \ - '"Module::Build" : "0.40"' '"Module::Build" : "0.39"' - substituteInPlace META.yml \ - 'Module::Build: 0.40' 'Module::Build: 0.39' - ''; }; NetCoverArtArchive = buildPerlPackage { @@ -8168,6 +8163,7 @@ let self = _self // overrides; _self = with self; { CatalystPluginSession CatalystPluginAuthentication CatalystAuthenticationStoreDBIxClass CatalystPluginAuthorizationRoles + CatalystPluginSessionStateCookie CatalystPluginAuthorizationACL CatalystPluginHTMLWidget CatalystPluginSessionStoreFastMmap diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 1225021ad377708623ed8e4fbddb6f1c0f24c40c..700547450ec2a17bf3cfb70fc86c78f9425ef726 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -39,6 +39,12 @@ let self = with self; { sha256 = "1gcsh9iar5qa1yzpjki9bb5rivcb6yjp45lmjmp98wlyf83vmy2y"; }; + zendopcache = buildPecl { + name = "zendopcache-7.0.3"; + + sha256 = "0qpfbkfy4wlnsfq4vc4q5wvaia83l89ky33s08gqrcfp3p1adn88"; + }; + zmq = buildPecl { name = "zmq-1.1.2"; diff --git a/pkgs/top-level/python-packages-generated.nix b/pkgs/top-level/python-packages-generated.nix index e76cf4988d027ef220b2d13584bcf52060f042fd..247d18680d96758bff113a247c7d64f2e3f7dfb4 100644 --- a/pkgs/top-level/python-packages-generated.nix +++ b/pkgs/top-level/python-packages-generated.nix @@ -2666,7 +2666,7 @@ in md5 = "09dcec70f623a9ef774f1aef75690995"; }; doCheck = false; - buildInputs = [ ]; + buildInputs = [ pkgs.postgresql ]; propagatedBuildInputs = [ ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { @@ -5242,6 +5242,7 @@ in doCheck = true; buildInputs = [ self."nose-1.3.3" self."unittest2-0.5.1" self."pyquery-1.2.8" self."WSGIProxy2-0.4.1" self."PasteDeploy-1.5.2" self."mock-1.0.1" self."coverage-3.7.1" pkgs.unzip ]; propagatedBuildInputs = [ self."beautifulsoup4-4.3.2" self."six-1.6.1" self."waitress-0.8.9" self."WebOb-1.4" ]; + preConfigure = ''substituteInPlace setup.py --replace "nose<1.3.0" "nose"''; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d42897857c1ad4c84243d1ab7aa3453f72ef358d..3af1950f9b17b17cd85359ed80db59455ec42dd4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7,6 +7,7 @@ let isPy33 = python.majorVersion == "3.3"; isPy34 = python.majorVersion == "3.4"; isPyPy = python.executable == "pypy"; + isPy3k = strings.substring 0 1 python.majorVersion == "3"; # Unique python version identifier pythonName = @@ -27,7 +28,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { # Python packages for all python versions rec { - inherit python isPy26 isPy27 isPy33 isPy34 isPyPy pythonName; + inherit python isPy26 isPy27 isPy33 isPy34 isPyPy isPy3k pythonName; inherit (pkgs) fetchurl fetchsvn fetchgit stdenv unzip; # helpers @@ -111,11 +112,6 @@ rec { # version of nixpart. nixpart0 = nixpart; - pil = import ../development/python-modules/pil { - inherit (pkgs) fetchurl stdenv libjpeg zlib freetype; - inherit python buildPythonPackage; - }; - pitz = import ../applications/misc/pitz { inherit (pkgs) stdenv fetchurl; inherit buildPythonPackage tempita jinja2 pyyaml clepy mock nose decorator docutils; @@ -143,7 +139,7 @@ rec { pygtk = import ../development/python-modules/pygtk { inherit (pkgs) fetchurl stdenv pkgconfig gtk; - inherit python buildPythonPackage pygobject pycairo; + inherit python buildPythonPackage pygobject pycairo isPy3k; }; # XXX: how can we get an override here? @@ -153,7 +149,7 @@ rec { pyGtkGlade = import ../development/python-modules/pygtk { inherit (pkgs) fetchurl stdenv pkgconfig gtk; inherit (pkgs.gnome) libglade; - inherit python buildPythonPackage pygobject pycairo; + inherit python buildPythonPackage pygobject pycairo isPy3k; }; pyqt4 = import ../development/python-modules/pyqt/4.x.nix { @@ -259,9 +255,8 @@ rec { propagatedBuildInputs = [ pythonPackages.notmuch - pythonPackages.subprocess32 pythonPackages.chardet - ]; + ] ++ optional (!isPy3k) pythonPackages.subprocess32; doCheck = false; @@ -283,15 +278,15 @@ rec { alembic = buildPythonPackage rec { - name = "alembic-0.6.0"; + name = "alembic-0.6.6"; src = fetchurl { url = "https://pypi.python.org/packages/source/a/alembic/${name}.tar.gz"; - md5 = "084fe81b48ebae43b0f6031af68a03d6"; + md5 = "71e4a8f6849e1527abfc4ea33d51f37c"; }; - buildInputs = [ nose ]; - propagatedBuildInputs = [ Mako sqlalchemy ]; + buildInputs = [ nose mock ]; + propagatedBuildInputs = [ Mako sqlalchemy9 ]; meta = { homepage = http://bitbucket.org/zzzeek/alembic; @@ -389,11 +384,12 @@ rec { anyjson = buildPythonPackage rec { - name = "anyjson-0.3.1"; + name = "anyjson-0.3.3"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/a/anyjson/${name}.tar.gz"; - md5 = "2b53b5d53fc40af4da7268d3c3e35a50"; + md5 = "2ea28d6ec311aeeebaf993cb3008b27c"; }; buildInputs = [ pythonPackages.nose ]; @@ -443,6 +439,24 @@ rec { }; + apscheduler = buildPythonPackage rec { + name = "APScheduler-2.1.2"; + + propagatedBuildInputs = with pythonPackages; [ futures tzlocal six pytest mock]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/A/APScheduler/APScheduler-2.1.2.tar.gz"; + md5 = "6862959d460c16ef325d63e1fc3a6684"; + }; + + meta = with pkgs.stdenv.lib; { + description = "Advanced Python Scheduler (APScheduler) is a Python library that lets you schedule your Python code to be executed"; + homepage = http://pypi.python.org/pypi/APScheduler/; + license = licenses.mit; + }; + }; + + area53 = buildPythonPackage (rec { name = "area53-b2c9cdcabd"; @@ -459,9 +473,27 @@ rec { }); + arrow = buildPythonPackage rec { + name = "arrow-${version}"; + version = "0.4.4"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/a/arrow/${name}.tar.gz"; + sha256 = "1sdr4gyjgvz86yr0ll0i11mgy8l1slndr7f0ngam87rpy78gp052"; + }; + + doCheck = false; + + meta = { + description = "Twitter API library"; + license = "apache"; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; async = buildPythonPackage rec { name = "async-0.6.1"; + disabled = isPy3k; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; buildInputs = [ pkgs.zlib ]; @@ -512,11 +544,11 @@ rec { }); autopep8 = buildPythonPackage (rec { - name = "autopep8-1.0"; + name = "autopep8-1.0.3"; src = fetchurl { url = "https://pypi.python.org/packages/source/a/autopep8/${name}.tar.gz"; - md5 = "41782e66efcbaf9d761bb45a2d2929bb"; + md5 = "7c16d385cf9ad7c1d7fbcfcea2588a56"; }; propagatedBuildInputs = [ pep8 ]; @@ -537,6 +569,8 @@ rec { avro = buildPythonPackage (rec { name = "avro-1.7.6"; + disabled = isPy3k; + src = fetchurl { url = "https://pypi.python.org/packages/source/a/avro/${name}.tar.gz"; md5 = "7f4893205e5ad69ac86f6b44efb7df72"; @@ -551,6 +585,8 @@ rec { avro3k = pkgs.lowPrio (buildPythonPackage (rec { name = "avro3k-1.7.7-SNAPSHOT"; + disabled = (!isPy3k); + src = fetchurl { url = "https://pypi.python.org/packages/source/a/avro3k/${name}.tar.gz"; sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky"; @@ -597,6 +633,7 @@ rec { beautifulsoup = buildPythonPackage (rec { name = "beautifulsoup-3.2.1"; + disabled = isPy3k; src = fetchurl { url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz"; @@ -636,6 +673,8 @@ rec { beaker = buildPythonPackage rec { name = "Beaker-1.6.4"; + disabled = isPy3k; + src = fetchurl { url = "http://pypi.python.org/packages/source/B/Beaker/${name}.tar.gz"; md5 = "c2e102870ed4c53104dec48ceadf8e9d"; @@ -672,7 +711,8 @@ rec { }; buildInputs = [ pkgs.btrfsProgs ]; - propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy8 pyxdg pycparser cffi alembic ]; + propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy9 pyxdg pycparser alembic ] + ++ optionals (!isPyPy) [ cffi ]; meta = { description = "Deduplication for Btrfs"; @@ -714,9 +754,9 @@ rec { modules.sqlite3 modules.readline ]; - + buildInputs = with pythonPackages; [ mock pyechonest six responses nose ]; - + # 10 tests are failing doCheck = false; @@ -727,12 +767,12 @@ rec { maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; - + responses = pythonPackages.buildPythonPackage rec { name = "responses-0.2.2"; propagatedBuildInputs = with pythonPackages; [ requests mock six pytest flake8 ]; - + doCheck = false; src = fetchurl { @@ -741,7 +781,7 @@ rec { }; }; - + rarfile = pythonPackages.buildPythonPackage rec { name = "rarfile-2.6"; @@ -757,7 +797,7 @@ rec { homepage = https://github.com/markokr/rarfile; }; }; - + pyechonest = pythonPackages.buildPythonPackage rec { name = "pyechonest-8.0.2"; @@ -879,33 +919,6 @@ rec { }; - # euca2ools (and maybe Nova) needs boto 1.9, 2.0 doesn't work. - boto_1_9 = buildPythonPackage (rec { - name = "boto-1.9b"; - - src = fetchurl { - url = "http://boto.googlecode.com/files/${name}.tar.gz"; - sha1 = "00a033b0a593c3ca82927867950f73d88b831155"; - }; - - patches = [ ../development/python-modules/boto-1.9-python-2.7.patch ]; - - meta = { - homepage = http://code.google.com/p/boto/; - - license = "bsd"; - - description = "Python interface to Amazon Web Services"; - - longDescription = '' - The boto module is an integrated interface to current and - future infrastructural services offered by Amazon Web - Services. This includes S3, SQS, EC2, among others. - ''; - }; - }); - - boto = buildPythonPackage rec { name = "boto-${version}"; version = "2.32.0"; @@ -1003,9 +1016,12 @@ rec { maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; + zc_buildout171 = buildPythonPackage rec { name = "zc.buildout-1.7.1"; + disabled = isPy3k; + src = fetchurl { url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz"; md5 = "8834a21586bf2be53dc412002241a996"; @@ -1018,9 +1034,12 @@ rec { maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; + zc_buildout152 = buildPythonPackage rec { name = "zc.buildout-1.5.2"; + disabled = isPy3k; + src = fetchurl { url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz"; md5 = "87f7b3f8d13926c806242fd5f6fe36f7"; @@ -1102,6 +1121,7 @@ rec { cheetah = buildPythonPackage rec { version = "2.4.4"; name = "cheetah-${version}"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${version}.tar.gz"; @@ -1169,6 +1189,7 @@ rec { clientform = buildPythonPackage (rec { name = "clientform-0.2.10"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/C/ClientForm/ClientForm-0.2.10.tar.gz"; @@ -1284,7 +1305,7 @@ rec { }; buildInputs = [ unittest2 ]; - propagatedBuildInputs = [ colander sqlalchemy8 ]; + propagatedBuildInputs = [ colander sqlalchemy9 ]; # string: argument name cannot be overridden via info kwarg. doCheck = false; @@ -1298,11 +1319,11 @@ rec { configobj = buildPythonPackage (rec { - name = "configobj-4.7.2"; + name = "configobj-5.0.6"; src = fetchurl { url = "http://pypi.python.org/packages/source/c/configobj/${name}.tar.gz"; - md5 = "201dbaa732a9049c839f9bb6c27fc7b5"; + md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6"; }; # error: invalid command 'test' @@ -1474,7 +1495,7 @@ rec { md5 = "c5df008669d17dd6eeb5e2042d5e136f"; }; - buildInputs = [ cffi pycparser mock pytest py ]; + buildInputs = [ pycparser mock pytest py ] ++ optionals (!isPyPy) [ cffi ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -1489,7 +1510,7 @@ rec { md5 = "d329f5cb2053fd31dafc02e2c9ef0299"; }; - buildInputs = [ pkgs.libffi pycparser ]; + propagatedBuildInputs = [ pkgs.libffi pycparser ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -1618,6 +1639,7 @@ rec { darcsver = buildPythonPackage (rec { name = "darcsver-1.7.4"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz"; @@ -1724,6 +1746,36 @@ rec { }; }; + deform2 = buildPythonPackage rec { + name = "deform-2.0a2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz"; + sha256 = "1gfaf1d8zp0mp4h229srlffxdp86w1nni9g4aqsshxysr23x591z"; + }; + + buildInputs = [] ++ optional isPy26 unittest2; + + propagatedBuildInputs = + [ pythonPackages.beautifulsoup4 + pythonPackages.peppercorn + pythonPackages.colander + pythonPackages.translationstring + pythonPackages.chameleon + pythonPackages.zope_deprecation + pythonPackages.coverage + pythonPackages.nose + ]; + + meta = { + maintainers = [ + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.iElectric + ]; + platforms = stdenv.lib.platforms.all; + }; + }; + deform_bootstrap = buildPythonPackage rec { name = "deform_bootstrap-0.2.9"; @@ -1783,6 +1835,27 @@ rec { }; }; + docker = buildPythonPackage rec { + name = "docker-py-0.4.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/d/docker-py/${name}.tar.gz"; + md5 = "21ab8fd729105487e6423b654d6c0860"; + }; + + propagatedBuildInputs = [ six requests ]; + + # Version conflict + doCheck = false; + + meta = { + description = "An API client for docker written in Python"; + homepage = https://github.com/docker/docker-py; + license = licenses.asl20; + }; + }; + + dogpile_cache = buildPythonPackage rec { name = "dogpile.cache-0.5.4"; @@ -1821,6 +1894,7 @@ rec { dpkt = buildPythonPackage rec { name = "dpkt-1.8"; + disabled = isPy3k; src = fetchurl { url = "https://dpkt.googlecode.com/files/${name}.tar.gz"; @@ -1884,12 +1958,13 @@ rec { evdev = buildPythonPackage rec { - version = "0.3.2"; + version = "0.4.5"; name = "evdev-${version}"; + disabled = isPy34; # see http://bugs.python.org/issue21121 src = fetchurl { url = "https://pypi.python.org/packages/source/e/evdev/${name}.tar.gz"; - sha256 = "07gmynz764sln2sq18aafx13yawkv5nkqrkk06rj71sq71fsr9h9"; + sha256 = "0w8ib3ab4mpfc1rvd335l8xkd41qbh3iyb0vfiiapgcfvqk74aq7"; }; buildInputs = [ pkgs.linuxHeaders ]; @@ -1909,12 +1984,12 @@ rec { eyeD3 = buildPythonPackage rec { - version = "0.7.2"; + version = "0.7.4"; name = "eyeD3-${version}"; src = fetchurl { - url = http://eyed3.nicfit.net/releases/eyeD3-0.7.2.tgz; - sha256 = "1r0vxdflrj83s8jc5f2qg4p00k37pskn3djym0w73bvq167vkxar"; + url = "http://eyed3.nicfit.net/releases/${name}.tgz"; + sha256 = "001hzgqqnf2ig432mq78jsxidpky2rl2ilm28xwjp32vzphycf51"; }; buildInputs = [ paver ]; @@ -1950,14 +2025,34 @@ rec { md5 = "be885ccd9612966bb81839670d2da099"; }; + doCheck = !isPy3k; # failures.. + meta = { description = "rapid multi-Python deployment"; license = stdenv.lib.licenses.gpl2; }; }; + facebook-sdk = buildPythonPackage rec { + name = "facebook-sdk-0.4.0"; + + disabled = isPy3k; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/f/facebook-sdk/facebook-sdk-0.4.0.tar.gz"; + md5 = "ac9f38e197e54b8ba9f3a61988cc33b7"; + }; + + meta = with pkgs.stdenv.lib; { + description = "Client library that supports the Facebook Graph API and the official Facebook JavaScript SDK."; + homepage = https://github.com/pythonforfacebook/facebook-sdk; + license = licenses.asl20 ; + }; + }; + faker = buildPythonPackage rec { name = "faker-0.0.4"; + disabled = isPy3k; src = fetchurl { url = https://pypi.python.org/packages/source/F/Faker/Faker-0.0.4.tar.gz; sha256 = "09q5jna3j8di0gw5yjx0dvlndkrk2x9vvqzwyfsvg3nlp8h38js1"; @@ -1988,11 +2083,13 @@ rec { }; fabric = buildPythonPackage rec { - name = "fabric-1.6.1"; + name = "fabric-${version}"; + version = "1.9.1"; src = fetchurl { - url = https://pypi.python.org/packages/source/F/Fabric/Fabric-1.6.1.tar.gz; - sha256 = "058psbhqbfm3n214wkyfpgm069yqmdqw1hql9bac1yv9pza3bzx1"; + url = "https://pypi.python.org/packages/source/F/Fabric/Fabric-${version}.tar.gz"; + sha256 = "103mzf0l15kyvw5nmf7bsdrqg6y3wpyxmkyl2h9lk7jxb5gdc9s1"; }; + disabled = isPy3k; propagatedBuildInputs = [ paramiko pycrypto ]; buildInputs = [ fudge nose ]; }; @@ -2094,6 +2191,7 @@ rec { googlecl = buildPythonPackage rec { version = "0.9.14"; name = "googlecl-${version}"; + disabled = isPy3k; src = fetchurl { url = "https://googlecl.googlecode.com/files/${name}.tar.gz"; @@ -2113,20 +2211,35 @@ rec { gtimelog = buildPythonPackage rec { name = "gtimelog-${version}"; - version = "0.8.1"; + version = "0.9.1"; + + disabled = isPy26; src = fetchurl { url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz"; - sha256 = "0nwpfv284b26q97mfpagqkqb4n2ilw46cx777qsyi3plnywk1xa0"; + sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj"; }; - propagatedBuildInputs = [ pygtk ]; + preBuild = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; + + # TODO: AppIndicator + propagatedBuildInputs = [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ]; checkPhase = '' - patchShebangs ./runtests + substituteInPlace runtests --replace "/usr/bin/env python" "${python}/bin/${python.executable}" ./runtests ''; + preFixup = '' + wrapProgram $out/bin/gtimelog \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3}/lib" \ + + ''; + meta = with stdenv.lib; { description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible"; homepage = http://mg.pov.lt/gtimelog/; @@ -2150,24 +2263,6 @@ rec { }; }; - # TODO: this shouldn't use a buildPythonPackage - koji = buildPythonPackage (rec { - name = "koji-1.8"; - meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - - src = fetchurl { - url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2"; - sha256 = "10dph209h4jgajb5jmbjhqy4z4hd22i7s2d93vm3ikdf01i8iwf1"; - }; - - configurePhase = ":"; - buildPhase = ":"; - installPhase = "make install DESTDIR=$out/ && cp -R $out/nix/store/*/* $out/ && rm -rf $out/nix"; - doCheck = false; - propagatedBuildInputs = [ pythonPackages.pycurl ]; - - }); - logilab_astng = buildPythonPackage rec { name = "logilab-astng-0.24.3"; @@ -2269,13 +2364,18 @@ rec { pyramid = buildPythonPackage rec { - name = "pyramid-1.5"; + name = "pyramid-1.5.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz"; - md5 = "8747658dcbab709a9c491e43d3b0d58b"; + md5 = "8a1ab3b773d8e22437828f7df22852c1"; }; + preCheck = '' + # test is failing, see https://github.com/Pylons/pyramid/issues/1405 + rm pyramid/tests/test_response.py + ''; + buildInputs = [ docutils virtualenv @@ -2323,11 +2423,11 @@ rec { pyramid_chameleon = buildPythonPackage rec { - name = "pyramid_chameleon-0.1"; + name = "pyramid_chameleon-0.3"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pyramid_chameleon/${name}.tar.gz"; - md5 = "39b1327a9890f382200bbfde943833d7"; + md5 = "5bb5938356dfd13fce06e095f132e137"; }; propagatedBuildInputs = [ @@ -2450,11 +2550,11 @@ rec { radicale = buildPythonPackage rec { name = "radicale-${version}"; namePrefix = ""; - version = "0.9b1"; + version = "0.9"; src = fetchurl { url = "http://pypi.python.org/packages/source/R/Radicale/Radicale-${version}.tar.gz"; - sha256 = "3a8451909de849f173f577ddec0a085f19040dbb6aa13d5256208a0f8e11d88d"; + sha256 = "77bf813fd26f0d359c1a7b7bcce9b842b4503c5516989a4a0a4f648e299e41f7"; }; propagatedBuildInputs = with pythonPackages; [ @@ -2467,6 +2567,7 @@ rec { meta = { homepage = "http://www.radicale.org/"; + description = "CalDAV CardDAV server"; longDescription = '' The Radicale Project is a complete CalDAV (calendar) and CardDAV (contact) server solution. Calendars and address books are available for @@ -2498,14 +2599,14 @@ rec { hypatia = buildPythonPackage rec { - name = "hypatia-0.1a6"; + name = "hypatia-0.3"; src = fetchurl { url = "http://pypi.python.org/packages/source/h/hypatia/${name}.tar.gz"; - md5 = "3a67683c578754cd8f23317db6d28ffd"; + md5 = "d74c6dda31ff459a39fa5da9e98f2425"; }; - buildInputs = [ zope_interface zodb3 ]; + buildInputs = [ zope_interface zodb ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2546,15 +2647,18 @@ rec { pyramid_zodbconn = buildPythonPackage rec { - name = "pyramid_zodbconn-0.4"; + name = "pyramid_zodbconn-0.7"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid_zodbconn/${name}.tar.gz"; - md5 = "22e88cc82cafbbe00274e7378434e5fe"; + md5 = "3c7746a227fbcda3e138ab8bfab7700b"; }; + # should be fixed in next release + doCheck = false; + buildInputs = [ pyramid mock ]; - propagatedBuildInputs = [ zodb3 zodburi ]; + propagatedBuildInputs = [ zodb zodburi ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2617,30 +2721,56 @@ rec { zodburi = buildPythonPackage rec { - name = "zodburi-2.0b1"; + name = "zodburi-2.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zodburi/${name}.tar.gz"; - md5 = "52cc13c32ffe4ee7b5f5abc79f70f3c2"; + md5 = "7876893829c2f784506c80d49f861b67"; }; - buildInputs = [ zodb3 mock ]; + buildInputs = [ zodb mock ZEO ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; + ZEO = pythonPackages.buildPythonPackage rec { + name = "ZEO-4.0.0"; + + propagatedBuildInputs = [ random2 zodb six transaction persistent zc_lockfile zconfig zdaemon zope_interface ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/Z/ZEO/${name}.tar.gz"; + md5 = "494d8320549185097ba4a6b6b76017d6"; + }; + + meta = with stdenv.lib; { + homepage = https://pypi.python.org/pypi/ZEO; + }; + }; + + random2 = pythonPackages.buildPythonPackage rec { + name = "random2-1.0.1"; + + doCheck = !isPyPy; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/r/random2/${name}.zip"; + md5 = "48a0a86fe00e447212d0095de8cf3e21"; + }; + }; + substanced = buildPythonPackage rec { # no release yet - rev = "bd8822be62f0f356e4e44d5c614fe14d3fa08f45"; + rev = "089818bc61c3dc5eca023254e37a280b041ea8cc"; name = "substanced-${rev}"; src = fetchgit { inherit rev; url = "https://github.com/Pylons/substanced.git"; - sha256 = "eded6468563328af37a07aeb88ef81ed78ccaff2ab687cac34ad2b36e19abcb4"; + sha256 = "17s7sdvydw9a9d2d36c70lq962ryny3dv9nzdxqpfvwiry9iy3jx"; }; buildInputs = [ mock ]; @@ -2648,11 +2778,10 @@ rec { propagatedBuildInputs = [ pyramid pytz - zodb3 + zodb venusian colander - deform - deform_bootstrap + deform2 python_magic pyyaml cryptacular @@ -2663,6 +2792,8 @@ rec { statsd pyramid_zodbconn pyramid_mailer + pyramid_chameleon + ZEO ]; meta = with stdenv.lib; { @@ -2730,7 +2861,16 @@ rec { }; }; + zope_tales = buildPythonPackage rec { + name = "zope.tales-4.0.2"; + propagatedBuildInputs = [ zope_interface six zope_testrunner ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/zope.tales/${name}.zip"; + md5 = "902b03a5f9774f6e2decf3f06d18a09d"; + }; + }; zope_deprecation = buildPythonPackage rec { @@ -2811,11 +2951,11 @@ rec { }; deluge = buildPythonPackage rec { - name = "deluge-1.3.6"; + name = "deluge-1.3.7"; src = fetchurl { - url = "http://download.deluge-torrent.org/source/${name}.tar.gz"; - md5 = "33557678bf2f320de670ddaefaea009d"; + url = "http://download.deluge-torrent.org/source/${name}.tar.bz2"; + sha256 = "07m5lgkqymlh0810bk2f5l0k83n51xb3gszj11sr509jgbnxjnmm"; }; propagatedBuildInputs = with pkgs; [ @@ -2876,11 +3016,11 @@ rec { django_1_6 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.6.3"; + version = "1.6.6"; src = fetchurl { url = "http://www.djangoproject.com/m/releases/1.6/${name}.tar.gz"; - sha256 = "1wdqb2x0w0c10annbyz7rrrgrv9mpa9f8pz8006lf2csix33r7bd"; + sha256 = "143yp984n8a2bs1dflxjp1s7skmji0cwkw05s9ikbfikwmabsv2k"; }; # error: invalid command 'test' @@ -2894,11 +3034,11 @@ rec { django_1_5 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.5.6"; + version = "1.5.9"; src = fetchurl { url = "http://www.djangoproject.com/m/releases/1.5/${name}.tar.gz"; - sha256 = "1bxzz71sfvh0zgdzv4x3wdr4ffzd5cfnvq7iq2g1i282sacwnzwv"; + sha256 = "1lm0pa6m9f4cd6pv239lqj32z1snf8xjbvlbh8bqihs6a1f51kj7"; }; # error: invalid command 'test' @@ -2912,11 +3052,11 @@ rec { django_1_4 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.4.11"; + version = "1.4.14"; src = fetchurl { url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz"; - sha256 = "00f2jlls3fhddrg7q4sjkwj6dmclh28n0vqm1m7kzcq5fjrxh6a8"; + sha256 = "173ci9ml2vs1z2x51wahssfn8mrmhd02varmg9kibm8z460svvc1"; }; # error: invalid command 'test' @@ -2948,13 +3088,14 @@ rec { django_evolution = buildPythonPackage rec { name = "django_evolution-0.6.9"; + disabled = isPy3k; src = fetchurl { - url = "http://pypi.python.org/packages/source/d/django_evolution/${name}.tar.gz"; + url = "http://downloads.reviewboard.org/releases/django-evolution/${name}.tar.gz"; md5 = "c0d7d10bc41898c88b14d434c48766ff"; }; - propagatedBuildInputs = [ django_1_3 ]; + propagatedBuildInputs = [ django_1_5 ]; meta = { description = "A database schema evolution tool for the Django web framework"; @@ -3002,6 +3143,7 @@ rec { dulwich = buildPythonPackage rec { name = "dulwich-0.8.7"; + disabled = isPy3k || isPyPy; src = fetchurl { url = "http://samba.org/~jelmer/dulwich/${name}.tar.gz"; @@ -3128,12 +3270,15 @@ rec { enum = buildPythonPackage rec { name = "enum-0.4.4"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/e/enum/${name}.tar.gz"; md5 = "ce75c7c3c86741175a84456cc5bd531e"; }; + doCheck = !isPyPy; + buildInputs = [ ]; propagatedBuildInputs = [ ]; @@ -3172,16 +3317,16 @@ rec { eventlet = buildPythonPackage rec { - name = "eventlet-0.9.16"; + name = "eventlet-0.15.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/e/eventlet/${name}.tar.gz"; - md5 = "4728e3bd7f72763c1e5dccac0296f8ea"; + md5 = "7155780824bb6344651a573838416f21"; }; buildInputs = [ nose httplib2 ]; - propagatedBuildInputs = [ greenlet ]; + propagatedBuildInputs = optionals (!isPyPy) [ greenlet ]; PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; @@ -3253,6 +3398,7 @@ rec { flexget = buildPythonPackage rec { name = "FlexGet-1.2.161"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/F/FlexGet/${name}.tar.gz"; @@ -3301,16 +3447,20 @@ rec { }); jsonschema = buildPythonPackage (rec { - version = "2.0.0"; + version = "2.4.0"; name = "jsonschema-${version}"; src = fetchurl { url = "https://pypi.python.org/packages/source/j/jsonschema/jsonschema-${version}.tar.gz"; - md5 = "1793d97a668760ef540fadd342aa08e5"; + md5 = "661f85c3d23094afbb9ac3c0673840bf"; }; buildInputs = [ nose mock ]; + patchPhase = '' + substituteInPlace jsonschema/tests/test_jsonschema_test_suite.py --replace "python" "${python}/bin/${python.executable}" + ''; + checkPhase = '' nosetests ''; @@ -3325,6 +3475,7 @@ rec { flup = buildPythonPackage (rec { name = "flup-1.0.2"; + disabled = isPy3k; src = fetchurl { url = "http://www.saddi.com/software/flup/dist/${name}.tar.gz"; @@ -3368,11 +3519,11 @@ rec { }); fs = buildPythonPackage rec { - name = "fs-0.4.0"; + name = "fs-0.5.0"; src = fetchurl { - url = "https://pyfilesystem.googlecode.com/files/fs-0.4.0.tar.gz"; - sha256 = "1fk7ilwd01qgj4anw9k1vjp0amxswzzxbp6bk4nncp7210cxp3vz"; + url = "https://pypi.python.org/packages/source/f/fs/${name}.tar.gz"; + sha256 = "144f4yn2nvnxh2vrnmiabpwx3s637np0d1j1w95zym790d66shir"; }; meta = with stdenv.lib; { @@ -3391,6 +3542,7 @@ rec { baseName = "fuse"; version = "0.2.1"; name = "${baseName}-${version}"; + disabled = isPy3k; src = fetchurl { url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz"; @@ -3405,6 +3557,23 @@ rec { }; }); + futures = buildPythonPackage rec { + name = "futures-2.1.6"; + + propagatedBuildInputs = with pythonPackages; [ ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/f/futures/futures-2.1.6.tar.gz"; + md5 = "cfab9ac3cd55d6c7ddd0546a9f22f453"; + }; + + meta = with pkgs.stdenv.lib; { + description = "Backport of the concurrent.futures package from Python 3.2"; + homepage = http://code.google.com/p/pythonfutures; + license = licenses.bsd2; + }; + }; + gcovr = buildPythonPackage rec { name = "gcovr-2.4"; @@ -3447,15 +3616,16 @@ rec { }; gevent = buildPythonPackage rec { - name = "gevent-0.13.8"; + name = "gevent-1.0.1"; + disabled = isPy3k || isPyPy; # see https://github.com/surfly/gevent/issues/248 src = fetchurl { url = "https://pypi.python.org/packages/source/g/gevent/${name}.tar.gz"; - sha256 = "0plmxnb53qbxxf6macq84dvclsiyrpv3xrm32q4qqh6f01ix5f2l"; + sha256 = "0hyzfb0gcx9pm5c2igan8y57hqy2wixrwvdjwsaivxsqs0ay49s6"; }; - buildInputs = [ pkgs.libevent ]; - propagatedBuildInputs = [ greenlet ]; + buildInputs = [ pkgs.libev ]; + propagatedBuildInputs = optionals (!isPyPy) [ greenlet ]; meta = with stdenv.lib; { description = "Coroutine-based networking library"; @@ -3574,12 +3744,15 @@ rec { goobook = buildPythonPackage rec { name = "goobook-1.5"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/g/goobook/${name}.tar.gz"; sha256 = "05vpriy391l5i05ckl5ja5bswqyvl3rwrbmks9pi46w1813j7p5z"; }; + buildInputs = [ six ]; + preConfigure = '' sed -i '/distribute/d' setup.py ''; @@ -3615,6 +3788,7 @@ rec { google_apputils = buildPythonPackage rec { name = "google-apputils-0.4.0"; + disabled = isPy3k; src = fetchurl { url = http://pypi.python.org/packages/source/g/google-apputils/google-apputils-0.4.0.tar.gz; @@ -3630,11 +3804,11 @@ rec { }; greenlet = buildPythonPackage rec { - name = "greenlet-0.3.1"; + name = "greenlet-0.4.3"; src = fetchurl { - url = "http://pypi.python.org/packages/source/g/greenlet/${name}.tar.gz"; - md5 = "8d75d7f3f659e915e286e1b0fa0e1c4d"; + url = "http://pypi.python.org/packages/source/g/greenlet/${name}.zip"; + md5 = "a5e467a5876c415cd357c1ab9027e06c"; }; meta = { @@ -3682,13 +3856,20 @@ rec { }; hcs_utils = buildPythonPackage rec { - name = "hcs_utils-1.3"; + name = "hcs_utils-1.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/h/hcs_utils/hcs_utils-1.3.tar.gz"; - sha256 = "0mcjfc0ssil86i74dg323z7mikkw1xazqyr92347x1y33zyffgxh"; + url = "https://pypi.python.org/packages/source/h/hcs_utils/${name}.tar.gz"; + sha256 = "1d2za9crkgzildx610w3zif2i8phcqhh6n8nzg3yvy2mg0s18mkl"; }; + preBuild = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; + + buildInputs = [ six ]; + meta = with stdenv.lib; { description = "Library collecting some useful snippets"; homepage = https://pypi.python.org/pypi/hcs_utils/1.3; @@ -3761,6 +3942,7 @@ rec { http_signature = buildPythonPackage (rec { name = "http_signature-0.1.4"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/h/http_signature/${name}.tar.gz"; @@ -3795,11 +3977,11 @@ rec { }; httplib2 = buildPythonPackage rec { - name = "httplib2-0.9"; + name = "httplib2-0.8"; src = fetchurl { url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz"; - sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir"; + sha256 = "174w6rz4na1sdlfz37h95l0pkfm9igf9nqmhbd8aqh3sm7d9zrff"; }; meta = { @@ -3813,6 +3995,7 @@ rec { httpretty = buildPythonPackage rec { name = "httpretty-${version}"; version = "0.8.3"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/h/httpretty/${name}.tar.gz"; @@ -3852,14 +4035,16 @@ rec { }) else null; iptools = buildPythonPackage rec { - version = "0.4.0"; + version = "0.6.1"; name = "iptools-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/i/iptools/iptools-${version}.tar.gz"; - md5 = "de60e5fab861f29dbf5f4446f8576532"; + md5 = "aed4045638fd40c16f8d9bb04606f700"; }; + buildInputs = [ nose ]; + meta = { description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting."; homepage = http://pypi.python.org/pypi/iptools; @@ -3886,10 +4071,12 @@ rec { }; - ipaddr = buildPythonPackage { + ipaddr = buildPythonPackage rec { name = "ipaddr-2.1.10"; + disabled = isPy3k; + src = fetchurl { - url = "http://ipaddr-py.googlecode.com/files/ipaddr-2.1.10.tar.gz"; + url = "http://pypi.python.org/packages/source/i/ipaddr/${name}.tar.gz"; sha256 = "18ycwkfk3ypb1yd09wg20r7j7zq2a73d7j6j10qpgra7a7abzhyj"; }; @@ -3996,6 +4183,9 @@ rec { sha256 = "1flccphpyrb8y8dra2fq2s2v3fg615d77kjjmzl0gmiidabkkdqf"; }; + buildInputs = + [ fs gdata python_keyczar mock pyasn1 pycrypto pytest six ]; + meta = with stdenv.lib; { description = "Store and access your passwords safely"; homepage = "https://pypi.python.org/pypi/keyring"; @@ -4003,13 +4193,12 @@ rec { maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; }; - - buildInputs = - [ fs gdata python_keyczar mock pyasn1 pycrypto pytest ]; }; kitchen = buildPythonPackage (rec { name = "kitchen-1.1.1"; + disabled = isPy3k; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; src = fetchurl { @@ -4148,11 +4337,11 @@ rec { python_magic = buildPythonPackage rec { - name = "python-magic-0.4.3"; + name = "python-magic-0.4.6"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/python-magic/${name}.tar.gz"; - md5 = "eec9e2b1bcaf43308b7dacb3f2ecd8c1"; + md5 = "07e7a0fea78dd81ed609414c3484df58"; }; propagatedBuildInputs = [ pkgs.file ]; @@ -4161,6 +4350,8 @@ rec { substituteInPlace magic.py --replace "ctypes.CDLL(dll)" "ctypes.CDLL('${pkgs.file}/lib/libmagic.so')" ''; + doCheck = false; + # TODO: tests are failing #checkPhase = '' # ${python}/bin/${python.executable} ./test.py @@ -4249,11 +4440,11 @@ rec { manuel = buildPythonPackage rec { name = "manuel-${version}"; - version = "1.6.1"; + version = "1.8.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/m/manuel/${name}.tar.gz"; - sha256 = "1h35ys31zkjd9jssqn9lzwmw8s17ikr4jn2xp5zby1v771ibbbqr"; + sha256 = "1diyj6a8bvz2cdf9m0g2bbx9z2yjjnn3ylbg1zinpcjj6vldfx59"; }; propagatedBuildInputs = [ six zope_testing ]; @@ -4296,7 +4487,7 @@ rec { propagatedBuildInputs = [ dateutil nose numpy pyparsing tornado pkgs.freetype pkgs.libpng pkgs.pkgconfig - pygtk ]; + ]; meta = with stdenv.lib; { description = "python plotting library, making publication quality plots"; @@ -4328,6 +4519,7 @@ rec { mechanize = buildPythonPackage (rec { name = "mechanize-0.1.11"; + disabled = isPy3k; src = fetchurl { url = "http://wwwsearch.sourceforge.net/mechanize/src/${name}.tar.gz"; @@ -4363,13 +4555,15 @@ rec { }; }; - memcached = buildPythonPackage rec { - name = "memcached-1.48"; + name = "memcached-1.51"; - src = fetchurl { - url = "ftp://ftp.tummy.com/pub/python-memcached/old-releases/python-memcached-1.48.tar.gz"; - sha256 = "1i0h05z9j0zl65rgvw86p4f54pigkxynhzppn4qxby8rjlnwdfv6"; + src = if isPy3k then fetchurl { + url = "https://pypi.python.org/packages/source/p/python3-memcached/python3-${name}.tar.gz"; + sha256 = "0na8b369q8fivh3y0nvzbvhh3lgvxiyyv9xp93cnkvwfsr8mkgkw"; + } else fetchurl { + url = "http://ftp.tummy.com/pub/python-memcached/old-releases/python-${name}.tar.gz"; + sha256 = "124s98m6hvxj6x90d7aynsjfz878zli771q96ns767r2mbqn7192"; }; meta = { @@ -4415,6 +4609,35 @@ rec { }; }; + rainbowstream = buildPythonPackage rec { + name = "rainbowstream-${version}"; + version = "0.9.5"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/r/rainbowstream/${name}.tar.gz"; + sha256 = "0v79xiihgsfjipxkzzi92l8y1f8vxxachpv71gyzyhxdsl2zfj57"; + }; + + doCheck = false; + + preBuild = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; + + buildInputs = [ + pkgs.libjpeg pkgs.freetype pkgs.zlib + pillow twitter pyfiglet requests arrow dateutil modules.readline + ]; + + meta = { + description = "Streaming command-line twitter client"; + homepage = "http://www.rainbowstream.org/"; + license = licenses.mit; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + mitmproxy = buildPythonPackage rec { baseName = "mitmproxy"; name = "${baseName}-${meta.version}"; @@ -4464,8 +4687,10 @@ rec { }; }); - moinmoin = let ver="1.9.7"; in buildPythonPackage (rec { + moinmoin = buildPythonPackage (rec { name = "moinmoin-${ver}"; + disabled = isPy3k; + ver = "1.9.7"; src = fetchurl { url = "http://static.moinmo.in/files/moin-${ver}.tar.gz"; @@ -4521,6 +4746,23 @@ rec { }; + mpd = buildPythonPackage rec { + name = "python-mpd-0.3.0"; + + disabled = isPy3k; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/python-mpd/python-mpd-0.3.0.tar.gz"; + md5 = "5b3849b131e2fb12f251434597d65635"; + }; + + meta = with pkgs.stdenv.lib; { + description = "An MPD (Music Player Daemon) client library written in pure Python."; + homepage = http://jatreuman.indefero.net/p/python-mpd/; + license = licenses.gpl3; + }; + }; + mrbob = buildPythonPackage rec { name = "mrbob-${version}"; version = "0.1.1"; @@ -4547,11 +4789,11 @@ rec { munkres = buildPythonPackage rec { - name = "munkres-1.0.5.4"; + name = "munkres-1.0.6"; src = fetchurl { url = "http://pypi.python.org/packages/source/m/munkres/${name}.tar.gz"; - md5 = "cb9d114fb523428bab4742e88bc83696"; + md5 = "d7ba3b8c5001578ae229a2d5a655872f"; }; # error: invalid command 'test' @@ -4574,6 +4816,11 @@ rec { md5 = "9e17a181af72d04a291c9a960bc73d44"; }; + preCheck = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; + meta = { homepage = http://alastair/python-musicbrainz-ngs; description = "Python bindings for musicbrainz NGS webservice"; @@ -4590,7 +4837,7 @@ rec { url = "http://pypi.python.org/packages/source/m/mutagen/${name}.tar.gz"; sha256 = "12f70aaf5ggdzll76bhhkn64b27xy9s1acx417dbsaqnnbis8s76"; }; - + # one unicode test fails doCheck = false; @@ -4604,6 +4851,7 @@ rec { muttils = buildPythonPackage (rec { name = "muttils-1.3"; + disabled = isPy3k; src = fetchurl { url = http://www.blacktrash.org/hg/muttils/archive/8bb26094df06.tar.bz2; @@ -4624,6 +4872,8 @@ rec { MySQL_python = buildPythonPackage { name = "MySQL-python-1.2.3"; + disabled = isPy3k; + # plenty of failing tests doCheck = false; @@ -4664,6 +4914,7 @@ rec { namebench = buildPythonPackage (rec { name = "namebench-1.0.5"; + disabled = isPy3k; src = fetchurl { url = "http://namebench.googlecode.com/files/${name}.tgz"; @@ -4732,12 +4983,12 @@ rec { }; netifaces = buildPythonPackage rec { - version = "0.8"; + version = "0.10.4"; name = "netifaces-${version}"; src = fetchurl { - url = "http://alastairs-place.net/projects/netifaces/${name}.tar.gz"; - sha256 = "1v5i39kx4yz1pwgjfbzi63w55l2z318zgmi9f77ybmmkil1i39sk"; + url = "http://pypi.python.org/packages/source/n/netifaces/${name}.tar.gz"; + sha256 = "1plw237a4zib4z8s62g0mrs8gm3kjfrp5sxh6bbk9nl3rdls2mln"; }; meta = { @@ -4749,6 +5000,7 @@ rec { netlib = buildPythonPackage rec { baseName = "netlib"; name = "${baseName}-${meta.version}"; + disabled = (!isPy27); src = fetchurl { url = "https://github.com/cortesi/netlib/archive/v${meta.version}.tar.gz"; @@ -4866,18 +5118,6 @@ rec { doCheck = false; }); - nose2Cov = if isPy26 then null else (buildPythonPackage rec { - name = "nose2-cov-1.0a4"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/n/nose2-cov/nose2-cov-1.0a4.tar.gz"; - md5 = "6442f03e2ea732b0e38eb5b00fbe0b31"; - }; - meta = { - description = "nose2 plugin for coverage reporting, including subprocesses and multiprocessing"; - }; - propagatedBuildInputs = [ covCore nose2 ]; - }); - nosejs = buildPythonPackage { name = "nosejs-0.9.4"; src = fetchurl { @@ -4889,6 +5129,7 @@ rec { nose-cprof = buildPythonPackage rec { name = "nose-cprof-0.1-0"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/n/nose-cprof/${name}.tar.gz"; @@ -5070,6 +5311,7 @@ rec { oauth2 = buildPythonPackage (rec { name = "oauth2-1.5.211"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/o/oauth2/oauth2-1.5.211.tar.gz"; @@ -5205,6 +5447,7 @@ rec { osc = buildPythonPackage (rec { name = "osc-0.133+git"; + disabled = isPy3k; src = fetchgit { url = git://gitorious.org/opensuse/osc.git; @@ -5212,7 +5455,7 @@ rec { sha256 = "a39ce0e321e40e9758bf7b9128d316c71b35b80eabc84f13df492083bb6f1cc6"; }; - buildPhase = "python setup.py build"; + buildPhase = "${python}/bin/${python.executable} setup.py build"; doCheck = false; postInstall = "ln -s $out/bin/osc-wrapper.py $out/bin/osc"; @@ -5244,16 +5487,19 @@ rec { }; paramiko = buildPythonPackage rec { - name = "paramiko-1.12.1"; + name = "paramiko-1.14.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/paramiko/${name}.tar.gz"; - md5 = "ae4544dc0a1419b141342af89fcf0dd9"; + md5 = "e26324fd398af68ad506fe98853835c3"; }; propagatedBuildInputs = [ pycrypto ecdsa ]; - checkPhase = "python test.py"; + # tests failures since 1.14.0 release.. + doCheck = false; + + checkPhase = "${python}/bin/${python.executable} test.py"; meta = { homepage = "https://github.com/paramiko/paramiko/"; @@ -5273,6 +5519,7 @@ rec { paste = buildPythonPackage rec { name = "paste-1.7.5.1"; + disabled = isPy3k; src = fetchurl { url = http://pypi.python.org/packages/source/P/Paste/Paste-1.7.5.1.tar.gz; @@ -5291,12 +5538,12 @@ rec { paste_deploy = buildPythonPackage rec { - version = "1.5.0"; + version = "1.5.2"; name = "paste-deploy-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-${version}.tar.gz"; - md5 = "f1a068a0b680493b6eaff3dd7690690f"; + md5 = "352b7205c78c8de4987578d19431af3b"; }; buildInputs = [ nose ]; @@ -5401,11 +5648,11 @@ rec { pg8000 = buildPythonPackage rec { - name = "pg8000-1.09"; + name = "pg8000-1.9.14"; src = fetchurl { - url = "http://pg8000.googlecode.com/files/${name}.zip"; - sha256 = "0kdc4rg47k1qkq22inghd50xlxjdkfcilym8mxff8wy4h091xykw"; + url = "http://pypi.python.org/packages/source/p/pg8000/${name}.tar.gz"; + sha256 = "1vandvfaf1m3a1fbc7nbm6syfqr9bazhzsnmai0jpjkbmb349izs"; }; propagatedBuildInputs = [ pytz ]; @@ -5432,6 +5679,7 @@ rec { pika = buildPythonPackage { name = "pika-0.9.12"; + disabled = isPy3k; src = fetchurl { url = https://pypi.python.org/packages/source/p/pika/pika-0.9.12.tar.gz; md5 = "7174fc7cc5570314fa3cfaa729106482"; @@ -5441,6 +5689,49 @@ rec { propagatedBuildInputs = [ unittest2 ]; }; + pil = buildPythonPackage rec { + name = "PIL-${version}"; + version = "1.1.7"; + + src = fetchurl { + url = "http://effbot.org/downloads/Imaging-${version}.tar.gz"; + sha256 = "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9"; + }; + + buildInputs = [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ]; + + disabled = isPy3k; + + doCheck = true; + + preConfigure = '' + sed -i "setup.py" \ + -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = libinclude("${pkgs.freetype}")|g ; + s|^JPEG_ROOT =.*$|JPEG_ROOT = libinclude("${pkgs.libjpeg}")|g ; + s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${pkgs.zlib}")|g ;' + ''; + + checkPhase = "${python}/bin/${python.executable} selftest.py"; + buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i"; + + postInstall = '' + cd "$out"/lib/python*/site-packages + ln -s $PWD PIL + ''; + + meta = { + homepage = http://www.pythonware.com/products/pil/; + description = "The Python Imaging Library (PIL)"; + longDescription = '' + The Python Imaging Library (PIL) adds image processing + capabilities to your Python interpreter. This library + supports many file formats, and provides powerful image + processing and graphics capabilities. + ''; + license = "http://www.pythonware.com/products/pil/license.htm"; + }; + }; + pillow = buildPythonPackage rec { name = "Pillow-2.3.0"; @@ -5496,11 +5787,11 @@ rec { polib = buildPythonPackage rec { name = "polib-${version}"; - version = "1.0.1"; + version = "1.0.4"; src = fetchurl { url = "http://bitbucket.org/izi/polib/downloads/${name}.tar.gz"; - sha256 = "1sr2bb3g7rl7gr6156j5qv71kg06q1x01r1lbps9ksnyz37djn2q"; + sha256 = "16klwlswfbgmkzrra80fgzhic9447pk3mnr75r2fkz72bkvpcclb"; }; # error: invalid command 'test' @@ -5563,6 +5854,11 @@ rec { sha1 = "ad346a18d92c1d95f2295397c7a8a4f489e48851"; }; + preCheck = '' + export LANG="en_US.UTF-8" + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + ''; + meta = { description = "Simple Python library for easily displaying tabular data in a visually appealing ASCII table format"; homepage = http://code.google.com/p/prettytable/; @@ -5573,9 +5869,10 @@ rec { protobuf = buildPythonPackage rec { inherit (pkgs.protobuf) name src; - propagatedBuildInputs = [ pkgs.protobuf setuptools ]; + propagatedBuildInputs = [ pkgs.protobuf google_apputils ]; sourceRoot = "${name}/python"; + meta = { description = "Protocol Buffers are Google's data interchange format."; homepage = http://code.google.com/p/protobuf/; @@ -5602,14 +5899,14 @@ rec { psycopg2 = buildPythonPackage rec { - name = "psycopg2-2.5.2"; + name = "psycopg2-2.5.3"; # error: invalid command 'test' doCheck = false; src = fetchurl { url = "https://pypi.python.org/packages/source/p/psycopg2/${name}.tar.gz"; - sha256 = "0bmxlmi9k995n6pz16awjaap0y02y1v2d31jbxhkqv510f3jsf2h"; + sha256 = "02h33barxigsczpympnwa0yvw9hgdv8d63bxm5x251ri26xz6b9s"; }; propagatedBuildInputs = [ pkgs.postgresql ]; @@ -5693,18 +5990,24 @@ rec { pygit2 = buildPythonPackage rec { - name = "pygit2-0.20.0"; + name = "pygit2-0.21.2"; src = fetchurl { url = "https://pypi.python.org/packages/source/p/pygit2/${name}.tar.gz"; - sha256 = "04132q7bn8k7q7ky7nj3bkza8r9xkzkdpfv462b6rgjsd1x6h340"; + sha256 = "0lya4v91d4y5fwrb55n8m8avgmz0l81jml2spvx6r7j1czcx3zic"; }; preConfigure = ( if stdenv.isDarwin then '' export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib" '' else "" ); - propagatedBuildInputs = [ pkgs.libgit2 ]; + propagatedBuildInputs = [ pkgs.libgit2 ] ++ optionals (!isPyPy) [ cffi ]; + + preCheck = '' + # disable tests that require networking + rm test/test_repository.py + rm test/test_credentials.py + ''; meta = { homepage = https://pypi.python.org/pypi/pygit2; @@ -5789,6 +6092,7 @@ rec { pycryptopp = buildPythonPackage (rec { name = "pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958"; + disabled = isPy3k || isPyPy; # see https://bitbucket.org/pypy/pypy/issue/1190/ src = fetchurl { url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz"; @@ -5815,20 +6119,21 @@ rec { pycurl = buildPythonPackage (rec { - name = "pycurl-7.19.0"; + name = "pycurl-7.19.5"; src = fetchurl { url = "http://pycurl.sourceforge.net/download/${name}.tar.gz"; - sha256 = "0hh6icdbp7svcq0p57zf520ifzhn7jw64x07k99j7h57qpy2sy7b"; + sha256 = "0hqsap82zklhi5fxhc69kxrwzb0g9566f7sdpz7f9gyxkmyam839"; }; - buildInputs = [ pkgs.curl ]; + propagatedBuildInputs = [ pkgs.curl pkgs.openssl ]; # error: invalid command 'test' doCheck = false; preConfigure = '' substituteInPlace setup.py --replace '--static-libs' '--libs' + export PYCURL_SSL_LIBRARY=openssl ''; meta = { @@ -5841,6 +6146,7 @@ rec { pycurl2 = buildPythonPackage (rec { name = "pycurl2-7.20.0"; + disabled = isPy3k; src = fetchgit { url = "https://github.com/Lispython/pycurl.git"; @@ -5863,6 +6169,7 @@ rec { pydot = buildPythonPackage rec { name = "pydot-1.0.2"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pydot/${name}.tar.gz"; @@ -5893,6 +6200,24 @@ rec { }; }; + pyfiglet = buildPythonPackage rec { + name = "pyfiglet-${version}"; + version = "0.7.1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/pyfiglet/${name}.tar.gz"; + sha256 = "14lgwg47gnnad7sfkmmwhknwysbfmr74c9b2a6d9wgjmydycc6ka"; + }; + + doCheck = false; + + meta = { + description = "FIGlet in pure Python"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + pyflakes = buildPythonPackage rec { name = "pyflakes-0.8.1"; @@ -5903,6 +6228,8 @@ rec { buildInputs = [ unittest2 ]; + doCheck = !isPyPy; + meta = { homepage = "https://launchpad.net/pyflakes"; description = "A simple program which checks Python source files for errors."; @@ -6121,6 +6448,7 @@ rec { pyro3 = buildPythonPackage (rec { name = "Pyro-3.16"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/P/Pyro/${name}.tar.gz"; @@ -6246,6 +6574,7 @@ rec { ldap = buildPythonPackage rec { name = "ldap-2.4.15"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/p/python-ldap/python-${name}.tar.gz"; @@ -6370,6 +6699,7 @@ rec { pyreport = buildPythonPackage (rec { name = "pyreport-0.3.4c"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pyreport/${name}.tar.gz"; @@ -6421,6 +6751,7 @@ rec { pysqlite = buildPythonPackage (rec { name = "pysqlite-2.6.3"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/p/pysqlite/${name}.tar.gz"; @@ -6645,11 +6976,11 @@ rec { reportlab = let freetype = overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; }); in buildPythonPackage rec { - name = "reportlab-2.5"; + name = "reportlab-3.1.8"; src = fetchurl { url = "http://pypi.python.org/packages/source/r/reportlab/${name}.tar.gz"; - md5 = "cdf8b87a6cf1501de1b0a8d341a217d3"; + md5 = "820a9fda647078503597b85cdba7ed7f"; }; buildInputs = [freetype]; @@ -6711,6 +7042,21 @@ rec { }; + quantities = buildPythonPackage rec { + name = "quantities-0.10.1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/q/quantities/quantities-0.10.1.tar.gz"; + md5 = "e924e21c0a5ddc9ebcdacbbe511b8ec7"; + }; + + meta = with pkgs.stdenv.lib; { + description = "Quantities is designed to handle arithmetic and"; + homepage = http://packages.python.org/quantities; + license = licenses.bsd2; + }; + }; + qutip = buildPythonPackage rec { name = "qutip-2.2.0"; @@ -6720,7 +7066,7 @@ rec { }; propagatedBuildInputs = [ numpy scipy matplotlib pkgs.pyqt4 - pkgs.cython ]; + cython ]; buildInputs = with pkgs; [ gcc qt4 blas ] ++ [ nose ]; @@ -6785,34 +7131,51 @@ rec { }; propagatedBuildInputs = - [ recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments - djblets django_1_3 django_evolution pycrypto modules.sqlite3 + [ django_1_3 recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments + djblets django_evolution pycrypto modules.sqlite3 pysvn pil psycopg2 ]; }; rdflib = buildPythonPackage (rec { - name = "rdflib-3.0.0"; + name = "rdflib-4.1.2"; src = fetchurl { - url = "http://www.rdflib.net/${name}.tar.gz"; - sha256 = "1c7ipk5vwqnln83rmai5jzyxkjdajdzbk5cgy1z83nyr5hbkgkqr"; + url = "https://pypi.python.org/packages/source/r/rdflib/${name}.tar.gz"; + sha256 = "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"; }; # error: invalid command 'test' doCheck = false; + propagatedBuildInputs = [ isodate ]; + meta = { description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information."; homepage = http://www.rdflib.net/; }; }); + isodate = buildPythonPackage rec { + name = "isodate-0.5.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/i/isodate/${name}.tar.gz"; + md5 = "9a267e9327feb3d021cae26002ba6e0e"; + }; + + meta = with stdenv.lib; { + description = "ISO 8601 date/time parser"; + homepage = http://cheeseshop.python.org/pypi/isodate; + }; + }; + robotframework = buildPythonPackage rec { version = "2.8.5"; name = "robotframework-${version}"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/r/robotframework/${name}.tar.gz"; @@ -6880,6 +7243,7 @@ rec { robotframework-ride = buildPythonPackage rec { version = "1.2.3"; name = "robotframework-ride-${version}"; + disabled = isPy3k; src = fetchurl { url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz"; @@ -6909,12 +7273,14 @@ rec { rope = buildPythonPackage rec { - version = "0.9.4"; + version = "0.10.2"; name = "rope-${version}"; + disabled = isPy3k; + src = fetchurl { url = "http://pypi.python.org/packages/source/r/rope/${name}.tar.gz"; - sha256 = "1fm6ahff50b10mlnc0ar4x1fv9sxmcp1g651myyqy7c50hk39h1d"; + sha256 = "0rdlvp8h74qs49wz1hx6qy8mgp2ddwlfs7z13h9139ynq04a3z7z"; }; meta = with stdenv.lib; { @@ -6994,7 +7360,7 @@ rec { # buildPhase = "python setup.py build"; # doCheck = false; - propagatedBuildInputs = [ pycurl koji GitPython pkgs.git + propagatedBuildInputs = [ pycurl pkgs.koji GitPython pkgs.git pkgs.rpm pkgs.pyopenssl ]; }); @@ -7222,11 +7588,11 @@ rec { }); sigal = buildPythonPackage rec { - name = "sigal-0.5.0"; + name = "sigal-0.7.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/s/sigal/${name}.tar.gz"; - md5 = "93c93725674c0702583a638f5a09c9e4"; + md5 = "d2386706ac8543378aebde1ea4edeba4"; }; propagatedBuildInputs = [ jinja2 markdown pillow pilkit clint argh pytest ]; @@ -7304,6 +7670,7 @@ rec { pydns = buildPythonPackage rec { name = "pydns-2.3.6"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/p/pydns/${name}.tar.gz"; @@ -7312,18 +7679,21 @@ rec { doCheck = false; - meta = with stdenv.lib; { - }; }; sympy = buildPythonPackage rec { - name = "sympy-0.7.3"; + name = "sympy-0.7.4"; src = fetchurl { url = "https://github.com/sympy/sympy/releases/download/${name}/${name}.tar.gz"; - sha256 = "081g9gs2d1d41ipn8zr034d98cnrxvc4zsmihqmfwzirwzpcii5x"; + sha256 = "0h1b9mx0snyyybj1x1ga69qssgjzkkgx2rw6nddjhyz1fknf8ywh"; }; + preCheck = '' + export LANG="en_US.UTF-8" + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + ''; + meta = with stdenv.lib; { description = "A Python library for symbolic mathematics"; homepage = http://www.sympy.org/; @@ -7428,6 +7798,28 @@ rec { }; }; + semantic = buildPythonPackage rec { + name = "semantic-1.0.3"; + + disabled = isPy3k; + + propagatedBuildInputs = [ quantities numpy ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/s/semantic/semantic-1.0.3.tar.gz"; + md5 = "78a150190e3e7d0f6f357b4c828e5f0d"; + }; + + # strange setuptools error (can not import semantic.test) + doCheck = false; + + meta = with pkgs.stdenv.lib; { + description = "Common Natural Language Processing Tasks for Python"; + homepage = https://github.com/crm416/semantic; + license = licenses.mit; + }; + }; + sexpdata = buildPythonPackage rec { name = "sexpdata-0.0.2"; src = fetchurl { @@ -7481,6 +7873,7 @@ rec { skype4py = buildPythonPackage (rec { name = "Skype4Py-1.0.32.0"; + disabled = isPy3k; src = fetchurl { url = mirror://sourceforge/skype4py/Skype4Py-1.0.32.0.tar.gz; @@ -7546,11 +7939,13 @@ rec { }; supervisor = buildPythonPackage rec { - name = "supervisor-3.0"; + name = "supervisor-3.1.1"; + + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/s/supervisor/${name}.tar.gz"; - md5 = "94ff3cf09618c36889425a8e002cd51a"; + md5 = "8c9714feaa63902f03871317e3ebf62e"; }; buildInputs = [ mock ]; @@ -7567,6 +7962,7 @@ rec { subprocess32 = buildPythonPackage rec { name = "subprocess32-3.2.6"; + disabled = isPy3k; src = fetchurl { url = "https://pypi.python.org/packages/source/s/subprocess32/${name}.tar.gz"; @@ -7642,6 +8038,7 @@ rec { sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { name = "SQLAlchemy-0.7.10"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp"; @@ -7651,23 +8048,28 @@ rec { # waiting for 0.7.11 release ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch ]; + preConfigure = optionalString isPy3k '' + python3 sa2to3.py --no-diffs -w lib test examples + ''; }); - sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { - name = "SQLAlchemy-0.8.5"; + name = "SQLAlchemy-0.8.7"; src = fetchurl { url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; - md5 = "ecf0738eaf1229bae27ad2be0f9978a8"; + md5 = "4f3377306309e46739696721b1785335"; }; + preConfigure = optionalString isPy3k '' + python3 sa2to3.py --no-diffs -w lib test examples + ''; }); sqlalchemy9 = buildPythonPackage rec { - name = "SQLAlchemy-0.9.3"; + name = "SQLAlchemy-0.9.4"; src = fetchurl { url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; - md5 = "a27989b9d4b3f14ea0b1600aa45559c4"; + md5 = "c008ea5e2565ec1418ee8461393a99b1"; }; buildInputs = [ nose mock ]; @@ -7741,9 +8143,10 @@ rec { }; - statd = buildPythonPackage rec { + python_statsd = buildPythonPackage rec { name = "python-statsd-${version}"; version = "1.6.0"; + disabled = isPy3k; # next release will be py3k compatible src = fetchurl { url = "https://pypi.python.org/packages/source/p/python-statsd/${name}.tar.gz"; @@ -7762,6 +8165,7 @@ rec { stompclient = buildPythonPackage (rec { name = "stompclient-0.3.2"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/s/stompclient/${name}.tar.gz"; @@ -7803,6 +8207,11 @@ rec { name = "sure-${version}"; version = "1.2.7"; + preBuild = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; + # Not picking up from PyPI because it doesn't contain tests. src = fetchgit { url = "git://github.com/gabrielfalcao/sure.git"; @@ -7810,6 +8219,8 @@ rec { sha256 = "02vffcdgr6vbj80lhl925w7zqy6cqnfvs088i0rbkjs5lxc511b3"; }; + + buildInputs = [ nose ]; propagatedBuildInputs = [ six mock ]; @@ -7860,6 +8271,7 @@ rec { tarsnapper = buildPythonPackage rec { name = "tarsnapper-0.2.1"; + disabled = isPy3k; src = fetchgit { url = https://github.com/miracle2k/tarsnapper.git; @@ -7879,6 +8291,7 @@ rec { taskcoach = buildPythonPackage rec { name = "TaskCoach-1.3.22"; + disabled = isPy3k; src = fetchurl { url = "mirror://sourceforge/taskcoach/${name}.tar.gz"; @@ -7906,14 +8319,16 @@ rec { }; tempita = buildPythonPackage rec { - version = "0.4"; + version = "0.5.2"; name = "tempita-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/T/Tempita/Tempita-${version}.tar.gz"; - md5 = "0abe015a72e748d0c6284679a497426c"; + md5 = "4c2f17bb9d481821c41b6fbee904cea1"; }; + disabled = isPy3k; + buildInputs = [ nose ]; meta = { @@ -8005,11 +8420,11 @@ rec { tox = buildPythonPackage rec { name = "tox-1.7.2"; - + propagatedBuildInputs = [ py virtualenv ]; doCheck = false; - + src = fetchurl { url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz"; md5 = "0d9b3acb1a9252659d753b0ae6b9b264"; @@ -8018,6 +8433,7 @@ rec { smmap = buildPythonPackage rec { name = "smmap-0.8.2"; + disabled = isPy3k; # next release will have py3k support meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; src = fetchurl { @@ -8028,6 +8444,7 @@ rec { trac = buildPythonPackage { name = "trac-1.0.1"; + disabled = isPy3k; src = fetchurl { url = http://ftp.edgewall.com/pub/trac/Trac-1.0.1.tar.gz; @@ -8051,11 +8468,11 @@ rec { transaction = buildPythonPackage rec { name = "transaction-${version}"; - version = "1.4.0"; + version = "1.4.3"; src = fetchurl { url = "http://pypi.python.org/packages/source/t/transaction/${name}.tar.gz"; - md5 = "b7c2ff135939f605a8c54e1c13cd5d66"; + md5 = "b4ca5983c9e3a0808ff5ff7648092c76"; }; propagatedBuildInputs = [ zope_interface ]; @@ -8131,6 +8548,7 @@ rec { tweepy = buildPythonPackage (rec { name = "tweepy-2.3.0"; + disabled = isPy3k; src = fetchurl { url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz"; @@ -8146,9 +8564,28 @@ rec { }; }); + twitter = buildPythonPackage rec { + name = "twitter-${version}"; + version = "1.14.3"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/t/twitter/${name}.tar.gz"; + sha256 = "1nhhjajbq0jik43q2makpnz094qcziq9p8rj35jxamybd0hwwzs9"; + }; + + doCheck = false; + + meta = { + description = "Twitter API library"; + license = licenses.mit; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + twisted = 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; name = "Twisted-11.1.0"; src = fetchurl { @@ -8180,6 +8617,25 @@ rec { }; }; + tzlocal = buildPythonPackage rec { + name = "tzlocal-1.1.1"; + + propagatedBuildInputs = with pythonPackages; [ pytz ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/t/tzlocal/tzlocal-1.1.1.zip"; + md5 = "56c2a04501b98f2a1188d003fd6d3dba"; + }; + + # test fail (timezone test fail) + doCheck = false; + + meta = with pkgs.stdenv.lib; { + description = "Tzinfo object for the local timezone."; + homepage = https://github.com/regebro/tzlocal; + license = licenses.cddl; + }; + }; unittest2 = buildPythonPackage rec { version = "0.5.1"; @@ -8208,6 +8664,7 @@ rec { urlgrabber = buildPythonPackage rec { name = "urlgrabber-3.9.1"; + disabled = isPy3k; src = fetchurl { url = "http://urlgrabber.baseurl.org/download/${name}.tar.gz"; @@ -8248,6 +8705,27 @@ rec { }; }); + pyuv = buildPythonPackage rec { + name = "pyuv-0.11.5"; + disabled = isPyPy; # see https://github.com/saghul/pyuv/issues/49 + + src = fetchurl { + url = "https://github.com/saghul/pyuv/archive/${name}.tar.gz"; + sha256 = "c251952cb4e54c92ab0e871decd13cf73d11ca5dba9f92962de51d12e3a310a9"; + }; + + patches = [ ../development/python-modules/pyuv-external-libuv.patch ]; + + buildInputs = [ pkgs.libuvVersions.v0_11_29 ]; + + meta = { + description = "Python interface for libuv"; + homepage = https://github.com/saghul/pyuv; + repositories.git = git://github.com/saghul/pyuv.git; + license = licenses.mit; + }; + }; + virtualenv = buildPythonPackage rec { name = "virtualenv-1.11.6"; src = fetchurl { @@ -8438,14 +8916,18 @@ rec { webtest = buildPythonPackage rec { - version = "2.0.11"; + version = "2.0.15"; name = "webtest-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip"; - md5 = "e51da21da8815cef07f543d8688effea"; + md5 = "49314bdba23f4d0bd807facb2a6d3f90"; }; + preConfigure = '' + substituteInPlace setup.py --replace "nose<1.3.0" "nose" + ''; + # XXX: skipping two tests fails in python2.6 doCheck = ! isPy26; @@ -8647,15 +9129,18 @@ rec { zdaemon = buildPythonPackage rec { name = "zdaemon-${version}"; - version = "3.0.5"; + version = "4.0.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zdaemon/${name}.tar.gz"; - md5 = "975f770544bb4352c5cf32fec22e63c9"; + md5 = "4056e2ea35855695ed15389d9c168b92"; }; propagatedBuildInputs = [ zconfig ]; + # too many deps.. + doCheck = false; + meta = { description = "A daemon process control library and tools for Unix-based systems"; homepage = http://pypi.python.org/pypi/zdaemon; @@ -8694,17 +9179,16 @@ rec { }; }); - zodb3 = buildPythonPackage rec { name = "zodb3-${version}"; - version = "3.10.5"; + version = "3.11.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/Z/ZODB3/ZODB3-${version}.tar.gz"; - md5 = "6f180c6897a1820948fee2a6290503cd"; + md5 = "21975c1609296e7834e8cf4025af3039"; }; - propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zope_interface zope_event ]; + propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zope_interface zope_event BTrees persistent ZEO ]; meta = { description = "An object-oriented database for Python"; @@ -8714,6 +9198,83 @@ rec { }; }; + zodb = buildPythonPackage rec { + name = "zodb-${version}"; + version = "4.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/Z/ZODB/ZODB-${version}.tar.gz"; + md5 = "092d787524b095164231742c96b32f50"; + }; + + propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zope_interface persistent BTrees ] + ++ optionals isPy3k [ zodbpickle ]; + + preCheck = if isPy3k then '' + # test failure on py3.4 + rm src/ZODB/tests/testDB.py + '' else ""; + + meta = { + description = "An object-oriented database for Python"; + homepage = http://pypi.python.org/pypi/ZODB; + license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + zodbpickle = pythonPackages.buildPythonPackage rec { + name = "zodbpickle-0.5.2"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/zodbpickle/${name}.tar.gz"; + md5 = "d401bd89f99ec8d56c22493e6f8c0443"; + }; + + # fails.. + doCheck = false; + + meta = with stdenv.lib; { + homepage = http://pypi.python.org/pypi/zodbpickle; + }; + }; + + + BTrees = pythonPackages.buildPythonPackage rec { + name = "BTrees-4.0.8"; + + patches = [ ./../development/python-modules/btrees_interger_overflow.patch ]; + + propagatedBuildInputs = [ persistent zope_interface transaction ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/B/BTrees/${name}.tar.gz"; + md5 = "7f5df4cf8dd50fb0c584c0929a406c92"; + }; + + meta = with stdenv.lib; { + description = "scalable persistent components"; + homepage = http://packages.python.org/BTrees; + }; + }; + + + persistent = pythonPackages.buildPythonPackage rec { + name = "persistent-4.0.8"; + + propagatedBuildInputs = [ zope_interface ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/persistent/${name}.tar.gz"; + md5 = "2942f1ca7764b1bef8d48fa0d9a236b7"; + }; + + meta = with stdenv.lib; { + description = "automatic persistence for Python objects"; + homepage = http://www.zope.org/Products/ZODB; + }; + }; + zope_broken = buildPythonPackage rec { name = "zope.broken-3.6.0"; @@ -8732,11 +9293,11 @@ rec { zope_browser = buildPythonPackage rec { - name = "zope.browser-1.3"; + name = "zope.browser-2.0.2"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.browser/${name}.zip"; - md5 = "4ff0ddbf64c45bfcc3189e35f4214ded"; + sha256 = "0f9r5rn9lzgi4hvkhgb6vgw8kpz9sv16jsfb9ws4am8gbqcgv2iy"; }; propagatedBuildInputs = [ zope_interface ]; @@ -8746,13 +9307,31 @@ rec { }; }; + zope_browserresource = buildPythonPackage rec { + name = "zope.browserresource-4.0.1"; + + propagatedBuildInputs = [ + zope_component zope_configuration zope_contenttype zope_i18n + zope_interface zope_location zope_publisher zope_schema zope_traversing + ]; + + # all tests fail + doCheck = false; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/zope.browserresource/zope.browserresource-4.0.1.zip"; + md5 = "81bbe92c1f04725561470f89d73222c5"; + }; + }; + + zope_component = buildPythonPackage rec { - name = "zope.component-4.0.2"; + name = "zope.component-4.2.1"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.0.2.tar.gz"; - md5 = "8c2fd4414ca23cbbe014dcaf911acebc"; + url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.2.1.tar.gz"; + sha256 = "1gzbr0j6c2h0cqnpi2cjss38wrz1bcwx8xahl3vykgz5laid15l6"; }; propagatedBuildInputs = [ @@ -8770,11 +9349,11 @@ rec { zope_configuration = buildPythonPackage rec { - name = "zope.configuration-4.0.2"; + name = "zope.configuration-4.0.3"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.2.tar.gz"; - md5 = "40b3c7ad0b748ede532d8cfe2544e44e"; + url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.3.tar.gz"; + sha256 = "1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n"; }; propagatedBuildInputs = [ zope_i18nmessageid zope_schema ]; @@ -8786,13 +9365,16 @@ rec { zope_container = buildPythonPackage rec { - name = "zope.container-3.11.2"; + name = "zope.container-4.0.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.container/${name}.tar.gz"; - md5 = "fc66d85a17b8ffb701091c9328983dcc"; + md5 = "b24d2303ece65a2d9ce23a5bd074c335"; }; + # a test is failing + doCheck = false; + propagatedBuildInputs = [ zodb3 zope_broken zope_dottedname zope_publisher zope_filerepresentation zope_lifecycleevent zope_size @@ -8806,11 +9388,11 @@ rec { zope_contenttype = buildPythonPackage rec { - name = "zope.contenttype-3.5.5"; + name = "zope.contenttype-4.0.1"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.zip"; - md5 = "c6ac80e6887de4108a383f349fbdf332"; + url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.tar.gz"; + md5 = "171be44753e86742da8c81b3ad008ce0"; }; meta = { @@ -8834,11 +9416,11 @@ rec { zope_event = buildPythonPackage rec { name = "zope.event-${version}"; - version = "4.0.2"; + version = "4.0.3"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.event/${name}.tar.gz"; - md5 = "e08dd299d428d77a1cfcbfe841b81872"; + sha256 = "1w858k9kmgzfj36h65kp27m9slrmykvi5cjq6c119xqnaz5gdzgm"; }; meta = { @@ -8887,11 +9469,11 @@ rec { zope_i18n = buildPythonPackage rec { - name = "zope.i18n-3.7.4"; + name = "zope.i18n-3.8.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.i18n/${name}.tar.gz"; - md5 = "a6fe9d9ad53dd7e94e87cd58fb67d3b7"; + sha256 = "045nnimmshibcq71yym2d8yrs6wzzhxq5gl7wxjnkpyjm5y0hfkm"; }; propagatedBuildInputs = [ pytz zope_component ]; @@ -8903,11 +9485,11 @@ rec { zope_i18nmessageid = buildPythonPackage rec { - name = "zope.i18nmessageid-4.0.2"; + name = "zope.i18nmessageid-4.0.3"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.2.tar.gz"; - md5 = "c4550f7a0b4a736186e6e0fa3b2471f7"; + url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.3.tar.gz"; + sha256 = "1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml"; }; meta = { @@ -8917,11 +9499,11 @@ rec { zope_lifecycleevent = buildPythonPackage rec { - name = "zope.lifecycleevent-3.6.2"; + name = "zope.lifecycleevent-3.7.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.lifecycleevent/${name}.tar.gz"; - md5 = "3ba978f3ba7c0805c81c2c79ea3edb33"; + sha256 = "0s5brphqzzz89cykg61gy7zcmz0ryq1jj2va7gh2n1b3cccllp95"; }; propagatedBuildInputs = [ zope_event zope_component ]; @@ -8933,11 +9515,11 @@ rec { zope_location = buildPythonPackage rec { - name = "zope.location-4.0.0"; + name = "zope.location-4.0.3"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.0.tar.gz"; - md5 = "cd0e10d5923c95e352bcde505cc11324"; + url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.3.tar.gz"; + sha256 = "1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74"; }; propagatedBuildInputs = [ zope_proxy ]; @@ -8956,11 +9538,11 @@ rec { zope_proxy = buildPythonPackage rec { - name = "zope.proxy-4.1.1"; + name = "zope.proxy-4.1.4"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.proxy/zope.proxy-4.1.1.tar.gz"; - md5 = "c36691f0abee7573f4ddcc378603cefd"; + url = "http://pypi.python.org/packages/source/z/zope.proxy/${name}.tar.gz"; + md5 = "3bcaf8b8512a99649ecf2f158c11d05b"; }; propagatedBuildInputs = [ zope_interface ]; @@ -8990,11 +9572,11 @@ rec { zope_schema = buildPythonPackage rec { - name = "zope.schema-4.2.2"; + name = "zope.schema-4.4.1"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.2.2.tar.gz"; - md5 = "e7e581af8193551831560a736a53cf58"; + url = "http://pypi.python.org/packages/source/z/zope.schema/${name}.tar.gz"; + sha256 = "0wpwfggd736ai8bbrwbsnqf522sh5j57d1zxq8m8p6i5nwml0q02"; }; propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict; @@ -9006,30 +9588,30 @@ rec { zope_security = buildPythonPackage rec { - name = "zope.security-3.7.4"; + name = "zope.security-4.0.1"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.security/zope.security-3.7.4.tar.gz"; - md5 = "072ab8d11adc083eace11262da08630c"; + url = "http://pypi.python.org/packages/source/z/zope.security/${name}.tar.gz"; + md5 = "27d1f2873a0ee9c1f485f7b8f22d8e1c"; }; propagatedBuildInputs = [ zope_component zope_configuration zope_i18nmessageid zope_schema - zope_proxy + zope_proxy zope_testrunner ]; meta = { - maintainers = [ stdenv.lib.maintainers.goibhniu ]; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; zope_size = buildPythonPackage rec { - name = "zope.size-3.4.1"; + name = "zope.size-3.5.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.size/${name}.tar.gz"; - md5 = "55d9084dfd9dcbdb5ad2191ceb5ed03d"; + sha256 = "006xfkhvmypwd3ww9gbba4zly7n9w30bpp1h74d53la7l7fiqk2f"; }; propagatedBuildInputs = [ zope_i18nmessageid zope_interface ]; @@ -9048,8 +9630,8 @@ rec { md5 = "8b317b41244fc2e67f2f286890ba59a0"; }; - buildInputs = [ sqlalchemy zope_testing zope_interface setuptools ]; - propagatedBuildInputs = [ sqlalchemy transaction ]; + buildInputs = [ zope_testing zope_interface ]; + propagatedBuildInputs = [ sqlalchemy9 transaction ]; meta = { maintainers = [ @@ -9063,13 +9645,15 @@ rec { zope_testing = buildPythonPackage rec { name = "zope.testing-${version}"; - version = "4.1.2"; + version = "4.1.3"; src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.zip"; - md5 = "01c30c342c6a18002a762bd5d320a6e9"; + url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz"; + md5 = "6c73c5b668a67fdc116a25b884058ed9"; }; + doCheck = !(python.isPypy or false); + propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ]; meta = { @@ -9083,11 +9667,11 @@ rec { zope_testrunner = buildPythonPackage rec { name = "zope.testrunner-${version}"; - version = "4.4.1"; + version = "4.4.3"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.testrunner/${name}.zip"; - md5 = "1d689abad000419891494b30dd7d8190"; + sha256 = "1dwk35kg0bmj2lzp4fd2bgp6dv64q5sda09bf0y8j63y53vqbsw8"; }; propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit; @@ -9105,14 +9689,17 @@ rec { zope_traversing = buildPythonPackage rec { - name = "zope.traversing-3.13.2"; + name = "zope.traversing-4.0.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.traversing/${name}.zip"; - md5 = "eaad8fc7bbef126f9f8616b074ec00aa"; + md5 = "5cc40c552f953939f7c597ebbedd586f"; }; - propagatedBuildInputs = [ zope_location zope_security zope_publisher ]; + propagatedBuildInputs = [ zope_location zope_security zope_publisher transaction zope_tales ]; + + # circular dependency on zope_browserresource + doCheck = false; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9121,11 +9708,11 @@ rec { zope_interface = buildPythonPackage rec { - name = "zope.interface-4.0.3"; + name = "zope.interface-4.1.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/z/zope.interface/${name}.tar.gz"; - md5 = "1ddd308f2c83703accd1696158c300eb"; + md5 = "edcd5f719c5eb2e18894c4d06e29b6c6"; }; propagatedBuildInputs = [ zope_event ]; @@ -9160,6 +9747,7 @@ rec { cliapp = buildPythonPackage rec { name = "cliapp-${version}"; version = "1.20140719"; + disabled = isPy3k; src = fetchurl rec { url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz"; @@ -9215,6 +9803,8 @@ rec { version = "0.1.3"; name = "tarman-${version}"; + disabled = isPy3k; + src = fetchurl { url = "https://pypi.python.org/packages/source/t/tarman/tarman-${version}.zip"; sha256 = "0ri6gj883k042xaxa2d5ymmhbw2bfcxdzhh4bz7700ibxwxxj62h"; @@ -9231,6 +9821,7 @@ rec { libarchive = buildPythonPackage rec { version = "3.1.2-1"; name = "libarchive-${version}"; + disabled = isPy3k; src = fetchurl { url = "http://python-libarchive.googlecode.com/files/python-libarchive-${version}.tar.gz"; @@ -9315,6 +9906,7 @@ rec { ttystatus = buildPythonPackage rec { name = "ttystatus-${version}"; version = "0.23"; + disabled = isPy3k; src = fetchurl rec { url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_${version}.orig.tar.gz"; @@ -9500,6 +10092,7 @@ rec { versiontools = buildPythonPackage rec { name = "versiontools-1.9.1"; + doCheck = (!isPy3k); src = fetchurl { url = "https://pypi.python.org/packages/source/v/versiontools/${name}.tar.gz"; @@ -9648,15 +10241,19 @@ rec { IMAPClient = buildPythonPackage rec { name = "IMAPClient-${version}"; - version = "0.9.2"; + version = "0.11"; + disabled = isPy34; src = fetchurl { url = "http://freshfoo.com/projects/IMAPClient/${name}.tar.gz"; - sha256 = "10alpj7074djs048xjc4j7ggd1nrqdqpy0fzl7fj9hddp0rbchs9"; + sha256 = "1w54h8gz25qf6ggazzp6xf7kvsyiadsjfkkk17gm0p6pmzvvccbn"; }; + buildInputs = [ mock ]; + preConfigure = '' sed -i '/distribute_setup/d' setup.py + substituteInPlace setup.py --replace "mock==0.8.0" "mock" ''; meta = { @@ -9685,11 +10282,11 @@ rec { libvirt = pkgs.stdenv.mkDerivation rec { name = "libvirt-python-${version}"; - version = "1.2.5"; + version = "1.2.7"; src = fetchurl { url = "http://libvirt.org/sources/python/${name}.tar.gz"; - sha256 = "0r0v48nkkxfagckizbcf67xkmyd1bnq36d30b58zmhvl0abryz7p"; + sha256 = "0wg0pnvrwfjdl8haxr2dyfhdasddq97zy6l27xwrvd1hnh1394f1"; }; buildInputs = [ python pkgs.pkgconfig pkgs.libvirt lxml ]; diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index c447587e36e8f96071ffb6587a5dca2bb663f91c..cfb14429a764f7730d7b0ffc4cc3d3fa335ad31a 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -74,7 +74,6 @@ with import ./release-lib.nix { inherit supportedSystems; }; hello = all; host = linux; iana_etc = linux; - icecat3Xul = linux; icewm = linux; idutils = all; ifplugd = linux; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index ff66756aa8b45be1e878a87933aec0d04ca55473..07c3126e5abe2753436f0c6e9b1320c8280df8a4 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -22,11 +22,14 @@ let jobs = { tarball = import ./make-tarball.nix { inherit nixpkgs officialRelease; }; + manual = import ../../doc; + unstable = pkgs.releaseTools.aggregate { name = "nixpkgs-${jobs.tarball.version}"; meta.description = "Release-critical builds for the Nixpkgs unstable channel"; constituents = [ jobs.tarball + jobs.manual jobs.stdenv.x86_64-linux jobs.stdenv.i686-linux jobs.stdenv.x86_64-darwin @@ -157,7 +160,6 @@ let htmlTidy = all; hugin = linux; iana_etc = linux; - icecat3Xul = linux; icewm = linux; idutils = all; ifplugd = linux; @@ -438,6 +440,14 @@ let xfwm4 = linux; }; + linuxPackages_testing = { }; + linuxPackages_grsec_stable_desktop = { }; + linuxPackages_grsec_stable_server = { }; + linuxPackages_grsec_stable_server_xen = { }; + linuxPackages_grsec_testing_desktop = { }; + linuxPackages_grsec_testing_server = { }; + linuxPackages_grsec_testing_server_xen = { }; + } )); in jobs