diff --git a/doc/Makefile b/doc/Makefile
deleted file mode 100644
index 39988cdd414..00000000000
--- 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 00000000000..1e8974d6026
--- /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 145e3e12dd9..01373b4f5b1 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 eb644b3b0ee..e91f94d15c2 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 02618f1c6ca..bdcf8a7b8a7 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 8c975b486f1..9ff9f7ea27a 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -30,12 +30,15 @@
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 ";
@@ -43,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 ";
@@ -60,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 bcaadc7fd97..9fe26083cfd 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 a80e4397d6a..4ed16d65d2b 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 efdc265465f..31b0f56e09b 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 da37cfb8c28..00000000000
--- 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 0cebacdb0cc..00000000000
--- 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 2ea1e547921..00000000000
--- 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 e727007117b..00000000000
--- 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 374d3ba3bc7..00000000000
--- 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 00000000000..be6ff3aac0f
--- /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 00000000000..41dc65795b6
--- /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 00000000000..adea3e69840
--- /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 00000000000..4cd2c8ae556
--- /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 00000000000..86c684cdfe5
--- /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 00000000000..177ebdd8db1
--- /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 00000000000..6131d4e04ea
--- /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 00000000000..1d5df7770e2
--- /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 00000000000..15c1f902da7
--- /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 00000000000..5ba1bfd5ac9
--- /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 00000000000..d1db7b141cf
--- /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 00000000000..23a3ece7c07
--- /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 00000000000..9091511ed52
--- /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 00000000000..c0940a42f30
--- /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 00000000000..0160cb45358
--- /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 00000000000..351fb188331
--- /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 00000000000..05e2c1a9b29
--- /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 64372f3bbf1..00000000000
--- a/nixos/doc/manual/configuration.xml
+++ /dev/null
@@ -1,1563 +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.
-
-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.
-
-
-
-
-
-
-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 00000000000..cbd54bca62f
--- /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 00000000000..26a572ba1fb
--- /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 00000000000..e237e20c4ff
--- /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 00000000000..c1789fcbc04
--- /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 00000000000..2a58ff25941
--- /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 00000000000..87847f8451e
--- /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 00000000000..8fde0dc7e61
--- /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 00000000000..6ee7a95dc6f
--- /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 00000000000..6de38b452e2
--- /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 00000000000..d1b324af3f1
--- /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 00000000000..87406c28c2f
--- /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 00000000000..053501b1736
--- /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 00000000000..592bf20e545
--- /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 00000000000..8fe2f5255df
--- /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 00000000000..45475dbcd44
--- /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 00000000000..d95091bd162
--- /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 00000000000..e65060021b4
--- /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 00000000000..5f08bc1f127
--- /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 00000000000..73c1722da02
--- /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 00000000000..7c928baaf89
--- /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 00000000000..9bb5e35e16b
--- /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 00000000000..40dc687d03b
--- /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 00000000000..373a9168cc8
--- /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 00000000000..bc58bb1f066
--- /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 2530d519521..00000000000
--- 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 55533a05b06..47e01437ccc 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 2f0c2a7aa8d..00000000000
--- 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 00000000000..21c5bfe6a5b
--- /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 00000000000..cb8dee039c8
--- /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 00000000000..747159c4427
--- /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 00000000000..a98da993330
--- /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 00000000000..6d93dc5c009
--- /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 00000000000..4e267ecfd1e
--- /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 00000000000..d9be761eb01
--- /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 00000000000..992a07af981
--- /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 00000000000..87e40e32617
--- /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 00000000000..9cf29e5dc57
--- /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 00000000000..bbb655eed2a
--- /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 4cbfcc229fa..00000000000
--- 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 /dev/sda
-
-$ 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 00000000000..aa31742434e
--- /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 00000000000..ee61bedc418
--- /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 00000000000..dbd5606c4a5
--- /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 00000000000..97e3d2eaa1c
--- /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 00000000000..b140c56fbee
--- /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 /dev/sda
+
+$ 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 00000000000..ceeeb5c0ac0
--- /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 00000000000..ed71a7e23a3
--- /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 f51a04cdf25..a3ad76209ac 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 00000000000..fb82d5adcef
--- /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 00000000000..234fb5a643f
--- /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 52e88bb4c86..74af1ed1274 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 00000000000..09da15ce236
--- /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 e1a358df2aa..00000000000
--- 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 e2204c159e2..3118b37ead1 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 c7d65112b64..00000000000
--- 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 498c0a37783..50b3b424166 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 8fed9a34882..3bd891fdbc2 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 096d96ac1c8..2eb668115a6 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 8bf36f33c7d..fc476fb6e40 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 49b1e1d42a3..f6060a910a1 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 00000000000..b565072e3a7
--- /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 fd1e55f673a..136a5bda745 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 17f3ed00b9b..32a7987617a 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 96593885e5b..1b84bbaf10c 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 00000000000..c5986560416
--- /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 cc079cdc585..2559c53ac16 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 6b4c38172e9..f3e86bfd201 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 7783f13b14b..a55593c2bad 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 00000000000..68d755232eb
--- /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 d43fa220381..623cfdedd26 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 eaecbe1381f..c24fe97fba4 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 a55eda1cb8f..86952486ade 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 d68f38bae2f..773b5ac9da3 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 515105d886a..efd8b253cd4 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -144,6 +144,12 @@
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!
@@ -261,6 +267,9 @@
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 00000000000..22622706f2c
--- /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 feb590ad249..76d1ed8a9d4 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
@@ -164,12 +170,16 @@
./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
@@ -183,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
@@ -220,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
@@ -255,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
@@ -352,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/programs/environment.nix b/nixos/modules/programs/environment.nix
index 80c3e83fe81..4a510805b01 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 00000000000..398fd104363
--- /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 658b08b3d87..5c2ea07c554 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 00000000000..237da3415dc
--- /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 e2dd76219eb..fec1a7b61f3 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 b1b75a0068d..844a9da0eb4 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 373afffd3fb..22dbdf6a6bf 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 5b865cf4c1b..a7a7e8ae688 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 48ad7582b7e..091b5cfd4d5 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/postgresql.xml b/nixos/modules/services/databases/postgresql.xml
new file mode 100644
index 00000000000..e98b431bd60
--- /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 26b2c884b8f..d7f6c188feb 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/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix
index 8b892a33bb7..0b3f0cabb00 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/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix
index 808c5dcbdc6..c0d7885280a 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/uhub.nix b/nixos/modules/services/misc/uhub.nix
new file mode 100644
index 00000000000..15071202b9c
--- /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 00000000000..47675b8876c
--- /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 00000000000..148dc046805
--- /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 00000000000..a1935c29a04
--- /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 250035fe447..803bd9e9a65 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 2217fec3b0f..57d56cd7287 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 00000000000..ab9f8650f0f
--- /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 9306ffd5a18..0519172db91 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.
+ # 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 [ ];
+ };
- cjdrouteConf = '' {
- "admin": {"bind": "${cfg.admin.bind}", "password": "\${CJDNS_ADMIN}" },
- "privateKey": "\${CJDNS_KEY}",
+ privateKey = "@CJDNS_PRIVATE_KEY@";
- "interfaces": {
- ''
+ resetAfterInactivitySeconds = 100;
- + 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)
- + '' } ]''
+ router = {
+ interface = { type = "TUNInterface"; };
+ ipTunnel = {
+ allowedConnections = [];
+ outgoingConnections = [];
+ };
+ };
- + (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" } ]
- }
- '';
+ security = [ { exemptAngel = 1; setuser = "nobody"; } ];
+
+ });
- cjdrouteConfFile = pkgs.writeText "cjdroute.conf" cjdrouteConf
- */
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";
+ 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.
+ '';
+ };
+ };
+
+ ETHInterface = {
+ bind = mkOption {
+ default = "";
+ example = "eth0";
description = ''
- File containing a password to the administration port.
+ Bind to this device for native ethernet operation.
'';
- };
- };
-
- 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"}
- '';
- };
-
- 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 866707c3a91..084ac69e8d5 100644
--- a/nixos/modules/services/networking/dhcpcd.nix
+++ b/nixos/modules/services/networking/dhcpcd.nix
@@ -6,10 +6,12 @@ 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, 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))
@@ -38,7 +40,10 @@ let
# (Xen) and virbr* and vnet* (libvirt).
denyinterfaces ${toString ignoredInterfaces} lo peth* vif* tap* tun* virbr* vnet* vboxnet* sit*
- ${config.networking.dhcpcd.extraConfig}
+ # Use the list of allowed interfaces if specified
+ ${optionalString (cfg.allowInterfaces != null) "allowinterfaces ${toString cfg.allowInterfaces}"}
+
+ ${cfg.extraConfig}
'';
# Hook for emitting ip-up/ip-down events.
@@ -59,7 +64,7 @@ let
# ${config.systemd.package}/bin/systemctl start ip-down.target
#fi
- ${config.networking.dhcpcd.runHook}
+ ${cfg.runHook}
'';
in
@@ -70,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 = [];
@@ -81,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 = "";
@@ -123,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 8e38b9d017a..d2a8af6ac8b 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";
+ environment.systemPackages = [ dnsmasq ]
+ ++ (if cfg.resolveLocalQueries then [ pkgs.openresolv ] else []);
- startOn = "ip-up";
+ services.dbus.packages = [ dnsmasq ];
- daemonType = "daemon";
-
- 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 a3d5b71740f..2c397f94d23 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 db8cb122871..cacd52f130f 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 = 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.
- '';
- };
-
- 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.
- '';
- };
-
- 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.
- '';
- };
-
- ipv4PrefixLength = mkOption {
- type = types.nullOr types.int;
- default = null;
- description = ''
- IPv4 prefix length. Addresses are grouped by netblock.
- '';
- };
-
- ipv6PrefixLength = mkOption {
- type = types.nullOr types.int;
- default = null;
- description = ''
- IPv6 prefix length. Addresses are grouped by netblock.
- '';
- };
-
- };
- });
- default = {
+ ratelimit = {
+ 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 = 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.
+ '';
+ };
+
+ 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.
+ '';
+ };
+
+ 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.
+ '';
+ };
+
+ ipv4PrefixLength = mkOption {
+ type = types.nullOr types.int;
+ default = null;
+ description = ''
+ IPv4 prefix length. Addresses are grouped by netblock.
+ '';
+ };
+
+ 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).
- '';
- };
-
- 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.
- '';
- };
-
- 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.
- '';
- };
-
- 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.
- '';
- };
-
- };
-
- });
- default = {
+ remoteControl = {
+ 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).
+ '';
+ };
+
+ 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.
+ '';
+ };
+
+ 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.
+ '';
+ };
+
+ 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 00000000000..bd8a7a04a2a
--- /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 950112b2dab..94beb78ef5a 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}";
+ cfg = config.services.privoxy;
- privoxyCfg = pkgs.writeText "privoxy.conf" ''
- listen-address ${config.services.privoxy.listenAddress}
- logdir ${config.services.privoxy.logDir}
- confdir ${privoxy}/etc
- filterfile default.filter
-
- ${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 = ''
- Location for privoxy log files.
+ 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 = ''
+ 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 08762c9c837..0199502163a 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" ];
- 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
- '';
+ after = [ "network.target" ];
- exec = "${pkgs.radvd}/sbin/radvd -m syslog -s -C ${confFile}";
+ path = [ pkgs.radvd ];
- daemonType = "fork";
+ preStart = ''
+ mkdir -m 755 -p /run/radvd
+ chown radvd /run/radvd
+ '';
+
+ 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 e4b29a0b909..379dec2e92c 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 4d53cd0750f..9b26b2b3244 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 057891a6047..a4d54301fc1 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 df21ebbd974..3958be33df2 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 b83cf276ed5..9ac28373dac 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -423,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 aa9aec87f0c..bb066aa6c47 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 c2f464014ae..2af249a8e96 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 06bcb6dbb8b..049c96c54e7 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 f74dd7e0444..669ddbd904f 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 3bf18bd58c8..6e61576f501 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 9ee4e0dc7cb..c7fbfa85e33 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/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 5f3e8003b45..21eaf6bb6b7 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/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index c3aa8518b8b..b4900358a5d 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 c923cc49c44..70ff1d588a3 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";
+ /* TODO: Add to the documentation of the current module:
- 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.
- '';
- };
+ 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";
- };
+ 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";
- };
+ 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 "/".
- '';
- };
+ 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 652eb046f50..eaf8cf1ecd6 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 1d387805443..426da778f43 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -199,9 +199,6 @@ let
{ object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf;
symlink = "/etc/mdadm.conf";
}
- { object = config.environment.etc."modprobe.d/nixos.conf".source;
- symlink = "/etc/modprobe.d/nixos.conf";
- }
{ object = pkgs.stdenv.mkDerivation {
name = "initrd-kmod-blacklist-ubuntu";
builder = pkgs.writeText "builder.sh" ''
diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix
index e8c3d8ab56d..c902b9e0790 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 7dabe70f00c..2adb4bcfaba 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -10,6 +10,26 @@ let
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 = {
@@ -20,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.
@@ -41,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.
@@ -224,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
@@ -438,6 +480,12 @@ 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"
@@ -534,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" ];
@@ -562,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"
+ ''
+ + flip concatMapStrings (ips) (ip:
+ let
+ address = "${ip.address}/${toString ip.prefixLength}";
+ in
+ ''
+ 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 (staticIPv6)
- ''
- # 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"
- fi
- ''
- + optionalString (i.ipAddress != null || staticIPv6)
+ '')
+ + optionalString (ips != [ ])
''
if [ restart_network_setup = true ]; then
# Ensure that the default gateway remains set.
@@ -608,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}";
diff --git a/nixos/modules/tasks/trackpoint.nix b/nixos/modules/tasks/trackpoint.nix
index d1c6f8ac156..5d1bb631b54 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 84e3aa28352..a7e8953827a 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 ca3de4089d2..4e5a7dee5bc 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 00000000000..13b861dc988
--- /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 d7d700d8841..318460f4c2c 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 bf6f16fc6c7..7403a42f0f1 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 00000000000..c1579d94657
--- /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 0620b46d46a..e2b93640f91 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -228,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 {};
diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix
index 002e012f65f..b12a861f723 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 d3bbe7a8bd5..6ee52fd63d8 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 5fdcc0e97ca..87ed974edad 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 409a831727b..49b02f46e9b 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 61b11c05de7..340a83e7963 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 31d5240529f..88931520c42 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 2ea37e2bd23..4f9c491a3a5 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 777c0ddb2e3..e593ddf41e6 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 10f15f5882c..72e546246d5 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 ebc17f67872..00000000000
--- 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 70ef5bdec5c..bf01fe1a935 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 dd0649811bb..ee47d607c2b 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 e5264f5c3d2..5c6a1d6ac54 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 0f33726eaee..ede31ac9beb 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 cd4343b1beb..ac945bee7f7 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 e58397350cb..939c9f79e4d 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 acdda1799d0..d273c238177 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 152ee442761..197a0aa1bbe 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 a9f4b02fa08..a91f25126c1 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 07753216d3c..235a81a6a32 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-fingerprinter";
+ 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 59b82d155da..47919a7d7f8 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 91142691055..67edc7f521d 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 a5aa7d5c8d9..3a89b406742 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 d3e9a4c4679..0c764fcf8f8 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 00000000000..35f9bd3ceb2
--- /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 28375dcb68d..4e9d1cfd77c 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 47e62a281fb..00123bfc8c7 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 7cb99ae80cc..caa9523af6f 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -7,7 +7,7 @@ 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;
@@ -58,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;
@@ -66,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 058a54c45a7..6901aed774b 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 ce863312251..a258b634105 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 00000000000..de423987c02
--- /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 59b6992a369..2678f0a0048 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 ae5e9a83452..9b9287a50f1 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 b170b784aaa..de906e3d844 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 aca4d822c82..bd155c59c6b 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 6b7c9a27694..ee9df683c0a 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 2207e8884f0..496078ffdb2 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/default.nix b/pkgs/applications/graphics/k3d/default.nix
index 35f3bed866d..6a66685e42b 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 {
@@ -13,11 +13,8 @@ stdenv.mkDerivation rec {
};
patches = [
- # debian package source
- ./disable_mutable_in_boost_gil.patch
./k3d_gtkmm224.patch
- # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-gfx/k3d/files/k3d-0.7.11.0-libpng14.patch
- ./k3d-0.7.11.0-libpng14.patch
+ ./libpng-1.4.patch
];
preConfigure = ''
@@ -29,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/disable_mutable_in_boost_gil.patch b/pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch
deleted file mode 100644
index 1774328c618..00000000000
--- a/pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/k3dsdk/gil/boost/gil/extension/dynamic_image/apply_operation_base.hpp
-+++ b/k3dsdk/gil/boost/gil/extension/dynamic_image/apply_operation_base.hpp
-@@ -114,7 +114,7 @@
- template
- struct reduce_bind1 {
- const T2& _t2;
-- mutable Op& _op;
-+ Op& _op;
-
- typedef typename Op::result_type result_type;
-
-@@ -127,7 +127,7 @@
- struct reduce_bind2 {
- const Bits1& _bits1;
- std::size_t _index1;
-- mutable Op& _op;
-+ Op& _op;
-
- typedef typename Op::result_type result_type;
-
diff --git a/pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch b/pkgs/applications/graphics/k3d/libpng-1.4.patch
similarity index 75%
rename from pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch
rename to pkgs/applications/graphics/k3d/libpng-1.4.patch
index b54168227b4..e67236617af 100644
--- a/pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch
+++ b/pkgs/applications/graphics/k3d/libpng-1.4.patch
@@ -1,54 +1,53 @@
-diff -ur k3d-source-0.7.11.0.orig/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp k3d-source-0.7.11.0/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp
---- k3d-source-0.7.11.0.orig/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2009-03-19 22:28:53.000000000 +0200
-+++ k3d-source-0.7.11.0/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2010-05-12 12:21:50.000000000 +0300
+--- 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());
+ // 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),
+ 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");
-
+ 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) {
+ 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))) {
+ 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 cc1fe8c3a22..53c564beec7 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 4c20a41061a..201b59ad5e1 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 00000000000..ecce0e260bb
--- /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 00000000000..8f6a5e2018e
--- /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 86891f2cb93..01b0a1414a7 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 034a147b787..ba7a916e3fe 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 783832abd00..dbfda4e5819 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 dd8e01298ff..478553d2c00 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 8387b3486d4..cacefc9bcc1 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/misc/arbtt/default.nix b/pkgs/applications/misc/arbtt/default.nix
index 0c3939b5c25..27f6c122374 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 0663937c479..1f86a4164f6 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 00000000000..796cedc1ee2
--- /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 e38d427be8d..2b68c58b12d 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 00000000000..ef4184ede73
--- /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 190b57e1070..00a5d15a84c 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,11 +5,11 @@
}:
stdenv.mkDerivation rec {
- name = "calibre-2.0.0";
+ name = "calibre-2.1.0";
src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.xz";
- sha256 = "1fpn8icfyag2ybj2ywd81sva56ycsin56gyap5m9j5crx63p4c91";
+ sha256 = "1znwrmz740m08bihkmdijm193bvav4nm313xsagd5x9mjh2nffg7";
};
inherit python;
diff --git a/pkgs/applications/misc/camlistore/default.nix b/pkgs/applications/misc/camlistore/default.nix
index 56131425ab4..9adac335c0c 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/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix
index b9c8acb0d07..ea9383a6e10 100644
--- a/pkgs/applications/misc/eaglemode/default.nix
+++ b/pkgs/applications/misc/eaglemode/default.nix
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, perl, libX11, libjpeg, libpng, libtiff, pkgconfig,
librsvg, glib, gtk, libXext, libXxf86vm, poppler }:
-stdenv.mkDerivation {
- name = "eaglemode-0.84.0";
+stdenv.mkDerivation rec {
+ name = "eaglemode-0.85.0";
src = fetchurl {
- url = mirror://sourceforge/eaglemode/eaglemode-0.84.0.tar.bz2;
- sha256 = "0n20b419j0l7h7jr4s3f3n09ka0ysg9nqs8mcwsrx24rcq7nv0cs";
+ url = "mirror://sourceforge/eaglemode/${name}.tar.bz2";
+ sha256 = "0mz4rg2k36wvcv55dg0a5znaczpl5h4gwkkb34syj89xk8jlbwsc";
};
buildInputs = [ perl libX11 libjpeg libpng libtiff pkgconfig
diff --git a/pkgs/applications/misc/evilvte/default.nix b/pkgs/applications/misc/evilvte/default.nix
new file mode 100644
index 00000000000..5921cc308b5
--- /dev/null
+++ b/pkgs/applications/misc/evilvte/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchgit, makeWrapper, pkgconfig,
+ gnome, glib, pango, cairo, gdk_pixbuf, atk, freetype, xlibs,
+ configH
+}:
+
+stdenv.mkDerivation rec {
+ name = "evilvte-${version}";
+ version = "0.5.2-20140827";
+
+ src = fetchgit {
+ url = https://github.com/caleb-/evilvte.git;
+ rev = "8dfa41e26bc640dd8d8c7317ff7d04e3c01ded8a";
+ sha256 = "70f1d4234d077121e2223a735d749d1b53f0b84393507b635b8a37c3716e94d3";
+ };
+
+ buildInputs = [
+ gnome.vte glib pango gnome.gtk cairo gdk_pixbuf atk freetype xlibs.libX11
+ xlibs.xproto xlibs.kbproto xlibs.libXext xlibs.xextproto makeWrapper pkgconfig
+ ];
+
+ buildPhase = ''
+ cat >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 d8dba39ccb5..658ff410d37 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";
- src = fetchurl {
- url = https://alioth.debian.org/frs/download.php/1498/pinfo-0.6.9.tar.bz2;
- sha256 = "1rbsz1y7nyz6ax9xfkw5wk6pnrhvwz2xcm0wnfnk4sb2wwq760q3";
- };
- buildInputs = [ncurses readline];
+ name = "pinfo-0.6.10";
- configureFlags = "--with-curses=${ncurses} --with-readline=${readline}";
+ src = fetchurl {
+ # 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 = [ 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 0cad2fbd2cd..f55af543f18 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/stardict/stardict.nix b/pkgs/applications/misc/stardict/stardict.nix
index 1ca8ec045d6..d4c41edde30 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 6b282116343..09eb186013f 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 aa1df2c9d1a..0a2c1c88c23 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 00000000000..50c4184c91e
--- /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 6508b12e1de..9afabe0372d 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/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix
index 7594014d769..6ead69db220 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 0bc2170340c..09edb086c9f 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 d09a899b897..e216b19fab5 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 b9011c0236f..46dadd280c9 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 d7ccc412fa4..91c6ada5138 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 00000000000..243e3fe7049
--- /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 4a610827913..27ba9420f43 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 969ced923b3..56ba95c661f 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 ad2ea75bd70..e23a6d94ec1 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 ef2c69422b6..00000000000
--- 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 d50784f13ee..00000000000
--- 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 d1fb4e3f30a..00000000000
--- 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 d39dfe3582e..55521a13f9c 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 8cda5ad5762..229aa4f23ba 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 5b6b2176d47..105e5904715 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 80b09bcd8a8..201a6b947c1 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 7c5b983f1b4..996bda67323 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 4329308ba04..fe93a072b2c 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 36571809a37..c80d55f9412 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 858e99c245b..65e46176fcb 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 ec614bf4b8c..cf10c1e6fe2 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 9cf2558ef32..909d6404193 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 07730a8c0ee..e46956f3cca 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 9ccada87fe2..41ffb421f8e 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 6da12905f56..cf4c2e22ad6 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/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
index cae0213c6be..362bf0de977 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 6e6fd6d0eb6..814a191c457 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 eb052af1369..d7dc755e9ab 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 b3e1ff74cfa..f7d1a010ed8 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 823df5c27a2..b49d5f40a86 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 2d5e6b66bf0..77aeb64478f 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 7a1eddfa869..75ccb93ca95 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/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 15acd5af8df..6add41edf7c 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 17254aa2fdd..1c06392f60b 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 c933460af43..fe13c756bd7 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 6c28840f7e5..052c5311253 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 9ba9e3aa3fc..7d2b7990d3f 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 8fb929d53e1..8304f6dc091 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 00000000000..fa722747e5f
--- /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 00000000000..56d0f6c5481
--- /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 226b7f6d097..64bf287b44f 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 9c255f493d3..8d6de404f98 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 007e093378d..0fbd2e39812 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 41cf1ebc33d..bf6728abe63 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 4e7dacfe0a9..6110a54feb5 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 00000000000..cca52be1a17
--- /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 696890f95f1..1be1328da27 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 96181c8ee6c..c9974660da3 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 2a95d0cd65b..62359baf2bc 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 8e6fde6bc24..ed922b3aedb 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 678ec6a4b04..da77a4c5a9a 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 00000000000..0f917fbf56d
--- /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 f601f97de62..0f393b419f1 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 caaf4a94a1e..94b1d590762 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 ef00b135c27..d4c62858753 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 c6c7e4d9c1a..f9680b47579 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/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix
index 1817c43ed7b..6e187843404 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 c4352c46f92..1439d327d6e 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 a93386149bd..785c2460bb4 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 096796a859d..3277d94d99b 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 576a28b054f..e59bb9fe666 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 7020de0bca8..0898b458593 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 db79839ba66..4c93eef2b1c 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 29a7caf769b..7656668f056 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 b9abf7b55b4..879690bc91e 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 1079a153ca1..806d2f546cf 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 d53b38c28c3..ff5c3456e22 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 62132271ec9..7224d8c6900 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 a4d16e46060..877c65afccf 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 13c55476774..afe0ac71ea4 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 a396765e918..135e7c7e1ef 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 e71d23132ac..823638669b6 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 06122619066..515e2591461 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 cb00ac81384..57c8ca574b4 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 16bd57bef34..7dd089537b7 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 ed64448c13a..e0ab4582cd8 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 4eec9afdbf3..db1ced49166 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/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix
index 3232267fa94..875ed48c102 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/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 4571e979c6c..f4d329221ff 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -3,11 +3,11 @@ 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 e2fsprogs];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
buildPhase = ''
patchShebangs ./hack
export AUTO_GOPATH=1
- export DOCKER_GITCOMMIT="d84a070"
+ export DOCKER_GITCOMMIT="fa7b24f"
./hack/make.sh dynbinary
'';
diff --git a/pkgs/applications/virtualization/nova/default.nix b/pkgs/applications/virtualization/nova/default.nix
index c1ef20b7aa0..0023cf44f33 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 9df6967704a..e451ff79a94 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 8e2da5c3b76..6441bb88423 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 682e7159ac8..f3e7bea3ca9 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/ratpoison/default.nix b/pkgs/applications/window-managers/ratpoison/default.nix
index 65264c20db3..0eb28464e59 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 2f46819323f..8143fca7025 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 29e0d29b52e..f9ed8ffa066 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 b3cd3488735..4f9dd2ac272 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -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 075dbc9c367..a8916176f8a 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 a2ee3ac6052..03b9eb9a03d 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 41f2a59246d..dd43068be27 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 28c28f69587..b66001073f2 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 e11eb722e0e..e60499b60f2 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 d4c0b4a6461..2eefa31691e 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 b8f7f7c6d3e..d8f6f7f8351 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 00000000000..bc24cd919b2
--- /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 00000000000..91608d17db4
--- /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 00000000000..56fa9f51a47
--- /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 993a4c4f46d..b324e52d021 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 3487a8012dc..fa9eb0ac42d 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 db4d13b890f..a40856e5910 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 1c3edb07ecf..953c90e8003 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 ed794715ff8..41ca17bd5e4 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-3/3.10/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix
index b58aa99721e..983e7f416a6 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 7ca35a8255f..401d5cf2f36 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 17c3b4fa0a8..82e2b585509 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 f9fbbbe56c6..8cba366faae 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 0909a4239db..c65a28c3446 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 d784544a183..c5f9bdb2774 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 7fb341948be..c6ac93b1074 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 47b958002a3..7e3af8405a4 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 666032f56a7..19d0c9c10e8 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 7377c839d1c..2a237b15c21 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 a8a1c244767..9076d5c5839 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 6f1bfbbcfe9..9c0e3f9a0bc 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 4564b0d21e1..8a89425a696 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 3589299df3e..1322fdcaae3 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 79155fe9b56..cf84f511416 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 41597e47fa5..011424820e8 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 1eb6c0e3ed2..768e8bdb36e 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 7ca35a8255f..401d5cf2f36 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 2eccb9a32cf..e424ab3635a 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 17c3b4fa0a8..94776c90cf9 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 3e74c143c61..484de02f05d 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 6705419add9..db160c652cf 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 913ae5cd90f..d0ae1394f89 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 8c71138ab78..b77c7e47667 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 16dfa580a19..8564175d363 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/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
new file mode 100644
index 00000000000..3eb9aef528c
--- /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 00000000000..43f256b58b0
--- /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 30081c9d805..00000000000
--- 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 8be36dec73e..4308c1ed211 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 88f0ab91067..57e670750db 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 6be976783bc..b34b5e8a446 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 00000000000..7c11fb4761e
--- /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 265b08c1fbd..3d9f2596c96 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 06decd16190..1dcdd89b5bf 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";
diff --git a/pkgs/development/compilers/hugs/default.nix b/pkgs/development/compilers/hugs/default.nix
index c3f14826c8a..14751799795 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 f0b07f9d0fa..0761f189bc8 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 070f29e16f6..e9bf6c8bb5b 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
index 4eb64aea534..3259fee55bf 100644
--- a/pkgs/development/compilers/julia/0.3.0.nix
+++ b/pkgs/development/compilers/julia/0.3.0.nix
@@ -3,6 +3,9 @@
, ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
, tcl, tk, xproto, libX11, git, mpfr, which
} :
+
+assert stdenv.isLinux;
+
let
realGcc = stdenv.gcc.gcc;
in
@@ -33,7 +36,7 @@ stdenv.mkDerivation rec {
openblas_src = fetchurl {
url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
name = "openblas-${openblas_ver}.tar.gz";
- sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
+ sha256 = "06i0q4qnd5q5xljzrgvda0gjsczc6l2pl9hw6dn2qjpw38al73za";
};
arpack_src = fetchurl rec {
url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/arpack-ng_${arpack_ver}.tar.gz";
@@ -42,7 +45,7 @@ stdenv.mkDerivation rec {
lapack_src = fetchurl {
url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
name = "lapack-${lapack_ver}.tgz";
- sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
+ sha256 = "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s";
};
lighttpd_src = fetchurl {
url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
@@ -73,7 +76,7 @@ stdenv.mkDerivation rec {
];
configurePhase = ''
- for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
+ for i in GMP LLVM PCRE READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
do
makeFlags="$makeFlags USE_SYSTEM_$i=1 "
done
@@ -82,12 +85,13 @@ stdenv.mkDerivation rec {
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}"; do
+ 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"''}
+ ''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"
@@ -105,6 +109,14 @@ stdenv.mkDerivation rec {
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 = ''
@@ -126,7 +138,9 @@ stdenv.mkDerivation rec {
done
'';
- enableParallelBuilding = false;
+ dontStrip = true;
+
+ enableParallelBuilding = true;
postInstall = ''
rm -f "$out"/lib/julia/sys.{so,dylib,dll}
@@ -138,6 +152,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.raskin ];
platforms = with stdenv.lib.platforms; linux;
- broken = true;
+ broken = false;
};
}
diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix
index 21af582c594..de9b44a4414 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/ocaml/3.10.0.nix b/pkgs/development/compilers/ocaml/3.10.0.nix
index 281aa1a9de6..1d68585d93a 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 64cf8a9f9f7..195e83e7313 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 f916f5a7923..16c3cb1d787 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 8662db70c26..5b1e69b86b0 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 0f68014fad6..2876bce9caf 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 9c5fa3764ba..8b86c805c61 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 ecb022d942a..5665fc5da6c 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 9177ad5e25b..621ace195bb 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 1c3b09b0985..a7246e44a73 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 ad33906ae6e..4f512096a42 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 d3892d43d15..535f2697fea 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 bd81e4c055d..e299be9144e 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 1e82e03f16c..bd71ab7b27f 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 6d074ac9f27..568551bb5ba 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 5945cdd8299..23243803e8d 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 2aba55d3679..83ea79d67f3 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 6e4051ff46e..2ddad5cde67 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 e112a5ae43d..e14132a8acf 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 1addccb4bf8..eac067da282 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/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix
index ed5feeacf61..c1d02064fe1 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 e5069fc2ae4..e39661b224a 100644
--- a/pkgs/development/interpreters/php/5.4.nix
+++ b/pkgs/development/interpreters/php/5.4.nix
@@ -253,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 d67f1c2a821..0b3ca739092 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 3477cedf4b7..312bf247de7 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 00000000000..506d9ea9b3d
--- /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 d8b3558be4f..992f7281554 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 00000000000..7b3c6905a1c
--- /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 01bbaa390f9..6ec0f4f73e5 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -19,7 +19,7 @@ g: # Get dependencies from patched gems
bitbucket_backup = g.bitbucket_backup_0_3_1;
builder = g.builder_3_2_2;
buildr = g.buildr_1_4_19;
- bundler = g.bundler_1_7_0;
+ bundler = g.bundler_1_7_1;
childprocess = g.childprocess_0_5_3;
chronic = g.chronic_0_10_2;
coderay = g.coderay_1_1_0;
@@ -102,7 +102,7 @@ g: # Get dependencies from patched gems
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_0;
+ 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_5;
@@ -113,6 +113,7 @@ g: # Get dependencies from patched gems
systemu = g.systemu_2_6_4;
taskjuggler = g.taskjuggler_3_5_0;
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;
@@ -134,7 +135,7 @@ g: # Get dependencies from patched gems
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'' ''riemann-dash'' ''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_10_1 = {
basename = ''ZenTest'';
@@ -361,19 +362,19 @@ for those one-off tasks, with a language that's a joy to use.
'';
};
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_0 g.orderedhash_0_0_6 ];
+ 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_7_0 = {
+ bundler_1_7_1 = {
basename = ''bundler'';
meta = {
description = ''The best way to manage your application's dependencies'';
homepage = ''http://bundler.io'';
longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
};
- name = ''bundler-1.7.0'';
+ name = ''bundler-1.7.1'';
requiredGems = [ ];
- sha256 = ''0vcbqmr1h98yfaixjbpdyzz1b90ms8gf86kd3c0q0ydwh9yr7b1j'';
+ sha256 = ''144yqbmi89gl933rh8dv58bm7ia14s4a098qdi2z0q09ank9n5h2'';
};
childprocess_0_5_3 = {
basename = ''childprocess'';
@@ -1378,7 +1379,7 @@ request helpers feature.'';
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.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_0 g.sprockets_rails_2_1_3 ];
+ 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_1_5 = {
@@ -1475,7 +1476,7 @@ Rake has the following features:
longDescription = ''HTTP dashboard for the distributed event system Riemann.'';
};
name = ''riemann-dash-0.2.9'';
- requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_0 g.webrick_1_3_1 g.multi_json_1_3_6 ];
+ 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 = {
@@ -1689,7 +1690,7 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
requiredGems = [ ];
sha256 = ''17ha7kmgcnhnxyfp9wgyrd2synp17v9g8j1pknhfd2v9x5g475m9'';
};
- sass_3_4_0 = {
+ sass_3_4_1 = {
basename = ''sass'';
meta = {
description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
@@ -1700,9 +1701,9 @@ RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
command line tool or a web-framework plugin.
'';
};
- name = ''sass-3.4.0'';
+ name = ''sass-3.4.1'';
requiredGems = [ ];
- sha256 = ''1v2kda9ff69nmz2qcxfmc1w5nxv81nays450nql0mbpy8pvydfr2'';
+ sha256 = ''0f997m7g6gcd4yaxxrf1nylk2x8ynf7w2l631sby51zfn21rfli4'';
};
selenium_webdriver_2_42_0 = {
basename = ''selenium_webdriver'';
@@ -1836,6 +1837,16 @@ management.
requiredGems = [ g.tins_1_3_2 ];
sha256 = ''1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b'';
};
+ 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.6.1'';
+ requiredGems = [ ];
+ sha256 = ''0j14sblviiypzc9vb508ldd78winba4vhnm9nhg3zpq07p3528g7'';
+ };
text_1_3_0 = {
basename = ''text'';
meta = {
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
index 10cbf1ecfe5..9d694eac1e4 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 00000000000..430bf4f1665
--- /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 00000000000..d504682086b
--- /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 12273f84566..4c2739d00ec 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 00000000000..e41546512e9
--- /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 d1510e34238..9f3307742ec 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 25d19d089a5..f03f6b3d371 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 ac0b9d233fa..a4ba4c16c87 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 87e03472659..f5a98750ded 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 d979eb9d803..00000000000
--- 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 62ae463b5fc..00000000000
--- 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/boost/1.44.nix b/pkgs/development/libraries/boost/1.44.nix
index b188586e84f..c192acd23bd 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 fca4249e963..9e61683238f 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 bf355f7169c..1e9d2134d12 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 2111e1b4a55..3e75cb45a73 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 28e51efbc4b..ca25be90504 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 06f2deb3a7c..54e5988eda6 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 4e75cda0c23..a782ff61e28 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 d148c4d829a..63c5959960a 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 40d41b633d2..010d2cb7ccc 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 da4501285e1..7ea7e597d40 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 59c64b0de9f..7cef673dbc6 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 027b90d8e11..67de04050af 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 0e521aa19e8..40be21131d2 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 72a140ed371..14308dc0eb0 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 00000000000..c0c05efc466
--- /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 d7915a93962..9a49225d172 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 19a4099a8b1..8114eb4752d 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 63acc14521c..6d7d7a83879 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 4d400a6ea7d..9d62472c27e 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 abb782641dd..7cab317380e 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 f4157cdd8d0..839ba7cfa95 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 00000000000..942f3e7864c
--- /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 00000000000..ad4a34152b6
--- /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 098643ae70f..d3f74f4043a 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 00000000000..71ac281195b
--- /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 d0559c46795..e9cfda032b1 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 c96c830e2f7..5f3690f67a9 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 9e28334804b..14a6d34d932 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 6aea78a3ac5..44ea0176e38 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 cd48e08a39c..5bf933fbc96 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 207b8248698..75ae4054592 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 ff26e727e9f..777f4a06313 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 f781c624cea..b608f891533 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 8812ea70c79..ff4d6ca6733 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 09221502e36..fa350110476 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 6905adcd71e..b57c91c4455 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 2620d9cc120..8a6914cfcd3 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 bae0639a61c..e278980e1e1 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 d2dea815819..28480a4d27d 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 002b762fbac..ff4898eb1e7 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 9dbb3c8ae9a..0ce13bd8737 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 d5696a562da..557721007ed 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 00000000000..1a613492f43
--- /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 ce4b41c93e0..ee99ccc4fee 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 ce90b9a9426..0a5a16dfadc 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 774cbd8a19e..65b53d91b52 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 fcd2689c548..2305756f93b 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 a0e4b787ec9..f5e088a4238 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 fb2415fd6fa..0cbd926b1f1 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 00000000000..cc430e22090
--- /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 00000000000..c53e9f72858
--- /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 a4d1ea666a2..5ae451f8163 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 b7c314f9ff9..85f15b500ed 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 d6e8a5fb5ad..3df47d95618 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 37774c1a16a..848004ca6af 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 95ead17f01f..eaa91c51a23 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 85015f5d4ac..2f2b59b597a 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 ccd23434fe0..8bf0148ba6b 100644
--- a/pkgs/development/libraries/haskell/cabal-lenses/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
@@ -4,10 +4,9 @@
cabal.mkDerivation (self: {
pname = "cabal-lenses";
- version = "0.3";
- sha256 = "13nx9cn81cx9cj7fk07akqvz4qkl49dlgb5wl5wanag6bafa6vhl";
+ version = "0.4";
+ sha256 = "19ryd1qvsc301kdpk0zvw89aqhvk26ccbrgddm9j5m31mn62jl2d";
buildDepends = [ Cabal lens unorderedContainers ];
- jailbreak = true;
meta = {
description = "Lenses and traversals for the Cabal library";
license = self.stdenv.lib.licenses.bsd3;
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 00000000000..2bacef96e08
--- /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 28e940f3489..286a20f2ba2 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 e45a6f256b9..018a54f42d7 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 2e26d9ac781..ecaec5c4dd0 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 c8763ca0a45..3a695fa8203 100644
--- a/pkgs/development/libraries/haskell/diagrams/cairo.nix
+++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
description = "Cairo backend for diagrams drawing EDSL";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
- maintainers = [ self.stdenv.lib.maintainers.bergey ];
+ 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 7c9e797e305..f1044870f3a 100644
--- a/pkgs/development/libraries/haskell/diagrams/contrib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix
@@ -25,6 +25,6 @@ cabal.mkDerivation (self: {
description = "Collection of user contributions to diagrams EDSL";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
- maintainers = [ self.stdenv.lib.maintainers.bergey ];
+ 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 c7459972c39..18f362e0c21 100644
--- a/pkgs/development/libraries/haskell/diagrams/core.nix
+++ b/pkgs/development/libraries/haskell/diagrams/core.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
description = "Core libraries for diagrams EDSL";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
- maintainers = [ self.stdenv.lib.maintainers.bergey ];
+ 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 75ee478ac3f..b15f05dbf27 100644
--- a/pkgs/development/libraries/haskell/diagrams/lib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/lib.nix
@@ -21,6 +21,6 @@ cabal.mkDerivation (self: {
description = "Embedded domain-specific language for declarative graphics";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
- maintainers = [ self.stdenv.lib.maintainers.bergey ];
+ 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 c79f637c73f..557aae73db5 100644
--- a/pkgs/development/libraries/haskell/diagrams/postscript.nix
+++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix
@@ -18,6 +18,6 @@ cabal.mkDerivation (self: {
description = "Postscript backend for diagrams drawing EDSL";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
- maintainers = [ self.stdenv.lib.maintainers.bergey ];
+ 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 00000000000..c2e85058a90
--- /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 fcd08ffce63..8393d7c6f98 100644
--- a/pkgs/development/libraries/haskell/diagrams/svg.nix
+++ b/pkgs/development/libraries/haskell/diagrams/svg.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
description = "SVG backend for diagrams drawing EDSL";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
- maintainers = [ self.stdenv.lib.maintainers.bergey ];
+ 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 9bab1ad45db..1958307e869 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
@@ -1,3 +1,5 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
{ cabal, aeson, digestiveFunctors, HUnit, lens, lensAeson, mtl
, safe, scientific, tasty, tastyHunit, text, vector
}:
@@ -17,6 +19,6 @@ cabal.mkDerivation (self: {
description = "Run digestive-functors forms against JSON";
license = self.stdenv.lib.licenses.gpl3;
platforms = self.ghc.meta.platforms;
- maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+ maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
};
})
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 00000000000..2cc9682dccb
--- /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 113e1af46ee..ab74819965a 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 018fac06670..af3f9e2d525 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 6d55afd41d6..72f3bff14df 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 82cb1240610..f1f9d06c76a 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 00000000000..fa88fbfe2e8
--- /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 edbf19bda62..c00b009c51d 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 7a942e97dc8..2f04330a315 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 f0f8ae1399d..09a22c0ac60 100644
--- a/pkgs/development/libraries/haskell/force-layout/default.nix
+++ b/pkgs/development/libraries/haskell/force-layout/default.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
description = "Simple force-directed layout";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
- maintainers = [ self.stdenv.lib.maintainers.bergey ];
+ 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 d2a0f33892f..ee47e6bb3f5 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 ad920721451..3eefe056218 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 dd4278a0052..59a338a7907 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 00000000000..d5d302fbd8e
--- /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 e567bd82059..76ab2fc41b4 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 1b2571563c3..c8ef8ba2271 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 1da7380f252..00000000000
--- 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 327744560ac..28e7e515c2b 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 a3f471fcb4d..0c4fea2da65 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 00000000000..7c5f3afbd98
--- /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 9aa8dff59aa..8cb7dfd32ae 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 08f18e8fe11..a59a9b2d2da 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 5a64573a890..031c251fbb7 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 00000000000..26763deb10a
--- /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 dd92b7e79de..00fe58be4b1 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 134c39f9f24..53c3ede3ec1 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 afa2f612c01..012f6db8bf2 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 74c5f2a06cb..4c79bc58c06 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 5305c2d113f..8e9bc69eb01 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 157cab5e979..41b8044b593 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 7ddb500265b..d23d81da33d 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 c6534ff0cf4..0ebf6dac301 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 00000000000..acb4066fb2e
--- /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 91876f7e318..4985f09b38e 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 00000000000..692d694ed46
--- /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 00000000000..154eefea320
--- /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 00000000000..3f7f9c1eee0
--- /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 00000000000..732b2c95cc7
--- /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 00000000000..38f89764c4c
--- /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 587c42d6033..6deaa209dc8 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 3e8381bf34b..fc41353d357 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 00000000000..ae75ff26e4c
--- /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 19d6ff3a667..0a7d4b1c230 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 bb1ebb1b9d8..15454aa0c97 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 afa664a68f9..9cc43e142a7 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 00000000000..34da51018e0
--- /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 c7e5b53548f..067e6081818 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 bf2652fa792..0d576680044 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 1848211dc3e..4a3df6f1b9f 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 00000000000..2e56f8c396b
--- /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 318f369fc3e..08605391fc2 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 75336ef8816..8c2653c66f5 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 24d123d67cc..6034807929e 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 184adcc03dd..39514c8a3bd 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 c74fad5f1a8..5db1ec41613 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 5a3c75f6165..37dc11b1f0f 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 00000000000..7d03b1adea5
--- /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 9772418173b..d0a3e94fcd2 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 3dded2dcb44..7a53fb456f7 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 fd9609ec25f..f9e60441975 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 b5438fabc12..9173baa97ba 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 00000000000..9f577fc4520
--- /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 90d354a22cf..857b237ba42 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 0e2cf67a19f..e4519c47358 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 3c5f198cea6..d4d9663441f 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 4046c05f79e..ed51a0a2820 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 bbfc6ed38cc..eff52cc177b 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 42bdba7567c..34aaded7cb4 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 7a45ca0f227..a50163c601d 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/libaal/default.nix b/pkgs/development/libraries/libaal/default.nix
index 596b8e2e84c..36d1ddc7151 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 401573378ee..44e800b6f1e 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 f5a3d92d3db..90ce4f970e3 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 b9823cefd2d..9a284d8988d 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 51b7f7e181d..9cdf9d411cc 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 f0d7fbfbeb6..37af9756724 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 ba7e3e47ff7..cb8d07fec90 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 f9d1fc87870..8c5c8bef351 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 50bdaa1c4c0..acd930ddd01 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 2dc8de67039..00000000000
--- 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 e2994f52691..00000000000
--- 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 d9436456d0d..407b367d6b7 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 bb854139b79..57cf1738342 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 7c948aa9824..fad0170ade7 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 00000000000..a071132463f
--- /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 6df5ca683f1..18387c904f8 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 ced3b723b13..e468c3163d3 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 ba3de49ede8..ed267e23c87 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 ca8073fbe30..dc041490f78 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 7b669cd780a..3bdb85a78eb 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 802ee9e3e88..5aea194e39d 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 5e038ad8572..dbd2516c059 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 959dca47573..39795267a2c 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 0b5d7d7da12..00000000000
--- 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 e651a932efe..c2008700804 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 d66414b6814..00000000000
--- 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 8ce00ecf767..00000000000
--- 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 00000000000..a018ce1f0fa
--- /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 00000000000..cb1e8346742
--- /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 2e2640e8636..6ffef2140ec 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 ae6299286a1..b6be8d194c1 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 7d46f9e32ce..0e5f976c122 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/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index bae22ef220f..5a2508a4506 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 6741838d33b..b5665fe402e 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 b578d895c5f..2a87d7a3249 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/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index e2ff06fcd43..a4c8c167b39 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -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 85f0dbddb0b..42c427605c4 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 951627c81c2..036d9c61d07 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 00000000000..994c013c631
--- /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 75f175a5b2d..88565d5d51b 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 7fa6194cbca..f4bff72fa80 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 f9632dca9d2..a470f771561 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 bfd474c88e7..88f18003977 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 652227d47e8..3d05fa2e040 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 e3fbaececb9..653481aeccd 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 5fba9c56418..b80d549931c 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 9d9a524e86d..b68f04f642f 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 87953c1158d..631199bf87c 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 57d3732fa6d..38d197c69ab 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 3b4f7da94f3..2c208ce86bb 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 47a51b68d03..08069533713 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 1f59c0c24a0..c79c3cbe4d6 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 b5e390eafa8..5a935691ca5 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 0da8d2a7404..480664a0d4d 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 c9da441705c..01a4e2e21da 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 678a439fe0a..15160d3afc4 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 cfa838f5a37..4db1cb5b524 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 00000000000..ba0ed2a9b29
--- /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 597385aa9fa..00000000000
--- 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 35262f797e9..4ab6fb3ad8b 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 f93eee674ff..9edef767481 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/readline/readline6.3.nix b/pkgs/development/libraries/readline/readline6.3.nix
index 9f5c9f7b581..17299e5f10d 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 0559113285c..d72d6566bbc 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 0461e5ebcf5..7418bdb6dfe 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
index b2167449a2f..0b4badf26e7 100644
--- a/pkgs/development/libraries/science/math/liblapack/3.5.0.nix
+++ b/pkgs/development/libraries/science/math/liblapack/3.5.0.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
};
meta = {
+ inherit version;
description = "Linear Algebra PACKage";
homepage = "http://www.netlib.org/lapack/";
license = "revised-BSD";
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index f1c99397452..9f4f43311a4 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 00000000000..ec4422ce895
--- /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 00000000000..c476dac955a
--- /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 6ea7333f698..6ca1f4ccada 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 2fd5c9ad493..c0935bd33fd 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 409b5db0104..873f59dba3a 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/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix
index be52725f2c8..266675614ce 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 8f122cb699a..96a19bf37cc 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 f88ab48e027..24dc443ca70 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 162a832c93a..79fe47ff476 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 2af9565e0b4..2353eec7348 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 17f9c973fd0..2ad2ed55d7c 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 e04363326d0..15e89d9210a 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 d0eb8987ea0..c5331656435 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 6cb20f4e356..f83b34e40d1 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 f3ac325b5a1..0e8a95d5ac1 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 d3a2511c90c..4c86de7fb56 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 99837974b1d..d74a85a9162 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 81447276db7..95ba2a05ad9 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 8fff5f39338..fe9b6c5c3ca 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 3ef43baca5e..d0de624890b 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 97e1661544b..100577b3a7f 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/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index 3c9327f1c59..60f71517323 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -1,5 +1,5 @@
{ stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper
-, platformTools, buildTools, support, platforms, sysimages, addons
+, platformTools, buildTools, support, supportRepository, platforms, sysimages, addons
, zlib_32bit
, libX11_32bit, libxcb_32bit, libXau_32bit, libXdmcp_32bit, libXext_32bit, mesa_32bit, alsaLib_32bit
, libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib
@@ -139,6 +139,15 @@ stdenv.mkDerivation rec {
cd ..
+ # Symlink required extras
+
+ mkdir -p extras/android
+ cd extras/android
+
+ ln -s ${supportRepository}/m2repository
+
+ cd ../..
+
# Symlink required platforms
mkdir -p platforms
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index bc022bd70b4..796f0f862bd 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -16,6 +16,10 @@ rec {
inherit (pkgs) stdenv fetchurl unzip;
};
+ supportRepository = import ./support-repository.nix {
+ inherit (pkgs) stdenv fetchurl unzip;
+ };
+
platforms = if (pkgs.stdenv.system == "i686-linux" || pkgs.stdenv.system == "x86_64-linux")
then import ./platforms-linux.nix {
inherit (pkgs) stdenv fetchurl unzip;
@@ -39,7 +43,7 @@ rec {
inherit (pkgs) freetype fontconfig glib gtk atk mesa file alsaLib jdk;
inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp libXtst;
- inherit platformTools buildTools support platforms sysimages addons;
+ inherit platformTools buildTools support supportRepository platforms sysimages addons;
stdenv_32bit = pkgs_i686.stdenv;
zlib_32bit = pkgs_i686.zlib;
@@ -52,13 +56,49 @@ 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" ];
useGoogleAPIs = true;
};
+
+ androidsdk_2_3_3 = androidsdk {
+ platformVersions = [ "10" ];
+ abiVersions = [ "armeabi-v7a" ];
+ useGoogleAPIs = true;
+ };
+
+ androidsdk_3_0 = androidsdk {
+ platformVersions = [ "11" ];
+ abiVersions = [ "armeabi-v7a" ];
+ useGoogleAPIs = true;
+ };
+
+ androidsdk_3_1 = androidsdk {
+ platformVersions = [ "12" ];
+ abiVersions = [ "armeabi-v7a" ];
+ useGoogleAPIs = true;
+ };
+
+ androidsdk_3_2 = androidsdk {
+ platformVersions = [ "13" ];
+ abiVersions = [ "armeabi-v7a" ];
+ useGoogleAPIs = true;
+ };
androidsdk_4_0 = androidsdk {
+ platformVersions = [ "14" ];
+ abiVersions = [ "armeabi-v7a" ];
+ useGoogleAPIs = true;
+ };
+
+ androidsdk_4_0_3 = androidsdk {
platformVersions = [ "15" ];
abiVersions = [ "armeabi-v7a" ];
useGoogleAPIs = true;
@@ -82,6 +122,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/mobile/androidenv/support-repository.nix b/pkgs/development/mobile/androidenv/support-repository.nix
new file mode 100644
index 00000000000..66a532328b1
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/support-repository.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation {
+ name = "android-support-repository-r5";
+ src = fetchurl {
+ url = http://dl-ssl.google.com/android/repository/android_m2repository_r05.zip;
+ sha1 = "2ee9723da079ba0d4fe2a185e00ded842de96f13";
+ };
+
+ buildCommand = ''
+ mkdir -p $out
+ cd $out
+ unzip $src
+ '';
+
+ buildInputs = [ unzip ];
+}
diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix
new file mode 100644
index 00000000000..3a00f0c3888
--- /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/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix
new file mode 100644
index 00000000000..b6edadb0b14
--- /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 9ef10906365..061dbb398fe 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];
- configurePhase = "true";
+ propagatedBuildInputs = [ ocaml_react ocaml_ssl ocaml_text ];
+
+ configureFlags = [ "--enable-all" ];
+
+ 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 00000000000..08136dd2b10
--- /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 6b0e694d54a..dfc8dcd1439 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/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 9237db080d6..562d25550da 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 00000000000..3c2fae472be
--- /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 00000000000..a05c7bd6b3c
--- /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 f668f3c6ac3..a07eceb45aa 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 75fb974e735..4c9c53aab83 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 857f002cace..282aeca9ed1 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 e97b2a5f1a4..0d6d5b0ffed 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 35a1e913bf7..00000000000
--- 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 c8f0f74c1ff..59bd9affef6 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 7d3804d264a..60aa65323d7 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/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 1dfaa5cf875..56797d9c702 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 89a17d28a1b..10cdf01103a 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 6d0e28f0ab2..6898b7eee54 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 5ffc287d114..aaeee026d0a 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 b7316fc17c4..a4863d12b5c 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 93f7699481c..e173f827664 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 54509178b1a..50f2037b271 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 a16994b1f2e..7ce4782bb60 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 00000000000..3b3d91a1f2f
--- /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 213ba6f9d13..368c421221b 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 978ebde7e29..db7e472934c 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 fac145b14c2..a2f9c119700 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 b9cd34c716e..9cc92aafc21 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 4fe5f01c3d1..92a33602a1f 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 4342b877a2e..a07383778ed 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 c8bb94412ca..e5a9ca50ce9 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 8d8fc5d464e..fc48a4aabad 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 00000000000..f0b915de540
--- /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 00000000000..f0b6d81e69e
--- /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 53bc8ed78c8..b1322d461ee 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 d66ca9868f5..085af9df3a3 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 0bf5bbce692..51f5ed6091f 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 9f1eca0fa13..a7ae4d17ab1 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 500129c7c9d..2942408de80 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 3a83b1ba325..223f1968274 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 80def733cf8..bf13a5daa66 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 2b5ced78063..5ee0f64a4e4 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 9926dd6cd33..19e934f884f 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 d6abf8d10bd..b366feb304a 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 e25998e5420..f0fd081ec5f 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 23bd35c8739..c8cff116282 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 3402c2060e7..4c1cd5bd7bd 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 5eee9ead5d6..262d8aad23b 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 00000000000..762e6f2c4db
--- /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 455305be749..1aa9a2c058d 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 09978b5ad65..66d6b65453e 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 5131d381412..a3155230514 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 804e7a2527f..62e1ff62d1e 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 c0882439f5c..970c07f3546 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 22e0d71af4d..300cbbc0a0c 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 00000000000..1b99c4d4d43
--- /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 5bf5d7c2e8c..f89e7bca5a7 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 5947f85343c..49602a23201 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 ec302611053..8842c8723b1 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 e301fe8431a..6c7b2a4d9ae 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 457a5d1dcaa..826ca93aa7d 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 9741b0930d2..23b7d9e692c 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 a0f7922b1aa..15a6985b8bf 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/games/adom/default.nix b/pkgs/games/adom/default.nix
index e83f50df1b7..ef5aba96d09 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 b4e61b6d1d1..b443a76b9a7 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 381e35632a6..224eb6f594a 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 57d055ed3d3..f94b489908e 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 0e2796df22d..351e25388e1 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 1decee4264a..8dd06fa6a28 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 e35eb3266c2..af80467c960 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 31e8ae05d00..dc89e405e24 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 00000000000..4a99ec44764
--- /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 00000000000..16a79683149
--- /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 7f11fc82903..df987b3f856 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 1b6b7f26a41..ff96622cb59 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 cfae6a4bb3e..c435bbe5887 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 6a05ab7f2bd..596ba595d81 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 29d3b4e4557..db42572de5e 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 00000000000..b34441cdc99
--- /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 00000000000..01ffd27d5bb
--- /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 c685f11c4c1..5276ec4cc34 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/xskat/default.nix b/pkgs/games/xskat/default.nix
new file mode 100644
index 00000000000..bd41531d923
--- /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 00000000000..bf03e1e52aa
--- /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 00000000000..4823d41d1ac
--- /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 00000000000..5767786e814
--- /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 00000000000..144c23d39de
--- /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 00000000000..aceb55b1396
--- /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 ced8e1344da..4c49e1e3af2 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 00000000000..3f10d7afb6e
--- /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 cd5c5a8b479..a7d52f2bca4 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 e3616df7680..fa78360c76a 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 275b93e01b8..b8c879d598b 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 1aab4ac0208..2a990e8685c 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 04791749810..40fad768b16 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 d6b73ed16fe..54538be84b4 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 92b97ffb592..52e5d95346e 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 d252d9ce162..78d403a3afc 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 db0c0fd9680..3eeacf34694 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 35efa8533ab..ec4621e6957 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 e024a608a0b..70c13be9ab4 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 c1fa2c26205..d7f3d293c48 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 00000000000..234f0ac749f
--- /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 7a6ba94eb9f..d5c754eebc7 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/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 291e43a98e5..c67c531667a 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 f44f3d32792..ebbdd79ba16 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 cfe006fbe4b..c91b8ddfb44 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 bf30530e9ad..b3df129912e 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 8e20bf1e3d3..4794cd8f96c 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 9e2b0c90079..ee6165bfc9a 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 00000000000..1e5aaf5ab5c
--- /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 00000000000..e8dd56ab9e2
--- /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 00000000000..2e25c0383b7
--- /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/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix
new file mode 100644
index 00000000000..0f0967079df
--- /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 b52801cacff..f928dc8e657 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 d5e2ed3ff94..80677a52a32 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 d4786037b5a..962aca77753 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 09b091b323c..b5f9195abbd 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 ca4980f5a6c..f345fe71a34 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 921d8e907f1..50e71a74546 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 aa40365e8de..c1114232ea8 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 365af29595c..3e778317169 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 35d4ebbf89f..0b5244a5974 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 d5768da4c82..86d37189887 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/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix
index ee0049ce08f..19f20cc8823 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 00000000000..87bc57eb2b6
--- /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 00000000000..63b8d2bbc94
--- /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 00000000000..0d11ba7a104
--- /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/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index 245c838607f..0ce58e64015 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/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index 77852b6d2ed..6c6fb213cb8 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 aa9da965d17..40c255d5921 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/pies/default.nix b/pkgs/servers/pies/default.nix
index 958578138bc..56c7da5caed 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 2c6f6c10493..a918007b47c 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/shishi/default.nix b/pkgs/servers/shishi/default.nix
index 2e0a4e84f6c..a41915e5be8 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 bb0c0bc8da8..0efdd542fa4 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 00000000000..3a747ed1b03
--- /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 00000000000..a6e0d474d89
--- /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 00000000000..95ebfd6706f
--- /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 00000000000..05e7571d18d
--- /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 6945d6559fb..c4dfa983f55 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 a81b1a4ac22..93afa06a7f2 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 417d12ddadc..93acd927f3b 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 00000000000..307993a958a
--- /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 cb0cc95c4ce..990eb174baf 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 e9d0c61ee08..3232caf5848 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 d91f4bfdf65..e226f1f93c4 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
index 589b684e69b..e1a2e0dd496 100644
--- a/pkgs/tools/X11/obconf/default.nix
+++ b/pkgs/tools/X11/obconf/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
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 3f691b8ecd4..2e23e7bd4de 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 00000000000..8f21f6558ff
--- /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 0e92021b62c..43fa105e680 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 efc0647f5db..c3c9c70fe92 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/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix
index acb8708ec14..407242cf2d9 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 afd734fbae0..f19564e4ad9 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 00000000000..d7964c0961c
--- /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 45d6cb83739..0f8c46e2dc3 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 b446b06f987..fe2b9e00aaa 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 88cca66efb1..218ea9a1e7f 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 b7bf9c59f49..cc304d9aa1e 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 ca8d356abb3..4460ae6edf3 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 00000000000..0bb4a1fb2ae
--- /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 66152f9589b..02f214ad430 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 d91525e348f..f8c6942bad0 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 9ebab38984b..ea96001a421 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 0b666f38942..6b9631bfccf 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 616f61e6c84..e9d9b27d751 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 00000000000..9e2ba2bd59b
--- /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 b6a296e6bc7..fba066d0f4c 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 68d978a2a55..a28d5394fc1 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 24dbae08fab..c9078a0cb8b 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 60dc5a285da..23a2e6dd78f 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 2638594903a..0e94571503c 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 00000000000..0a86a892417
--- /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 27883ca6037..e9a552e3300 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 ae0c4d19731..0f67de3c3ea 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 00000000000..34ffa1568b9
--- /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 00000000000..b8ee95fae92
--- /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 00000000000..c2d08b661e3
--- /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/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix
index dfe5476f813..8d7ba0c70c8 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 00000000000..c61e0ff00b3
--- /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/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix
new file mode 100644
index 00000000000..c4e74359b15
--- /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 56e18227d66..0f8f82acaed 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 a7d03d1335f..5cdc468c2a5 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 2b2f3aeaca3..503beefa15a 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 02cb65b1060..96acc6c8ab9 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 00000000000..6539bf477e5
--- /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 20830bad6bf..6d03b09c588 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 28d9b4863d4..6dba834e8be 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 52180c75c98..961dbc08335 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 8ede3aa918b..d731e856790 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 b7f7842680f..b97d8f0b719 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 df360bb9804..727657ca6e8 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 108d4d5e040..01b9f391a44 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 392fcbcc8ff..0d379cd11d4 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 f2f5f37ebe4..4d6829e99a4 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 aa14087dfc8..29d98284ccf 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 00000000000..f8e7dfaddc9
--- /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 3a35e9a9f1c..737ba244fe8 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 c19d58b9816..760f56726fa 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 4acbabb50f9..32f681dabeb 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 79c6a743bce..df1a7eedeff 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 fcdf5095d70..d884d48f521 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 225c3c04f7a..b6bdfc7fabc 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 48e21f4507e..be107dfa81e 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 00000000000..fcce5e3e728
--- /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 cd3ae12a11b..f890bdddb69 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 c99af220a56..7d955b44950 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 cec4057a284..3cfc902711e 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 f9322129612..ab8e14fddd0 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 6d9666506b8..8c9103790b9 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 c74dbe52829..54cb8b21aaf 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 20ee6da8a30..a6a921f6f58 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 49753d189d6..cfeaf47fdf2 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 6be4119469e..c86dba91f5e 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 4c1001310ae..0ee49032704 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 02013d8ede6..9db42f09d81 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 ec49770d269..dbf393094c8 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";
- };
-in
-rec {
- src = a.fetchurl {
- url = sourceInfo.url;
- sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+ name = "netboot-0.10.2";
+ src = fetchurl {
+ url = "mirror://sourceforge/netboot/${name}.tar.gz";
+ sha256 = "09w09bvwgb0xzn8hjz5rhi3aibysdadbg693ahn8rylnqfq4hwg0";
};
+
+ buildInputs = [ yacc lzo db4 ];
- inherit (sourceInfo) name version;
- inherit buildInputs;
-
- /* doConfigure should be removed if not needed */
- phaseNames = ["doUnpack" "doConfigure" "doMakeInstall"];
-
- 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 3c33da1b661..52554209d59 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 ];
+ buildInputs = [ libpcap gnutls libgcrypt libxml2 glib geoip sqlite which autoreconfHook subversion pkgconfig groff ];
+
+ preConfigure = ''
+ find . -name Makefile.in | xargs sed -i "s|/bin/rm|rm|"
+ '';
preBuild = ''
- sed -e "s|^SHELL=.*|SHELL=${stdenv.shell}|" \
- -e "s|/usr/local|$out|g" \
- -e "s|/bin/rm|rm|g" \
- -i Makefile
-
- sed -e "s|^SHELL=.*|SHELL=${stdenv.shell}|" \
- -e "s|/usr/local|$out|g" \
- -e "s|/opt/local|/non-existing-dir|g" \
- -i configure
-
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 00000000000..c90582a7547
--- /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 14d0d99119d..e74106ec67f 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 00000000000..3165434de3d
--- /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 00000000000..3d5e3e04811
--- /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 ac2736ffb19..f854b92b87e 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 2e27c2b2dc3..ed295e95a38 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 00000000000..4843f07c8f2
--- /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 e9c102817e1..b5927fd2478 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 6ff5439c4bc..27d7fe2572a 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/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 61e998fd545..b6b88aef022 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconvOrEmpty }:
stdenv.mkDerivation {
- name = "disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7";
+ name = "disnix-0.3pre24d959b3b37ce285971810245643a7f18cb85fcc";
src = fetchurl {
- url = http://hydra.nixos.org/build/11773951/download/4/disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7.tar.gz;
- sha256 = "19hdh2mrlyiq1g3z6lnnqqvripmfcdnm18jpm4anp5iarhnwh3y4";
+ url = http://hydra.nixos.org/build/13612993/download/4/disnix-0.3pre24d959b3b37ce285971810245643a7f18cb85fcc.tar.gz;
+ sha256 = "0ml8g6h7x79mvv84il9vb9b88kqak9m3yzavmar66i3dvyqr1dwb";
};
buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ];
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 65ae91f6e18..0190a5fd679 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, disnix, socat, pkgconfig, getopt }:
stdenv.mkDerivation {
- name = "disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99";
+ name = "disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d";
src = fetchurl {
- url = http://hydra.nixos.org/build/9877039/download/3/disnixos-0.2preb10c56eeb1be3046645eea90c779e2d64045581f.tar.gz;
- sha256 = "1pkpf6vp9q3jjp212lghbs1km8iqh4rm9xa5jm0dqb5ya25f0jf2";
+ url = http://hydra.nixos.org/build/13617499/download/3/disnixos-0.2prec3310e2d8975c45e4ffacec940049fb781739b8d.tar.gz;
+ sha256 = "1kcpzzwy9jc1zz700whnp6sc77yp3wxzr935f07jy55ddkl8mdi5";
};
buildInputs = [ socat pkgconfig disnix getopt ];
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index a1914224dbd..574bf8f9ab3 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -19,10 +19,10 @@ assert enableEjabberdDump -> ejabberd != null;
assert enableMongoDatabase -> mongodb != null;
stdenv.mkDerivation {
- name = "dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82";
+ name = "dysnomia-0.3precf347cbd508f488f115f8961371a3cecf03fd530";
src = fetchurl {
- url = http://hydra.nixos.org/build/11407191/download/1/dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82.tar.gz;
- sha256 = "1i7yb299bq1z7cy4sk83m5faahj8inh73xn5bi6jcv492zv3kgwz";
+ url = http://hydra.nixos.org/build/13281061/download/1/dysnomia-0.3precf347cbd508f488f115f8961371a3cecf03fd530.tar.gz;
+ sha256 = "0xiqpz2c3dh4pbdprvrd7plvq3ipngqbjkwpmbhw1nw90x5rpa2d";
};
preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
diff --git a/pkgs/tools/package-management/koji/default.nix b/pkgs/tools/package-management/koji/default.nix
new file mode 100644
index 00000000000..7f03ed1625e
--- /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 b2e86935b50..6631214f39a 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/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index fc43f01b344..f5c4a4e9b4e 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 9b8d33b6b69..64e2be90d30 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/mfcuk/default.nix b/pkgs/tools/security/mfcuk/default.nix
new file mode 100644
index 00000000000..9d92482f68f
--- /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 fe2a19491d9..668a7605115 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 bc87c091a58..03e8c727022 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 1c9967edc47..854f67f2aee 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 d71bbd891f9..3318d0c1102 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 95b3b6b51f7..6e7ff75a6a4 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 4c2af359b96..fe797291f9e 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 6132abc0879..0cf29a67b9d 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 9c7f0413421..7b3e62a1bc0 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 00000000000..dc15ce13bcc
--- /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 21a67dba305..8f94b21a771 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 982aac3c990..6ae92b685cc 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 52d32b4e838..588da0624ce 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 00000000000..e51cb487852
--- /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 c5f33c32359..6590b1ad209 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 00000000000..18dc096a36b
--- /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 4bf95895996..842529c573f 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 0148e3c699e..016e2ccda37 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 00000000000..f8ffe9352ed
--- /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/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix
index fe11ec59246..797f5b8b692 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 5b95c37c732..c147b3ea301 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 fba52b69fba..72caa7ba5cb 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/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index e6fc3510cd4..c07caad15a3 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 7635e042499..3c0af0157a5 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 78dac0c6aa4..b31c64e6936 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 c0fc4336297..a2ebfa0a9fd 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 8344735606c..32545abaff2 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 c2840fd843f..beb6a7f3a68 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 4644ee3e50e..f47fedd927d 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 1b0602063e9..a1eee51b34d 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 faaea6aaffc..73986b5be05 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 a4f275e3c6e..05c9d695bc2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -528,7 +528,7 @@ let
pkgs_i686 = pkgsi686Linux;
};
- inherit (androidenv) androidsdk_4_1;
+ inherit (androidenv) androidsdk_4_4 androidndk;
aria2 = callPackage ../tools/networking/aria2 { };
aria = aria2;
@@ -793,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 { };
@@ -801,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 { };
@@ -899,6 +903,8 @@ let
dhcpcd = callPackage ../tools/networking/dhcpcd { };
+ di = callPackage ../tools/system/di { };
+
diffstat = callPackage ../tools/text/diffstat { };
diffutils = callPackage ../tools/text/diffutils { };
@@ -927,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 { };
@@ -961,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 { };
@@ -1041,6 +1054,8 @@ let
platformTools = androidenv.platformTools;
};
+ flashrom = callPackage ../tools/misc/flashrom { };
+
flpsed = callPackage ../applications/editors/flpsed { };
flvstreamer = callPackage ../tools/networking/flvstreamer { };
@@ -1198,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
@@ -1225,6 +1246,7 @@ let
gt5 = callPackage ../tools/system/gt5 { };
gtest = callPackage ../development/libraries/gtest {};
+ gmock = callPackage ../development/libraries/gmock {};
gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
@@ -1266,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 { };
@@ -1276,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 { };
@@ -1510,6 +1540,8 @@ let
megatools = callPackage ../tools/networking/megatools { };
+ mfcuk = callPackage ../tools/security/mfcuk { };
+
minecraft = callPackage ../games/minecraft { };
minecraft-server = callPackage ../games/minecraft-server { };
@@ -1643,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 {};
@@ -1722,6 +1756,8 @@ let
openjade = callPackage ../tools/text/sgml/openjade { };
+ openntpd = callPackage ../tools/networking/openntpd { };
+
openobex = callPackage ../tools/bluetooth/openobex { };
openopc = callPackage ../tools/misc/openopc {
@@ -1756,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;
};
@@ -2027,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 { };
@@ -2187,6 +2233,8 @@ let
tboot = callPackage ../tools/security/tboot { };
+ tcl2048 = callPackage ../games/tcl2048 { };
+
tcpdump = callPackage ../tools/networking/tcpdump { };
tcpflow = callPackage ../tools/networking/tcpflow { };
@@ -2371,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 { };
@@ -2379,6 +2433,8 @@ let
unrar = callPackage ../tools/archivers/unrar { };
+ xar = callPackage ../tools/compression/xar { };
+
xarchive = callPackage ../tools/archivers/xarchive { };
xarchiver = callPackage ../tools/archivers/xarchiver { };
@@ -2395,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 { };
@@ -2652,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 { };
@@ -3100,10 +3157,12 @@ 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;};
@@ -3113,8 +3172,9 @@ let
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;
@@ -3226,6 +3286,8 @@ 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 { };
@@ -3258,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 { };
@@ -3302,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 { };
@@ -3327,6 +3393,8 @@ let
opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { };
opam = opam_1_1;
+ utop = callPackage ../development/tools/ocaml/utop { };
+
sawja = callPackage ../development/ocaml-modules/sawja { };
uucd = callPackage ../development/ocaml-modules/uucd { };
@@ -3337,6 +3405,9 @@ let
yojson = callPackage ../development/ocaml-modules/yojson { };
zarith = callPackage ../development/ocaml-modules/zarith { };
+
+ zed = callPackage ../development/ocaml-modules/zed { };
+
};
ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0;
@@ -3481,8 +3552,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 { };
@@ -3674,6 +3748,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;
@@ -3694,6 +3769,8 @@ let
scheme48 = callPackage ../development/interpreters/scheme48 { };
+ self = callPackage_i686 ../development/interpreters/self { };
+
spark = callPackage ../applications/networking/cluster/spark { };
spidermonkey = callPackage ../development/interpreters/spidermonkey { };
@@ -3847,6 +3924,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;
@@ -4087,6 +4168,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;
};
@@ -4323,8 +4408,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 { };
@@ -4515,11 +4598,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;
};
@@ -4708,36 +4787,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 { };
@@ -5214,7 +5267,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 { };
@@ -5305,6 +5357,8 @@ let
libnatspec = callPackage ../development/libraries/libnatspec { };
+ libnfc = callPackage ../development/libraries/libnfc { };
+
libnfsidmap = callPackage ../development/libraries/libnfsidmap { };
libnice = callPackage ../development/libraries/libnice { };
@@ -5429,7 +5483,6 @@ let
libmusicbrainz = libmusicbrainz3;
libmwaw = callPackage ../development/libraries/libmwaw { };
- libmwaw_02 = callPackage ../development/libraries/libmwaw/0.2.nix { };
libmx = callPackage ../development/libraries/libmx { };
@@ -5441,6 +5494,8 @@ let
libnfnetlink = callPackage ../development/libraries/libnfnetlink { };
+ libnftnl = callPackage ../development/libraries/libnftnl { };
+
libnih = callPackage ../development/libraries/libnih { };
libnova = callPackage ../development/libraries/libnova { };
@@ -5683,6 +5738,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
@@ -5884,7 +5941,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 { };
@@ -5937,8 +5998,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 { };
@@ -6178,6 +6237,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 {};
@@ -7053,6 +7114,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 { };
@@ -7071,12 +7136,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;
@@ -7224,7 +7291,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 { };
@@ -7372,12 +7441,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")
@@ -7575,7 +7638,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);
@@ -7672,6 +7734,8 @@ let
libpng = libpng15;
};
+ nftables = callPackage ../os-specific/linux/nftables { };
+
numactl = callPackage ../os-specific/linux/numactl { };
gocode = callPackage ../development/tools/gocode { };
@@ -7981,6 +8045,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) {
@@ -8024,6 +8090,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 { };
@@ -8237,6 +8305,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 {
@@ -8258,7 +8332,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;
@@ -8315,20 +8394,16 @@ 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 { };
@@ -8383,7 +8458,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;
@@ -8497,6 +8572,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 { };
@@ -8629,6 +8706,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 { };
@@ -8947,7 +9028,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 { };
@@ -8986,26 +9069,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 { };
@@ -9104,6 +9167,8 @@ let
inherit (gnome) libglade;
};
+ koji = callPackage ../tools/package-management/koji { };
+
lame = callPackage ../applications/audio/lame { };
larswm = callPackage ../applications/window-managers/larswm { };
@@ -9189,6 +9254,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 { };
@@ -9325,9 +9395,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 { };
@@ -9353,6 +9424,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 {
@@ -9371,8 +9445,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
@@ -9381,15 +9458,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 { };
@@ -9411,6 +9489,8 @@ let
nano = callPackage ../applications/editors/nano { };
+ nanoblogger = callPackage ../applications/misc/nanoblogger { };
+
navipowm = callPackage ../applications/misc/navipowm { };
navit = callPackage ../applications/misc/navit { };
@@ -9545,6 +9625,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 { };
@@ -9678,6 +9760,8 @@ let
conf = config.st.conf or null;
};
+ stella = callPackage ../misc/emulators/stella { };
+
linuxstopmotion = callPackage ../applications/video/linuxstopmotion { };
sweethome3d = recurseIntoAttrs ( (callPackage ../applications/misc/sweethome3d { })
@@ -9850,6 +9934,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 { };
@@ -10038,13 +10127,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" }:
@@ -10073,6 +10155,8 @@ let
gtk_modules = [ libcanberra ];
};
+ wxhexeditor = callPackage ../applications/editors/wxhexeditor { };
+
x11vnc = callPackage ../tools/X11/x11vnc { };
x2vnc = callPackage ../tools/X11/x2vnc { };
@@ -10176,10 +10260,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;
@@ -10218,6 +10299,10 @@ let
zgrviewer = callPackage ../applications/graphics/zgrviewer {};
+ zim = callPackage ../applications/office/zim {
+ pygtk = pyGtkGlade;
+ };
+
zotero = callPackage ../applications/office/zotero {
xulrunner = xulrunner_30;
};
@@ -10565,6 +10650,8 @@ let
xonotic = callPackage ../games/xonotic { };
+ xskat = callPackage ../games/xskat { };
+
xsokoban = builderDefsPackage (import ../games/xsokoban) {
inherit (xlibs) libX11 xproto libXpm libXt;
};
@@ -10888,7 +10975,16 @@ let
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 { };
@@ -11160,6 +11256,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 { };
@@ -11478,6 +11576,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 {
@@ -11526,6 +11628,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 20f695a0d23..9a064212a40 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 d09f8119d8d..15f6ed71007 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;
};
@@ -1508,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 {};
@@ -1539,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 {};
@@ -1553,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 {};
@@ -1621,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 {};
@@ -1637,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 {};
@@ -1707,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 {};
@@ -1722,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 {};
@@ -1814,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 {};
@@ -1926,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 {};
@@ -1996,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 {};
@@ -2008,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 {};
@@ -2116,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 {};
@@ -2146,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 {};
@@ -2169,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 {};
@@ -2377,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 {};
@@ -2548,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 {
@@ -2655,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;
@@ -2719,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 {};
@@ -2799,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 {};
@@ -2888,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 {};
@@ -2935,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 9856586a183..356368d137d 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 = ''
@@ -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 fec7884eb25..1ebb9f290b7 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 8895d4d093b..67accf016cc 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 1225021ad37..700547450ec 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 e76cf4988d0..247d18680d9 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 3ed195612de..3af1950f9b1 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";
@@ -8250,6 +8707,7 @@ 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";
@@ -8458,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;
@@ -8667,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;
@@ -8714,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";
@@ -8734,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";
@@ -8752,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 ];
@@ -8766,13 +9307,31 @@ rec {
};
};
+ zope_browserresource = buildPythonPackage rec {
+ name = "zope.browserresource-4.0.1";
- zope_component = buildPythonPackage rec {
- name = "zope.component-4.0.2";
+ 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 = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.0.2.tar.gz";
- md5 = "8c2fd4414ca23cbbe014dcaf911acebc";
+ 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.2.1";
+
+ src = fetchurl {
+ url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.2.1.tar.gz";
+ sha256 = "1gzbr0j6c2h0cqnpi2cjss38wrz1bcwx8xahl3vykgz5laid15l6";
};
propagatedBuildInputs = [
@@ -8790,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 ];
@@ -8806,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
@@ -8826,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 = {
@@ -8854,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 = {
@@ -8907,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 ];
@@ -8923,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 = {
@@ -8937,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 ];
@@ -8953,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 ];
@@ -8976,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 ];
@@ -9010,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;
@@ -9026,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 ];
@@ -9068,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 = [
@@ -9083,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 = {
@@ -9103,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;
@@ -9125,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 ];
@@ -9141,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 ];
@@ -9180,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";
@@ -9235,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";
@@ -9251,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";
@@ -9335,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";
@@ -9520,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";
@@ -9668,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 = {
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index c447587e36e..cfb14429a76 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 ff66756aa8b..07c3126e5ab 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