diff --git a/.mention-bot b/.mention-bot index 40e57f996606..64f0ed854c49 100644 --- a/.mention-bot +++ b/.mention-bot @@ -2,5 +2,9 @@ "userBlacklist": [ "civodul", "jhasse" - ] + ], + "alwaysNotifyForPaths": [ + { "name": "FRidh", "files": ["pkgs/top-level/python-packages.nix", "pkgs/development/interpreters/python/*", "pkgs/development/python-modules/*" ] } + ], + "fileBlacklist": ["pkgs/top-level/all-packages.nix"] } diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md index 18b2fd65f44b..904e3a5069ee 100644 --- a/doc/languages-frameworks/haskell.md +++ b/doc/languages-frameworks/haskell.md @@ -383,7 +383,7 @@ You can select a particular GHC version to compile with by setting the Stack choose what GHC version it wants based on the snapshot specified in `stack.yaml` (only works with Stack >= 1.1.3): - {nixpkgs ? import { }, ghc ? nixpkgs.ghc} + {nixpkgs ? import { }, ghc ? nixpkgs.ghc}: with nixpkgs; diff --git a/doc/languages-frameworks/perl.xml b/doc/languages-frameworks/perl.xml index 54b82f4a0560..dfb463b99912 100644 --- a/doc/languages-frameworks/perl.xml +++ b/doc/languages-frameworks/perl.xml @@ -157,16 +157,16 @@ expression on standard output. For example: $ nix-generate-from-cpan XML::Simple - XMLSimple = buildPerlPackage { - name = "XML-Simple-2.20"; + XMLSimple = buildPerlPackage rec { + name = "XML-Simple-2.22"; src = fetchurl { - url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.20.tar.gz; - sha256 = "5cff13d0802792da1eb45895ce1be461903d98ec97c9c953bc8406af7294434a"; + url = "mirror://cpan/authors/id/G/GR/GRANTM/${name}.tar.gz"; + sha256 = "b9450ef22ea9644ae5d6ada086dc4300fa105be050a2030ebd4efd28c198eb49"; }; propagatedBuildInputs = [ XMLNamespaceSupport XMLSAX XMLSAXExpat ]; meta = { - description = "Easily read/write XML (esp config files)"; - license = "perl"; + description = "An API for simple XML files"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; }; diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 8c29c9b4cf26..4f46636c860b 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -40,6 +40,7 @@ arobyn = "Alexei Robyn "; artuuge = "Artur E. Ruuge "; ashalkhakov = "Artyom Shalkhakov "; + aske = "Kirill Boltaev "; asppsa = "Alastair Pharo "; astsmtl = "Alexander Tsamutali "; aszlig = "aszlig "; @@ -130,6 +131,7 @@ ericsagnes = "Eric Sagnes "; erikryb = "Erik Rybakken "; ertes = "Ertugrul Söylemez "; + ethercrow = "Dmitry Ivanov "; exi = "Reno Reckling "; exlevan = "Alexey Levan "; expipiplus1 = "Joe Hermaszewski "; diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml index b7e47b8729f3..dafbcfcb1e5b 100644 --- a/nixos/doc/manual/configuration/network-manager.xml +++ b/nixos/doc/manual/configuration/network-manager.xml @@ -16,12 +16,22 @@ networking.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. +All users that should have permission to change network settings must +belong to the networkmanager group: + + +users.extraUsers.youruser.extraGroups = [ "networkmanager" ]; + + + +NetworkManager is controlled using either nmcli or +nmtui (curses-based terminal user interface). See their +manual pages for details on their usage. Some desktop environments (GNOME, KDE) +have their own configuration tools for NetworkManager. networking.networkmanager and -networking.wireless can not be enabled at the same time: -you can still connect to the wireless networks using +networking.wireless (WPA Supplicant) cannot be enabled at the same +time: you can still connect to the wireless networks using NetworkManager. diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix index f913b8c33e56..af3d93fc1bc4 100644 --- a/nixos/modules/config/fonts/fonts.nix +++ b/nixos/modules/config/fonts/fonts.nix @@ -11,17 +11,27 @@ with lib; # TODO: find another name for it. fonts = mkOption { type = types.listOf types.path; + default = []; example = literalExample "[ pkgs.dejavu_fonts ]"; description = "List of primary font paths."; }; + enableDefaultFonts = mkOption { + type = types.bool; + default = false; + description = '' + Enable a basic set of fonts providing several font styles + and families and reasonable coverage of Unicode. + ''; + }; + }; }; config = { - fonts.fonts = + fonts.fonts = mkIf config.fonts.enableDefaultFonts [ pkgs.xorg.fontbhlucidatypewriter100dpi pkgs.xorg.fontbhlucidatypewriter75dpi diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 169c86a2eae7..775d0c39c4fa 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -34,10 +34,10 @@ let config.programs.ssh.package pkgs.perl pkgs.procps + pkgs.rsync pkgs.strace pkgs.su pkgs.time - pkgs.texinfoInteractive pkgs.utillinux pkgs.which # 88K size ]; @@ -104,7 +104,6 @@ in "/etc/xdg" "/etc/gtk-2.0" "/etc/gtk-3.0" - "/info" "/lib" # FIXME: remove and update debug-info.nix "/sbin" "/share/applications" @@ -112,7 +111,6 @@ in "/share/doc" "/share/emacs" "/share/icons" - "/share/info" "/share/menus" "/share/mime" "/share/nano" diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index 589a51fa7094..f1d2e69b28cd 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -92,6 +92,7 @@ fi mkdir -m 0755 -p $mountPoint/dev $mountPoint/proc $mountPoint/sys $mountPoint/etc $mountPoint/run $mountPoint/home mkdir -m 01777 -p $mountPoint/tmp mkdir -m 0755 -p $mountPoint/tmp/root +mkdir -m 0755 -p $mountPoint/var mkdir -m 0700 -p $mountPoint/root mount --rbind /dev $mountPoint/dev mount --rbind /proc $mountPoint/proc @@ -168,7 +169,7 @@ if ! NIX_DB_DIR=$mountPoint/nix/var/nix/db nix-store --check-validity @nix@ 2> / for i in $(@perl@/bin/perl @pathsFromGraph@ @nixClosure@); do echo " $i" chattr -R -i $mountPoint/$i 2> /dev/null || true # clear immutable bit - @rsync@/bin/rsync -a $i $mountPoint/nix/store/ + rsync -a $i $mountPoint/nix/store/ done # Register the paths in the Nix closure as valid. This is necessary diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index fc39a653abdc..d73022698901 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -21,7 +21,7 @@ let name = "nixos-install"; src = ./nixos-install.sh; - inherit (pkgs) perl pathsFromGraph rsync; + inherit (pkgs) perl pathsFromGraph; nix = config.nix.package.out; cacert = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; root_uid = config.ids.uids.root; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index dfc1d694e976..c6eec6adb3b7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -66,8 +66,9 @@ ./programs/command-not-found/command-not-found.nix ./programs/dconf.nix ./programs/environment.nix - ./programs/freetds.nix ./programs/fish.nix + ./programs/freetds.nix + ./programs/info.nix ./programs/kbdlight.nix ./programs/light.nix ./programs/man.nix @@ -388,6 +389,7 @@ ./services/networking/prayer.nix ./services/networking/privoxy.nix ./services/networking/prosody.nix + ./services/networking/quagga.nix ./services/networking/quassel.nix ./services/networking/racoon.nix ./services/networking/radicale.nix diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix index c353da227aeb..b047b7063653 100644 --- a/nixos/modules/profiles/minimal.nix +++ b/nixos/modules/profiles/minimal.nix @@ -11,4 +11,7 @@ with lib; # This isn't perfect, but let's expect the user specifies an UTF-8 defaultLocale i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ]; services.nixosManual.enable = mkDefault false; + + programs.man.enable = mkDefault false; + programs.info.enable = mkDefault false; } diff --git a/nixos/modules/programs/info.nix b/nixos/modules/programs/info.nix new file mode 100644 index 000000000000..be6439dca5ad --- /dev/null +++ b/nixos/modules/programs/info.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + + options = { + + programs.info.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable info pages and the info command. + ''; + }; + + }; + + + config = mkIf config.programs.info.enable { + + environment.systemPackages = [ pkgs.texinfoInteractive ]; + + environment.pathsToLink = [ "/info" "/share/info" ]; + + environment.extraOutputsToInstall = [ "info" ]; + + }; + +} diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index cc835081c9f9..b6fd9868f98f 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -56,7 +56,6 @@ in setXAuthLocation = mkOption { type = types.bool; - default = config.services.xserver.enable; description = '' Whether to set the path to xauth for X11-forwarded connections. This causes a dependency on X11 packages. @@ -165,6 +164,9 @@ in config = { + programs.ssh.setXAuthLocation = + mkDefault (config.services.xserver.enable || config.programs.ssh.forwardX11); + assertions = [ { assertion = cfg.forwardX11 -> cfg.setXAuthLocation; message = "cannot enable X11 forwarding without setting XAuth location"; diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix index 1b8b7a79593e..91cd84416921 100644 --- a/nixos/modules/programs/zsh/zsh.nix +++ b/nixos/modules/programs/zsh/zsh.nix @@ -25,7 +25,10 @@ in enable = mkOption { default = false; description = '' - Whether to configure zsh as an interactive shell. + Whether to configure zsh as an interactive shell. To enable zsh for + a particular user, use the + option for that user. To enable zsh system-wide use the + option. ''; type = types.bool; }; diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index ea1064c2d425..7ba25f866f24 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -72,6 +72,8 @@ in (isNO "GRKERNSEC_NO_RBAC") ]; + nixpkgs.config.grsecurity = true; + # Install PaX related utillities into the system profile. environment.systemPackages = with pkgs; [ gradm paxctl pax-utils ]; diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix index e1dca477d70a..fe220c94313f 100644 --- a/nixos/modules/security/setuid-wrappers.nix +++ b/nixos/modules/security/setuid-wrappers.nix @@ -117,6 +117,7 @@ in mkdir -p /run/setuid-wrapper-dirs wrapperDir=$(mktemp --directory --tmpdir=/run/setuid-wrapper-dirs setuid-wrappers.XXXXXXXXXX) + chmod a+rx $wrapperDir ${concatMapStrings makeSetuidWrapper setuidPrograms} @@ -131,7 +132,7 @@ in # Compatibility with old state, just remove the folder and symlink rm -f ${wrapperDir}/* # if it happens to be a tmpfs - umount ${wrapperDir} || true + ${pkgs.utillinux}/bin/umount ${wrapperDir} || true rm -d ${wrapperDir} ln -d --symbolic $wrapperDir ${wrapperDir} else diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix index 0d6ed8eb9043..d30cc5fd7e89 100644 --- a/nixos/modules/services/misc/etcd.nix +++ b/nixos/modules/services/misc/etcd.nix @@ -28,13 +28,13 @@ in { listenClientUrls = mkOption { description = "Etcd list of URLs to listen on for client traffic."; - default = ["http://localhost:4001"]; + default = ["http://127.0.0.1:2379"]; type = types.listOf types.str; }; listenPeerUrls = mkOption { description = "Etcd list of URLs to listen on for peer traffic."; - default = ["http://localhost:7001"]; + default = ["http://127.0.0.1:2380"]; type = types.listOf types.str; }; @@ -46,7 +46,7 @@ in { initialCluster = mkOption { description = "Etcd initial cluster configuration for bootstrapping."; - default = ["${cfg.name}=http://localhost:7001"]; + default = ["${cfg.name}=http://127.0.0.1:2380"]; type = types.listOf types.str; }; @@ -68,6 +68,54 @@ in { type = types.str; }; + clientCertAuth = mkOption { + description = "Whether to use certs for client authentication"; + default = false; + type = types.bool; + }; + + trustedCaFile = mkOption { + description = "Certificate authority file to use for clients"; + default = null; + type = types.nullOr types.path; + }; + + certFile = mkOption { + description = "Cert file to use for clients"; + default = null; + type = types.nullOr types.path; + }; + + keyFile = mkOption { + description = "Key file to use for clients"; + default = null; + type = types.nullOr types.path; + }; + + peerCertFile = mkOption { + description = "Cert file to use for peer to peer communication"; + default = cfg.certFile; + type = types.nullOr types.path; + }; + + peerKeyFile = mkOption { + description = "Key file to use for peer to peer communication"; + default = cfg.keyFile; + type = types.nullOr types.path; + }; + + peerTrustedCaFile = mkOption { + description = "Certificate authority file to use for peer to peer communication"; + default = cfg.trustedCaFile; + type = types.nullOr types.path; + }; + + peerClientCertAuth = mkOption { + description = "Whether to check all incoming peer requests from the cluster for valid client certificates signed by the supplied CA"; + default = false; + type = types.bool; + }; + extraConf = mkOption { description = '' Etcd extra configuration. See @@ -99,7 +147,7 @@ in { wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; - environment = { + environment = (filterAttrs (n: v: v != null) { ETCD_NAME = cfg.name; ETCD_DISCOVERY = cfg.discovery; ETCD_DATA_DIR = cfg.dataDir; @@ -107,7 +155,14 @@ in { ETCD_LISTEN_CLIENT_URLS = concatStringsSep "," cfg.listenClientUrls; ETCD_LISTEN_PEER_URLS = concatStringsSep "," cfg.listenPeerUrls; ETCD_INITIAL_ADVERTISE_PEER_URLS = concatStringsSep "," cfg.initialAdvertisePeerUrls; - } // (optionalAttrs (cfg.discovery == ""){ + ETCD_PEER_TRUSTED_CA_FILE = cfg.peerTrustedCaFile; + ETCD_PEER_CERT_FILE = cfg.peerCertFile; + ETCD_PEER_KEY_FILE = cfg.peerKeyFile; + ETCD_CLIENT_CERT_AUTH = toString cfg.peerClientCertAuth; + ETCD_TRUSTED_CA_FILE = cfg.trustedCaFile; + ETCD_CERT_FILE = cfg.certFile; + ETCD_KEY_FILE = cfg.keyFile; + }) // (optionalAttrs (cfg.discovery == ""){ ETCD_INITIAL_CLUSTER = concatStringsSep "," cfg.initialCluster; ETCD_INITIAL_CLUSTER_STATE = cfg.initialClusterState; ETCD_INITIAL_CLUSTER_TOKEN = cfg.initialClusterToken; diff --git a/nixos/modules/services/networking/quagga.nix b/nixos/modules/services/networking/quagga.nix new file mode 100644 index 000000000000..ac83da920638 --- /dev/null +++ b/nixos/modules/services/networking/quagga.nix @@ -0,0 +1,187 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.quagga; + + services = [ "babel" "bgp" "isis" "ospf6" "ospf" "pim" "rip" "ripng" ]; + allServices = services ++ [ "zebra" ]; + + isEnabled = service: cfg.${service}.enable; + + daemonName = service: if service == "zebra" then service else "${service}d"; + + configFile = service: + let + scfg = cfg.${service}; + in + if scfg.configFile != null then scfg.configFile + else pkgs.writeText "${daemonName service}.conf" + '' + ! Quagga ${daemonName service} configuration + ! + hostname ${config.networking.hostName} + log syslog + service password-encryption + ! + ${scfg.config} + ! + end + ''; + + serviceOptions = service: + { + enable = mkEnableOption "the Quagga ${toUpper service} routing protocol"; + + configFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/etc/quagga/${daemonName service}.conf"; + description = '' + Configuration file to use for Quagga ${daemonName service}. + By default the NixOS generated files are used. + ''; + }; + + config = mkOption { + type = types.lines; + default = ""; + example = + let + examples = { + rip = '' + router rip + network 10.0.0.0/8 + ''; + + ospf = '' + router ospf + network 10.0.0.0/8 area 0 + ''; + + bgp = '' + router bgp 65001 + neighbor 10.0.0.1 remote-as 65001 + ''; + }; + in + examples.${service} or ""; + description = '' + ${daemonName service} configuration statements. + ''; + }; + + vtyListenAddress = mkOption { + type = types.str; + default = "127.0.0.1"; + description = '' + Address to bind to for the VTY interface. + ''; + }; + + vtyListenPort = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + TCP Port to bind to for the VTY interface. + ''; + }; + }; + +in + +{ + + ###### interface + + options.services.quagga = + { + + zebra = (serviceOptions "zebra") // { + + enable = mkOption { + type = types.bool; + default = any isEnabled services; + example = true; + description = '' + Whether to enable the Zebra routing manager. + + The Zebra routing manager is automatically enabled + if any routing protocols are configured. + ''; + }; + + }; + + } // (genAttrs services serviceOptions); + + ###### implementation + + config = mkIf (any isEnabled allServices) { + + environment.systemPackages = [ + pkgs.quagga # for the vtysh tool + ]; + + users.users.quagga = { + description = "Quagga daemon user"; + isSystemUser = true; + group = "quagga"; + }; + + users.groups = { + quagga = {}; + # Members of the quaggavty group can use vtysh to inspect the Quagga daemons + quaggavty = {}; + }; + + systemd.services = + let + quaggaService = service: + let + scfg = cfg.${service}; + daemon = daemonName service; + in + nameValuePair daemon ({ + wantedBy = [ "multi-user.target" ]; + restartTriggers = [ (configFile service) ]; + + serviceConfig = { + Type = "forking"; + PIDFile = "/run/quagga/${daemon}.pid"; + ExecStart = "@${pkgs.quagga}/libexec/quagga/${daemon} ${daemon} -d -f ${configFile service}" + + optionalString (scfg.vtyListenAddress != "") " -A ${scfg.vtyListenAddress}" + + optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + Restart = "on-abort"; + }; + } // ( + if service == "zebra" then + { + description = "Quagga Zebra routing manager"; + unitConfig.Documentation = "man:zebra(8)"; + after = [ "network.target" ]; + preStart = '' + install -m 0755 -o quagga -g quagga -d /run/quagga + + ${pkgs.iproute}/bin/ip route flush proto zebra + ''; + } + else + { + description = "Quagga ${toUpper service} routing daemon"; + unitConfig.Documentation = "man:${daemon}(8) man:zebra(8)"; + bindsTo = [ "zebra.service" ]; + after = [ "network.target" "zebra.service" ]; + } + )); + in + listToAttrs (map quaggaService (filter isEnabled allServices)); + + }; + + meta.maintainers = with lib.maintainers; [ tavyc ]; + +} diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index f900ef494abf..1d15a1419722 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -85,7 +85,7 @@ in forwardX11 = mkOption { type = types.bool; - default = cfgc.setXAuthLocation; + default = false; description = '' Whether to allow X11 connections to be forwarded. ''; @@ -227,6 +227,8 @@ in config = mkIf cfg.enable { + programs.ssh.setXAuthLocation = mkForce cfg.forwardX11; + users.extraUsers.sshd = { isSystemUser = true; description = "SSH privilege separation user"; diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix index 8bcd6f01656d..6c4833afbe8b 100644 --- a/nixos/modules/services/system/dbus.nix +++ b/nixos/modules/services/system/dbus.nix @@ -84,7 +84,7 @@ in config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.dbus.daemon pkgs.dbus_tools ]; + environment.systemPackages = [ pkgs.dbus.daemon pkgs.dbus ]; environment.etc = singleton { source = configDir; @@ -104,7 +104,7 @@ in security.setuidOwners = singleton { program = "dbus-daemon-launch-helper"; - source = "${pkgs.dbus_daemon.out}/libexec/dbus-daemon-launch-helper"; + source = "${pkgs.dbus.daemon}/libexec/dbus-daemon-launch-helper"; owner = "root"; group = "messagebus"; setuid = true; diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix index ea7196fc8733..051d54e932fb 100644 --- a/nixos/modules/services/ttys/agetty.nix +++ b/nixos/modules/services/ttys/agetty.nix @@ -80,8 +80,7 @@ in }; systemd.services."container-getty@" = - { unitConfig.ConditionPathExists = "/dev/pts/%I"; # Work around being respawned when "machinectl login" exits. - serviceConfig.ExecStart = gettyCmd "--noclear --keep-baud pts/%I 115200,38400,9600 $TERM"; + { serviceConfig.ExecStart = gettyCmd "--noclear --keep-baud pts/%I 115200,38400,9600 $TERM"; restartIfChanged = false; }; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index b03f70385b1f..6c6a1e79ed0e 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -654,6 +654,8 @@ in ${xrandrMonitorSections} ''; + fonts.enableDefaultFonts = mkDefault true; + }; } diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index ab7485500261..b79683660c5d 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -677,7 +677,7 @@ in }; systemd.services.systemd-networkd-wait-online = { - before = [ "network-online.target" "ip-up.target" ]; + before = [ "ip-up.target" ]; wantedBy = [ "network-online.target" "ip-up.target" ]; }; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index df72be1b4be5..3fa257f96685 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -14,6 +14,7 @@ let upstreamSystemUnits = [ # Targets. "basic.target" + "busnames.target" "sysinit.target" "sockets.target" "graphical.target" @@ -140,6 +141,7 @@ let "user.slice" "machine.slice" "systemd-machined.service" + "systemd-nspawn@.service" # Temporary file creation / cleanup. "systemd-tmpfiles-clean.service" @@ -727,16 +729,6 @@ in systemd.targets.network-online.after = [ "ip-up.target" ]; - systemd.targets.network-pre = { - wantedBy = [ "network.target" ]; - before = [ "network.target" ]; - }; - - systemd.targets.remote-fs-pre = { - wantedBy = [ "remote-fs.target" ]; - before = [ "remote-fs.target" ]; - }; - systemd.units = mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index 9ab1baeacb98..a66ece1020f8 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -287,7 +287,7 @@ in boot.specialFileSystems = { "/proc" = { fsType = "proc"; options = [ "nosuid" "noexec" "nodev" ]; }; "/sys" = { fsType = "sysfs"; options = [ "nosuid" "noexec" "nodev" ]; }; - "/run" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=755" "size=${config.boot.runSize}" ]; }; + "/run" = { fsType = "tmpfs"; options = [ "nodev" "strictatime" "mode=755" "size=${config.boot.runSize}" ]; }; "/dev" = { fsType = "devtmpfs"; options = [ "nosuid" "strictatime" "mode=755" "size=${config.boot.devSize}" ]; }; "/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; }; "/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "gid=${toString config.ids.gids.tty}" ]; }; diff --git a/nixos/release.nix b/nixos/release.nix index 70a7ba5af89d..a5b4ab5f04cf 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -234,6 +234,7 @@ in rec { tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; }); tests.ec2-nixops = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-nixops; tests.ec2-config = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-config; + tests.ferm = callTest tests/ferm.nix {}; tests.firefox = callTest tests/firefox.nix {}; tests.firewall = callTest tests/firewall.nix {}; tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; }); @@ -279,6 +280,7 @@ in rec { tests.printing = callTest tests/printing.nix {}; tests.proxy = callTest tests/proxy.nix {}; tests.pumpio = callTest tests/pump.io.nix {}; + tests.quagga = callTest tests/quagga.nix {}; tests.quake3 = callTest tests/quake3.nix {}; tests.runInMachine = callTest tests/run-in-machine.nix {}; tests.sddm = callTest tests/sddm.nix {}; diff --git a/nixos/tests/etcd-cluster.nix b/nixos/tests/etcd-cluster.nix new file mode 100644 index 000000000000..3971997a9bf7 --- /dev/null +++ b/nixos/tests/etcd-cluster.nix @@ -0,0 +1,157 @@ +# This test runs simple etcd cluster + +import ./make-test.nix ({ pkgs, ... } : let + + runWithOpenSSL = file: cmd: pkgs.runCommand file { + buildInputs = [ pkgs.openssl ]; + } cmd; + + ca_key = runWithOpenSSL "ca-key.pem" "openssl genrsa -out $out 2048"; + ca_pem = runWithOpenSSL "ca.pem" '' + openssl req \ + -x509 -new -nodes -key ${ca_key} \ + -days 10000 -out $out -subj "/CN=etcd-ca" + ''; + etcd_key = runWithOpenSSL "etcd-key.pem" "openssl genrsa -out $out 2048"; + etcd_csr = runWithOpenSSL "etcd.csr" '' + openssl req \ + -new -key ${etcd_key} \ + -out $out -subj "/CN=etcd" \ + -config ${openssl_cnf} + ''; + etcd_cert = runWithOpenSSL "etcd.pem" '' + openssl x509 \ + -req -in ${etcd_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} \ + -CAcreateserial -out $out \ + -days 365 -extensions v3_req \ + -extfile ${openssl_cnf} + ''; + + etcd_client_key = runWithOpenSSL "etcd-client-key.pem" + "openssl genrsa -out $out 2048"; + + etcd_client_csr = runWithOpenSSL "etcd-client-key.pem" '' + openssl req \ + -new -key ${etcd_client_key} \ + -out $out -subj "/CN=etcd-client" \ + -config ${client_openssl_cnf} + ''; + + etcd_client_cert = runWithOpenSSL "etcd-client.crt" '' + openssl x509 \ + -req -in ${etcd_client_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} -CAcreateserial \ + -out $out -days 365 -extensions v3_req \ + -extfile ${client_openssl_cnf} + ''; + + openssl_cnf = pkgs.writeText "openssl.cnf" '' + ions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = digitalSignature, keyEncipherment + extendedKeyUsage = serverAuth + subjectAltName = @alt_names + [alt_names] + DNS.1 = node1 + DNS.2 = node2 + DNS.3 = node3 + IP.1 = 127.0.0.1 + ''; + + client_openssl_cnf = pkgs.writeText "client-openssl.cnf" '' + ions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = digitalSignature, keyEncipherment + extendedKeyUsage = clientAuth + ''; + + nodeConfig = { + services = { + etcd = { + enable = true; + keyFile = etcd_key; + certFile = etcd_cert; + trustedCaFile = ca_pem; + peerClientCertAuth = true; + listenClientUrls = ["https://127.0.0.1:2379"]; + listenPeerUrls = ["https://0.0.0.0:2380"]; + }; + }; + + environment.variables = { + ETCDCTL_CERT_FILE = "${etcd_client_cert}"; + ETCDCTL_KEY_FILE = "${etcd_client_key}"; + ETCDCTL_CA_FILE = "${ca_pem}"; + ETCDCTL_PEERS = "https://127.0.0.1:2379"; + }; + + networking.firewall.allowedTCPPorts = [ 2380 ]; + }; +in { + name = "etcd"; + + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ offline ]; + }; + + nodes = { + node1 = { config, pkgs, nodes, ... }: { + require = [nodeConfig]; + services.etcd = { + initialCluster = ["node1=https://node1:2380" "node2=https://node2:2380"]; + initialAdvertisePeerUrls = ["https://node1:2380"]; + }; + }; + + node2 = { config, pkgs, ... }: { + require = [nodeConfig]; + services.etcd = { + initialCluster = ["node1=https://node1:2380" "node2=https://node2:2380"]; + initialAdvertisePeerUrls = ["https://node2:2380"]; + }; + }; + + node3 = { config, pkgs, ... }: { + require = [nodeConfig]; + services.etcd = { + initialCluster = ["node1=https://node1:2380" "node2=https://node2:2380" "node3=https://node3:2380"]; + initialAdvertisePeerUrls = ["https://node3:2380"]; + initialClusterState = "existing"; + }; + }; + }; + + testScript = '' + subtest "should start etcd cluster", sub { + $node1->start(); + $node2->start(); + $node1->waitForUnit("etcd.service"); + $node2->waitForUnit("etcd.service"); + $node2->waitUntilSucceeds("etcdctl cluster-health"); + $node1->succeed("etcdctl set /foo/bar 'Hello world'"); + $node2->succeed("etcdctl get /foo/bar | grep 'Hello world'"); + }; + + subtest "should add another member", sub { + $node1->succeed("etcdctl member add node3 https://node3:2380"); + $node3->start(); + $node3->waitForUnit("etcd.service"); + $node3->waitUntilSucceeds("etcdctl member list | grep 'node3'"); + $node3->succeed("etcdctl cluster-health"); + }; + + subtest "should survive member crash", sub { + $node3->crash; + $node1->succeed("etcdctl cluster-health"); + $node1->succeed("etcdctl set /foo/bar 'Hello degraded world'"); + $node1->succeed("etcdctl get /foo/bar | grep 'Hello degraded world'"); + }; + ''; +}) diff --git a/nixos/tests/etcd.nix b/nixos/tests/etcd.nix index bac4ec6a918b..f8a6791a834f 100644 --- a/nixos/tests/etcd.nix +++ b/nixos/tests/etcd.nix @@ -1,111 +1,27 @@ -# This test runs etcd as single node, multy node and using discovery +# This test runs simple etcd node import ./make-test.nix ({ pkgs, ... } : { name = "etcd"; + meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ offline ]; }; nodes = { - simple = - { config, pkgs, nodes, ... }: - { - services.etcd.enable = true; - services.etcd.listenClientUrls = ["http://0.0.0.0:4001"]; - environment.systemPackages = [ pkgs.curl ]; - networking.firewall.allowedTCPPorts = [ 4001 ]; - }; - - - node1 = - { config, pkgs, nodes, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://node1:7001"]; - initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"]; - }; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; - - node2 = - { config, pkgs, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://node2:7001"]; - initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"]; - }; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; - - discovery1 = - { config, pkgs, nodes, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://discovery1:7001"]; - discovery = "http://simple:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/"; - }; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; - - discovery2 = - { config, pkgs, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://discovery2:7001"]; - discovery = "http://simple:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/"; - }; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; + node = { config, pkgs, nodes, ... }: { + services.etcd.enable = true; }; + }; testScript = '' - subtest "single node", sub { - $simple->start(); - $simple->waitForUnit("etcd.service"); - $simple->waitUntilSucceeds("etcdctl set /foo/bar 'Hello world'"); - $simple->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'"); + subtest "should start etcd node", sub { + $node->start(); + $node->waitForUnit("etcd.service"); }; - subtest "multy node", sub { - $node1->start(); - $node2->start(); - $node1->waitForUnit("etcd.service"); - $node2->waitForUnit("etcd.service"); - $node1->waitUntilSucceeds("etcdctl set /foo/bar 'Hello world'"); - $node2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'"); - $node1->shutdown(); - $node2->shutdown(); - }; - - subtest "discovery", sub { - $simple->succeed("curl -X PUT http://localhost:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/_config/size -d value=2"); - - $discovery1->start(); - $discovery2->start(); - $discovery1->waitForUnit("etcd.service"); - $discovery2->waitForUnit("etcd.service"); - $discovery1->waitUntilSucceeds("etcdctl set /foo/bar 'Hello world'"); - $discovery2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'"); - }; + subtest "should write and read some values to etcd", sub { + $node->succeed("etcdctl set /foo/bar 'Hello world'"); + $node->succeed("etcdctl get /foo/bar | grep 'Hello world'"); + } ''; }) diff --git a/nixos/tests/ferm.nix b/nixos/tests/ferm.nix new file mode 100644 index 000000000000..8f2a8c01eebc --- /dev/null +++ b/nixos/tests/ferm.nix @@ -0,0 +1,72 @@ + +import ./make-test.nix ({ pkgs, ...} : { + name = "ferm"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ mic92 ]; + }; + + nodes = + { client = + { config, pkgs, ... }: + with pkgs.lib; + { + networking = { + interfaces.eth1.ip6 = mkOverride 0 [ { address = "fd00::2"; prefixLength = 64; } ]; + interfaces.eth1.ip4 = mkOverride 0 [ { address = "192.168.1.2"; prefixLength = 24; } ]; + }; + }; + server = + { config, pkgs, ... }: + with pkgs.lib; + { + networking = { + interfaces.eth1.ip6 = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ]; + interfaces.eth1.ip4 = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ]; + }; + + services = { + ferm.enable = true; + ferm.config = '' + domain (ip ip6) table filter chain INPUT { + interface lo ACCEPT; + proto tcp dport 8080 REJECT reject-with tcp-reset; + } + ''; + nginx.enable = true; + nginx.httpConfig = '' + server { + listen 80; + listen [::]:80; + listen 8080; + listen [::]:8080; + + location /status { stub_status on; } + } + ''; + }; + }; + }; + + testScript = + '' + startAll; + + $client->waitForUnit("network.target"); + $server->waitForUnit("ferm.service"); + $server->waitForUnit("nginx.service"); + $server->waitUntilSucceeds("ss -ntl | grep -q 80"); + + subtest "port 80 is allowed", sub { + $client->succeed("curl --fail -g http://192.168.1.1:80/status"); + $client->succeed("curl --fail -g http://[fd00::1]:80/status"); + }; + + subtest "port 8080 is not allowed", sub { + $server->succeed("curl --fail -g http://192.168.1.1:8080/status"); + $server->succeed("curl --fail -g http://[fd00::1]:8080/status"); + + $client->fail("curl --fail -g http://192.168.1.1:8080/status"); + $client->fail("curl --fail -g http://[fd00::1]:8080/status"); + }; + ''; +}) diff --git a/nixos/tests/quagga.nix b/nixos/tests/quagga.nix new file mode 100644 index 000000000000..b9644b4768c0 --- /dev/null +++ b/nixos/tests/quagga.nix @@ -0,0 +1,97 @@ +# This test runs Quagga and checks if OSPF routing works. +# +# Network topology: +# [ client ]--net1--[ router1 ]--net2--[ router2 ]--net3--[ server ] +# +# All interfaces are in OSPF Area 0. + +import ./make-test.nix ({ pkgs, ... }: + let + + ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ip4).address; + + ospfConf = '' + interface eth2 + ip ospf hello-interval 1 + ip ospf dead-interval 5 + ! + router ospf + network 192.168.0.0/16 area 0 + ''; + + in + { + name = "quagga"; + + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ tavyc ]; + }; + + nodes = { + + client = + { config, pkgs, nodes, ... }: + { + virtualisation.vlans = [ 1 ]; + networking.defaultGateway = ifAddr nodes.router1 "eth1"; + }; + + router1 = + { config, pkgs, nodes, ... }: + { + virtualisation.vlans = [ 1 2 ]; + boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; + networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospf -j ACCEPT"; + services.quagga.ospf = { + enable = true; + config = ospfConf; + }; + }; + + router2 = + { config, pkgs, nodes, ... }: + { + virtualisation.vlans = [ 3 2 ]; + boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; + networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospf -j ACCEPT"; + services.quagga.ospf = { + enable = true; + config = ospfConf; + }; + }; + + server = + { config, pkgs, nodes, ... }: + { + virtualisation.vlans = [ 3 ]; + networking.defaultGateway = ifAddr nodes.router2 "eth1"; + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.firewall.allowPing = true; + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.com"; + }; + }; + + testScript = + { nodes, ... }: + '' + startAll; + + # Wait for the networking to start on all machines + $_->waitForUnit("network.target") foreach values %vms; + + # Wait for OSPF to form adjacencies + for my $gw ($router1, $router2) { + $gw->waitForUnit("ospfd"); + $gw->waitUntilSucceeds("vtysh -c 'show ip ospf neighbor' | grep Full"); + $gw->waitUntilSucceeds("vtysh -c 'show ip route' | grep '^O>'"); + } + + # Test ICMP. + $client->succeed("ping -c 3 server >&2"); + + # Test whether HTTP works. + $server->waitForUnit("httpd"); + $client->succeed("curl --fail http://server/ >&2"); + ''; + }) diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix index 8e25f01c1bda..0d2e656bae2c 100644 --- a/pkgs/applications/altcoins/default.nix +++ b/pkgs/applications/altcoins/default.nix @@ -27,6 +27,8 @@ rec { namecoin = callPackage ./namecoin.nix { inherit namecoind; }; namecoind = callPackage ./namecoind.nix { }; + ethabi = callPackage ./ethabi.nix { }; + primecoin = callPackage ./primecoin.nix { withGui = true; }; primecoind = callPackage ./primecoin.nix { withGui = false; }; diff --git a/pkgs/applications/altcoins/ethabi.nix b/pkgs/applications/altcoins/ethabi.nix new file mode 100644 index 000000000000..b92a656c0833 --- /dev/null +++ b/pkgs/applications/altcoins/ethabi.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, rustPlatform }: + +with rustPlatform; + +buildRustPackage rec { + name = "ethabi-${version}"; + version = "0.2.1"; + + src = fetchFromGitHub { + owner = "ethcore"; + repo = "ethabi"; + rev = "fbed04984cab0db8767e01054ee16271b8e36281"; + sha256 = "1zgyyg1i5wmz8l1405yg5jmq4ddq530sl7018pkkc7l6cjj3bbhd"; + }; + + depsSha256 = "0srxv0wbhvyflc967lkpd2mx5nk7asx2cbxa0qxvas16wy6vxz52"; + + meta = { + description = "Ethereum function call encoding (ABI) utility"; + homepage = https://github.com/ethcore/ethabi/; + maintainers = [stdenv.lib.maintainers.dbrock]; + inherit version; + }; +} diff --git a/pkgs/applications/audio/airwave/default.nix b/pkgs/applications/audio/airwave/default.nix new file mode 100644 index 000000000000..95f86ad60ad7 --- /dev/null +++ b/pkgs/applications/audio/airwave/default.nix @@ -0,0 +1,89 @@ +{ stdenv, cmake, fetchFromGitHub, file, gcc_multi, libX11, makeWrapper +, overrideCC, qt5, requireFile, unzip, wineStable +}: + +let + + version = "1.3.2"; + + airwave-src = fetchFromGitHub { + owner = "phantom-code"; + repo = "airwave"; + rev = version; + sha256 = "053kkx5yq1vas0qisidkgq0h6hzfwy3677jprjkcrwc4hp2i2v12"; + }; + + stdenv_multi = overrideCC stdenv gcc_multi; + + vst-sdk = stdenv.mkDerivation rec { + name = "vstsdk366_27_06_2016_build_61"; + src = requireFile { + name = "${name}.zip"; + url = "http://www.steinberg.net/en/company/developers.html"; + sha256 = "05gsr13bpi2hhp34rvhllsvmn44rqvmjdpg9fsgfzgylfkz0kiki"; + }; + nativeBuildInputs = [ unzip ]; + installPhase = "cp -r . $out"; + }; + + wine-wow64 = wineStable.override { + wineBuild = "wineWow"; + }; + + wine-xembed = wine-wow64.overrideDerivation (oldAttrs: { + patchFlags = [ "-p2" ]; + patches = [ "${airwave-src}/fix-xembed-wine-windows.patch" ]; + }); + +in + +stdenv_multi.mkDerivation { + name = "airwave-${version}"; + + src = airwave-src; + + nativeBuildInputs = [ cmake makeWrapper ]; + + buildInputs = [ file libX11 qt5.qtbase wine-xembed ]; + + postPatch = '' + # Binaries not used directly should land in libexec/. + substituteInPlace src/common/storage.cpp --replace '"/bin"' '"/libexec"' + + # For airwave-host-32.exe.so, point wineg++ to 32-bit versions of + # these libraries, as $NIX_LDFLAGS contains only 64-bit ones. + substituteInPlace src/host/CMakeLists.txt --replace '-m32' \ + '-m32 -L${wine-xembed}/lib -L${wine-xembed}/lib/wine -L${stdenv_multi.cc.libc.out}/lib/32' + ''; + + # libstdc++.so link gets lost in 64-bit executables during + # shrinking. + dontPatchELF = true; + + cmakeFlags = "-DVSTSDK_PATH=${vst-sdk}"; + + postInstall = '' + mv $out/bin $out/libexec + mkdir $out/bin + mv $out/libexec/airwave-manager $out/bin + wrapProgram $out/libexec/airwave-host-32.exe --set WINELOADER ${wine-xembed}/bin/wine + wrapProgram $out/libexec/airwave-host-64.exe --set WINELOADER ${wine-xembed}/bin/wine64 + ''; + + meta = with stdenv.lib; { + description = "WINE-based VST bridge for Linux VST hosts"; + longDescription = '' + Airwave is a wine based VST bridge, that allows for the use of + Windows 32- and 64-bit VST 2.4 audio plugins with Linux VST + hosts. Due to the use of shared memory, only one extra copying + is made for each data transfer. Airwave also uses the XEMBED + protocol to correctly embed the plugin editor into the host + window. + ''; + homepage = https://github.com/phantom-code/airwave; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ michalrus ]; + hydraPlatforms = []; + }; +} diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix new file mode 100644 index 000000000000..cb2e15bc5b23 --- /dev/null +++ b/pkgs/applications/audio/espeak-ng/default.nix @@ -0,0 +1,35 @@ +{ stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkgconfig +, ronn +, pcaudiolibSupport ? true, pcaudiolib +, sonicSupport ? true, sonic }: + +stdenv.mkDerivation rec { + name = "espeak-ng-${version}"; + version = "2016-08-28"; + + src = fetchFromGitHub { + owner = "espeak-ng"; + repo = "espeak-ng"; + rev = "b784e77c5708b61feed780d8f1113c4c8eb92200"; + sha256 = "1whix4mv0qvsvifgpwwbdzhv621as3rxpn9ijqc2683h6k8pvcfk"; + }; + + nativeBuildInputs = [ autoconf automake which libtool pkgconfig ronn ]; + + buildInputs = lib.optional pcaudiolibSupport pcaudiolib + ++ lib.optional sonicSupport sonic; + + preConfigure = "./autogen.sh"; + + postInstall = '' + patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng + ''; + + meta = with stdenv.lib; { + description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak"; + homepage = "https://github.com/espeak-ng/espeak-ng"; + license = licenses.gpl3; + maintainers = with maintainers; [ aske ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix index 8e9476cd3d82..f22aaa84b891 100644 --- a/pkgs/applications/audio/gpodder/default.nix +++ b/pkgs/applications/audio/gpodder/default.nix @@ -6,11 +6,11 @@ pythonPackages.buildPythonApplication rec { name = "gpodder-${version}"; - version = "3.9.0"; + version = "3.9.1"; src = fetchurl { url = "http://gpodder.org/src/${name}.tar.gz"; - sha256 = "1ik954idi0ldnw0wrv7mm71smyb6x66332jxcaf1dxsl12ccm44l"; + sha256 = "036p9vnkr3if0k548xhhjmcwdaimy3yd24s3xd8vzlp0wdzkzrhn"; }; postPatch = with stdenv.lib; '' diff --git a/pkgs/applications/audio/transcribe/default.nix b/pkgs/applications/audio/transcribe/default.nix new file mode 100644 index 000000000000..55e4b8e00b65 --- /dev/null +++ b/pkgs/applications/audio/transcribe/default.nix @@ -0,0 +1,69 @@ +{ stdenv, fetchzip, lib, makeWrapper, alsaLib, atk, cairo, gdk_pixbuf +, glib, gst_ffmpeg, gst_plugins_bad, gst_plugins_base +, gst_plugins_good, gst_plugins_ugly, gstreamer, gtk2, libSM, libX11 +, libpng12, pango, zlib }: + +stdenv.mkDerivation rec { + name = "transcribe-${version}"; + version = "8.40"; + + src = if stdenv.system == "i686-linux" then + fetchzip { + url = "https://www.seventhstring.com/xscribe/downlinux32_old/xscsetup.tar.gz"; + sha256 = "1ngidmj9zz8bmv754s5xfsjv7v6xr03vck4kigzq4bpc9b1fdhjq"; + } + else if stdenv.system == "x86_64-linux" then + fetchzip { + url = "https://www.seventhstring.com/xscribe/downlinux64_old/xsc64setup.tar.gz"; + sha256 = "0svzi8svj6zn06gj0hr8mpnhq4416dvb4g5al0gpb1g3paywdaf9"; + } + else throw "Platform not supported"; + + nativeBuildInputs = [ makeWrapper ]; + + buildInputs = [ gst_plugins_base gst_plugins_good + gst_plugins_bad gst_plugins_ugly gst_ffmpeg ]; + + dontPatchELF = true; + + libPath = lib.makeLibraryPath [ + stdenv.cc.cc glib gtk2 atk pango cairo gdk_pixbuf alsaLib + libX11 libSM libpng12 gstreamer gst_plugins_base zlib + ]; + + installPhase = '' + mkdir -p $out/bin $out/libexec $out/share/doc + cp transcribe $out/libexec + cp xschelp.htb readme_gtk.html $out/share/doc + cp -r gtkicons $out/share/icons + + ln -s $out/share/doc/xschelp.htb $out/libexec + + patchelf \ + --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ + $out/libexec/transcribe + + wrapProgram $out/libexec/transcribe \ + --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \ + --prefix LD_LIBRARY_PATH : "${libPath}" + + ln -s $out/libexec/transcribe $out/bin/ + ''; + + meta = with stdenv.lib; { + description = "Software to help transcribe recorded music"; + longDescription = '' + The Transcribe! application is an assistant for people who want + to work out a piece of music from a recording, in order to write + it out, or play it themselves, or both. It doesn't do the + transcribing for you, but it is essentially a specialised player + program which is optimised for the purpose of transcription. It + has many transcription-specific features not found on + conventional music players. + ''; + homepage = https://www.seventhstring.com/xscribe/; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ michalrus ]; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix index d119117caebf..a6ccd4f631d5 100644 --- a/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix +++ b/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix @@ -5,8 +5,8 @@ stdenv.mkDerivation (rec { src = fetchgit { url = "https://github.com/ProofGeneral/PG.git"; - rev = "16991280fb09743ae7320aef77f6a166afb907d7"; - sha256 = "1yakjxfz6a09m7lrxff04sj1717gpmhq2bsibd5f9lkp6z0w2i0q"; + rev = "64ca55b1593fff8cfffab89c51d7e92c1a68dc27"; + sha256 = "1gz13fagxf0w2zgp7qd0w328qiv97295jwq7ra8vj61pdfi8xklj"; }; buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive; diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 06573f22a1a5..99c656d75cb3 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -119,6 +119,18 @@ in { clion = buildClion rec { + name = "clion-${version}"; + version = "2016.2.1"; + description = "C/C++ IDE. New. Intelligent. Cross-platform"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz"; + sha256 = "01a8qylfw8bsyywlxgysghjd7d2rlp9x3myd6nqhn7c1803pcks4"; + }; + wmClass = "jetbrains-clion"; + }; + + clion1 = buildClion rec { name = "clion-${version}"; version = "1.2.5"; description = "C/C++ IDE. New. Intelligent. Cross-platform"; @@ -144,12 +156,12 @@ in idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "2016.2"; + version = "2016.2.3"; description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; - sha256 = "164x4l0q31zpc1jh3js1xx9y6afrzsshmnkx1mwhmq8qmvzc4w32"; + sha256 = "014fddfxzc8nwhp1nz8mb9p7zwk73azvlgmzy2jd9ypfwi3dwgrs"; }; wmClass = "jetbrains-idea-ce"; }; @@ -180,17 +192,29 @@ in idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "2016.2.2"; + version = "2016.2.3"; description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz"; - sha256 = "1z5kr47n3hhx0ck163193lwlh76sykgchnq9hw1ihi25n6655j1z"; + sha256 = "1y8y3kav4icpsb85p5csag6f16jqg4gnvagsl5k1c793ccbl63yk"; }; wmClass = "jetbrains-idea"; }; ruby-mine = buildRubyMine rec { + name = "ruby-mine-${version}"; + version = "2016.2.2"; + description = "The Most Intelligent Ruby and Rails IDE"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; + sha256 = "1ck4axjbrvq2n1j2rvf9a2f7dqvalg2b8sqy9n9qkzdn04szaqsl"; + }; + wmClass = "jetbrains-rubymine"; + }; + + ruby-mine7 = buildRubyMine rec { name = "ruby-mine-${version}"; version = "7.1.5"; description = "The Most Intelligent Ruby and Rails IDE"; @@ -202,31 +226,55 @@ in wmClass = "jetbrains-rubymine"; }; + ruby-mine8 = buildRubyMine rec { + name = "ruby-mine-${version}"; + version = "8.0.4"; + description = "The Most Intelligent Ruby and Rails IDE"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; + sha256 = "0hipxib7377232w1jbf8h98bmh0djkllsrq3lq0w3fdxqglma43a"; + }; + wmClass = "jetbrains-rubymine"; + }; + pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "2016.1.3"; + version = "2016.2.2"; description = "PyCharm Community Edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "1ks7crrfnhzkdxban2hh2pnr986vqwmac5zybmb1ighcyamhdi4q"; + sha256 = "1v6vy4xh0n8wdjc25clxg57z7ria11x1zdba4j1hjs2z6l80kxbb"; }; wmClass = "jetbrains-pycharm-ce"; }; pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "2016.1.3"; + version = "2016.2.2"; description = "PyCharm Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "1rn0i5qbvfjbl4v571ngmyslispibcq5ab0fb7xjl38vr1y417f2"; + sha256 = "08x2x6lhr9100lmw1dq8rkz4mlyj4avcj2hpbd5qqybx9j4g6g44"; }; wmClass = "jetbrains-pycharm"; }; phpstorm = buildPhpStorm rec { + name = "phpstorm-${version}"; + version = "2016.2.1"; + description = "Professional IDE for Web and PHP developers"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz"; + sha256 = "0vgr0ds6z0y8qw2v55nr3pi5zb5x0n6pxm13hcp44iradns5kmbp"; + }; + wmClass = "jetbrains-phpstorm"; + }; + + phpstorm10 = buildPhpStorm rec { name = "phpstorm-${version}"; version = "10.0.4"; description = "Professional IDE for Web and PHP developers"; @@ -239,6 +287,18 @@ in }; webstorm = buildWebStorm rec { + name = "webstorm-${version}"; + version = "2016.2.2"; + description = "Professional IDE for Web and JavaScript development"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; + sha256 = "0n2fvhjasklshyfcbwwn6wahzld8x65bid08245awdqv33p87bq6"; + }; + wmClass = "jetbrains-webstorm"; + }; + + webstorm10 = buildWebStorm rec { name = "webstorm-${version}"; version = "10.0.5"; description = "Professional IDE for Web and JavaScript development"; @@ -250,4 +310,15 @@ in wmClass = "jetbrains-webstorm"; }; + webstorm11 = buildWebStorm rec { + name = "webstorm-${version}"; + version = "11.0.4"; + description = "Professional IDE for Web and JavaScript development"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; + sha256 = "17agyqdyz6naxyx6p0y240ar93gja0ypw01nm2qmfzvh7ch03r24"; + }; + wmClass = "jetbrains-webstorm"; + }; } diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index f204114a5813..f5987684c002 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -1,14 +1,16 @@ -{ stdenv, fetchurl, unzip, ftgl, glew, asciidoc +{ stdenv, fetchFromGitHub, unzip, ftgl, glew, asciidoc , cmake, mesa, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff , gettext, intltool, perl, gtkmm, glibmm, gtkglext, pangox_compat, libXmu }: stdenv.mkDerivation rec { - version = "0.8.0.3"; + version = "0.8.0.5"; name = "k3d-${version}"; - src = fetchurl { - url = "https://github.com/K-3D/k3d/archive/${name}.zip"; - sha256 = "09ywwvlk8hh1357pnal96kc40ma4jq7776hqk0609rgz13s6babp"; + src = fetchFromGitHub { + owner = "K-3D"; + repo = "k3d"; + rev = name; + sha256 = "0q05d51vhnmrq887n15frpwkhx8w7n20h2sc1lpr338jzpryihb3"; }; cmakeFlags = "-DK3D_BUILD_DOCS=false -DK3D_BUILD_GUIDE=false"; diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix index 410f56c2299b..3b1b9faa574c 100644 --- a/pkgs/applications/misc/josm/default.nix +++ b/pkgs/applications/misc/josm/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "josm-${version}"; - version = "9979"; + version = "10786"; src = fetchurl { url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; - sha256 = "0zy88f4h71qyj7vlhiwnayaaz50gg6bj5pfypy43ghmjrh01d9vh"; + sha256 = "1dlb33nw8idipshiqy5p9vssdnkra3z2ixfixkj017b8wxdzvjpn"; }; phases = [ "installPhase" ]; diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix index db0980fa965f..58d95d3b3fa2 100644 --- a/pkgs/applications/misc/lyx/default.nix +++ b/pkgs/applications/misc/lyx/default.nix @@ -29,8 +29,6 @@ stdenv.mkDerivation rec { # python is run during runtime to do various tasks postFixup = '' - sed '1s:/usr/bin/python:${python}/bin/python:' - wrapProgram "$out/bin/lyx" \ --prefix PATH : '${python}/bin' ''; diff --git a/pkgs/applications/misc/osmctools/default.nix b/pkgs/applications/misc/osmctools/default.nix new file mode 100644 index 000000000000..bb4719639ab9 --- /dev/null +++ b/pkgs/applications/misc/osmctools/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, zlib } : + +stdenv.mkDerivation rec { + name = "osmctools-${version}"; + version = "0.8.5"; + + src = fetchurl { + url = http://m.m.i24.cc/osmconvert.c; + sha256 = "9da0940912d1bc62223b962483fd796f92c959c48749806aee5806164e5875d7"; + }; + + buildInputs = [ zlib ]; + + phases = [ "buildPhase" "installPhase" ]; + + buildPhase = '' + cc $src -lz -O3 -o osmconvert + ''; + + installPhase = '' + mkdir -p $out/bin + mv osmconvert $out/bin + ''; + + meta = with stdenv.lib; { + description = "Converter between various Open Street Map file formats"; + homepage = http://wiki.openstreetmap.org/wiki/Osmconvert; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix index 06ae708db2bc..c38b97b0e980 100644 --- a/pkgs/applications/misc/twmn/default.nix +++ b/pkgs/applications/misc/twmn/default.nix @@ -16,8 +16,12 @@ stdenv.mkDerivation rec { ''; installPhase = '' + runHook preInstall + mkdir -p "$out/bin" cp bin/* "$out/bin" + + runHook postInstall ''; meta = { diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 490823860b10..3a62270afcf9 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, unzip, buildPythonApplication, makeQtWrapper, wrapGAppsHook -, qtbase, pyqt5, jinja2, pygments, pyyaml, pypeg2, glib_networking +, qtbase, pyqt5, jinja2, pygments, pyyaml, pypeg2, cssutils, glib_networking , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2, libxslt , gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav , qtwebkit-plugins }: @@ -46,7 +46,7 @@ in buildPythonApplication rec { ]; propagatedBuildInputs = [ - pyyaml pyqt5 jinja2 pygments pypeg2 + pyyaml pyqt5 jinja2 pygments pypeg2 cssutils ]; postPatch = '' diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index d66209a6d204..72b38a00e0e2 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "terraform-${version}"; - version = "0.7.1"; + version = "0.7.2"; rev = "v${version}"; goPackagePath = "github.com/hashicorp/terraform"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "hashicorp"; repo = "terraform"; - sha256 = "1nvz4nqkn8pl25zyw7x5079dbzmwdxsar9gbcjk1srfpa746j1y4"; + sha256 = "002jg4iwg4g4hkg4hm3szlkyagqzipln3l44b8azh1a7vh1m8cp2"; }; postInstall = '' diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index b98e7eea14b5..4e6be596fbaf 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -23,11 +23,11 @@ let # NOTE: When updating, please also update in current stable, # as older versions stop working - version = "8.4.21"; + version = "9.4.49"; sha256 = { - "x86_64-linux" = "1nihmr99mzyjhhdlg39j6g0m6hqgdz80lgrjdw1nnh38vq4fgbnq"; - "i686-linux" = "09jfdc8isjcpvgnvfykawlvdq65ng0dg6b54m4vdswk58ggndvlq"; + "x86_64-linux" = "0gkm4jhcn3pqaizmki98rbqb7mqyf6mjgmpslas1wr94q5msyrpd"; + "i686-linux" = "08h5jxan6l9h4zfmvc5q2652dyplih2avayy8f9h8mppirpg68px"; }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); arch = diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix index d442addaeaa4..78814fcb4b22 100644 --- a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix +++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix @@ -26,7 +26,7 @@ in stdenv.mkDerivation rec { ''; buildPhase = '' - ${python.interpreter}setup.py build + ${python.interpreter} setup.py build ''; installPhase = '' diff --git a/pkgs/applications/networking/tcpkali/default.nix b/pkgs/applications/networking/tcpkali/default.nix new file mode 100644 index 000000000000..d28c162874ec --- /dev/null +++ b/pkgs/applications/networking/tcpkali/default.nix @@ -0,0 +1,21 @@ +{stdenv, autoreconfHook, fetchFromGitHub, bison}: + +let version = "0.9"; in + +stdenv.mkDerivation rec { + name = "tcpkali-${version}"; + src = fetchFromGitHub { + owner = "machinezone"; + repo = "tcpkali"; + rev = "v${version}"; + sha256 = "03cbmnc60wkd7f4bapn5cbm3c4zas2l0znsbpci2mn8ms8agif82"; + }; + buildInputs = [autoreconfHook bison]; + meta = { + description = "High performance TCP and WebSocket load generator and sink"; + license = stdenv.lib.licenses.bsd2; + inherit (src.meta) homepage; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ ethercrow ]; + }; +} diff --git a/pkgs/applications/office/ledger-web/Gemfile b/pkgs/applications/office/ledger-web/Gemfile new file mode 100644 index 000000000000..77e8024da3a3 --- /dev/null +++ b/pkgs/applications/office/ledger-web/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'ledger_web' diff --git a/pkgs/applications/office/ledger-web/Gemfile.lock b/pkgs/applications/office/ledger-web/Gemfile.lock new file mode 100644 index 000000000000..2c94c53ebc99 --- /dev/null +++ b/pkgs/applications/office/ledger-web/Gemfile.lock @@ -0,0 +1,61 @@ +GEM + remote: https://rubygems.org/ + specs: + backports (3.6.8) + database_cleaner (1.5.3) + diff-lcs (1.2.5) + directory_watcher (1.5.1) + ledger_web (1.5.2) + database_cleaner + directory_watcher (~> 1.5.1) + pg + rack (>= 1.3.6) + rspec + sequel + sinatra + sinatra-contrib + sinatra-session + multi_json (1.12.1) + pg (0.18.4) + rack (1.6.4) + rack-protection (1.5.3) + rack + rack-test (0.6.3) + rack (>= 1.0) + rspec (3.5.0) + rspec-core (~> 3.5.0) + rspec-expectations (~> 3.5.0) + rspec-mocks (~> 3.5.0) + rspec-core (3.5.2) + rspec-support (~> 3.5.0) + rspec-expectations (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-mocks (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-support (3.5.0) + sequel (4.37.0) + sinatra (1.4.7) + rack (~> 1.5) + rack-protection (~> 1.4) + tilt (>= 1.3, < 3) + sinatra-contrib (1.4.7) + backports (>= 2.0) + multi_json + rack-protection + rack-test + sinatra (~> 1.4.0) + tilt (>= 1.3, < 3) + sinatra-session (1.0.0) + sinatra (>= 1.0) + tilt (2.0.5) + +PLATFORMS + ruby + +DEPENDENCIES + ledger_web (= 1.5.2) + +BUNDLED WITH + 1.12.5 diff --git a/pkgs/applications/office/ledger-web/default.nix b/pkgs/applications/office/ledger-web/default.nix new file mode 100644 index 000000000000..b7ba10a730f7 --- /dev/null +++ b/pkgs/applications/office/ledger-web/default.nix @@ -0,0 +1,52 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper, bundlerEnv, ruby +, withPostgresql ? true, postgresql +, withSqlite ? false, sqlite +}: + +let + _name = "ledger-web"; + cmd = "ledger_web"; + + env = bundlerEnv { + name = _name; + inherit ruby; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = ./gemset.nix; + meta = with lib; { + homepage = https://github.com/peterkeen/ledger-web; + platforms = platforms.linux; + maintainers = [ peterhoeg ]; + license = licenses.mit; + }; + }; + +in stdenv.mkDerivation rec { + name = "${_name}-${version}"; + version = "1.5.2"; + + buildInputs = [ env ruby makeWrapper ] + ++ lib.optional withPostgresql postgresql + ++ lib.optional withSqlite sqlite; + + src = fetchFromGitHub { + owner = "peterkeen"; + repo = _name; + rev = "v${version}"; + sha256 = "0an4d46h3pp7a8s96jl0dnw1imwdgnb2j474b9wrbidwc6cmfrm7"; + }; + + dontStrip = true; + + installPhase = '' + mkdir -p $out + + cp --no-preserve=mode -r bin lib $out + + chmod 0755 $out/bin/${cmd} + + wrapProgram $out/bin/${cmd} \ + --set BUNDLE_BIN ${env.bundler}/bin/bundle \ + --set GEM_PATH ${env}/${env.ruby.gemPath} + ''; +} diff --git a/pkgs/applications/office/ledger-web/gemset.nix b/pkgs/applications/office/ledger-web/gemset.nix new file mode 100644 index 000000000000..62e2ad54847d --- /dev/null +++ b/pkgs/applications/office/ledger-web/gemset.nix @@ -0,0 +1,164 @@ +{ + backports = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zcgqw7m7jb8n7b2jwla5cq0nw9wsgddxfmn0a9v89ihzd4i1a5k"; + type = "gem"; + }; + version = "3.6.8"; + }; + database_cleaner = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj"; + type = "gem"; + }; + version = "1.5.3"; + }; + diff-lcs = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"; + type = "gem"; + }; + version = "1.2.5"; + }; + directory_watcher = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fwc2shba7vks262ind74y3g76qp7znjq5q8b2dvza0yidgywhcq"; + type = "gem"; + }; + version = "1.5.1"; + }; + ledger_web = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i4vagaiyayymlr41rsy4lg2cl1r011ib0ql9dgjadfy6imb4kqh"; + type = "gem"; + }; + version = "1.5.2"; + }; + multi_json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk"; + type = "gem"; + }; + version = "1.12.1"; + }; + pg = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32"; + type = "gem"; + }; + version = "0.18.4"; + }; + rack = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5"; + type = "gem"; + }; + version = "1.6.4"; + }; + rack-protection = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r"; + type = "gem"; + }; + version = "1.5.3"; + }; + rack-test = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; + type = "gem"; + }; + version = "0.6.3"; + }; + rspec = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-core = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12yndf7y6g3s1306bv1aycsmd0gjy5m172spdhx54svca2fcpzy1"; + type = "gem"; + }; + version = "3.5.2"; + }; + rspec-expectations = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-mocks = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-support = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0"; + type = "gem"; + }; + version = "3.5.0"; + }; + sequel = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11vdpr3r4dwhcan16gs4gjm2k21y9qz7ri5w2zz54pmnxp499cjw"; + type = "gem"; + }; + version = "4.37.0"; + }; + sinatra = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b81kbr65mmcl9cdq2r6yc16wklyp798rxkgmm5pr9fvsj7jwmxp"; + type = "gem"; + }; + version = "1.4.7"; + }; + sinatra-contrib = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vi3i0icbi2figiayxpvxbqpbn1syma7w4p4zw5mav1ln4c7jnfr"; + type = "gem"; + }; + version = "1.4.7"; + }; + sinatra-session = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "183xl8i4d2hc03afd1i52gwn2xi3vzrv02g22llhfy5wkmm44gmq"; + type = "gem"; + }; + version = "1.0.0"; + }; + tilt = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lgk8bfx24959yq1cn55php3321wddw947mgj07bxfnwyipy9hqf"; + type = "gem"; + }; + version = "2.0.5"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 40983c918acd..caf500d2b97c 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -268,5 +268,6 @@ in stdenv.mkDerivation rec { maintainers = with maintainers; [ viric raskin ]; platforms = platforms.linux; hydraPlatforms = []; + requiredSystemFeatures = [ "big-parallel" ]; }; } diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix index d873ca0a02f0..681870ac4caa 100644 --- a/pkgs/applications/office/libreoffice/still.nix +++ b/pkgs/applications/office/libreoffice/still.nix @@ -271,5 +271,6 @@ in stdenv.mkDerivation rec { license = licenses.lgpl3; maintainers = with maintainers; [ viric raskin ]; platforms = platforms.linux; + requiredSystemFeatures = [ "big-parallel" ]; }; } diff --git a/pkgs/applications/science/biology/minc-tools/default.nix b/pkgs/applications/science/biology/minc-tools/default.nix index 41813dcda149..aae0cf40cee3 100644 --- a/pkgs/applications/science/biology/minc-tools/default.nix +++ b/pkgs/applications/science/biology/minc-tools/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ]; checkPhase = "ctest"; - doCheck = true; + doCheck = false; meta = with stdenv.lib; { homepage = https://github.com/BIC-MNI/minc-tools; diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix index fcbd13566657..0e16e1fb3050 100644 --- a/pkgs/applications/science/math/geogebra/default.nix +++ b/pkgs/applications/science/math/geogebra/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "geogebra-${version}"; - version = "5.0.265.0"; + version = "5.0.271.0"; preferLocalBuild = true; src = fetchurl { url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"; - sha256 = "74e5abfa098ee0fc464cd391cd3ef6db474ff25e8ea4fbcd82c4b4b5d3d5c459"; + sha256 = "5dd5be1cde27c9b567f79c38048045864064b69c0d2b469ae93e1fca5f543475"; }; srcIcon = fetchurl { diff --git a/pkgs/applications/science/misc/openmodelica/default.nix b/pkgs/applications/science/misc/openmodelica/default.nix index 8b413f20b1e9..fd39f61c8633 100644 --- a/pkgs/applications/science/misc/openmodelica/default.nix +++ b/pkgs/applications/science/misc/openmodelica/default.nix @@ -22,6 +22,8 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; + enableParallelBuilding = true; + patchPhase = '' cp -fv ${fakegit}/bin/checkout-git.sh libraries/checkout-git.sh cp -fv ${fakegit}/bin/checkout-svn.sh libraries/checkout-svn.sh 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 4eea75ad4ef8..9cbc596bbb1a 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -10,7 +10,7 @@ }: let - version = "2.9.3"; + version = "2.10.0"; svn = subversionClient.override { perlBindings = true; }; in @@ -19,7 +19,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "0qzs681a64k3shh5p0rg41l1z16fbk5sj0xga45k34hp1hsp654z"; + sha256 = "1rr9zyafb6q3wixyjar6cc7z7vdh1dqa4b5irz3gz1df02n68cy7"; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch b/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch index 8e3ee2bce896..97f50064bc3f 100644 --- a/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch +++ b/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch @@ -1,11 +1,9 @@ -diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh -index e6c3116..4e34a2c 100644 --- a/git-sh-i18n.sh +++ b/git-sh-i18n.sh -@@ -15,69 +15,11 @@ else +@@ -15,87 +15,11 @@ fi export TEXTDOMAINDIR - + -# First decide what scheme to use... -GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough -if test -n "@@USE_GETTEXT_SCHEME@@" @@ -44,6 +42,13 @@ index e6c3116..4e34a2c 100644 - git sh-i18n--envsubst "$1" - ) - } +- +- eval_ngettext () { +- ngettext "$1" "$2" "$3" | ( +- export PATH $(git sh-i18n--envsubst --variables "$2"); +- git sh-i18n--envsubst "$2" +- ) +- } - ;; -poison) - # Emit garbage so that tests that incorrectly rely on translatable @@ -55,24 +60,35 @@ index e6c3116..4e34a2c 100644 - eval_gettext () { - printf "%s" "# GETTEXT POISON #" - } +- +- eval_ngettext () { +- printf "%s" "# GETTEXT POISON #" +- } - ;; -*) - gettext () { - printf "%s" "$1" - } -+# GNU gettext -+export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu -+export PATH=@gettext@/bin:$PATH - +- - eval_gettext () { - printf "%s" "$1" | ( - export PATH $(git sh-i18n--envsubst --variables "$1"); - git sh-i18n--envsubst "$1" - ) - } ++# GNU gettext ++export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu ++export PATH=@gettext@/bin:$PATH + +- eval_ngettext () { +- (test "$3" = 1 && printf "%s" "$1" || printf "%s" "$2") | ( +- export PATH $(git sh-i18n--envsubst --variables "$2"); +- git sh-i18n--envsubst "$2" +- ) +- } - ;; -esac +. @gettext@/bin/gettext.sh - + # Git-specific wrapper functions gettextln () { diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix index a1ae5e732d9b..ff21271956b3 100644 --- a/pkgs/applications/version-management/git-and-tools/hub/default.nix +++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "hub-${version}"; - version = "2.2.3"; + version = "2.2.5"; src = fetchgit { url = https://github.com/github/hub.git; rev = "refs/tags/v${version}"; - sha256 = "1vswkx4lm6x4s04453qkmv970gjn79ma39fmdg8mnzy7lh2swws6"; + sha256 = "13pab3r2ngac2kljy9jb4lz3g3d6smkwydlx23ydjvyjbg2zb75r"; }; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p "$out/bin" - cp hub "$out/bin/" + cp bin/hub "$out/bin/" mkdir -p "$out/share/man/man1" cp "man/hub.1" "$out/share/man/man1/" diff --git a/pkgs/applications/window-managers/i3/pystatus.nix b/pkgs/applications/window-managers/i3/pystatus.nix index 8754a14d4a43..68e77a54b5ad 100644 --- a/pkgs/applications/window-managers/i3/pystatus.nix +++ b/pkgs/applications/window-managers/i3/pystatus.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { name = "${pname}-${version}"; - version = "3.34"; + version = "3.35"; pname = "i3pystatus"; disabled = !python3Packages.isPy3k; src = fetchurl { url = "mirror://pypi/i/${pname}/${name}.tar.gz"; - sha256 = "1bpkkf9q4zqq7fh65zynbv26nq24rfznmw71jjvda7g8kjrwjdk5"; + sha256 = "0g5m05rbqvq1qrspm6fyzky9xfhaz5pvc4hfzgdxrzijn8nfc860"; }; propagatedBuildInputs = with python3Packages; [ keyring colour netifaces praw psutil basiciw ] ++ diff --git a/pkgs/applications/window-managers/orbment/default.nix b/pkgs/applications/window-managers/orbment/default.nix index e7cbd004087e..8071bc4bb426 100644 --- a/pkgs/applications/window-managers/orbment/default.nix +++ b/pkgs/applications/window-managers/orbment/default.nix @@ -1,55 +1,29 @@ -{ lib, stdenv, fetchurl, makeWrapper, cmake, pkgconfig -, wlc, dbus_libs, wayland, libxkbcommon, pixman, libinput, udev, zlib, libpng, libdrm, libX11 +{ lib, stdenv, fetchgit, cmake, pkgconfig +, wlc, dbus_libs, wayland, libxkbcommon, pixman, libinput, udev, zlib, libpng +, libdrm, libX11 }: stdenv.mkDerivation rec { name = "orbment-${version}"; - version = "git-2016-01-31"; - repo = "https://github.com/Cloudef/orbment"; - rev = "7f649fb76649f826dd29578a5ec41bb561b116eb"; + version = "git-2016-08-13"; - chck_repo = "https://github.com/Cloudef/chck"; - chck_rev = "fe5e2606b7242aa5d89af2ea9fd048821128d2bc"; - inihck_repo = "https://github.com/Cloudef/inihck"; - inihck_rev = "462cbd5fd67226714ac2bdfe4ceaec8e251b2d9c"; - - srcs = [ - (fetchurl { - url = "${repo}/archive/${rev}.tar.gz"; - sha256 = "5a426da0d5f4487911cfe9226865ed0cd1a7cdf253eec19d5eadc4b0d14a2ea0"; - }) - (fetchurl { - url = "${chck_repo}/archive/${chck_rev}.tar.gz"; - sha256 = "ca316b544c48e837c32f08d613be42da10e0a3251e8e4488d1848b91ef92ab9e"; - }) - (fetchurl { - url = "${inihck_repo}/archive/${inihck_rev}.tar.gz"; - sha256 = "d21f2ac25eafed285614f5f0ef7a1014d629ba382f4e64bc89fe2c3e98c2777f"; - }) - ]; - - sourceRoot = "orbment-${rev}"; - postUnpack = '' - rm -rf orbment-${rev}/lib/chck orbment-${rev}/lib/inihck - ln -s ../../chck-${chck_rev} orbment-${rev}/lib/chck - ln -s ../../inihck-${inihck_rev} orbment-${rev}/lib/inihck - ''; + src = fetchgit { + url = "https://github.com/Cloudef/orbment"; + rev = "01dcfff9719e20261a6d8c761c0cc2f8fa0d0de5"; + sha256 = "04mv9nh847vijr01zrs47fzmnwfhdx09vi3ddv843mx10yx7lqdb"; + fetchSubmodules = true; + }; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ makeWrapper wlc dbus_libs wayland libxkbcommon pixman libinput udev zlib libpng libX11 libdrm ]; - makeFlags = "PREFIX=$(out)"; - installPhase = "PREFIX=$out make install"; - - LD_LIBRARY_PATH = lib.makeLibraryPath [ libX11 libdrm dbus_libs ]; - preFixup = '' - wrapProgram $out/bin/orbment \ - --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"; - ''; + buildInputs = [ + wlc dbus_libs wayland libxkbcommon pixman libinput udev zlib libpng libX11 + libdrm + ]; meta = { description = "Modular Wayland compositor"; - homepage = repo; + homepage = src.url; license = lib.licenses.mit; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ ]; diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix index 62b0b9c11eab..df4a33fbd461 100644 --- a/pkgs/applications/window-managers/sway/default.nix +++ b/pkgs/applications/window-managers/sway/default.nix @@ -4,7 +4,7 @@ }: let - version = "0.8"; + version = "0.9"; in stdenv.mkDerivation rec { name = "sway-${version}"; @@ -13,7 +13,7 @@ in owner = "Sircmpwn"; repo = "sway"; rev = "${version}"; - sha256 = "10i62cn1z7fwg0jwkskmzcaha39lprkl4zvkp59jr5wvpjligdq3"; + sha256 = "0qqqg23rknxnjcgvkfrx3pijqc3dvi74qmmavq07vy2qfs1xlwg0"; }; nativeBuildInputs = [ makeWrapper cmake pkgconfig asciidoc libxslt docbook_xsl ]; diff --git a/pkgs/build-support/emacs/buffer.nix b/pkgs/build-support/emacs/buffer.nix new file mode 100644 index 000000000000..2f7f536d5e75 --- /dev/null +++ b/pkgs/build-support/emacs/buffer.nix @@ -0,0 +1,20 @@ +# Functions to build elisp files to locally configure emcas buffers. +# See https://github.com/shlevy/nix-buffer + +{ runCommand }: + +{ + withPackages = pkgs: runCommand "dir-locals.el" { inherit pkgs; } '' + echo "(make-local-variable 'process-environment)" >> $out + echo "(setenv \"PATH\" (concat" >> $out + for pkg in $pkgs; do + echo " \"$pkg/bin:$pkg/sbin\"" >> $out + done + echo " (getenv \"PATH\")))" >> $out + echo -n "(setq-local exec-path (append '(" >> $out + for pkg in $pkgs; do + echo -en "\n \"$pkg/bin\" \"$pkg/sbin\"" >> $out + done + echo -e ")\\n exec-path))" >> $out + ''; +} diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 5b407f530dc8..07ea6f6e76b6 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -123,8 +123,9 @@ rec { mkdir -p /fs/dev mount -o bind /dev /fs/dev - mkdir -p /fs/dev /fs/dev/shm + mkdir -p /fs/dev/shm /fs/dev/pts mount -t tmpfs -o "mode=1777" none /fs/dev/shm + mount -t devpts none /fs/dev/pts echo "mounting Nix store..." mkdir -p /fs/nix/store @@ -261,9 +262,12 @@ rec { exit 1 fi - eval "$postVM" + exitCode="$(cat xchg/in-vm-exit)" + if [ "$exitCode" != "0" ]; then + exit "$exitCode" + fi - exit $(cat xchg/in-vm-exit) + eval "$postVM" ''; diff --git a/pkgs/data/fonts/fira-code/default.nix b/pkgs/data/fonts/fira-code/default.nix index 0cd18bb88206..86dd001374fa 100644 --- a/pkgs/data/fonts/fira-code/default.nix +++ b/pkgs/data/fonts/fira-code/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "fira-code-${version}"; - version = "1.200"; + version = "1.201"; src = fetchurl { url = "https://github.com/tonsky/FiraCode/releases/download/${version}/FiraCode_${version}.zip"; - sha256 = "1zja7fsfh3xx2qv9wv46997d02l5nm483b5s39jpmxfracj8qam7"; + sha256 = "11hwpdqj41wvzc8l8zgfb132cxn8kxpxbgiqc2kinc25x2l1ikji"; }; sourceRoot = "otf"; diff --git a/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix index a126cd53432e..1732b81f0704 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix @@ -22,5 +22,5 @@ stdenv.mkDerivation { configureFlags = [ "--disable-scrollkeeper" "--disable-introspection"/*not useful AFAIK*/ ]; - NIX_CFLAGS_COMPILE="-I${GConf}/include/gconf/2"; + NIX_CFLAGS_COMPILE="-I${GConf.dev}/include/gconf/2"; } diff --git a/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix index 100dfbf3acec..161b45d6f6bf 100644 --- a/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix +++ b/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix @@ -45,5 +45,6 @@ in stdenv.mkDerivation rec { maintainers = gnome3.maintainers; license = licenses.lgpl2Plus; platforms = platforms.linux; + requiredSystemFeatures = [ "big-parallel" ]; }; } diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix index b9356f0aa4b8..565215f474ea 100644 --- a/pkgs/development/compilers/ghcjs/default.nix +++ b/pkgs/development/compilers/ghcjs/default.nix @@ -19,6 +19,7 @@ , haddock-api , ghcjs-prim , regex-posix +, callPackage , bootPkgs, gmp , jailbreak-cabal @@ -128,7 +129,7 @@ in mkDerivation (rec { --with-gmp-libraries ${gmp.out}/lib ''; passthru = let - ghcjsNodePkgs = pkgs.nodePackages.override { + ghcjsNodePkgs = callPackage ../../../top-level/node-packages.nix { generated = ./node-packages-generated.nix; self = ghcjsNodePkgs; }; diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix index 08f0d7e06b13..08958a42b44f 100644 --- a/pkgs/development/compilers/ispc/default.nix +++ b/pkgs/development/compilers/ispc/default.nix @@ -1,10 +1,14 @@ -{stdenv, fetchFromGitHub, which, m4, python, bison, flex, llvmPackages}: +{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex, llvmPackages, clangWrapSelf, +testedTargets ? ["sse4" "host"] +}: -# TODO: patch LLVM so Knights Landing works better (patch included in ispc github) +# TODO: patch LLVM so Skylake-EX works better (patch included in ispc github) - needed for LLVM 3.9? stdenv.mkDerivation rec { - version = "20151128"; - rev = "d3020580ff18836de2d4cae18901980b551d9d01"; + version = "1.9.1"; + rev = "v${version}"; + + inherit testedTargets; name = "ispc-${version}"; @@ -12,10 +16,10 @@ stdenv.mkDerivation rec { owner = "ispc"; repo = "ispc"; inherit rev; - sha256 = "15qi22qvmlx3jrhrf3rwl0y77v66prpan6qb66a55dw3pw2d4jvn"; + sha256 = "1wwsyvn44hd5iyi5779l5378x096307slpyl29wrsmfp66796693"; }; - enableParallelBuilding = false; + enableParallelBuilding = true; doCheck = true; @@ -26,14 +30,17 @@ stdenv.mkDerivation rec { bison flex llvm - clang + llvmPackages.clang-unwrapped # we need to link against libclang, so we need the unwrapped ]; - # https://github.com/ispc/ispc/pull/1190 - patches = [ ./gcc5.patch ]; - postPatch = "sed -i -e 's/\\/bin\\///g' -e 's/-lcurses/-lncurses/g' Makefile"; + # TODO: this correctly catches errors early, but also some things that are just weird and don't seem to be real + # errors + #configurePhase = '' + # makeFlagsArray=( SHELL="${bash}/bin/bash -o pipefail" ) + #''; + installPhase = '' mkdir -p $out/bin cp ispc $out/bin @@ -41,10 +48,19 @@ stdenv.mkDerivation rec { checkPhase = '' export ISPC_HOME=$PWD - python run_tests.py + for target in $testedTargets + do + echo "Testing target $target" + echo "================================" + echo + PATH=${llvmPackages.clang}/bin:$PATH python run_tests.py -t $target --non-interactive --verbose --file=test_output.log + fgrep -q "No new fails" test_output.log || exit 1 + done ''; makeFlags = [ + "CXX=${llvmPackages.clang}/bin/clang++" + "CLANG=${llvmPackages.clang}/bin/clang" "CLANG_INCLUDE=${llvmPackages.clang-unwrapped}/include" ]; @@ -52,7 +68,7 @@ stdenv.mkDerivation rec { homepage = https://ispc.github.io/ ; description = "Intel 'Single Program, Multiple Data' Compiler, a vectorised language"; license = licenses.bsd3; - platforms = platforms.unix; + platforms = ["x86_64-linux"]; # TODO: buildable on more platforms? maintainers = [ maintainers.aristid ]; }; } diff --git a/pkgs/development/compilers/ispc/gcc5.patch b/pkgs/development/compilers/ispc/gcc5.patch deleted file mode 100644 index 4f2b7b682fee..000000000000 --- a/pkgs/development/compilers/ispc/gcc5.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/cbackend.cpp b/cbackend.cpp -index 3552205..9c05824 100644 ---- a/cbackend.cpp -+++ b/cbackend.cpp -@@ -1641,7 +1641,7 @@ void CWriter::printConstant(llvm::Constant *CPV, bool Static) { - V = Tmp.convertToDouble(); - } - -- if (isnan(V)) { -+ if (std::isnan(V)) { - // The value is NaN - - // FIXME the actual NaN bits should be emitted. -@@ -1665,7 +1665,7 @@ void CWriter::printConstant(llvm::Constant *CPV, bool Static) { - else - Out << "LLVM_NAN" << (Val == QuietNaN ? "" : "S") << "(\"" - << Buffer << "\") /*nan*/ "; -- } else if (isinf(V)) { -+ } else if (std::isinf(V)) { - // The value is Inf - if (V < 0) Out << '-'; - Out << "LLVM_INF" << diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index 36b6c21aebb9..4dfad0fae869 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -48,12 +48,12 @@ in stdenv.mkDerivation rec { pname = "julia"; - version = "0.4.5"; + version = "0.4.6"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz"; - sha256 = "09gc6yf3v4in0qwhrbgjrjgvblp941di0mli4zax22mvf4dzc7s4"; + sha256 = "17wsppmsf782icyzri34zha61wfx4brfq4h68qg17w6zimd2plg5"; }; prePatch = '' diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix index f72dd4c99569..98795f96ffa5 100644 --- a/pkgs/development/compilers/terra/default.nix +++ b/pkgs/development/compilers/terra/default.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { inherit (src.meta) homepage; description = "A low-level counterpart to Lua"; - platforms = platforms.unix; + platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ jb55 ]; license = licenses.mit; }; diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index 4bc9a2af5501..baec1bfb818d 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -85,7 +85,10 @@ let ghcWithHoogle = selectFrom: let packages = selectFrom self; - hoogle = callPackage ./hoogle.nix { inherit packages; }; + hoogle = callPackage ./hoogle.nix { + inherit packages; + hoogle = self.hoogle_4_2_43; + }; in withPackages (packages ++ [ hoogle ]); ghc = ghc // { diff --git a/pkgs/development/interpreters/python/pypy/2.7/default.nix b/pkgs/development/interpreters/python/pypy/2.7/default.nix index 76464d5412e6..213f5dabe799 100644 --- a/pkgs/development/interpreters/python/pypy/2.7/default.nix +++ b/pkgs/development/interpreters/python/pypy/2.7/default.nix @@ -6,7 +6,7 @@ assert zlibSupport -> zlib != null; let - majorVersion = "5.3.1"; + majorVersion = "5.4.0"; version = "${majorVersion}"; libPrefix = "pypy${majorVersion}"; @@ -18,7 +18,7 @@ let src = fetchurl { url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2"; - sha256 = "19cq2ngkh5q5jxwhw81rd6p0qna73z85jfik88w0856k5aj86yha"; + sha256 = "1jm4ak6rbqhdhm8gjbd5hanabskbyzhzvjcl93fj0i017yirw88i"; }; # http://bugs.python.org/issue27369 @@ -32,6 +32,14 @@ let patch lib-python/2.7/test/test_pyexpat.py < '${expatch}' ''; + # Increase recursion limit. This patch is not needed on pypy > 5.4.0 + patches = [ + (fetchurl { + url = "https://bitbucket.org/pypy/pypy/commits/a5db0f4359abb3f64b6d7ed83202e1cb0de37fb2/raw/"; + sha256 = "07nvqjhj0kl67f3kjwhmybaqg6089ps3q8r0si1lgk3gyb56ygn0"; + }) + ]; + buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 makeWrapper gdbm db ] ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++ stdenv.lib.optional zlibSupport zlib; diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index de699e2c6ac6..fb61233dfcb3 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, pkgconfig, audiofile, libcap -, openglSupport ? false, mesa_noglu +, openglSupport ? false, mesa_noglu, mesa_glu , alsaSupport ? true, alsaLib , x11Support ? true, libXext, libICE, libXrandr , pulseaudioSupport ? true, libpulseaudio @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { optionals x11Support [ libXext libICE libXrandr ] ++ optional alsaSupport alsaLib ++ optional stdenv.isLinux libcap ++ - optional openglSupport mesa_noglu ++ + optionals openglSupport [ mesa_noglu mesa_glu ] ++ optional pulseaudioSupport libpulseaudio ++ optional stdenv.isDarwin Cocoa; diff --git a/pkgs/development/libraries/curlcpp/default.nix b/pkgs/development/libraries/curlcpp/default.nix new file mode 100644 index 000000000000..546259cd70cf --- /dev/null +++ b/pkgs/development/libraries/curlcpp/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub, cmake, curl }: + +stdenv.mkDerivation { + name = "curlcpp-20160901"; + + src = fetchFromGitHub { + owner = "JosephP91"; + repo = "curlcpp"; + rev = "98286da1d6c9f6158344a8e272eae5030cbf6c0e"; + sha256 = "00nm2b8ik1yvaz5dp1b61jid841jv6zf8k5ma2nxbf1di1apqh0d"; + }; + + buildInputs = [ cmake curl ]; + + meta = with stdenv.lib; { + homepage = "http://josephp91.github.io/curlcpp/"; + description = "Object oriented C++ wrapper for CURL"; + platforms = platforms.unix ; + license = licenses.mit; + maintainers = [ maintainers.juliendehos ]; + }; +} + diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 789aae18aaa3..bcf8933f0725 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, pkgconfig, expat, systemd, glib, dbus_glib, python +{ stdenv, lib, fetchurl, pkgconfig, expat, systemd , libX11 ? null, libICE ? null, libSM ? null, x11Support ? (stdenv.isLinux || stdenv.isDarwin) }: assert x11Support -> libX11 != null diff --git a/pkgs/development/libraries/fastjson/default.nix b/pkgs/development/libraries/fastjson/default.nix index 1b591efb578e..4c4ddc3ba579 100644 --- a/pkgs/development/libraries/fastjson/default.nix +++ b/pkgs/development/libraries/fastjson/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchFromGitHub, libtool, autoconf, automake }: stdenv.mkDerivation rec { - version = "v0.99.2"; + version = "v0.99.4"; name = "fastjson-${version}"; src = fetchFromGitHub { repo = "libfastjson"; owner = "rsyslog"; - rev = "eabae907c9d991143e17da278a239819f2e8ae1c"; - sha256 = "17fhaqdn0spc4p0848ahcy68swm6l5yd3bx6bdzxmmwj1jdrmvzk"; + rev = "6e057a094cb225c9d80d8d6e6b1f36ca88a942dd"; + sha256 = "1pn207p9zns0aqm6z5l5fdgb94wyyhaw83lyvyfdxmai74nbqs65"; }; buildInputs = [ autoconf automake libtool ]; diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix index 20c79d7202eb..a8667770271e 100644 --- a/pkgs/development/libraries/gtk-sharp/2.0.nix +++ b/pkgs/development/libraries/gtk-sharp/2.0.nix @@ -10,7 +10,6 @@ , libgnomeui ? null , libgnomeprint ? null , libgnomeprintui ? null -, gnomepanel ? null , libxml2 , monoDLLFixer }: @@ -36,7 +35,6 @@ stdenv.mkDerivation { buildInputs = [ pkgconfig mono glib pango gtk GConf libglade libgnomecanvas libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2 - gnomepanel ]; dontStrip = true; diff --git a/pkgs/development/libraries/gtk-sharp/3.0.nix b/pkgs/development/libraries/gtk-sharp/3.0.nix index 9fb99c3f27e7..459f37afc7fe 100644 --- a/pkgs/development/libraries/gtk-sharp/3.0.nix +++ b/pkgs/development/libraries/gtk-sharp/3.0.nix @@ -10,7 +10,6 @@ , libgnomeui ? null , libgnomeprint ? null , libgnomeprintui ? null -, gnomepanel ? null , libxml2 , monoDLLFixer }: @@ -35,7 +34,6 @@ stdenv.mkDerivation { buildInputs = [ pkgconfig mono glib pango gtk3 GConf libglade libgnomecanvas libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2 - gnomepanel ]; dontStrip = true; diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix index eda9434ab657..ae1f9996b78a 100644 --- a/pkgs/development/libraries/itk/default.nix +++ b/pkgs/development/libraries/itk/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, cmake, libX11, libuuid, xz}: stdenv.mkDerivation rec { - name = "itk-4.0.0"; + name = "itk-4.10.0"; src = fetchurl { - url = mirror://sourceforge/itk/InsightToolkit-4.0.0.tar.xz; - sha256 = "05z49sw612cbyiaghcsda0xylrkf06jh81ql79si5632w1hpgbd9"; + url = mirror://sourceforge/itk/InsightToolkit-4.10.0.tar.xz; + sha256 = "0pxijhqsnwcp9jv1d8p11hsj90k8ajpwxhrnn8kk8c56k7y1207a"; }; cmakeFlags = [ diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix index 7868c2cfd140..c61876713c10 100644 --- a/pkgs/development/libraries/libedit/default.nix +++ b/pkgs/development/libraries/libedit/default.nix @@ -1,17 +1,19 @@ { stdenv, fetchurl, ncurses, groff }: stdenv.mkDerivation rec { - name = "libedit-20150325-3.1"; + name = "libedit-20160903-3.1"; src = fetchurl { - url = "http://www.thrysoee.dk/editline/${name}.tar.gz"; - sha256 = "1if8zi9h52m80ck796an28rrqfljk2n8cn25m3fl0prwz155x2n8"; + url = "http://thrysoee.dk/editline/${name}.tar.gz"; + sha256 = "0rvmm8z6hal5bbp5pljp7yvkpqi4pkas1amizhvg35v0skkx5jqc"; }; + outputs = [ "out" "dev" ]; + # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds. NROFF = "${groff}/bin/nroff"; - patches = [ ./01-cygwin.patch ./freebsd-wchar.patch ]; + patches = [ ./01-cygwin.patch ]; propagatedBuildInputs = [ ncurses ]; @@ -23,7 +25,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = "http://www.thrysoee.dk/editline/"; + homepage = http://www.thrysoee.dk/editline/; description = "A port of the NetBSD Editline library (libedit)"; license = licenses.bsd3; platforms = platforms.all; diff --git a/pkgs/development/libraries/libedit/freebsd-wchar.patch b/pkgs/development/libraries/libedit/freebsd-wchar.patch deleted file mode 100644 index 6bf7fb0ef69a..000000000000 --- a/pkgs/development/libraries/libedit/freebsd-wchar.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/chartype.h b/src/chartype.h -index 0beee17..4ac86f3 100644 ---- a/src/chartype.h -+++ b/src/chartype.h -@@ -44,7 +44,7 @@ - * supports non-BMP code points without requiring UTF-16, but nothing - * seems to actually advertise this properly, despite Unicode 3.1 having - * been around since 2001... */ --#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__OpenBSD__) -+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__OpenBSD__) - #ifndef __STDC_ISO_10646__ - /* In many places it is assumed that the first 127 code points are ASCII - * compatible, so ensure wchar_t indeed does ISO 10646 and not some other diff --git a/pkgs/development/libraries/libedit/freebsd.patch b/pkgs/development/libraries/libedit/freebsd.patch deleted file mode 100644 index e230a76d709f..000000000000 --- a/pkgs/development/libraries/libedit/freebsd.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/chartype.h b/src/chartype.h -index c35825c..be5aac0 100644 ---- a/src/chartype.h -+++ b/src/chartype.h -@@ -44,7 +44,7 @@ - * supports non-BMP code points without requiring UTF-16, but nothing - * seems to actually advertise this properly, despite Unicode 3.1 having - * been around since 2001... */ --#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) -+#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__DragonFly__) && !defined(__FreeBSD__) - #ifndef __STDC_ISO_10646__ - /* In many places it is assumed that the first 127 code points are ASCII - * compatible, so ensure wchar_t indeed does ISO 10646 and not some other diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix index 3b4e5858746a..b53c8da3f544 100644 --- a/pkgs/development/libraries/libmicrohttpd/default.nix +++ b/pkgs/development/libraries/libmicrohttpd/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "1mzbqr6sqisppz88mh73bbh5sw57g8l87qvhcjdx5pmbd183idni"; }; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ "out" "dev" "devdoc" "info" ]; buildInputs = [ libgcrypt curl gnutls pkgconfig ]; preCheck = '' diff --git a/pkgs/development/libraries/librelp/default.nix b/pkgs/development/libraries/librelp/default.nix index 52439f0fe2cc..dce85331c1be 100644 --- a/pkgs/development/libraries/librelp/default.nix +++ b/pkgs/development/libraries/librelp/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, gnutls, zlib }: stdenv.mkDerivation rec { - name = "librelp-1.2.8"; + name = "librelp-1.2.12"; src = fetchurl { url = "http://download.rsyslog.com/librelp/${name}.tar.gz"; - sha256 = "1qxj7isa2d10aw6c4a9pd3fx08vv06rrhac312avgcjmdqaa88r6"; + sha256 = "1mvvxqfsfg96rb6xv3fw7mcsqmyfnsb74sc53gnhpcpp4h2p6m83"; }; buildInputs = [ pkgconfig gnutls zlib ]; diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix index 819160a8d7c8..dcc0c781ee0e 100644 --- a/pkgs/development/libraries/nlohmann_json/default.nix +++ b/pkgs/development/libraries/nlohmann_json/default.nix @@ -2,20 +2,27 @@ stdenv.mkDerivation rec { name = "nlohmann_json-${version}"; - version = "2.0.2"; + version = "2.0.3"; src = fetchFromGitHub { owner = "nlohmann"; repo = "json"; rev = "v${version}"; - sha256 = "10sk8d23vh0c7b3qafjz2n8r5jv8vc275bl069ikhqnx1zxv6hwp"; + sha256 = "192mg2y93g9q0jdn3fdffydpxk19nsrcv92kfip6srkdkwja18ri"; }; - buildInputs = [ cmake ]; + nativeBuildInputs = [ cmake ]; doCheck = true; checkTarget = "test"; + crossAttrs = { + cmakeFlags = "-DBuildTests=OFF"; + doCheck = false; + } // stdenv.lib.optionalAttrs (stdenv.cross.libc == "msvcrt") { + cmakeFlags = "-DBuildTests=OFF -DCMAKE_SYSTEM_NAME=Windows"; + }; + meta = with stdenv.lib; { description = "Header only C++ library for the JSON file format"; homepage = https://github.com/nlohmann/json; diff --git a/pkgs/development/libraries/pcaudiolib/default.nix b/pkgs/development/libraries/pcaudiolib/default.nix new file mode 100644 index 000000000000..ccb7d4179df4 --- /dev/null +++ b/pkgs/development/libraries/pcaudiolib/default.nix @@ -0,0 +1,29 @@ +{ stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkgconfig, + alsaLib, portaudio, + pulseaudioSupport ? true, libpulseaudio }: + +stdenv.mkDerivation rec { + name = "pcaudiolib-${version}"; + version = "2016-07-19"; + + src = fetchFromGitHub { + owner = "rhdunn"; + repo = "pcaudiolib"; + rev = "4f836ea909bdaa8a6e0e89c587efc745b546b459"; + sha256 = "0z99nh4ibb9md2cd21762n1dmv6jk988785s1cxd8lsy4hp4pwfa"; + }; + + nativeBuildInputs = [ autoconf automake which libtool pkgconfig ]; + + buildInputs = [ portaudio alsaLib ] ++ lib.optional pulseaudioSupport libpulseaudio; + + preConfigure = "./autogen.sh"; + + meta = with stdenv.lib; { + description = "Provides a C API to different audio devices"; + homepage = "https://github.com/rhdunn/pcaudiolib"; + license = licenses.gpl3; + maintainers = with maintainers; [ aske ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/sonic/default.nix b/pkgs/development/libraries/sonic/default.nix new file mode 100644 index 000000000000..f5927cb73e6c --- /dev/null +++ b/pkgs/development/libraries/sonic/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "sonic-${version}"; + version = "2016-03-01"; + + src = fetchFromGitHub { + owner = "waywardgeek"; + repo = "sonic"; + rev = "71bdf26c55716a45af50c667c0335a9519e952dd"; + sha256 = "1kcl8fdf92kafmfhvyjal5gvkn99brkjyzbi9gw3rd5b30m3xz2b"; + }; + + postPatch = '' + sed -i "s,^PREFIX=.*,PREFIX=$out," Makefile + ''; + + meta = with stdenv.lib; { + description = "Simple library to speed up or slow down speech"; + homepage = "https://github.com/waywardgeek/sonic"; + license = licenses.asl20; + maintainers = with maintainers; [ aske ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix index 1a943be0fc20..ee45c0d1c65a 100644 --- a/pkgs/development/libraries/speechd/default.nix +++ b/pkgs/development/libraries/speechd/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "speech-dispatcher-${version}"; - version = "0.8.3"; + version = "0.8.5"; src = fetchurl { url = "http://www.freebsoft.org/pub/projects/speechd/${name}.tar.gz"; - sha256 = "0kqy7z4l59n2anc7xn588w4rkacig1hajx8c53qrh90ypar978ln"; + sha256 = "18jlxnhlahyi6njc6l6576hfvmzivjjgfjyd2n7vvrvx9inphjrb"; }; buildInputs = [ intltool libtool glib dotconf libsndfile libao python3Packages.python ] diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix index 39c0eed0a543..1db47827abe5 100644 --- a/pkgs/development/libraries/webkitgtk/2.4.nix +++ b/pkgs/development/libraries/webkitgtk/2.4.nix @@ -47,6 +47,8 @@ stdenv.mkDerivation rec { configureFlags = with stdenv.lib; [ "--disable-geolocation" "--disable-jit" + # needed for parallel building + "--enable-dependency-tracking" (optionalString enableIntrospection "--enable-introspection") ] ++ optional withGtk2 [ "--with-gtk=2.0" @@ -86,7 +88,6 @@ stdenv.mkDerivation rec { (if withGtk2 then gtk2 else gtk3) ]; - # Still fails with transient errors in version 2.4.9. - enableParallelBuilding = false; + enableParallelBuilding = true; } diff --git a/pkgs/development/libraries/wlc/default.nix b/pkgs/development/libraries/wlc/default.nix index 71cd246e7424..144e9c091801 100644 --- a/pkgs/development/libraries/wlc/default.nix +++ b/pkgs/development/libraries/wlc/default.nix @@ -5,51 +5,25 @@ stdenv.mkDerivation rec { name = "wlc-${version}"; - version = "v0.0.3"; + version = "0.0.5"; - chck_repo = "https://github.com/Cloudef/chck"; - chck_rev = "fe5e2606b7242aa5d89af2ea9fd048821128d2bc"; - - wl_protos_repo = "git://anongit.freedesktop.org/wayland/wayland-protocols"; - wl_protos_rev = "0b05b70f9da245582f01581be4ca36db683682b8"; - wl_protos_rev_short = "0b05b70"; - - srcs = [ - (fetchFromGitHub { - owner = "Cloudef"; - repo = "wlc"; - rev = version; - sha256 = "0l29axg4y7qjd5hf3kgf38hkjykb4mcsjkba0zdm583kkjzdzkb2"; - }) - (fetchurl { - url = "${chck_repo}/archive/${chck_rev}.tar.gz"; - sha256 = "ca316b544c48e837c32f08d613be42da10e0a3251e8e4488d1848b91ef92ab9e"; - }) - (fetchgit { - url = "${wl_protos_repo}"; - rev = "${wl_protos_rev}"; - sha256 = "9c1cfbb570142b2109ecef4d11b17f25e94ed2e0569f522ea56f244c60465224"; - }) - ]; - - sourceRoot = "wlc-${version}-src"; - - postUnpack = '' - rm -rf wlc-*/lib/chck ${sourceRoot}/protos/wayland-protocols - ln -s ../../chck-${chck_rev} ${sourceRoot}/lib/chck - ln -s ../../wayland-protocols-${wl_protos_rev_short} ${sourceRoot}/protos/wayland-protocols - ''; + src = fetchgit { + url = "https://github.com/Cloudef/wlc"; + rev = "refs/tags/v${version}"; + sha256 = "0pg95n488fjlkc8n8x1h2dh4mxb7qln6mrq906lwwqv94aks9b43"; + fetchSubmodules = true; + }; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ wayland pixman libxkbcommon libinput libxcb xcbutilwm xcbutilimage mesa libdrm udev - libpthreadstubs libX11 libXau libXdmcp libXext libXdamage libxshmfence libXxf86vm - systemd dbus_libs + libX11 libXdamage systemd dbus_libs ]; - makeFlags = "PREFIX=$(out) -lchck"; - installPhase = "PREFIX=$out make install"; + + doCheck = true; + checkTarget = "test"; meta = { description = "A library for making a simple Wayland compositor"; diff --git a/pkgs/development/libraries/xapian/bindings/default.nix b/pkgs/development/libraries/xapian/bindings/default.nix index eeb480e6847b..7187f9b575fd 100644 --- a/pkgs/development/libraries/xapian/bindings/default.nix +++ b/pkgs/development/libraries/xapian/bindings/default.nix @@ -1,15 +1,18 @@ { stdenv, composableDerivation, fetchurl, xapian, pkgconfig, zlib -, python ? null, php ? null, ruby ? null }: +, python ? null, sphinx ? null, php ? null, ruby ? null }: + +assert (python != null) -> (sphinx != null); let inherit (composableDerivation) wwf; in composableDerivation.composableDerivation {} rec { - name = "xapian-bindings-1.2.23"; + name = "xapian-bindings-${version}"; + version = (builtins.parseDrvName xapian.name).version; src = fetchurl { - url = "http://oligarchy.co.uk/xapian/1.2.23/${name}.tar.xz"; - sha256 = "05929d9bq9df25kh2i6gk2w09w7p5qknf9cc7mrm2g46finbbd0r"; + url = "http://oligarchy.co.uk/xapian/${version}/${name}.tar.xz"; + sha256 = "0lv2zblayfax4v7z3sj067b0av0phf3gc2s2d1cvkw0bkl07mv1s"; }; buildInputs = [ xapian pkgconfig zlib ]; @@ -19,7 +22,18 @@ composableDerivation.composableDerivation {} rec { wwf { name = "python"; enable = { - buildInputs = [ python ]; + buildInputs = [ python sphinx ]; + + # Our `sphinx-build` binary is a shell wrapper around + # `sphinx-build` python code. Makefile tries to execute it + # using python2 and fails. Fixing that here. + patchPhase = '' + for a in python/Makefile* ; do + substituteInPlace $a \ + --replace '$(PYTHON2) $(SPHINX_BUILD)' '$(SPHINX_BUILD)' + done + ''; + # export same env vars as in pythonNew preConfigure = '' export PYTHON_LIB=$out/lib/${python.libPrefix}/site-packages diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix index 7c4b699e6152..36b55c59c245 100644 --- a/pkgs/development/libraries/xapian/default.nix +++ b/pkgs/development/libraries/xapian/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "xapian-${version}"; - version = "1.2.23"; + version = "1.4.0"; src = fetchurl { url = "http://oligarchy.co.uk/xapian/${version}/xapian-core-${version}.tar.xz"; - sha256 = "0z9lhvfaazzmd611bnii9a0d19sqnjs0s9vbcgjhcv8s9spax0wp"; + sha256 = "0xv4da5rmqqzkkkzx2v3jwh5hz5zxhd2b7m8x30fk99a25blyn0h"; }; outputs = [ "out" "doc" ]; diff --git a/pkgs/tools/misc/xapian-omega/default.nix b/pkgs/development/libraries/xapian/tools/omega/default.nix similarity index 60% rename from pkgs/tools/misc/xapian-omega/default.nix rename to pkgs/development/libraries/xapian/tools/omega/default.nix index 19bbdceb09e5..7c64c2e90d4e 100644 --- a/pkgs/tools/misc/xapian-omega/default.nix +++ b/pkgs/development/libraries/xapian/tools/omega/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, xapian, perl, pcre, zlib }: +{ stdenv, fetchurl, pkgconfig, xapian, perl, pcre, zlib, libmagic }: stdenv.mkDerivation rec { name = "xapian-omega-${version}"; - version = "1.2.21"; + version = (builtins.parseDrvName xapian.name).version; src = fetchurl { url = "http://oligarchy.co.uk/xapian/${version}/xapian-omega-${version}.tar.xz"; - sha256 = "0zjjr4ypanwrjkcpgi37d72v2jjcfwnw8lgddv0i7z2jf1fklbc6"; + sha256 = "07s341m1csk4v7mc44mqrzc1nxpnmdkji9k1cirbx6q0nlshdz0h"; }; - buildInputs = [ pkgconfig xapian perl pcre zlib ]; + buildInputs = [ pkgconfig xapian perl pcre zlib libmagic ]; meta = with stdenv.lib; { description = "Indexer and CGI search front-end built on Xapian library"; diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix index 897e82c68e1c..bf3089ebfb9a 100644 --- a/pkgs/development/perl-modules/DBD-SQLite/default.nix +++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, buildPerlPackage, DBI, sqlite }: buildPerlPackage rec { - name = "DBD-SQLite-1.48"; + name = "DBD-SQLite-1.50"; src = fetchurl { url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/${name}.tar.gz"; - sha256 = "19hf0fc4dlnpmxsxx3jjbh2z6d2jafgdlqhwz4irkp2cbl7j75xk"; + sha256 = "1qcw2nzla03ywrl6mx1qklvbc8n5bn4gxqbjnvadfkwlffmi7i9s"; }; propagatedBuildInputs = [ DBI ]; @@ -37,7 +37,7 @@ buildPerlPackage rec { # Disabled because the tests can randomly fail due to timeouts # (e.g. "database is locked(5) at dbdimp.c line 402 at t/07busy.t"). - doCheck = false; + #doCheck = false; meta.platforms = stdenv.lib.platforms.unix; } diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix index 0bbe4ffb3c21..6723ba6b6a58 100644 --- a/pkgs/development/python-modules/pygobject/default.nix +++ b/pkgs/development/python-modules/pygobject/default.nix @@ -1,8 +1,9 @@ { stdenv, fetchurl, python, mkPythonDerivation, pkgconfig, glib }: mkPythonDerivation rec { - name = "pygobject-2.28.6"; - + name = "pygobject-${version}"; + version = "2.28.6"; + src = fetchurl { url = "mirror://gnome/sources/pygobject/2.28/${name}.tar.xz"; sha256 = "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv"; diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix index 60aa65323d74..5354d9750f41 100644 --- a/pkgs/development/python-modules/pygtk/default.nix +++ b/pkgs/development/python-modules/pygtk/default.nix @@ -44,7 +44,7 @@ buildPythonPackage rec { postInstall = '' rm $out/bin/pygtk-codegen-2.0 ln -s ${pygobject}/bin/pygobject-codegen-2.0 $out/bin/pygtk-codegen-2.0 - ln -s ${pygobject}/lib/${python.libPrefix}/site-packages/${pygobject.name}.pth \ + ln -s ${pygobject}/lib/${python.libPrefix}/site-packages/pygobject-${pygobject.version}.pth \ $out/lib/${python.libPrefix}/site-packages/${name}.pth ''; } diff --git a/pkgs/development/python-modules/pyqt/4.x.nix b/pkgs/development/python-modules/pyqt/4.x.nix index 2328894d2a30..5ffbd19228cf 100644 --- a/pkgs/development/python-modules/pyqt/4.x.nix +++ b/pkgs/development/python-modules/pyqt/4.x.nix @@ -14,6 +14,7 @@ in mkPythonDerivation { configurePhase = '' mkdir -p $out lndir ${dbus-python} $out + rm -rf "$out/nix-support" export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index 2b54308e3f02..3edf7e6e170b 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -32,6 +32,7 @@ in mkPythonDerivation { mkdir -p $out lndir ${dbus-python} $out + rm -rf "$out/nix-support" export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages diff --git a/pkgs/development/python-modules/rainbowstream/setup.patch b/pkgs/development/python-modules/rainbowstream/setup.patch new file mode 100644 index 000000000000..55afa49a96e8 --- /dev/null +++ b/pkgs/development/python-modules/rainbowstream/setup.patch @@ -0,0 +1,24 @@ +diff --git a/setup.py b/setup.py +index 07b5913..2b7b15e 100644 +--- a/setup.py ++++ b/setup.py +@@ -24,15 +24,16 @@ install_requires = [ + ] + + # Default user (considers non virtualenv method) +-user = os.environ.get('SUDO_USER', os.environ['USER']) ++user = os.environ.get('SUDO_USER', os.environ.get('USER', None)) + + # Copy default config if not exists + default = os.path.expanduser("~") + os.sep + '.rainbow_config.json' + if not os.path.isfile(default): + cmd = 'cp rainbowstream/colorset/config ' + default + os.system(cmd) +- cmd = 'chown ' + quote(user) + ' ' + default +- os.system(cmd) ++ if user: ++ cmd = 'chown ' + quote(user) + ' ' + default ++ os.system(cmd) + cmd = 'chmod 777 ' + default + os.system(cmd) + diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 41c837f52f0a..683677d05fc3 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -21,7 +21,7 @@ , libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick , pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi , cmake, libssh2, openssl, mysql, darwin, git, perl, gecode_3, curl -, libmsgpack, qt48 +, libmsgpack, qt48, libsodium }: let @@ -129,6 +129,14 @@ in buildInputs = [ openssl ]; }; + rbnacl = spec: { + postInstall = '' + sed -i $(cat $out/nix-support/gem-meta/install-path)/lib/rbnacl.rb -e "2a \ + RBNACL_LIBSODIUM_GEM_LIB_PATH = '${libsodium.out}/lib/libsodium.${if stdenv.isDarwin then "dylib" else "so"}' + " + ''; + }; + rmagick = attrs: { buildInputs = [ imagemagick pkgconfig which ]; }; diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index 242782161d75..3f3fd88580fa 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchurl, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconv +{ stdenv, fetchurl, fetchpatch, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconv , libxml2, libxslt, makeWrapper }: assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; let - version = "1.8.4"; + version = "1.8.5"; rake = buildRubyGem { inherit ruby; gemName = "rake"; @@ -12,22 +12,32 @@ let sha256 = "1rn03rqlf1iv6n87a78hkda2yqparhhaivfjpizblmxvlw2hk5r8"; }; -in -stdenv.mkDerivation rec { + sha256 = { + "x86_64-linux" = "1na5hxm3ilx268hk68dpgkks1jjh9q7p3ksjx8ssiijq6df47vih"; + "i686-linux" = "16psr5s0azpzavizh74085z7wygkfs4ribsfalvbd96phkrkp2wp"; + }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); + + arch = builtins.replaceStrings ["-linux"] [""] stdenv.system; + +in stdenv.mkDerivation rec { name = "vagrant-${version}"; inherit version; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_x86_64.deb"; - sha256 = "fd38d8e00e494a617201facb42fc2cac627e5021db15e91c2a041eac6a2d8208"; - } - else - fetchurl { - url = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_i686.deb"; - sha256 = "555351717cacaa8660821df8988cc40a39923b06b698fca6bb90621008aab06f"; - }; + src = fetchurl { + url = "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.deb"; + inherit sha256; + }; + + # Remove the patchFlags/patches when 1.8.6 is released + patchFlags = [ + "-p1" + "-d ./opt/vagrant/embedded/gems/gems/vagrant-${version}" + ]; + patches = (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/mitchellh/vagrant/pull/7611.diff"; + name = "fix_incorrect_ssh_keys_permissions.patch"; + sha256 = "0lqa9xpg79ggp9fc8gzb5lv675ydj2p8l55bx4hs1hf8zz2c1hjf"; + }); meta = with stdenv.lib; { description = "A tool for building complete development environments"; diff --git a/pkgs/games/crawl/crawl_purify.patch b/pkgs/games/crawl/crawl_purify.patch index 0e2d335adac2..bfd79844bcb6 100644 --- a/pkgs/games/crawl/crawl_purify.patch +++ b/pkgs/games/crawl/crawl_purify.patch @@ -1,8 +1,7 @@ -diff --git a/crawl-ref/source/Makefile b/crawl-ref/source/Makefile -index b7e2fbf..5ff23db 100644 ---- a/crawl-ref/source/Makefile -+++ b/crawl-ref/source/Makefile -@@ -273,7 +273,7 @@ endif +diff -ru3 crawl-ref-0.18.1-src-old/crawl-ref/source/Makefile crawl-ref-0.18.1-src/crawl-ref/source/Makefile +--- crawl-ref-0.18.1-src-old/crawl-ref/source/Makefile 1970-01-01 03:00:01.000000000 +0300 ++++ crawl-ref-0.18.1-src/crawl-ref/source/Makefile 2016-09-04 17:25:54.310929928 +0300 +@@ -285,7 +285,7 @@ LIBZ := contrib/install/$(ARCH)/lib/libz.a ifndef CROSSHOST @@ -11,21 +10,27 @@ index b7e2fbf..5ff23db 100644 else # This is totally wrong, works only with some old-style setups, and # on some architectures of Debian/new FHS multiarch -- excluding, for -@@ -943,7 +943,7 @@ else +@@ -957,9 +957,9 @@ SYS_PROPORTIONAL_FONT = $(shell { name=$(OUR_PROPORTIONAL_FONT);\ {\ fc-list | sed 's/: .*//' | grep -Fi "/$$name";\ - for dir in /usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts;\ + for dir in ${dejavu_fonts}/share/fonts;\ do [ -d $$dir ] && echo $$dir; done;\ - } | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null) +- } | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null) ++ } | xargs -I% find -L % -type f -iname $$name -print | head -n1; } 2>/dev/null) ifneq (,$(SYS_PROPORTIONAL_FONT)) -@@ -968,7 +968,7 @@ else + ifeq (,$(COPY_FONTS)) + DEFINES += -DPROPORTIONAL_FONT=\"$(SYS_PROPORTIONAL_FONT)\" +@@ -982,9 +982,9 @@ SYS_MONOSPACED_FONT = $(shell { name=$(OUR_MONOSPACED_FONT);\ {\ fc-list | sed 's/: .*//' | grep -Fi "/$$name";\ - for dir in /usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts;\ + for dir in ${dejavu_fonts}/share/fonts;\ do [ -d $$dir ] && echo $$dir; done;\ - } | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null) +- } | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null) ++ } | xargs -I% find -L % -type f -iname $$name -print | head -n1; } 2>/dev/null) ifneq (,$(SYS_MONOSPACED_FONT)) + ifeq (,$(COPY_FONTS)) + DEFINES += -DMONOSPACED_FONT=\"$(SYS_MONOSPACED_FONT)\" diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix index 186768617f77..2a1e9232c230 100644 --- a/pkgs/games/crawl/default.nix +++ b/pkgs/games/crawl/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, which, sqlite, lua5_1, perl, zlib, pkgconfig, ncurses -, dejavu_fonts, libpng, SDL2, SDL2_image, mesa, freetype +, dejavu_fonts, libpng, SDL2, SDL2_image, mesa, freetype, pngcrush , tileMode ? false }: @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { patches = [ ./crawl_purify.patch ]; - nativeBuildInputs = [ pkgconfig which perl ]; + nativeBuildInputs = [ pkgconfig which perl pngcrush ]; # Still unstable with luajit buildInputs = [ lua5_1 zlib sqlite ncurses ] diff --git a/pkgs/games/megaglest/default.nix b/pkgs/games/megaglest/default.nix index a514cec7edcb..b2a1fd499dff 100644 --- a/pkgs/games/megaglest/default.nix +++ b/pkgs/games/megaglest/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchgit, cmake, git, curl, SDL, xercesc, openal, lua +{ stdenv, fetchgit, cmake, pkgconfig, git, curl, SDL, xercesc, openal, lua, vlc , libjpeg, wxGTK, cppunit, ftgl, glew, libogg, libvorbis, buildEnv, libpng -, fontconfig, freetype, xorg, makeWrapper, bash, which, gnome3, mesa_glu -, mesa_drivers }: +, fontconfig, freetype, xorg, makeWrapper, bash, which, gnome3, mesa_glu, glib +}: let version = "3.9.2"; lib-env = buildEnv { name = "megaglest-lib-env"; paths = [ SDL xorg.libSM xorg.libICE xorg.libX11 xorg.libXext xercesc openal libvorbis lua libjpeg libpng curl fontconfig ftgl freetype - stdenv.cc.cc glew mesa_glu mesa_drivers wxGTK ]; + stdenv.cc.cc glew mesa_glu wxGTK ]; }; path-env = buildEnv { name = "megaglest-path-env"; @@ -24,8 +24,8 @@ stdenv.mkDerivation { sha256 = "1406ns1533x5678d91s2xxxv19q7r238zsaxr37c6mv5jrx7s5jv"; }; - buildInputs = [ cmake git curl SDL xercesc openal lua libjpeg wxGTK - cppunit ftgl glew libogg libvorbis makeWrapper mesa_glu mesa_drivers ]; + buildInputs = [ cmake pkgconfig git curl SDL xercesc openal lua libpng libjpeg vlc wxGTK + glib cppunit fontconfig freetype ftgl glew libogg libvorbis makeWrapper mesa_glu ]; configurePhase = '' cmake -DCMAKE_INSTALL_PREFIX=$out -DBUILD_MEGAGLEST_TESTS=ON diff --git a/pkgs/games/teeworlds/default.nix b/pkgs/games/teeworlds/default.nix index 5276ec4cc34f..ea337c208dff 100644 --- a/pkgs/games/teeworlds/default.nix +++ b/pkgs/games/teeworlds/default.nix @@ -1,19 +1,24 @@ -{ fetchurl, stdenv, python, alsaLib, libX11, mesa, SDL, lua5, zlib, bam }: +{ fetchurl, stdenv, makeWrapper, python, alsaLib +, libX11, mesa_glu, SDL, lua5, zlib, bam, freetype +}: stdenv.mkDerivation rec { - name = "teeworlds-0.6.1"; + name = "teeworlds-0.6.3"; src = fetchurl { - url = "http://www.teeworlds.com/files/${name}-source.tar.gz"; - sha256 = "025rcz59mdqksja4akn888c8avj9j28rk86vw7w1licdp67x8a33"; + url = "https://downloads.teeworlds.com/teeworlds-0.6.3-src.tar.gz"; + sha256 = "0yq7f3yan07sxrhz7mzwqv344nfmdc67p3dg173631w9fb1yf3j9"; }; - # Note: Teeworlds requires Python 2.x to compile. Python 3.0 will - # not work. - buildInputs = [ python alsaLib libX11 mesa SDL lua5 zlib bam ]; + # we always want to use system libs instead of these + postPatch = "rm -r other/{freetype,sdl}/{include,lib32,lib64}"; - configurePhase = '' - bam release + buildInputs = [ + python makeWrapper alsaLib libX11 mesa_glu SDL lua5 zlib bam freetype + ]; + + buildPhase = '' + bam -a -v release ''; installPhase = '' @@ -37,12 +42,8 @@ stdenv.mkDerivation rec { # that they can access the graphics and sounds. for program in $executables do - mv -v "$out/bin/$program" "$out/bin/.wrapped-$program" - cat > "$out/bin/$program" <= 4.1 https://www.wireguard.io/install/#kernel-requirements assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "4.1"; +# module is incompatible with the PaX constification plugin +assert kernel != null -> !(kernel.features.grsecurity or false); let name = "wireguard-unstable-${version}"; diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix index 71cc5865fb85..14c4873beb42 100644 --- a/pkgs/servers/emby/default.nix +++ b/pkgs/servers/emby/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "emby-${version}"; - version = "3.0.6070"; + version = "3.0.6400"; src = fetchurl { url = "https://github.com/MediaBrowser/Emby/archive/${version}.tar.gz"; - sha256 = "1szxqyr1pj90dfz9ga8ddcipzidm3ajinyp1vngzvwqcsdb7dxc5"; + sha256 = "08zwqqilfs3y2kjqfan4ya0s9pns6g1pgh6wciabjzv2v2ra9kq3"; }; propagatedBuildInputs = with pkgs; [ diff --git a/pkgs/servers/etcd/default.nix b/pkgs/servers/etcd/default.nix index 2c76dfc8e31d..3d301a6a35b3 100644 --- a/pkgs/servers/etcd/default.nix +++ b/pkgs/servers/etcd/default.nix @@ -1,20 +1,30 @@ { stdenv, lib, libpcap, buildGoPackage, fetchFromGitHub }: +with lib; + buildGoPackage rec { name = "etcd-${version}"; - version = "2.3.7"; + version = "3.0.6"; # After updating check that nixos tests pass rev = "v${version}"; - + goPackagePath = "github.com/coreos/etcd"; src = fetchFromGitHub { inherit rev; owner = "coreos"; repo = "etcd"; - sha256 = "07rdnhcpnvnkxj5pqacxz669rzn5vw2i1zmf6dd4nv7wpfscdw9f"; + sha256 = "163qji360y21nr1wnl16nbvvgdgqgbny4c3v3igp87q9p78sdf75"; }; goDeps = ./deps.json; buildInputs = [ libpcap ]; + + meta = { + description = "Distributed reliable key-value store for the most critical data of a distributed system"; + license = licenses.asl20; + homepage = https://coreos.com/etcd/; + maintainers = with maintainers; [offline]; + platforms = with platforms; linux; + }; } diff --git a/pkgs/servers/etcd/deps.json b/pkgs/servers/etcd/deps.json index 310f51963f28..6ba22a78b7c2 100644 --- a/pkgs/servers/etcd/deps.json +++ b/pkgs/servers/etcd/deps.json @@ -1,20 +1,335 @@ [ - { - "goPackagePath": "github.com/olekukonko/tablewriter", - "fetch": { - "type": "git", - "url": "https://github.com/olekukonko/tablewriter", - "rev": "cca8bbc0798408af109aaaa239cbd2634846b340", - "sha256": "0f9ph3z7lh6p6gihbl1461j9yq5qiaqxr9mzdkp512n18v89ml48" - } - }, - { - "goPackagePath": "github.com/mattn/go-runewidth", - "fetch": { - "type": "git", - "url": "https://github.com/mattn/go-runewidth", - "rev": "d6bea18f789704b5f83375793155289da36a3c7f", - "sha256": "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs" - } + { + "goPackagePath": "github.com/beorn7/perks", + "fetch": { + "type": "git", + "url": "https://github.com/beorn7/perks", + "rev": "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9", + "sha256": "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y" } -] + }, + { + "goPackagePath": "github.com/boltdb/bolt", + "fetch": { + "type": "git", + "url": "https://github.com/boltdb/bolt", + "rev": "583e8937c61f1af6513608ccc75c97b6abdf4ff9", + "sha256": "0cp5v9iypg9ysiq40k3h3lg7aisxplnmxshha7nama6b170izyay" + } + }, + { + "goPackagePath": "github.com/cloudfoundry-incubator/candiedyaml", + "fetch": { + "type": "git", + "url": "https://github.com/cloudfoundry-incubator/candiedyaml", + "rev": "99c3df83b51532e3615f851d8c2dbb638f5313bf", + "sha256": "106nibg7423642gbkg88c5x2jxfz6nmxbribhwb8cr1rn9vpjaxs" + } + }, + { + "goPackagePath": "github.com/cockroachdb/cmux", + "fetch": { + "type": "git", + "url": "https://github.com/cockroachdb/cmux", + "rev": "b64f5908f4945f4b11ed4a0a9d3cc1e23350866d", + "sha256": "1by4f3x7j3r3z1sdx1v04r494hn6jaag7lc03prrgx455j8i0jlh" + } + }, + { + "goPackagePath": "github.com/coreos/etcd", + "fetch": { + "type": "git", + "url": "https://github.com/coreos/etcd.git", + "rev": "9efa00d1030d4bf62eb8e5ec130023aeb1b8e2d0", + "sha256": "163qji360y21nr1wnl16nbvvgdgqgbny4c3v3igp87q9p78sdf75" + } + }, + { + "goPackagePath": "github.com/coreos/go-semver", + "fetch": { + "type": "git", + "url": "https://github.com/coreos/go-semver", + "rev": "8ab6407b697782a06568d4b7f1db25550ec2e4c6", + "sha256": "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0" + } + }, + { + "goPackagePath": "github.com/coreos/go-systemd", + "fetch": { + "type": "git", + "url": "https://github.com/coreos/go-systemd", + "rev": "5c49e4850c879a0ddc061e8f4adcf307de8a8bc2", + "sha256": "1w16bnrgfjb5rwha7g8rdjhpgjf8bzmlzhrda5bfvc9ymj3qjibk" + } + }, + { + "goPackagePath": "github.com/coreos/pkg", + "fetch": { + "type": "git", + "url": "https://github.com/coreos/pkg", + "rev": "3ac0863d7acf3bc44daf49afef8919af12f704ef", + "sha256": "0l5ans1ls2gknkrnhymgc0zbgg5nqjbjbqc51r611adcr0m6gg8l" + } + }, + { + "goPackagePath": "github.com/ghodss/yaml", + "fetch": { + "type": "git", + "url": "https://github.com/ghodss/yaml", + "rev": "aa0c862057666179de291b67d9f093d12b5a8473", + "sha256": "0cbc78n8l7h1gdzhrvahplcvr4v7n8v23vkgskfp843rcx5h6isr" + } + }, + { + "goPackagePath": "github.com/gogo/protobuf", + "fetch": { + "type": "git", + "url": "https://github.com/gogo/protobuf", + "rev": "f20a1444730c7d9949b880a0309e737d007def25", + "sha256": "12wa3r2cb2v1m65phbkh692ldlklk459z4x6avpc6im0zkr6r73c" + } + }, + { + "goPackagePath": "github.com/golang/protobuf", + "fetch": { + "type": "git", + "url": "https://github.com/golang/protobuf", + "rev": "f592bd283e9ef86337a432eb50e592278c3d534d", + "sha256": "01gxhzn9m6jz6ihwxfycnx39zf5pmkan61l278cnynsb8mibdpvb" + } + }, + { + "goPackagePath": "github.com/google/btree", + "fetch": { + "type": "git", + "url": "https://github.com/google/btree", + "rev": "7d79101e329e5a3adf994758c578dab82b90c017", + "sha256": "1c1hsy5s2pfawg3l9954jmqmy4yc2zp3f7i87m00km2yqgb8xpd0" + } + }, + { + "goPackagePath": "github.com/grpc-ecosystem/grpc-gateway", + "fetch": { + "type": "git", + "url": "https://github.com/grpc-ecosystem/grpc-gateway", + "rev": "5e0e028ba0a015710eaebf6e47af18812c9f2767", + "sha256": "00s4wxzs6lz5al7y2hxi6r4bxhx5b0ajk5rwxrnb4a4mhlaii8pk" + } + }, + { + "goPackagePath": "github.com/jonboulle/clockwork", + "fetch": { + "type": "git", + "url": "https://github.com/jonboulle/clockwork", + "rev": "e3653ace2d63753697e0e5b07b9393971c0bba9d", + "sha256": "1avzqhks12a8x2yzpvjsf3k0gv9cy7zx2z88hn0scacnxkphisvc" + } + }, + { + "goPackagePath": "github.com/matttproud/golang_protobuf_extensions", + "fetch": { + "type": "git", + "url": "https://github.com/matttproud/golang_protobuf_extensions", + "rev": "c12348ce28de40eed0136aa2b644d0ee0650e56c", + "sha256": "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya" + } + }, + { + "goPackagePath": "github.com/prometheus/client_golang", + "fetch": { + "type": "git", + "url": "https://github.com/prometheus/client_golang", + "rev": "c5b7fccd204277076155f10851dad72b76a49317", + "sha256": "1xqny3147g12n4j03kxm8s9mvdbs3ln6i56c655mybrn9jjy48kd" + } + }, + { + "goPackagePath": "github.com/prometheus/client_model", + "fetch": { + "type": "git", + "url": "https://github.com/prometheus/client_model", + "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6", + "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9" + } + }, + { + "goPackagePath": "github.com/prometheus/common", + "fetch": { + "type": "git", + "url": "https://github.com/prometheus/common", + "rev": "ebdfc6da46522d58825777cf1f90490a5b1ef1d8", + "sha256": "0js62pj8600773wx6labpd772yyhz5ivim7dnl7b862wblbmc8mq" + } + }, + { + "goPackagePath": "github.com/prometheus/procfs", + "fetch": { + "type": "git", + "url": "https://github.com/prometheus/procfs", + "rev": "abf152e5f3e97f2fafac028d2cc06c1feb87ffa5", + "sha256": "0cp8lznv1b4zhi3wnbjkfxwzhkqd3wbmiy6mwgjanip8l9l3ykws" + } + }, + { + "goPackagePath": "github.com/spf13/cobra", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/cobra", + "rev": "7c674d9e72017ed25f6d2b5e497a1368086b6a6f", + "sha256": "0an935r7lc11a744mvdrsy56rs2w0ah3gdclvr4gzd5iqr9ap3dr" + } + }, + { + "goPackagePath": "github.com/spf13/pflag", + "fetch": { + "type": "git", + "url": "https://github.com/spf13/pflag", + "rev": "6454a84b6da0ea8b628d5d8a26759f62c6c161b4", + "sha256": "06rfi73jhkncn8gxy6klgmba5947k9gpwdswipdpz680yxczcwna" + } + }, + { + "goPackagePath": "github.com/ugorji/go", + "fetch": { + "type": "git", + "url": "https://github.com/ugorji/go", + "rev": "4a1cb5252a6951f715a85d0e4be334c2a2dbf2a2", + "sha256": "0izpijk3piihl4fnqg8ncnp5ivbq41pg3xf7iagg4fbg5id4pxbx" + } + }, + { + "goPackagePath": "github.com/xiang90/probing", + "fetch": { + "type": "git", + "url": "https://github.com/xiang90/probing", + "rev": "07dd2e8dfe18522e9c447ba95f2fe95262f63bb2", + "sha256": "0r8rq27yigz72mk8z7p61yjfan8id021dnp1v421ln9byzpvabn2" + } + }, + { + "goPackagePath": "golang.org/x/crypto", + "fetch": { + "type": "git", + "url": "https://go.googlesource.com/crypto", + "rev": "88d0005bf4c3ec17306ecaca4281a8d8efd73e91", + "sha256": "1d3x0rwfd4cml06ka8gy74wxrw94m2z7qgz6ky0rgmxcr7p5iikz" + } + }, + { + "goPackagePath": "golang.org/x/net", + "fetch": { + "type": "git", + "url": "https://go.googlesource.com/net", + "rev": "7394c112eae4dba7e96bfcfe738e6373d61772b4", + "sha256": "1p8wsxnbsp2lq6hbza2n0zgv4sgpxzzjjlrmcngkhxj47kp3hin7" + } + }, + { + "goPackagePath": "google.golang.org/grpc", + "fetch": { + "type": "git", + "url": "https://github.com/grpc/grpc-go", + "rev": "0032a855ba5c8a3c8e0d71c2deef354b70af1584", + "sha256": "0qkynp65jwk6jk932k7kwxs5v6fzlfsb1fay71a00dwr36f44s67" + } + }, + { + "goPackagePath": "github.com/urfave/cli", + "fetch": { + "type": "git", + "url": "https://github.com/urfave/cli", + "rev": "168c95418e66e019fe17b8f4f5c45aa62ff80e23", + "sha256": "1gdvvim2f1zigcmbpcgypgn7nvpnlr87grbg7lw13fbpy6fnlw2n" + } + }, + { + "goPackagePath": "github.com/mattn/go-runewidth", + "fetch": { + "type": "git", + "url": "https://github.com/mattn/go-runewidth", + "rev": "d6bea18f789704b5f83375793155289da36a3c7f", + "sha256": "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs" + } + }, + { + "goPackagePath": "github.com/olekukonko/tablewriter", + "fetch": { + "type": "git", + "url": "https://github.com/olekukonko/tablewriter", + "rev": "daf2955e742cf123959884fdff4685aa79b63135", + "sha256": "1fvl251ms7qmzfbi853kdgghqkrmyy6n1605mfy50nhgvw03z203" + } + }, + { + "goPackagePath": "github.com/dustin/go-humanize", + "fetch": { + "type": "git", + "url": "https://github.com/dustin/go-humanize", + "rev": "2fcb5204cdc65b4bec9fd0a87606bb0d0e3c54e8", + "sha256": "1m2qgn5vh5m66ggmclgikvwc05np2r7sxgpvlj2jip5d61x29j5k" + } + }, + { + "goPackagePath": "github.com/bgentry/speakeasy", + "fetch": { + "type": "git", + "url": "https://github.com/bgentry/speakeasy", + "rev": "a1ccbf2c40dfc8ce514b5c5c6e6d1429ea6880da", + "sha256": "0xqpc1qhdcs5blp1mkrppfb1x0rcv4a445mj0yzdwshbzkw5di01" + } + }, + { + "goPackagePath": "github.com/kr/pty", + "fetch": { + "type": "git", + "url": "https://github.com/kr/pty", + "rev": "ce7fa45920dc37a92de8377972e52bc55ffa8d57", + "sha256": "0mdlr2mmwjznw2id0l4200xjajq9dh1kxn3z7d3ksn0b5fwinzmk" + } + }, + { + "goPackagePath": "github.com/golang/groupcache", + "fetch": { + "type": "git", + "url": "https://github.com/golang/groupcache", + "rev": "a6b377e3400b08991b80d6805d627f347f983866", + "sha256": "125a6zdaxj916yp2rlrkg8xw00vjf5ga9xwdg4clby8wj4fysma2" + } + }, + { + "goPackagePath": "gopkg.in/cheggaaa/pb.v1", + "fetch": { + "type": "git", + "url": "https://gopkg.in/cheggaaa/pb.v1", + "rev": "9453b2db37f4d8bc63751daca63bbe7049eb5e74", + "sha256": "0py7dxvm3ydxcw260x7r7xbjww1vkil3rhyy3f9njmjydyb303rb" + } + }, + { + "goPackagePath": "github.com/golang/glog", + "fetch": { + "type": "git", + "url": "https://github.com/golang/glog", + "rev": "23def4e6c14b4da8ac2ed8007337bc5eb5007998", + "sha256": "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30" + } + }, + { + "goPackagePath": "github.com/spacejam/loghisto", + "fetch": { + "type": "git", + "url": "https://github.com/spacejam/loghisto", + "rev": "9d1d8c1fd2a4ac852bf2e312f2379f553345fda7", + "sha256": "0r31y4ci35pp11wqdyarimdq5a703byk3cf6d67adsa4nw0ysfm1" + } + }, + { + "goPackagePath": "github.com/akrennmair/gopcap", + "fetch": { + "type": "git", + "url": "https://github.com/akrennmair/gopcap", + "rev": "00e11033259acb75598ba416495bb708d864a010", + "sha256": "0xfw7x5a36w0g76imjvgk055360xg0nva42qhmflfvll7ldxq96a" + } + } +] \ No newline at end of file diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix index 176fd22162bc..6303946de3a2 100644 --- a/pkgs/servers/mail/postfix/default.nix +++ b/pkgs/servers/mail/postfix/default.nix @@ -22,11 +22,11 @@ in stdenv.mkDerivation rec { name = "postfix-${version}"; - version = "3.1.1"; + version = "3.1.2"; src = fetchurl { url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz"; - sha256 = "10lrp8fyn38digih1sy7y4dm74szj1cvbyxmn68095ri8v1s9v9x"; + sha256 = "0sqgsfq3dqilfcr2z9wi7g12mcma690j8qvs8v93gszrdgpb9f8s"; }; buildInputs = [ makeWrapper gnused db openssl cyrus_sasl icu pcre ] diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix index e1e6dacfe984..7025ddbc12bf 100644 --- a/pkgs/servers/search/groonga/default.nix +++ b/pkgs/servers/search/groonga/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { name = "groonga-${version}"; - version = "6.0.7"; + version = "6.0.8"; src = fetchurl { - url = "http://packages.groonga.org/source/groonga/groonga-6.0.7.tar.gz"; - sha256 = "19vpjjq3mqaqy9idlmqg2agrz9dc48a9id8j7nx158pkwjvpj7jf"; + url = "http://packages.groonga.org/source/groonga/${name}.tar.gz"; + sha256 = "05mp6zkavxj87nbx0jr48rpjjcf7fzdczxa93sxp4zq2dsnn5s5r"; }; buildInputs = with stdenv.lib; [ pkgconfig mecab kytea libedit ] ++ diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix index 977575491f5a..ac8c3a1b1c91 100644 --- a/pkgs/servers/sip/freeswitch/default.nix +++ b/pkgs/servers/sip/freeswitch/default.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { url = "http://files.freeswitch.org/freeswitch-releases/${name}.tar.bz2"; sha256 = "0g0x4m8rb2ybpxwrszb4w37rb10v9fbszm7l2skjakf4dx0gw5i7"; }; + postPatch = "patchShebangs libs/libvpx/build/make/rtcd.pl"; buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix index 1e07b4114a55..0086891da299 100644 --- a/pkgs/tools/archivers/unrar/default.nix +++ b/pkgs/tools/archivers/unrar/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "unrar-${version}"; - version = "5.4.4"; + version = "5.4.5"; src = fetchurl { url = "http://www.rarlab.com/rar/unrarsrc-${version}.tar.gz"; - sha256 = "10rdbp19mcblgzhs9xh3lr1d1x0n1clyc46flg21ic3427b6assm"; + sha256 = "0v3rz2245bp2nh4115ysqv34vqlrpln9y11fnlzqj8i46f2caw74"; }; postPatch = '' diff --git a/pkgs/tools/cd-dvd/mdf2iso/default.nix b/pkgs/tools/cd-dvd/mdf2iso/default.nix new file mode 100644 index 000000000000..c87d5783ff6f --- /dev/null +++ b/pkgs/tools/cd-dvd/mdf2iso/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchgit}: + +stdenv.mkDerivation rec { + name = "mdf2iso-${version}"; + version = "0.3.1"; + + src = fetchgit { + url = https://anonscm.debian.org/cgit/collab-maint/mdf2iso.git; + rev = "5a8acaf3645bff863f9f16ea1d3632c312f01523"; + sha256 = "0f2jx8dg1sxc8y0sisqhqsqg7pj1j84fp08nahp0lfcq522pqbhl"; + }; + + meta = with stdenv.lib; { + description = "Small utility that converts MDF images to ISO format"; + homepage = src.url; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.oxij ]; + }; +} diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix index 7f2d31166034..e981a1089145 100644 --- a/pkgs/tools/compression/zstd/default.nix +++ b/pkgs/tools/compression/zstd/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "zstd-${version}"; - version = "0.7.5"; + version = "1.0.0"; src = fetchFromGitHub { - sha256 = "07b4gmmkk2b28vmmhcg8h2imzccav1qklgvbdg2k6nl9p88zwzkd"; + sha256 = "0h8r8vlk8v28cxxgdp7h7dcygbpn8g95wffsvhzybxhfvkrlw6f2"; rev = "v${version}"; repo = "zstd"; - owner = "Cyan4973"; + owner = "facebook"; }; # The Makefiles don't properly use file targets, but blindly rebuild @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { compression speed. Speed/ratio trade-off is configurable by small increment, to fit different situations. Note however that decompression speed is preserved and remain roughly the same at all settings, a - property shared by most LZ compression algorithms, such as zlib. + property shared by most LZ compression algorithms, such as zlib. ''; homepage = http://www.zstd.net/; # The licence of the CLI programme is GPLv2+, that of the library BSD-2. diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix index 6ba2b8817849..3eaf5ae5d1b3 100644 --- a/pkgs/tools/misc/fzf/default.nix +++ b/pkgs/tools/misc/fzf/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "fzf-${version}"; - version = "0.13.3"; + version = "0.13.5"; rev = "${version}"; goPackagePath = "github.com/junegunn/fzf"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "junegunn"; repo = "fzf"; - sha256 = "0mfrlb91akzrj0qpjpaa9bkp6m9z95z56glamry73qy21vbnj58m"; + sha256 = "1zfl53nv0b2wsmgbsf850yafqkx9pplpx339iiw4037msdjqhi19"; }; buildInputs = [ ncurses ]; diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix index 6dd40e8476f3..f1712a43c3be 100644 --- a/pkgs/tools/misc/recutils/default.nix +++ b/pkgs/tools/misc/recutils/default.nix @@ -1,21 +1,23 @@ { fetchurl, stdenv, gettext, emacs, curl, check, bc }: stdenv.mkDerivation rec { - name = "recutils-1.5"; + name = "recutils-1.7"; src = fetchurl { url = "mirror://gnu/recutils/${name}.tar.gz"; - sha256 = "1v2xzwwwhc5j5kmvg4sv6baxjpsfqh8ln7ilv4mgb1408rs7xmky"; + sha256 = "0cdwa4094x3yx7vn98xykvnlp9rngvd58d19vs3vh5hrvggccg93"; }; - patches = [ ./glibc.patch ]; - doCheck = true; hardeningDisable = [ "format" ]; buildInputs = [ curl emacs ] ++ (stdenv.lib.optionals doCheck [ check bc ]); + postInstall = '' + ${emacs}/bin/emacs -Q -batch -f batch-byte-compile $out/share/emacs/site-lisp/*.el #*/ + ''; + meta = { description = "Tools and libraries to access human-editable, text-based databases"; diff --git a/pkgs/tools/misc/recutils/glibc.patch b/pkgs/tools/misc/recutils/glibc.patch deleted file mode 100644 index 8b4997f099de..000000000000 --- a/pkgs/tools/misc/recutils/glibc.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- recutils-1.5/lib/stdio.in.h -+++ recutils-1.5/lib/stdio.in.h -@@ -699,22 +699,11 @@ - # endif - #endif - --#if @GNULIB_GETS@ --# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ --# if !(defined __cplusplus && defined GNULIB_NAMESPACE) --# undef gets --# define gets rpl_gets --# endif --_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); --_GL_CXXALIAS_RPL (gets, char *, (char *s)); --# else --_GL_CXXALIAS_SYS (gets, char *, (char *s)); --# undef gets --# endif --_GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ -+ so any use of gets warrants an unconditional warning; besides, C11 -+ removed it. */ -+#undef gets -+#if HAVE_RAW_DECL_GETS - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif - diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix index 2269e1a09c7b..f12b2900e678 100644 --- a/pkgs/tools/networking/i2pd/default.nix +++ b/pkgs/tools/networking/i2pd/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = pname + "-" + version; pname = "i2pd"; - version = "2.8.0"; + version = "2.9.0"; src = fetchFromGitHub { owner = "PurpleI2P"; repo = pname; rev = version; - sha256 = "10rimw6ldnaijbjz1vmkrbrr5swbbqjydjrxd4y5xj2r8whq2mph"; + sha256 = "1xwcq7lklma0daamp9z76l9mgr3glpvicjgsr645rjhdv8a0mqwp"; }; buildInputs = [ boost zlib openssl ]; diff --git a/pkgs/tools/networking/megatools/default.nix b/pkgs/tools/networking/megatools/default.nix index 7c2a437ab658..b06308acfc49 100644 --- a/pkgs/tools/networking/megatools/default.nix +++ b/pkgs/tools/networking/megatools/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "megatools-${version}"; - version = "1.9.94"; + version = "1.9.97"; src = fetchurl { url = "http://megatools.megous.com/builds/${name}.tar.gz"; - sha256 = "1kms0k652sszcbzmx5nmz07gc8zbqqiskh8hvmvf6xaga7y3lgrx"; + sha256 = "1wssf8f2ndh43sdzcfc644azqa7bjppl3b9s26mz1pjswmpca5ik"; }; buildInputs = [ pkgconfig glib fuse curl makeWrapper diff --git a/pkgs/tools/networking/shadowsocks-libev/default.nix b/pkgs/tools/networking/shadowsocks-libev/default.nix index 74ae4f808a9c..0ac8dca770af 100644 --- a/pkgs/tools/networking/shadowsocks-libev/default.nix +++ b/pkgs/tools/networking/shadowsocks-libev/default.nix @@ -15,8 +15,8 @@ let - version = "2.4.8"; - sha256 = "af3fc3be50fb24dfd1aed8ce34d2d13448735f6181269f54f4860438a1838472"; + version = "2.5.0"; + sha256 = "6841e0efa1c01caef5a827f463ee304dc9e48fb4751cc9256316df5ab4490ae0"; in diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix index a7bda2578ae4..ce7208982555 100644 --- a/pkgs/tools/package-management/dpkg/default.nix +++ b/pkgs/tools/package-management/dpkg/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { "--disable-dselect" "--with-admindir=/var/lib/dpkg" "PERL_LIBDIR=$(out)/${perl.libPrefix}" + (stdenv.lib.optionalString stdenv.isDarwin "--disable-linker-optimisations") + (stdenv.lib.optionalString stdenv.isDarwin "--disable-start-stop-daemon") ]; preConfigure = '' @@ -55,7 +57,7 @@ stdenv.mkDerivation rec { description = "The Debian package manager"; homepage = http://wiki.debian.org/Teams/Dpkg; license = licenses.gpl2Plus; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ mornfall nckx ]; }; } diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix index 534e06814e2b..79f6a6c1c288 100644 --- a/pkgs/tools/security/pass/default.nix +++ b/pkgs/tools/security/pass/default.nix @@ -20,8 +20,9 @@ stdenv.mkDerivation rec { }; patches = - [ ./program-name.patch ] ++ - stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch; + [ ./program-name.patch + ./set-correct-program-name-for-sleep.patch + ] ++ stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch; buildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/pass/set-correct-program-name-for-sleep.patch b/pkgs/tools/security/pass/set-correct-program-name-for-sleep.patch new file mode 100644 index 000000000000..f00307307eb5 --- /dev/null +++ b/pkgs/tools/security/pass/set-correct-program-name-for-sleep.patch @@ -0,0 +1,33 @@ +From 6ad29ae97263060c9ec95856e0d8ab18409108c0 Mon Sep 17 00:00:00 2001 +From: Franz Pletz +Date: Sat, 3 Sep 2016 05:45:36 +0200 +Subject: [PATCH] Set correct program name for sleep + +--- + src/password-store.sh | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/password-store.sh b/src/password-store.sh +index 63be840..ca47df3 100755 +--- a/src/password-store.sh ++++ b/src/password-store.sh +@@ -133,11 +133,14 @@ clip() { + # variable. Specifically, it cannot store nulls nor (non-trivally) store + # trailing new lines. + local sleep_argv0="password store sleep on display $DISPLAY" +- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5 ++ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5 + local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | base64)" + echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard" + ( +- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" ) ++ # Execute sleep as a child process of bash because it may be ++ # a symlink to a single binary version of coreutils or busybox ++ # which depends on argv0 correctly set to "sleep" ++ ( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") ) + local now="$(xclip -o -selection "$X_SELECTION" | base64)" + [[ $now != $(echo -n "$1" | base64) ]] && before="$now" + +-- +2.9.3 + diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix index f7668e1374af..798d6820cf46 100644 --- a/pkgs/tools/system/plan9port/default.nix +++ b/pkgs/tools/system/plan9port/default.nix @@ -8,13 +8,13 @@ }: stdenv.mkDerivation rec { - name = "plan9port-2015-11-10"; + name = "plan9port-2016-04-18"; src = fetchgit { # Latest, same as on github, google code is old url = "https://plan9port.googlesource.com/plan9"; - rev = "0d2dfbc"; - sha256 = "1h16wvps4rfkjim2ihkmniw8wzl7yill5910larci1c70x6zcicf"; + rev = "35d43924484b88b9816e40d2f6bff4547f3eec47"; + sha256 = "1dvg580rkav09fra2gnrzh271b4fw6bgqfv4ib7ds5k3j55ahcdc"; }; patches = [ @@ -29,23 +29,29 @@ stdenv.mkDerivation rec { find . -type f \ -exec sed -i -e 's/_SVID_SOURCE/_DEFAULT_SOURCE/g' {} \; \ -exec sed -i -e 's/_BSD_SOURCE/_DEFAULT_SOURCE/g' {} \; + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + #add missing ctrl+c\z\x\v keybind for non-Darwin + substituteInPlace src/cmd/acme/text.c \ + --replace "case Kcmd+'c':" "case 0x03: case Kcmd+'c':" \ + --replace "case Kcmd+'z':" "case 0x1a: case Kcmd+'z':" \ + --replace "case Kcmd+'x':" "case 0x18: case Kcmd+'x':" \ + --replace "case Kcmd+'v':" "case 0x16: case Kcmd+'v':" ''; builder = ./builder.sh; NIX_LDFLAGS="-lgcc_s"; - buildInputs = stdenv.lib.optionals - (!stdenv.isDarwin) - [ which - perl - libX11 - fontconfig - xproto - libXt - xextproto - libXext - freetype #fontsrv wants ft2build.h. provides system fonts for acme and sam. - ]; + buildInputs = stdenv.lib.optionals (!stdenv.isDarwin) [ + which + perl + libX11 + fontconfig + xproto + libXt + xextproto + libXext + freetype #fontsrv wants ft2build.h. provides system fonts for acme and sam. + ]; enableParallelBuilding = true; @@ -53,7 +59,7 @@ stdenv.mkDerivation rec { homepage = "http://swtch.com/plan9port/"; description = "Plan 9 from User Space"; license = licenses.lpl-102; - maintainers = with stdenv.lib.maintainers; [ ftrvxmtrx kovirobi ]; + maintainers = with maintainers; [ ftrvxmtrx kovirobi ]; platforms = platforms.unix; }; diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix index f3e6b15ed2c5..f0495578f465 100644 --- a/pkgs/tools/system/rsyslog/default.nix +++ b/pkgs/tools/system/rsyslog/default.nix @@ -11,11 +11,11 @@ let mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}"; in stdenv.mkDerivation rec { - name = "rsyslog-8.17.0"; + name = "rsyslog-8.21.0"; src = fetchurl { url = "http://www.rsyslog.com/files/download/rsyslog/${name}.tar.gz"; - sha256 = "1fazpbllr3wk8aw41zk7b6iirds4h8j3im080nf8my2cjssij7pc"; + sha256 = "1arrhc9fw79sp7dxkf7gyfwibyr2i1000pfds5c7n43mgglgvcdx"; }; #patches = [ ./fix-gnutls-detection.patch ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index baf749a89a6f..2900ef863cc5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -285,6 +285,8 @@ in inherit kernel rootModules allowMissing; }; + nixBufferBuilders = import ../build-support/emacs/buffer.nix { inherit (pkgs) runCommand; }; + pathsFromGraph = ../build-support/kernel/paths-from-graph.pl; srcOnly = args: callPackage ../build-support/src-only args; @@ -1020,6 +1022,8 @@ in cdrkit = callPackage ../tools/cd-dvd/cdrkit { }; + mdf2iso = callPackage ../tools/cd-dvd/mdf2iso { }; + libceph = self.ceph.lib; ceph = callPackage ../tools/filesystems/ceph { boost = boost159; }; ceph-dev = self.ceph; @@ -3697,6 +3701,8 @@ in tcpflow = callPackage ../tools/networking/tcpflow { }; + tcpkali = callPackage ../applications/networking/tcpkali { }; + teamviewer = callPackage ../applications/networking/remote/teamviewer { stdenv = stdenv_32bit; }; @@ -7095,6 +7101,8 @@ in cryptopp = callPackage ../development/libraries/crypto++ { }; + curlcpp = callPackage ../development/libraries/curlcpp { }; + cutee = callPackage ../development/libraries/cutee { }; cxxtools = callPackage ../development/libraries/cxxtools { }; @@ -7133,7 +7141,7 @@ in dbus-sharp-glib-1_0 = callPackage ../development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix { }; dbus-sharp-glib-2_0 = callPackage ../development/libraries/dbus-sharp-glib { }; - # Should we deprecate these? Currently there are many references. + # FIXME: deprecate these. dbus_tools = self.dbus.out; dbus_libs = self.dbus; dbus_daemon = self.dbus.daemon; @@ -7630,13 +7638,13 @@ in gtk-sharp-2_0 = callPackage ../development/libraries/gtk-sharp/2.0.nix { inherit (gnome) libglade libgtkhtml gtkhtml libgnomecanvas libgnomeui libgnomeprint - libgnomeprintui GConf gnomepanel; + libgnomeprintui GConf; }; gtk-sharp-3_0 = callPackage ../development/libraries/gtk-sharp/3.0.nix { inherit (gnome) libglade libgtkhtml gtkhtml libgnomecanvas libgnomeui libgnomeprint - libgnomeprintui GConf gnomepanel; + libgnomeprintui GConf; }; gtk-sharp = self.gtk-sharp-2_0; @@ -7758,7 +7766,7 @@ in isocodes = callPackage ../development/libraries/iso-codes { }; ispc = callPackage ../development/compilers/ispc { - llvmPackages = llvmPackages_37; + llvmPackages = llvmPackages_39; }; itk = callPackage ../development/libraries/itk { }; @@ -9049,6 +9057,10 @@ in pangoxsl = callPackage ../development/libraries/pangoxsl { }; + pcaudiolib = callPackage ../development/libraries/pcaudiolib { + pulseaudioSupport = config.pulseaudio or true; + }; + pcg_c = callPackage ../development/libraries/pcg-c { }; pcl = callPackage ../development/libraries/pcl { @@ -9448,6 +9460,8 @@ in sofia_sip = callPackage ../development/libraries/sofia-sip { }; + sonic = callPackage ../development/libraries/sonic { }; + soprano = callPackage ../development/libraries/soprano { }; soqt = callPackage ../development/libraries/soqt { }; @@ -9802,9 +9816,12 @@ in xapianBindings = callPackage ../development/libraries/xapian/bindings { # TODO perl php Java, tcl, C#, python php = php56; + sphinx = pythonPackages.sphinx; }; - xapian-omega = callPackage ../tools/misc/xapian-omega {}; + xapian-omega = callPackage ../development/libraries/xapian/tools/omega { + libmagic = file; + }; xavs = callPackage ../development/libraries/xavs { }; @@ -11399,7 +11416,10 @@ in linuxPackages_4_6 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_6 linuxPackages_4_6); linuxPackages_4_7 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_7 linuxPackages_4_7); # Don't forget to update linuxPackages_latest! - linuxPackages_testing = recurseIntoAttrs (self.linuxPackagesFor self.linux_testing linuxPackages_testing); + + # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds. + linuxPackages_testing = self.linuxPackagesFor self.linux_testing linuxPackages_testing; + linuxPackages_custom = {version, src, configfile}: let linuxPackages_self = (self.linuxPackagesFor (self.linuxManualConfig {inherit version src configfile; allowImportFromDerivation=true;}) @@ -11791,6 +11811,7 @@ in utillinuxCurses = utillinux; utillinuxMinimal = appendToName "minimal" (utillinux.override { + minimal = true; ncurses = null; perl = null; systemd = null; @@ -11927,8 +11948,14 @@ in crimson = callPackage ../data/fonts/crimson {}; - dejavu_fonts = callPackage ../data/fonts/dejavu-fonts { + dejavu_fonts = lowPrio (callPackage ../data/fonts/dejavu-fonts { inherit (perlPackages) FontTTF; + }); + + # solve collision for nix-env before https://github.com/NixOS/nix/pull/815 + dejavu_fontsEnv = buildEnv { + name = "${dejavu_fonts.name}"; + paths = [ dejavu_fonts.out ]; }; dina-font = callPackage ../data/fonts/dina { }; @@ -12271,6 +12298,8 @@ in ahoviewer = callPackage ../applications/graphics/ahoviewer { }; + airwave = callPackage ../applications/audio/airwave/default.nix { }; + alchemy = callPackage ../applications/graphics/alchemy { }; alock = callPackage ../misc/screensavers/alock { }; @@ -12351,6 +12380,7 @@ in bitcoin-xt = self.altcoins.bitcoin-xt; go-ethereum = self.altcoins.go-ethereum; + ethabi = self.altcoins.ethabi; aumix = callPackage ../applications/audio/aumix { gtkGUI = false; @@ -13002,7 +13032,10 @@ in pythonPackages = python3Packages; }; - espeak = callPackage ../applications/audio/espeak { }; + espeak-classic = callPackage ../applications/audio/espeak { }; + + espeak-ng = callPackage ../applications/audio/espeak-ng { }; + espeak = self.espeak-ng; espeakedit = callPackage ../applications/audio/espeak/edit.nix { }; @@ -13825,6 +13858,7 @@ in boost = boost155; }; ledger = self.ledger3; + ledger-web = callPackage ../applications/office/ledger-web { }; lighthouse = callPackage ../applications/misc/lighthouse { }; @@ -14263,6 +14297,8 @@ in inherit (pkgs.kde4) kdelibs; }; + osmctools = callPackage ../applications/misc/osmctools { }; + vivaldi = callPackage ../applications/networking/browsers/vivaldi {}; opusfile = callPackage ../applications/audio/opusfile { }; @@ -14514,7 +14550,7 @@ in }; qutebrowser = qt5.callPackage ../applications/networking/browsers/qutebrowser { - inherit (python3Packages) buildPythonApplication pyqt5 jinja2 pygments pyyaml pypeg2; + inherit (python3Packages) buildPythonApplication pyqt5 jinja2 pygments pyyaml pypeg2 cssutils; inherit (gst_all_1) gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav; }; @@ -15006,6 +15042,8 @@ in transcode = callPackage ../applications/audio/transcode { }; + transcribe = callPackage ../applications/audio/transcribe { }; + transmission = callPackage ../applications/networking/p2p/transmission { }; transmission_gtk = transmission.override { enableGTK3 = true; }; @@ -15567,7 +15605,7 @@ in }; zotero = callPackage ../applications/office/zotero { - firefox = firefox-unwrapped; + firefox = firefox-esr-unwrapped; }; zscroll = callPackage ../applications/misc/zscroll {}; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 695f91a02308..5934e0dd6812 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3544,19 +3544,7 @@ let self = _self // overrides; _self = with self; { DBDSQLite = import ../development/perl-modules/DBD-SQLite { inherit stdenv fetchurl buildPerlPackage DBI; - # inherit (pkgs) sqlite; - - # Workaround to address DBIxClass test failure. - # https://rt.cpan.org/Public/Bug/Display.html?id=117271#txn-1662798 - # https://github.com/NixOS/nixpkgs/pull/18083#issuecomment-243408430 - sqlite = pkgs.sqlite.overrideDerivation (_: { - name = "sqlite-3.13.0"; - - src = fetchurl { - url = "http://sqlite.org/2016/sqlite-autoconf-3130000.tar.gz"; - sha256 = "0sq88jbwsk48i41f7m7rkw9xvijq011nsbs7pl49s31inck70yg2"; - }; - }); + inherit (pkgs) sqlite; }; DBDmysql = import ../development/perl-modules/DBD-mysql { diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index e8af3c2dbf9b..9bebfa3d9158 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -81,6 +81,19 @@ let buildInputs = with pkgs; [ pkgconfig cyrus_sasl ]; }; + # No support for PHP 7 yet (and probably never will be) + spidermonkey = assert !isPhp7; buildPecl rec { + name = "spidermonkey-1.0.0"; + + sha256 = "1ywrsp90w6rlgq3v2vmvp2zvvykkgqqasab7h9bf3vgvgv3qasbg"; + + configureFlags = [ + "--with-spidermonkey=${pkgs.spidermonkey_185}" + ]; + + buildInputs = [ pkgs.spidermonkey_185 ]; + }; + xdebug = if isPhp7 then xdebug24 else xdebug23; xdebug23 = assert !isPhp7; buildPecl { @@ -207,6 +220,47 @@ let }; }; + v8 = assert isPhp7; buildPecl rec { + version = "0.1.0"; + name = "v8-${version}"; + + src = pkgs.fetchurl { + url = "https://github.com/pinepain/php-v8/archive/v${version}.tar.gz"; + sha256 = "18smnxd34b486f5n8j0wk9z7r5x1w84v89mgf76z0bn7gxdxl0xj"; + }; + + buildInputs = [ pkgs.v8 ]; + configureFlags = [ "--with-v8=${pkgs.v8}" ]; + + patches = [ + (builtins.toFile "link-libv8_libbase.patch" '' + Index: php-v8/config.m4 + =================================================================== + --- php-v8.orig/config.m4 + +++ php-v8/config.m4 + @@ -69,7 +69,7 @@ if test "$PHP_V8" != "no"; then + #static_link_extra="libv8_base.a libv8_libbase.a libv8_libplatform.a libv8_snapshot.a" + ;; + * ) + - static_link_extra="libv8_libplatform.a" + + static_link_extra="libv8_libplatform.a libv8_libbase.a" + #static_link_extra="libv8_base.a libv8_libbase.a libv8_libplatform.a libv8_snapshot.a" + ;; + esac + '' + )]; + }; + + v8js = assert isPhp7; buildPecl rec { + version = "1.3.2"; + name = "v8js-${version}"; + + sha256 = "1x7gxi70zgj3vaxs89nfbnwlqcxrps1inlyfzz66pbzdbfwvc8z8"; + + buildInputs = [ pkgs.v8 ]; + configureFlags = [ "--with-v8js=${pkgs.v8}" ]; + }; + composer = pkgs.stdenv.mkDerivation rec { name = "composer-${version}"; version = "1.2.0"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cffb0c02f2a5..f4ac1b8afa96 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3176,11 +3176,11 @@ in modules // { }; cassandra-driver = buildPythonPackage rec { - name = "cassandra-driver-2.6.0c2"; + name = "cassandra-driver-3.6.0"; src = pkgs.fetchurl { url = "mirror://pypi/c/cassandra-driver/${name}.tar.gz"; - sha256 = "00cc2rkvkxaxn7sf2qzy29s6h394fla73rbdh9krxbswp5nvp27r"; + sha256 = "1aqmy3psn12lxgp659d0zsxkirxzy5lnbnzxf9xjq1a93s3qm704"; }; propagatedBuildInputs = with self; [ @@ -4508,8 +4508,9 @@ in modules // { sha256 = "7959b4a74abdc27b312fed1c21e6caf9309ce0b29ea86b591fd2e99ecdf27f73"; }; - # 3.5 is not supported but has been working fine - doCheck = !isPy35; + checkPhase = '' + ${python.interpreter} -m unittest discover -s tests + ''; meta = { description = "C parser in Python"; @@ -5242,7 +5243,8 @@ in modules // { sha256 = "a11c41b0cf8218e7cdc19ab7a1bdf5c141d161cd2350daee819473cc63cd0685"; }; - disabled = !isPy3k; + # Tests require some python3-isms but code works without. + doCheck = isPy3k; LC_ALL = "en_US.UTF-8"; buildInputs = with self; [ nose pkgs.glibcLocales ]; @@ -7893,17 +7895,17 @@ in modules // { pirate-get = buildPythonPackage rec { name = "pirate-get-${version}"; - version = "0.2.8"; + version = "0.2.9"; disabled = !isPy3k; doCheck = false; src = pkgs.fetchurl { url = "mirror://pypi/p/pirate-get/${name}.tar.gz"; - sha256 = "033dwv0w9fx3dwrna3fzvmynsfhb2qjhx6f2i9sfv82ijvkm8ynz"; + sha256 = "1djmfghnwsn3z525h6d98r0lllayvzsg71z0gskk25zr24kjs24a"; }; - propagatedBuildInputs = with self; [ colorama veryprettytable pyquery ]; + propagatedBuildInputs = with self; [ colorama veryprettytable beautifulsoup4 ]; meta = { description = "A command line interface for The Pirate Bay"; @@ -13391,17 +13393,18 @@ in modules // { rainbowstream = buildPythonPackage rec { name = "rainbowstream-${version}"; - version = "1.3.3"; + version = "1.3.5"; src = pkgs.fetchurl { url = "mirror://pypi/r/rainbowstream/${name}.tar.gz"; - sha256 = "08598slbn8sm2hjs0q1041fv7m56k2ky4q66rsihacjw0mg7blai"; + sha256 = "0a8bs9g81ns47d4vaj5pfgw9zwbcp0nivlm5rps4dlb6qwvzni1w"; }; doCheck = false; patches = [ ../development/python-modules/rainbowstream/image.patch + ../development/python-modules/rainbowstream/setup.patch ]; postPatch = '' @@ -13425,6 +13428,7 @@ in modules // { buildInputs = with self; [ pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales pillow twitter pyfiglet requests2 arrow dateutil modules.readline pysocks + pocket ]; meta = { @@ -13435,6 +13439,27 @@ in modules // { }; }; + pocket = buildPythonPackage rec { + name = "pocket-${version}"; + version = "0.3.6"; + + src = pkgs.fetchurl { + url = "mirror://pypi/p/pocket/${name}.tar.gz"; + sha256 = "1fc9vc5nyzf1kzmnrs18dmns7nn8wjfrg7br1w4c5sgs35mg2ywh"; + }; + + buildInputs = with self; [ + requests2 + ]; + + meta = { + description = "Wrapper for the pocket API"; + homepage = "https://github.com/tapanpandita/pocket"; + license = licenses.bsd3; + maintainers = with maintainers; [ ericsagnes ]; + }; + }; + mistune = buildPythonPackage rec { version = "0.7.1"; name = "mistune-${version}"; @@ -14349,12 +14374,12 @@ in modules // { }; netifaces = buildPythonPackage rec { - version = "0.10.4"; + version = "0.10.5"; name = "netifaces-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/n/netifaces/${name}.tar.gz"; - sha256 = "1plw237a4zib4z8s62g0mrs8gm3kjfrp5sxh6bbk9nl3rdls2mln"; + sha256 = "12v2bm77dgaqjm9vmb8in0zpip2hn98mf5sycfvgq5iivm9avn2r"; }; meta = { @@ -17750,9 +17775,11 @@ in modules // { -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 ; - s|^LCMS_ROOT =.*$|LCMS_ROOT = ${libinclude' pkgs.libwebp}|g ; + s|^LCMS_ROOT =.*$|LCMS_ROOT = ${libinclude pkgs.lcms2}|g ; s|^TIFF_ROOT =.*$|TIFF_ROOT = ${libinclude pkgs.libtiff}|g ; s|^TCL_ROOT=.*$|TCL_ROOT = ${libinclude' pkgs.tcl}|g ;' + export LDFLAGS="-L${pkgs.libwebp}/lib" + export CFLAGS="-I${pkgs.libwebp}/include" '' # Remove impurities + stdenv.lib.optionalString stdenv.isDarwin '' @@ -19258,6 +19285,9 @@ in modules // { sha256 = "1x3i9wmzw33fpkis203alygfnrkcmq9w1aydcm887jh6frfqm6cw"; }; + # No tests distributed + doCheck = false; + meta = { homepage = https://github.com/seb-m/pyinotify/wiki; description = "Monitor filesystems events on Linux platforms with inotify"; @@ -20136,15 +20166,17 @@ in modules // { }; }; - pysqlite = buildPythonPackage (rec { - name = "pysqlite-2.6.3"; - disabled = isPy3k; + pysqlite = buildPythonPackage rec { + name = "pysqlite-2.8.3"; src = pkgs.fetchurl { url = "mirror://pypi/p/pysqlite/${name}.tar.gz"; - sha256 = "13djzgnbi71znjjyaw4nybg6smilgszcid646j5qav7mdchkb77y"; + sha256 = "17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490"; }; + # Need to use the builtin sqlite3 on Python 3 + disabled = isPy3k; + # Since the `.egg' file is zipped, the `NEEDED' of the `.so' files # it contains is not taken into account. Thus, we must explicitly make # it a propagated input. @@ -20156,14 +20188,9 @@ in modules // { --replace "/usr/local/lib" "${pkgs.sqlite.out}/lib" ''; - # error: invalid command 'test' - doCheck = false; - meta = { homepage = http://pysqlite.org/; - description = "Python bindings for the SQLite embedded relational database engine"; - longDescription = '' pysqlite is a DB-API 2.0-compliant database interface for SQLite. @@ -20183,12 +20210,10 @@ in modules // { possible to create user-defined SQL functions and aggregates in Python. ''; - license = licenses.bsd3; - maintainers = [ ]; }; - }); + }; pysvn = mkPythonDerivation rec { @@ -21789,14 +21814,20 @@ in modules // { setuptools_scm = buildPythonPackage rec { name = "setuptools_scm-${version}"; - version = "1.10.1"; + version = "1.11.1"; src = pkgs.fetchurl { - url = "mirror://pypi/s/setuptools_scm/${name}.tar.bz2"; - sha256 = "1cdea91bbe1ec4d52b3e9c451ab32ae6e1f3aa3fd91e90580490a9eb75bea286"; + url = "mirror://pypi/s/setuptools_scm/${name}.tar.gz"; + sha256 = "8c45f738a23410c5276b0ed9294af607f491e4260589f1eb90df8312e23819bf"; }; - buildInputs = with self; [ pip ]; + buildInputs = with self; [ pip pytest ]; + # Seems to fail due to chroot + doCheck = false; + + checkPhase = '' + py.test + ''; meta = with stdenv.lib; { homepage = https://bitbucket.org/pypa/setuptools_scm/; @@ -23034,7 +23065,7 @@ in modules // { url = "mirror://pypi/s/${pname}/${name}.tar.gz"; sha256 = "1f0fymrk4kvhqs0vj9gay4lhacxkfrlrpj4gvg0p4wjdczplxd3z"; }; - propagatedBuildInputs = with self; [ sphinx pyenchant]; + propagatedBuildInputs = with self; [ sphinx pyenchant pbr ]; # No tests included doCheck = false; meta = { @@ -23053,7 +23084,7 @@ in modules // { url = "mirror://pypi/s/${pname}/${name}.tar.gz"; sha256 = "1zsnhc573rvaww9qqyzs4f5h4hhvxklvppv14450vi5dk8rij81z"; }; - buildInputs = with self; [ sphinx-testing pytest]; + buildInputs = with self; [ sphinx-testing pytest pbr]; propagatedBuildInputs = with self; [ sphinx blockdiag ]; checkPhase = '' py.test -k "not test_build_epub" @@ -23141,23 +23172,23 @@ in modules // { sqlalchemy_1_0 = buildPythonPackage rec { name = "SQLAlchemy-${version}"; - version = "1.0.14"; + version = "1.0.15"; src = pkgs.fetchurl { url = "mirror://pypi/S/SQLAlchemy/${name}.tar.gz"; - sha256 = "1cq52yyplvi1wrvrzn779l9sfsjb158a18xaqbn7z779q4wilkfs"; + sha256 = "586f5ccf068211795a89ed22d196c5cc3006b6be00261bcac6f584c0b8e0845a"; }; - buildInputs = with self; [ nose mock ] - ++ stdenv.lib.optional doCheck pysqlite; + buildInputs = with self; [ pytest mock pytest_xdist ] + ++ stdenv.lib.optional (!isPy3k) pysqlite; propagatedBuildInputs = with self; [ modules.sqlite3 ]; # Test-only dependency pysqlite doesn't build on Python 3. This isn't an # acceptable reason to make all dependents unavailable on Python 3 as well - doCheck = !(isPyPy || isPy3k); + #doCheck = !(isPyPy || isPy3k); checkPhase = '' - ${python.executable} sqla_nose.py + py.test ''; meta = { @@ -26583,6 +26614,8 @@ in modules // { }; propagatedBuildInputs = with self; [ twisted requests2 cryptography ]; + # Require network access + doCheck = false; checkPhase = '' ${python.interpreter} -m unittest discover ''; @@ -27526,6 +27559,10 @@ in modules // { buildInputs = with self; [ pytest ]; + + checkPhase = '' + py.test + ''; }; signedjson = buildPythonPackage rec {