diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 0baf98a0422..70bbb2fc459 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -488,6 +488,7 @@ patternspandemic = "Brad Christensen "; pawelpacana = "Paweł Pacana "; pbogdan = "Piotr Bogdan "; + pcarrier = "Pierre Carrier "; periklis = "theopompos@gmail.com"; pesterhazy = "Paulus Esterhazy "; peterhoeg = "Peter Hoeg "; diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index cc6d51f0ef1..358ffd431dd 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -17,40 +17,6 @@ let nodeCfg = config.services.munin-node; cronCfg = config.services.munin-cron; - muninPlugins = pkgs.stdenv.mkDerivation { - name = "munin-available-plugins"; - buildCommand = '' - mkdir -p $out - - cp --preserve=mode ${pkgs.munin}/lib/plugins/* $out/ - - for file in $out/*; do - case "$file" in - */plugin.sh|*/plugins.history) - chmod +x "$file" - continue;; - esac - - # read magic makers from the file - family=$(sed -nr 's/.*#%#\s+family\s*=\s*(\S+)\s*/\1/p' $file) - cap=$(sed -nr 's/.*#%#\s+capabilities\s*=\s*(.+)/\1/p' $file) - - wrapProgram $file \ - --set PATH "/run/wrappers/bin:/run/current-system/sw/bin" \ - --set MUNIN_LIBDIR "${pkgs.munin}/lib" \ - --set MUNIN_PLUGSTATE "/var/run/munin" - - # munin uses markers to tell munin-node-configure what a plugin can do - echo "#%# family=$family" >> $file - echo "#%# capabilities=$cap" >> $file - done - - # NOTE: we disable disktstats because plugin seems to fail and it hangs html generation (100% CPU + memory leak) - rm -f $out/diskstats - ''; - buildInputs = [ pkgs.makeWrapper ]; - }; - muninConf = pkgs.writeText "munin.conf" '' dbdir /var/lib/munin @@ -83,6 +49,29 @@ let ${nodeCfg.extraConfig} ''; + + pluginConf = pkgs.writeText "munin-plugin-conf" + '' + [hddtemp_smartctl] + user root + group root + + [meminfo] + user root + group root + + [ipmi*] + user root + group root + ''; + + pluginConfDir = pkgs.stdenv.mkDerivation { + name = "munin-plugin-conf.d"; + buildCommand = '' + mkdir $out + ln -s ${pluginConf} $out/nixos-config + ''; + }; in { @@ -179,17 +168,22 @@ in description = "Munin Node"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.munin ]; + path = with pkgs; [ munin smartmontools "/run/current-system/sw" "/run/wrappers" ]; + environment.MUNIN_LIBDIR = "${pkgs.munin}/lib"; environment.MUNIN_PLUGSTATE = "/var/run/munin"; + environment.MUNIN_LOGDIR = "/var/log/munin"; preStart = '' echo "updating munin plugins..." mkdir -p /etc/munin/plugins rm -rf /etc/munin/plugins/* - PATH="/run/wrappers/bin:/run/current-system/sw/bin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash + ${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${pkgs.munin}/lib/plugins --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash + + # NOTE: we disable disktstats because plugin seems to fail and it hangs html generation (100% CPU + memory leak) + rm /etc/munin/plugins/diskstats || true ''; serviceConfig = { - ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/"; + ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/ --sconfdir=${pluginConfDir}"; }; }; diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/x11/hardware/libinput.nix index 44555cb6e2a..5aecdef812e 100644 --- a/nixos/modules/services/x11/hardware/libinput.nix +++ b/nixos/modules/services/x11/hardware/libinput.nix @@ -198,6 +198,13 @@ in { environment.systemPackages = [ pkgs.xorg.xf86inputlibinput ]; + environment.etc = [ + (let cfgPath = "X11/xorg.conf.d/40-libinput.conf"; in { + source = pkgs.xorg.xf86inputlibinput.out + "/share/" + cfgPath; + target = cfgPath; + }) + ]; + services.udev.packages = [ pkgs.libinput ]; services.xserver.config = diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 7d544e153e9..1049f810ad2 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -700,7 +700,6 @@ in Section "InputClass" Identifier "Keyboard catchall" MatchIsKeyboard "on" - Option "XkbRules" "base" Option "XkbModel" "${cfg.xkbModel}" Option "XkbLayout" "${cfg.layout}" Option "XkbOptions" "${cfg.xkbOptions}" diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix index db0d874c589..2965ce86cc9 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name= "riot-web-${version}"; - version = "0.12.6"; + version = "0.13.1"; src = fetchurl { url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; - sha256 = "00hxjhnsm4622hv46xm7lc81kbnzi2iz77qppwma14cbh63jbilv"; + sha256 = "19g0d3wqmz4vj9flf7pfgfvm2qf2w3jhxp9qdyfbiwd670h5wjlv"; }; installPhase = '' diff --git a/pkgs/applications/office/paperwork/backend.nix b/pkgs/applications/office/paperwork/backend.nix index 55752996464..2e052243a05 100644 --- a/pkgs/applications/office/paperwork/backend.nix +++ b/pkgs/applications/office/paperwork/backend.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - name = "paperwork-backend-${version}"; + pname = "paperwork-backend"; version = "1.2.1"; src = fetchFromGitHub { diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh index 60d4ccf99ed..ac2368a5b21 100644 --- a/pkgs/build-support/setup-hooks/multiple-outputs.sh +++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh @@ -164,8 +164,6 @@ _multioutDevs() { } # Make the "dev" propagate other outputs needed for development. -# Note: with current cross-building setup, all packages are "native" if not cross-building; -# however, if cross-building, the outputs are non-native. We have to choose the right file. _multioutPropagateDev() { if [ "$outputs" = "out" ]; then return; fi; @@ -193,16 +191,8 @@ _multioutPropagateDev() { return fi - local propagatedBuildInputsFile - if [ -z "$crossConfig" ]; then - propagatedBuildInputsFile=propagated-native-build-inputs - else - propagatedBuildInputsFile=propagated-build-inputs - fi - mkdir -p "${!propagaterOutput}"/nix-support for output in $propagatedBuildOutputs; do - echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/$propagatedBuildInputsFile + echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs done } - diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 32214db6584..7d44feb5ca6 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -101,7 +101,7 @@ rec { mkdir -p $out/nix-support cp ${script} $out/nix-support/setup-hook '' + lib.optionalString (deps != []) '' - printWords ${toString deps} > $out/nix-support/propagated-native-build-inputs + printWords ${toString deps} > $out/nix-support/propagated-build-inputs '' + lib.optionalString (substitutions != {}) '' substituteAll ${script} $out/nix-support/setup-hook ''); diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index ef2bae8dbaf..1b4d967af55 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -33,7 +33,8 @@ stdenv.mkDerivation rec { postInstall = '' rm $out/share/zoneinfo-posix - ln -s . $out/share/zoneinfo/posix + mkdir $out/share/zoneinfo/posix + ( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix ) mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right mkdir -p "$dev/include" diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index a828ba0fe7b..cae5c74b442 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -58,11 +58,7 @@ let # Propagate $dev so that this setup hook is propagated # But only if there is a separate $dev output if [ "$outputDev" != out ]; then - if [ -n "$crossConfig" ]; then - propagatedBuildInputs="$propagatedBuildInputs @dev@" - else - propagatedNativeBuildInputs="$propagatedNativeBuildInputs @dev@" - fi + propagatedBuildInputs="$propagatedBuildInputs @dev@" fi fi ''; diff --git a/pkgs/development/compilers/jsonnet/default.nix b/pkgs/development/compilers/jsonnet/default.nix index cc19f7afe34..790f9a4827a 100644 --- a/pkgs/development/compilers/jsonnet/default.nix +++ b/pkgs/development/compilers/jsonnet/default.nix @@ -4,6 +4,7 @@ let version = "0.9.4"; in stdenv.mkDerivation { name = "jsonnet-${version}"; + version = version; src = fetchFromGitHub { rev = "v${version}"; diff --git a/pkgs/development/compilers/openjdk-darwin/8.nix b/pkgs/development/compilers/openjdk-darwin/8.nix index 6234b63208c..cc7c5fd371d 100644 --- a/pkgs/development/compilers/openjdk-darwin/8.nix +++ b/pkgs/development/compilers/openjdk-darwin/8.nix @@ -33,7 +33,7 @@ let # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/jre/lib/libfontmanager.dylib diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix index 1e8f88beea6..6ecc785be3b 100644 --- a/pkgs/development/compilers/openjdk-darwin/default.nix +++ b/pkgs/development/compilers/openjdk-darwin/default.nix @@ -23,7 +23,7 @@ let # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/jre/lib/libfontmanager.dylib diff --git a/pkgs/development/compilers/openjdk/7.nix b/pkgs/development/compilers/openjdk/7.nix index 72f0ba293ba..372bb153269 100644 --- a/pkgs/development/compilers/openjdk/7.nix +++ b/pkgs/development/compilers/openjdk/7.nix @@ -184,13 +184,13 @@ let preFixup = '' prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}" patchELF $jre - propagatedNativeBuildInputs+=" $jre" + propagatedBuildInputs+=" $jre" # Propagate the setJavaClassPath setup hook from the JRE so that # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $jre/nix-support - printWords ${setJavaClassPath} > $jre/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $jre/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. mkdir -p $out/nix-support diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index 4499a9126a0..71ce9271bfa 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -206,13 +206,13 @@ let preFixup = '' prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}" patchELF $jre - propagatedNativeBuildInputs+=" $jre" + propagatedBuildInputs+=" $jre" # Propagate the setJavaClassPath setup hook from the JRE so that # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $jre/nix-support - printWords ${setJavaClassPath} > $jre/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $jre/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. mkdir -p $out/nix-support diff --git a/pkgs/development/compilers/openjdk/9.nix b/pkgs/development/compilers/openjdk/9.nix index ce556a32c11..8697712de98 100644 --- a/pkgs/development/compilers/openjdk/9.nix +++ b/pkgs/development/compilers/openjdk/9.nix @@ -204,14 +204,14 @@ let preFixup = '' prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}" patchELF $jre - propagatedNativeBuildInputs+=" $jre" + propagatedBuildInputs+=" $jre" # Propagate the setJavaClassPath setup hook from the JRE so that # any package that depends on the JRE has $CLASSPATH set up # properly. mkdir -p $jre/nix-support #TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 - echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-build-inputs + echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. mkdir -p $out/nix-support diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix index 2a00cf5f2d2..c2866446f76 100644 --- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix +++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix @@ -166,7 +166,7 @@ let result = stdenv.mkDerivation rec { ln -s $jrePath/lib/${architecture}/libnpjp2.so $jrePath/lib/${architecture}/plugins mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. cat <> $out/nix-support/setup-hook diff --git a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix index fbda96e1425..29d77a613b3 100644 --- a/pkgs/development/compilers/oraclejdk/jdk9-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk9-linux.nix @@ -124,7 +124,7 @@ let result = stdenv.mkDerivation rec { ln -s $out $out/jre mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. cat <> $out/nix-support/setup-hook diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix index f7638757ff7..1be0247c5ec 100644 --- a/pkgs/development/compilers/zulu/8.nix +++ b/pkgs/development/compilers/zulu/8.nix @@ -54,7 +54,7 @@ in stdenv.mkDerivation rec { find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. cat <> $out/nix-support/setup-hook diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix index 92f1f0a111e..63551d28247 100644 --- a/pkgs/development/compilers/zulu/default.nix +++ b/pkgs/development/compilers/zulu/default.nix @@ -51,7 +51,7 @@ in stdenv.mkDerivation rec { find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; mkdir -p $out/nix-support - printWords ${setJavaClassPath} > $out/nix-support/propagated-native-build-inputs + printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. cat <> $out/nix-support/setup-hook diff --git a/pkgs/development/interpreters/python/build-python-package.nix b/pkgs/development/interpreters/python/build-python-package.nix index b26bf1539cd..982542c1fc3 100644 --- a/pkgs/development/interpreters/python/build-python-package.nix +++ b/pkgs/development/interpreters/python/build-python-package.nix @@ -1,11 +1,14 @@ -/* This function provides a generic Python package builder. It is - intended to work with packages that use `distutils/setuptools' - (http://pypi.python.org/pypi/setuptools/), which represents a large - number of Python packages nowadays. */ +# This function provides a generic Python package builder, +# and can build packages that use distutils, setuptools or flit. { lib , python -, mkPythonDerivation +, wrapPython +, setuptools +, unzip +, ensureNewerSourcesHook +, pythonModule +, namePrefix , bootstrapped-pip , flit }: @@ -15,6 +18,9 @@ let flit-specific = import ./build-python-package-flit.nix { inherit python flit; }; wheel-specific = import ./build-python-package-wheel.nix { }; common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; }; + mkPythonDerivation = import ./mk-python-derivation.nix { + inherit lib python wrapPython setuptools unzip ensureNewerSourcesHook pythonModule namePrefix; + }; in { diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix index eb2a46cb3b7..c7483a81529 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -201,7 +201,7 @@ in stdenv.mkDerivation { in rec { inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch; executable = libPrefix; - buildEnv = callPackage ../../wrapper.nix { python = self; }; + buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; }; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; pkgs = pythonPackages; isPy2 = true; diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix index a924b543fe3..5c13035be1b 100644 --- a/pkgs/development/interpreters/python/cpython/3.4/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix @@ -160,7 +160,7 @@ in stdenv.mkDerivation { in rec { inherit libPrefix sitePackages x11Support; executable = "${libPrefix}m"; - buildEnv = callPackage ../../wrapper.nix { python = self; }; + buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; }; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; pkgs = pythonPackages; isPy3 = true; diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix index abe220e0a3e..951cb367528 100644 --- a/pkgs/development/interpreters/python/cpython/3.5/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix @@ -154,7 +154,7 @@ in stdenv.mkDerivation { in rec { inherit libPrefix sitePackages x11Support; executable = "${libPrefix}m"; - buildEnv = callPackage ../../wrapper.nix { python = self; }; + buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; }; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; pkgs = pythonPackages; isPy3 = true; diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix index 1614159a7ef..b44e167b9f0 100644 --- a/pkgs/development/interpreters/python/cpython/3.6/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix @@ -153,7 +153,7 @@ in stdenv.mkDerivation { in rec { inherit libPrefix sitePackages x11Support; executable = "${libPrefix}m"; - buildEnv = callPackage ../../wrapper.nix { python = self; }; + buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; }; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; pkgs = pythonPackages; isPy3 = true; diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index 098ab0b1719..a0cac7d1ddd 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -1,4 +1,4 @@ -/* Generic builder for Python packages that come without a setup.py. */ +# Generic builder. { lib , python @@ -6,13 +6,13 @@ , setuptools , unzip , ensureNewerSourcesHook +# Whether the derivation provides a Python module or not. +, pythonModule +, namePrefix }: { name ? "${attrs.pname}-${attrs.version}" -# by default prefix `name` e.g. "python3.3-${name}" -, namePrefix ? python.libPrefix + "-" - # Dependencies for building the package , buildInputs ? [] @@ -54,18 +54,21 @@ if disabled then throw "${name} not supported for interpreter ${python.executable}" else -python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "checkInputs"] // { +python.stdenv.mkDerivation (builtins.removeAttrs attrs [ + "disabled" "checkInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts" + ] // { name = namePrefix + name; - inherit pythonPath; - - buildInputs = [ wrapPython ] ++ buildInputs ++ pythonPath - ++ [ (ensureNewerSourcesHook { year = "1980"; }) ] + buildInputs = ([ wrapPython (ensureNewerSourcesHook { year = "1980"; }) ] ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip) - ++ lib.optionals doCheck checkInputs; + ++ lib.optionals doCheck checkInputs + ++ lib.optional catchConflicts setuptools # If we nog longer propagate setuptools + ++ buildInputs + ++ pythonPath + ); - # propagate python/setuptools to active setup-hook in nix-shell + # Propagate python and setuptools. We should stop propagating setuptools. propagatedBuildInputs = propagatedBuildInputs ++ [ python setuptools ]; # Python packages don't have a checkPhase, only an installCheckPhase @@ -83,15 +86,12 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "checkInputs" passthru = { inherit python; # The python interpreter + inherit pythonModule; } // passthru; - meta = with lib.maintainers; { + meta = { # default to python's platforms platforms = python.meta.platforms; - } // meta // { - # add extra maintainer(s) to every package - maintainers = (meta.maintainers or []) ++ [ chaoflow ]; - # a marker for release utilities to discover python packages isBuildPythonPackage = python.meta.platforms; - }; + } // meta; }) diff --git a/pkgs/development/interpreters/python/pypy/2.7/default.nix b/pkgs/development/interpreters/python/pypy/2.7/default.nix index f5ee13cfc12..aea389d160f 100644 --- a/pkgs/development/interpreters/python/pypy/2.7/default.nix +++ b/pkgs/development/interpreters/python/pypy/2.7/default.nix @@ -137,7 +137,7 @@ in stdenv.mkDerivation rec { inherit zlibSupport libPrefix sitePackages; executable = "pypy"; isPypy = true; - buildEnv = callPackage ../../wrapper.nix { python = self; }; + buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; }; interpreter = "${self}/bin/${executable}"; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; pkgs = pythonPackages; diff --git a/pkgs/development/interpreters/python/wrap.sh b/pkgs/development/interpreters/python/wrap.sh index 37bd5b09739..01b573e6ad5 100644 --- a/pkgs/development/interpreters/python/wrap.sh +++ b/pkgs/development/interpreters/python/wrap.sh @@ -83,7 +83,7 @@ wrapPythonProgramsIn() { # Adds the lib and bin directories to the PYTHONPATH and PATH variables, # respectively. Recurses on any paths declared in -# `propagated-native-build-inputs`, while avoiding duplicating paths by +# `propagated-build-inputs`, while avoiding duplicating paths by # flagging the directories it has visited in `pythonPathsSeen`. _addToPythonPath() { local dir="$1" @@ -96,7 +96,7 @@ _addToPythonPath() { addToSearchPath program_PATH $dir/bin # Inspect the propagated inputs (if they exist) and recur on them. - local prop="$dir/nix-support/propagated-native-build-inputs" + local prop="$dir/nix-support/propagated-build-inputs" if [ -e $prop ]; then local new_path for new_path in $(cat $prop); do diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix index f42caf92c17..fc521828ffc 100644 --- a/pkgs/development/interpreters/python/wrapper.nix +++ b/pkgs/development/interpreters/python/wrapper.nix @@ -2,13 +2,14 @@ , extraLibs ? [] , extraOutputsToInstall ? [] , postBuild ? "" -, ignoreCollisions ? false }: +, ignoreCollisions ? false +, requiredPythonModules +, }: # Create a python executable that knows about additional packages. let - recursivePthLoader = import ../../python-modules/recursive-pth-loader/default.nix { stdenv = stdenv; python = python; }; env = let - paths = stdenv.lib.closePropagation (extraLibs ++ [ python recursivePthLoader ] ) ; + paths = requiredPythonModules (extraLibs ++ [ python ] ) ; in buildEnv { name = "${python.name}-env"; diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index 3f9ae113f84..076f43b71f3 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -125,7 +125,7 @@ in stdenv.mkDerivation { name = "boost-${version}"; - inherit src patches; + inherit src patches version; meta = { homepage = http://boost.org/; diff --git a/pkgs/development/libraries/grantlee/5/setup-hook.sh b/pkgs/development/libraries/grantlee/5/setup-hook.sh index d11ef5883a1..aaa64868dc9 100644 --- a/pkgs/development/libraries/grantlee/5/setup-hook.sh +++ b/pkgs/development/libraries/grantlee/5/setup-hook.sh @@ -4,20 +4,14 @@ providesGrantleeRuntime() { [ -d "$1/$grantleePluginPrefix" ] } -_grantleeCrossEnvHook() { - if providesQtRuntime "$1"; then +_grantleeEnvHook() { + if providesGrantleeRuntime "$1"; then propagatedBuildInputs+=" $1" propagatedUserEnvPkgs+=" $1" fi } -crossEnvHooks+=(_grantleeCrossEnvHook) - -_grantleeEnvHook() { - if providesGrantleeRuntime "$1"; then - propagatedNativeBuildInputs+=" $1" - if [ -z "$crossConfig" ]; then - propagatedUserEnvPkgs+=" $1" - fi - fi -} -envHooks+=(_grantleeEnvHook) +if [ "$crossEnv" ]; then + crossEnvHooks+=(_grantleeEnvHook) +else + envHooks+=(_grantleeEnvHook) +fi diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index 2bf10737ab0..08eebfd83ae 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -56,11 +56,7 @@ let # Propagate $dev so that this setup hook is propagated # But only if there is a separate $dev output if [ "$outputDev" != out ]; then - if [ -n "$crossConfig" ]; then - propagatedBuildInputs="$propagatedBuildInputs @dev@" - else - propagatedNativeBuildInputs="$propagatedNativeBuildInputs @dev@" - fi + propagatedBuildInputs="$propagatedBuildInputs @dev@" fi fi ''; diff --git a/pkgs/development/libraries/kmsxx/default.nix b/pkgs/development/libraries/kmsxx/default.nix index 490732c3802..8be8eb71357 100644 --- a/pkgs/development/libraries/kmsxx/default.nix +++ b/pkgs/development/libraries/kmsxx/default.nix @@ -1,7 +1,9 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, libdrm, python }: stdenv.mkDerivation rec { - name = "kmsxx-2017-10-10"; + pname = "kmsxx"; + version = "2017-10-10"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "tomba"; diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index d39a71e16da..9bf54a115ff 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -16,11 +16,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "libinput-${version}"; - version = "1.9.1"; + version = "1.9.2"; src = fetchurl { url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; - sha256 = "1y3559146zlfizncky1jlly226i66vwikxhpdkw0jg8v47j0sy7h"; + sha256 = "0fyy050hzk47g7305lx5pgyh2abvq7qs4xd3nn1is7zy3wj56s6x"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index bf38a954d60..b19f4a2953f 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -10,11 +10,11 @@ let in stdenv.mkDerivation rec { name = "libxml2-${version}"; - version = "2.9.5"; + version = "2.9.7"; src = fetchurl { url = "http://xmlsoft.org/sources/${name}.tar.gz"; - sha256 = "0f6d5nkvcfx8yqis2dwrnv6qaj0nhiifz49y657vmrwwxvnc2ca0"; + sha256 = "034hylzspvkm0p4bczqbf8q05a7r2disr8dz725x4bin61ymwg7n"; }; outputs = [ "bin" "dev" "out" "man" "doc" ] diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index 1c27b6e3233..2f913093873 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -10,7 +10,9 @@ assert pythonSupport -> libxml2.pythonSupport; with stdenv.lib; stdenv.mkDerivation rec { - name = "libxslt-1.1.29"; + pname = "libxslt"; + version = "1.1.29"; + name = pname + "-" + version; src = fetchurl { url = "http://xmlsoft.org/sources/${name}.tar.gz"; @@ -51,7 +53,7 @@ stdenv.mkDerivation rec { moveToOutput share/man/man1 "$bin" '' + optionalString pythonSupport '' mkdir -p $py/nix-support - echo ${libxml2.py} >> $py/nix-support/propagated-native-build-inputs + echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs moveToOutput lib/python2.7 "$py" ''; diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix index 454c868dfcd..3e80e575852 100644 --- a/pkgs/development/libraries/physics/rivet/default.nix +++ b/pkgs/development/libraries/physics/rivet/default.nix @@ -11,8 +11,6 @@ stdenv.mkDerivation rec { postPatch = "patchShebangs ./src/Analyses/cat_with_lines"; - pythonPath = []; # python wrapper support - patches = [ ./darwin.patch # configure relies on impure sw_vers to -Dunix ]; diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh index 258b2d09f20..8ec7eeda8ae 100644 --- a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh @@ -33,7 +33,7 @@ addToQMAKEPATH() { # package depending on the building package. (This is necessary in case # the building package does not provide runtime dependencies itself and so # would not be propagated to the user environment.) -qtCrossEnvHook() { +qtEnvHook() { addToQMAKEPATH "$1" if providesQtRuntime "$1"; then if [ "z${!outputBin}" != "z${!outputDev}" ]; then @@ -42,20 +42,11 @@ qtCrossEnvHook() { propagatedUserEnvPkgs+=" $1" fi } -crossEnvHooks+=(qtCrossEnvHook) - -qtEnvHook() { - addToQMAKEPATH "$1" - if providesQtRuntime "$1"; then - if [ "z${!outputBin}" != "z${!outputDev}" ]; then - propagatedNativeBuildInputs+=" $1" - fi - if [ -z "$crossConfig" ]; then - propagatedUserEnvPkgs+=" $1" - fi - fi -} -envHooks+=(qtEnvHook) +if [ "$crossConfig" ]; then + crossEnvHooks+=(qtEnvHook) +else + envHooks+=(qtEnvHook) +fi postPatchMkspecs() { local bin="${!outputBin}" diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh index 9ee8be87c02..09b50e56411 100644 --- a/pkgs/development/perl-modules/generic/builder.sh +++ b/pkgs/development/perl-modules/generic/builder.sh @@ -34,8 +34,8 @@ postFixup() { # dependencies in the user environment (since Perl modules don't # have something like an RPATH, so the only way to find the # dependencies is to have them in the PERL5LIB variable). - if test -e $out/nix-support/propagated-native-build-inputs; then - ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages + if test -e $out/nix-support/propagated-build-inputs; then + ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages fi } diff --git a/pkgs/development/python-modules/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix index 3f37820fd35..1c9fa3d786f 100644 --- a/pkgs/development/python-modules/absl-py/default.nix +++ b/pkgs/development/python-modules/absl-py/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "absl-py"; - version = "0.1.3"; + version = "0.1.5"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "017wc85i7l3vpjzw3shgb7k7n0jfid88g09dlf1kgdy4ll0sjfax"; + sha256 = "94943ed0cd77077fe2d18e79b2f28d3e92f585f7d1c6edc75e640121f3c5d580"; }; propagatedBuildInputs = [ six ]; diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix index 5f87580643f..53443b3b32f 100644 --- a/pkgs/development/python-modules/aiohttp/default.nix +++ b/pkgs/development/python-modules/aiohttp/default.nix @@ -13,12 +13,12 @@ buildPythonPackage rec { pname = "aiohttp"; - version = "2.3.2"; + version = "2.3.3"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "42373fbdbe8f09233c17e74f53cee877bc7d5b495b4fc14c32a119255e85e736"; + sha256 = "0a2e33e90560dacb819b095b9d9611597925d75d1b93dd9490055d3826d98a82"; }; disabled = pythonOlder "3.4"; diff --git a/pkgs/development/python-modules/arelle/default.nix b/pkgs/development/python-modules/arelle/default.nix index 3c4d802718e..862564dbcd1 100644 --- a/pkgs/development/python-modules/arelle/default.nix +++ b/pkgs/development/python-modules/arelle/default.nix @@ -5,8 +5,9 @@ ... }: buildPythonPackage rec { - name = "arelle-${version}${lib.optionalString (!gui) "-headless"}"; + pname = "arelle-${version}${lib.optionalString (!gui) "-headless"}"; version = "2017-08-24"; + name = pname + "-" + version; disabled = !isPy3k; diff --git a/pkgs/development/python-modules/argcomplete/default.nix b/pkgs/development/python-modules/argcomplete/default.nix index a4318fe5fa4..37164cb4276 100644 --- a/pkgs/development/python-modules/argcomplete/default.nix +++ b/pkgs/development/python-modules/argcomplete/default.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "argcomplete"; - version = "1.9.2"; + version = "1.9.3"; src = fetchPypi { inherit pname version; - sha256 = "d6ea272a93bb0387f758def836e73c36fff0c54170258c212de3e84f7db8d5ed"; + sha256 = "d97b7f3cfaa4e494ad59ed6d04c938fc5ed69b590bd8f53274e258fb1119bd1b"; }; doCheck = false; # bash-completion test fails with "compgen: command not found". diff --git a/pkgs/development/python-modules/asn1ate/default.nix b/pkgs/development/python-modules/asn1ate/default.nix index ce07c237624..7605e2c3085 100644 --- a/pkgs/development/python-modules/asn1ate/default.nix +++ b/pkgs/development/python-modules/asn1ate/default.nix @@ -4,7 +4,8 @@ buildPythonPackage rec { pname = "asn1ate"; date = "20160810"; - name = "${pname}-unstable-${date}"; + version = "unstable-${date}"; + name = "${pname}-${version}"; src = fetchFromGitHub { sha256 = "04pddr1mh2v9qq8fg60czwvjny5qwh4nyxszr3qc4bipiiv2xk9w"; diff --git a/pkgs/development/python-modules/augeas/default.nix b/pkgs/development/python-modules/augeas/default.nix index 8934e1b81a8..def46c7fccc 100644 --- a/pkgs/development/python-modules/augeas/default.nix +++ b/pkgs/development/python-modules/augeas/default.nix @@ -1,7 +1,8 @@ { stdenv, lib, buildPythonPackage, fetchFromGitHub, augeas, cffi }: buildPythonPackage rec { - name = "augeas-${version}"; + pname = "augeas"; version = "1.0.2"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "hercules-team"; diff --git a/pkgs/development/python-modules/blockdiag/default.nix b/pkgs/development/python-modules/blockdiag/default.nix index fed6f6e9219..fde330d706f 100644 --- a/pkgs/development/python-modules/blockdiag/default.nix +++ b/pkgs/development/python-modules/blockdiag/default.nix @@ -3,8 +3,9 @@ }: buildPythonPackage rec { - name = "blockdiag-${version}"; + pname = "blockdiag"; version = "1.5.3"; + name = pname + "-" + version; src = fetchurl { url = "https://bitbucket.org/blockdiag/blockdiag/get/${version}.tar.bz2"; diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix index 0cb817844c7..9ff0b144f10 100644 --- a/pkgs/development/python-modules/bootstrapped-pip/default.nix +++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix @@ -9,9 +9,9 @@ let }; setuptools_source = fetchPypi { pname = "setuptools"; - version = "36.4.0"; + version = "36.7.1"; format = "wheel"; - sha256 = "4d54c0bfee283e78609169213f9c075827d5837086f58b588b417b093c23464b"; + sha256 = "eaacfa35eb11199d0b017df416421781a75209817bff3f94820556e36c49bd77"; }; # TODO: Shouldn't be necessary anymore for pip > 9.0.1! diff --git a/pkgs/development/python-modules/bottleneck/default.nix b/pkgs/development/python-modules/bottleneck/default.nix index 4eb5bcb6edc..791b05e81ca 100644 --- a/pkgs/development/python-modules/bottleneck/default.nix +++ b/pkgs/development/python-modules/bottleneck/default.nix @@ -8,8 +8,9 @@ buildPythonPackage rec { pname = "Bottleneck"; - name = "Bottleneck-${version}"; version = "1.2.1"; + name = pname + "-" + version; + src = fetchPypi { inherit pname version; sha256 = "6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36"; @@ -23,4 +24,4 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.py --replace "__builtins__.__NUMPY_SETUP__ = False" "" ''; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/cgroup-utils/default.nix b/pkgs/development/python-modules/cgroup-utils/default.nix index e565e23458c..2c97cbd4a33 100644 --- a/pkgs/development/python-modules/cgroup-utils/default.nix +++ b/pkgs/development/python-modules/cgroup-utils/default.nix @@ -2,7 +2,8 @@ buildPythonPackage rec { version = "0.6"; - name = "cgroup-utils-${version}"; + pname = "cgroup-utils"; + name = pname + "-" + version; buildInputs = [ pep8 nose ]; # Pep8 tests fail... diff --git a/pkgs/development/python-modules/construct/default.nix b/pkgs/development/python-modules/construct/default.nix index 9d8e61d1f45..78aa0aab5c0 100644 --- a/pkgs/development/python-modules/construct/default.nix +++ b/pkgs/development/python-modules/construct/default.nix @@ -1,8 +1,9 @@ { stdenv, buildPythonPackage, fetchFromGitHub, six, pythonOlder }: buildPythonPackage rec { - name = "construct-${version}"; + pname = "construct"; version = "2.8.16"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "construct"; diff --git a/pkgs/development/python-modules/coverage/default.nix b/pkgs/development/python-modules/coverage/default.nix index 137cef06b9e..1c58ecb9aa6 100644 --- a/pkgs/development/python-modules/coverage/default.nix +++ b/pkgs/development/python-modules/coverage/default.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "coverage"; - version = "4.4.1"; + version = "4.4.2"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "7a9c44400ee0f3b4546066e0710e1250fd75831adc02ab99dda176ad8726f424"; + sha256 = "309d91bd7a35063ec7a0e4d75645488bfab3f0b66373e7722f23da7f5b0f34cc"; }; # No tests in archive diff --git a/pkgs/development/python-modules/cufflinks/default.nix b/pkgs/development/python-modules/cufflinks/default.nix index 620f85e436d..6ecad9a160e 100644 --- a/pkgs/development/python-modules/cufflinks/default.nix +++ b/pkgs/development/python-modules/cufflinks/default.nix @@ -3,12 +3,12 @@ buildPythonPackage rec { pname = "cufflinks"; - version = "0.12.0"; + version = "0.12.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "04ninvwm6277n3hqc17ririss90cd832wza3q3vf115rrrds3xyy"; + sha256 = "8f11e4b6326cc5b2a18011c09fb64f178ba21002f337fd305f64818012a6c679"; }; propagatedBuildInputs = [ pandas plotly colorlover ]; diff --git a/pkgs/development/python-modules/cymem/default.nix b/pkgs/development/python-modules/cymem/default.nix index f2c6c649a83..8033fa96113 100644 --- a/pkgs/development/python-modules/cymem/default.nix +++ b/pkgs/development/python-modules/cymem/default.nix @@ -5,8 +5,9 @@ , python }: buildPythonPackage rec { - name = "cymem-${version}"; + pname = "cymem"; version = "1.31.2"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "explosion"; @@ -16,14 +17,14 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ - cython + cython ]; - + checkPhase = '' cd cymem/tests ${python.interpreter} -m unittest discover -p "*test*" ''; - + meta = with stdenv.lib; { description = "Cython memory pool for RAII-style memory management"; homepage = https://github.com/explosion/cymem; diff --git a/pkgs/development/python-modules/django-hijack/default.nix b/pkgs/development/python-modules/django-hijack/default.nix index 8eb98924491..b779d01c935 100644 --- a/pkgs/development/python-modules/django-hijack/default.nix +++ b/pkgs/development/python-modules/django-hijack/default.nix @@ -2,8 +2,9 @@ django, django_compat, django_nose }: buildPythonPackage rec { - name = "django-hijack-${version}"; + pname = "django-hijack"; version = "2.1.4"; + name = pname + "-" + version; # the pypi packages don't include everything required for the tests src = fetchFromGitHub { @@ -36,4 +37,4 @@ buildPythonPackage rec { license = licenses.mit; maintainers = with maintainers; [ ris ]; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix index 62e291306d8..e2c8acd1a0b 100644 --- a/pkgs/development/python-modules/djangorestframework/default.nix +++ b/pkgs/development/python-modules/djangorestframework/default.nix @@ -1,12 +1,12 @@ { stdenv, buildPythonPackage, fetchurl, django }: buildPythonPackage rec { - version = "3.7.1"; + version = "3.7.3"; pname = "djangorestframework"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://pypi/d/djangorestframework/${name}.tar.gz"; - sha256 = "305b2c6564ca46d3b558ba21110ed717135c467adf1a6dfd192bd85f4bb04d50"; + sha256 = "067960e5e9e5586d3b2d53a1d626c4800dc33cd8309487d404fc63355674556f"; }; # Test settings are missing diff --git a/pkgs/development/python-modules/dkimpy/default.nix b/pkgs/development/python-modules/dkimpy/default.nix index 30baed39bd6..91d5a17960d 100644 --- a/pkgs/development/python-modules/dkimpy/default.nix +++ b/pkgs/development/python-modules/dkimpy/default.nix @@ -2,10 +2,11 @@ , pytest, dns }: buildPythonApplication rec { - name = "${pname}-${majorversion}.${minorversion}"; + name = "${pname}-${version}"; pname = "dkimpy"; majorversion = "0.6"; minorversion = "2"; + version = "${majorversion}.${minorversion}"; src = fetchurl { url = "https://launchpad.net/${pname}/${majorversion}/${majorversion}.${minorversion}/+download/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix index 422674152a6..13bcb647186 100644 --- a/pkgs/development/python-modules/dulwich/default.nix +++ b/pkgs/development/python-modules/dulwich/default.nix @@ -3,13 +3,13 @@ , git, glibcLocales }: buildPythonPackage rec { - version = "0.18.5"; + version = "0.18.6"; pname = "dulwich"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://pypi/d/dulwich/${name}.tar.gz"; - sha256 = "838bac318fd0ed79e0eedb6cfd53b6424dc618fec6b99dc959881b12da7bd6e0"; + sha256 = "38a04406bc68315794c3bab37c7d4ed137fb8a839482d8894e72b0d9b3eb41a9"; }; LC_ALL = "en_US.UTF-8"; diff --git a/pkgs/development/python-modules/ecpy/default.nix b/pkgs/development/python-modules/ecpy/default.nix index 6fd445a89f5..25ca8dabf2b 100644 --- a/pkgs/development/python-modules/ecpy/default.nix +++ b/pkgs/development/python-modules/ecpy/default.nix @@ -5,11 +5,11 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "ECPy"; - version = "0.8.1"; + version = "0.8.2"; src = fetchPypi { inherit pname version; - sha256 = "0ab60sx4bbsmccwmdvz1023r0cbzi4phar4ipzn5npdj5gw1ny4l"; + sha256 = "0509a90714448ef47ef727cb7aee3415995c883c945e972521b5838fa4c50e24"; }; buildInputs = [ hidapi pycrypto pillow protobuf future ]; diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix index 02926e0fd74..3c95a26881e 100644 --- a/pkgs/development/python-modules/faker/default.nix +++ b/pkgs/development/python-modules/faker/default.nix @@ -8,12 +8,12 @@ assert pythonOlder "3.3" -> ipaddress != null; buildPythonPackage rec { pname = "Faker"; - version = "0.8.6"; + version = "0.8.7"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "3c98dd04bba667ecfddb77fcd0dfd19b376b258d21beeaf5b95578826e275a83"; + sha256 = "bf7dabcd6807c8829da28a4de491adf7998af506b8571db6a6eb58161157248a"; }; checkInputs = [ diff --git a/pkgs/development/python-modules/first/default.nix b/pkgs/development/python-modules/first/default.nix index 5ecbff90442..16c1d79d767 100644 --- a/pkgs/development/python-modules/first/default.nix +++ b/pkgs/development/python-modules/first/default.nix @@ -1,10 +1,9 @@ { stdenv, buildPythonPackage, fetchPypi }: -let + +buildPythonPackage rec { pname = "first"; version = "2.0.1"; -in -buildPythonPackage { - name = "${pname}-${version}"; + name = pname + "-" + version; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix index f8f54e0e429..cab25a60f3b 100644 --- a/pkgs/development/python-modules/geopandas/default.nix +++ b/pkgs/development/python-modules/geopandas/default.nix @@ -3,8 +3,9 @@ , pytest }: buildPythonPackage rec { - name = "geopandas-${version}"; + pname = "geopandas"; version = "0.3.0"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "geopandas"; diff --git a/pkgs/development/python-modules/gevent/default.nix b/pkgs/development/python-modules/gevent/default.nix index 8a3d3b3d09b..6b94652402e 100644 --- a/pkgs/development/python-modules/gevent/default.nix +++ b/pkgs/development/python-modules/gevent/default.nix @@ -1,20 +1,15 @@ { stdenv, fetchurl, buildPythonPackage, isPyPy, python, libev, greenlet }: buildPythonPackage rec { - name = "gevent-1.1.2"; + pname = "gevent"; + version = "1.2.2"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/g/gevent/${name}.tar.gz"; - sha256 = "cb15cf73d69a2eeefed330858f09634e2c50bf46da9f9e7635730fcfb872c02c"; + sha256 = "0bbbjvi423y9k9xagrcsimnayaqymg6f2dj76m9z3mjpkjpci4a7"; }; - # Why do we have this patch? - postPatch = '' - substituteInPlace libev/ev.c --replace \ - "ecb_inline void ecb_unreachable (void) ecb_noreturn" \ - "ecb_inline ecb_noreturn void ecb_unreachable (void)" - ''; - buildInputs = [ libev ]; propagatedBuildInputs = stdenv.lib.optionals (!isPyPy) [ greenlet ]; diff --git a/pkgs/development/python-modules/gflags/default.nix b/pkgs/development/python-modules/gflags/default.nix index f73ff2b4686..6fe4b7fcab8 100644 --- a/pkgs/development/python-modules/gflags/default.nix +++ b/pkgs/development/python-modules/gflags/default.nix @@ -2,7 +2,8 @@ buildPythonPackage rec { version = "3.1.2"; - name = "gflags-${version}"; + pname = "gflags"; + name = pname + "-" + version; src = fetchPypi { inherit version; diff --git a/pkgs/development/python-modules/hmmlearn/default.nix b/pkgs/development/python-modules/hmmlearn/default.nix index eeb04245215..3295786bd08 100644 --- a/pkgs/development/python-modules/hmmlearn/default.nix +++ b/pkgs/development/python-modules/hmmlearn/default.nix @@ -1,8 +1,9 @@ { lib, fetchurl, buildPythonPackage, numpy }: buildPythonPackage rec { - name = "hmmlearn-${version}"; + pname = "hmmlearn"; version = "0.2.0"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/h/hmmlearn/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/hyperlink/default.nix b/pkgs/development/python-modules/hyperlink/default.nix index ca09c271dda..9886f705d54 100644 --- a/pkgs/development/python-modules/hyperlink/default.nix +++ b/pkgs/development/python-modules/hyperlink/default.nix @@ -1,11 +1,13 @@ { stdenv, buildPythonPackage, fetchurl, pytest }: + buildPythonPackage rec { - name = "hyperlink-${version}"; - version = "17.3.0"; + pname = "hyperlink"; + version = "17.3.1"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/h/hyperlink/${name}.tar.gz"; - sha256 = "06mgnxwjzx8hv34bifc7jvgxz21ixhk5s6xy2kd84hdrlbfvpbfx"; + sha256 = "bc4ffdbde9bdad204d507bd8f554f16bba82dd356f6130cb16f41422909c33bc"; }; checkInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/ipywidgets/default.nix b/pkgs/development/python-modules/ipywidgets/default.nix index 14b03e5e282..3d156323491 100644 --- a/pkgs/development/python-modules/ipywidgets/default.nix +++ b/pkgs/development/python-modules/ipywidgets/default.nix @@ -14,12 +14,12 @@ buildPythonPackage rec { pname = "ipywidgets"; - version = "7.0.3"; + version = "7.0.5"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "f98b4c3719097c9d2e6489f303db520b20bd4de3e0b1d6d4f92f81bfe3c2a0c8"; + sha256 = "321be3dc48193130ba16e8080172bb5cd052eb65e3ad0ea7b5f80ff73e24bc54"; }; # Tests are not distributed diff --git a/pkgs/development/python-modules/jedi/default.nix b/pkgs/development/python-modules/jedi/default.nix index 6cdf784dc3b..bf9f9f9c082 100644 --- a/pkgs/development/python-modules/jedi/default.nix +++ b/pkgs/development/python-modules/jedi/default.nix @@ -10,6 +10,10 @@ buildPythonPackage rec { sha256 = "f6d5973573e76b1fd2ea75f6dcd6445d02d41ff3af5fc61b275b4e323d1dd396"; }; + postPatch = '' + substituteInPlace requirements.txt --replace "parso==0.1.0" "parso" + ''; + checkInputs = [ pytest glibcLocales tox pytestcov ]; propagatedBuildInputs = [ parso ]; diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix index c2d5362b134..d88b6e4999b 100644 --- a/pkgs/development/python-modules/keras/default.nix +++ b/pkgs/development/python-modules/keras/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "Keras"; - version = "2.0.9"; + version = "2.1.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "6b8572cf1b4a22fd0120b7c23382ba4fa04a6f0397e02af1249be9a7309d1767"; + sha256 = "f0ca2458c60d9711edf4291230b31795307ad3781cb6232ff4792b53c8f55123"; }; checkInputs = [ diff --git a/pkgs/development/python-modules/keystoneclient/default.nix b/pkgs/development/python-modules/keystoneclient/default.nix index 5b09992295f..a856f4db793 100644 --- a/pkgs/development/python-modules/keystoneclient/default.nix +++ b/pkgs/development/python-modules/keystoneclient/default.nix @@ -9,8 +9,9 @@ }: buildPythonPackage rec { - name = "keystoneclient-${version}"; + pname = "keystoneclient"; version = "1.8.1"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "openstack"; diff --git a/pkgs/development/python-modules/keyutils/default.nix b/pkgs/development/python-modules/keyutils/default.nix index 2746f161668..04b9e923575 100644 --- a/pkgs/development/python-modules/keyutils/default.nix +++ b/pkgs/development/python-modules/keyutils/default.nix @@ -1,9 +1,8 @@ { lib, buildPythonPackage, fetchurl, pkgs, pytestrunner }: -let +buildPythonPackage rec { pname = "keyutils"; version = "0.5"; -in buildPythonPackage rec { name = "${pname}-${version}"; src = fetchurl { diff --git a/pkgs/development/python-modules/libgpuarray/default.nix b/pkgs/development/python-modules/libgpuarray/default.nix index 3c24c2ed24c..67353a32ada 100644 --- a/pkgs/development/python-modules/libgpuarray/default.nix +++ b/pkgs/development/python-modules/libgpuarray/default.nix @@ -1,4 +1,4 @@ -{ stdenv +{ stdenv , lib , buildPythonPackage , fetchFromGitHub @@ -11,18 +11,19 @@ , python , cudaSupport ? false, cudatoolkit , openclSupport ? true, ocl-icd, clblas -}: +}: buildPythonPackage rec { - name = "libgpuarray-${version}"; + pname = "libgpuarray"; version = "0.6.9"; + name = pname + "-" + version; src = fetchFromGitHub { - owner = "Theano"; + owner = "Theano"; repo = "libgpuarray"; rev = "v${version}"; sha256 = "06z47ls42a37gbv0x7f3l1qvils7q0hvy02s95l530klgibp19s0"; - }; + }; # requires a GPU doCheck = false; @@ -43,7 +44,7 @@ buildPythonPackage rec { export NIX_CFLAGS_COMPILE="-L $out/lib -I $out/include $NIX_CFLAGS_COMPILE" cd .. - ''; + ''; postFixup = '' rm $out/lib/libgpuarray-static.a @@ -64,11 +65,11 @@ buildPythonPackage rec { enableParallelBuilding = true; - buildInputs = [ - cmake - cython + buildInputs = [ + cmake + cython nose - ]; + ]; meta = with stdenv.lib; { homepage = "https://github.com/Theano/libgpuarray"; diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix index b9404ab5ec3..57f8d2c8114 100644 --- a/pkgs/development/python-modules/libtmux/default.nix +++ b/pkgs/development/python-modules/libtmux/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "libtmux"; - version = "0.7.5"; + version = "0.7.7"; src = fetchPypi { inherit pname version; - sha256 = "12e5006e59b7d98af5d1a9294f9c8ff2829ac2c1c6ae23dc73c280100b15f485"; + sha256 = "5670c8da8d0192d932ac1e34f010e0eeb098cdb2af6daad0307b5418e7a37733"; }; buildInputs = [ pytest_29 ]; diff --git a/pkgs/development/python-modules/llfuse/default.nix b/pkgs/development/python-modules/llfuse/default.nix index 7c907d1e5ef..4c4c89d8f19 100644 --- a/pkgs/development/python-modules/llfuse/default.nix +++ b/pkgs/development/python-modules/llfuse/default.nix @@ -3,7 +3,9 @@ }: buildPythonPackage rec { - name = "llfuse-1.0"; + pname = "llfuse"; + version = "1.0"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/l/llfuse/${name}.tar.bz2"; diff --git a/pkgs/development/python-modules/locustio/default.nix b/pkgs/development/python-modules/locustio/default.nix new file mode 100644 index 00000000000..0e9386f667c --- /dev/null +++ b/pkgs/development/python-modules/locustio/default.nix @@ -0,0 +1,32 @@ +{ buildPythonPackage +, fetchPypi +, mock +, unittest2 +, msgpack +, requests +, flask +, gevent +, pyzmq +}: + +buildPythonPackage rec { + pname = "locustio"; + version = "0.8.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "64583987ba1c330bb071aee3e29d2eedbfb7c8b342fa064bfb74fafcff660d61"; + }; + + patchPhase = '' + sed -i s/"pyzmq=="/"pyzmq>="/ setup.py + ''; + + propagatedBuildInputs = [ msgpack requests flask gevent pyzmq ]; + buildInputs = [ mock unittest2 ]; + + meta = { + homepage = http://locust.io/; + description = "A load testing tool"; + }; +} diff --git a/pkgs/development/python-modules/markdown2/default.nix b/pkgs/development/python-modules/markdown2/default.nix index f614eb0747b..2b576cd3b05 100644 --- a/pkgs/development/python-modules/markdown2/default.nix +++ b/pkgs/development/python-modules/markdown2/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "markdown2"; - version = "2.3.4"; + version = "2.3.5"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://pypi/m/markdown2/${name}.zip"; - sha256 = "264731e7625402227ff6fb01f2d814882da7705432659a18a419c508e8bfccb1"; + sha256 = "8bb9a24eb2aa02f1427aabe46483f0f0215ab18c8a345315ae8e2ee3c3a09c03"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/murmurhash/default.nix b/pkgs/development/python-modules/murmurhash/default.nix index aa5e3358866..023c94cdc8e 100644 --- a/pkgs/development/python-modules/murmurhash/default.nix +++ b/pkgs/development/python-modules/murmurhash/default.nix @@ -6,25 +6,26 @@ }: buildPythonPackage rec { - name = "murmurhash-${version}"; + pname = "murmurhash"; version = "0.26.4"; - + name = pname + "-" + version; + src = fetchFromGitHub { owner = "explosion"; repo = "murmurhash"; rev = "0.26.4"; - sha256 = "0n2j0glhlv2yh3fjgbg4d79j1c1fpchgjd4vnpw908l9mzchhmdv"; + sha256 = "0n2j0glhlv2yh3fjgbg4d79j1c1fpchgjd4vnpw908l9mzchhmdv"; }; buildInputs = [ cython ]; - + checkPhase = '' cd murmurhash/tests ${python.interpreter} -m unittest discover -p "*test*" ''; - + meta = with stdenv.lib; { description = "Cython bindings for MurmurHash2"; homepage = https://github.com/explosion/murmurhash; diff --git a/pkgs/development/python-modules/natsort/default.nix b/pkgs/development/python-modules/natsort/default.nix index 7041768c209..4fc1f7255c6 100644 --- a/pkgs/development/python-modules/natsort/default.nix +++ b/pkgs/development/python-modules/natsort/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "natsort"; - version = "5.1.0"; + version = "5.1.1"; buildInputs = [ hypothesis @@ -36,7 +36,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "5db0fd17c9f8ef3d54962a6e46159ce4807c630f0931169cd15ce54f2ac395b9"; + sha256 = "9ffbfb74bf3fc3905be1b9b052ed865675651e38fcd972ed1ed5c64a02f93cbd"; }; # do not run checks on nix_run_setup.py diff --git a/pkgs/development/python-modules/nilearn/default.nix b/pkgs/development/python-modules/nilearn/default.nix index f5dc7607e2d..16036a69179 100644 --- a/pkgs/development/python-modules/nilearn/default.nix +++ b/pkgs/development/python-modules/nilearn/default.nix @@ -4,7 +4,7 @@ buildPythonPackage rec { pname = "nilearn"; version = "0.3.1"; - name = "nilearn-${version}"; + name = pname + "-" + version; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/nwdiag/default.nix b/pkgs/development/python-modules/nwdiag/default.nix index ebf7ce944c1..2b37bab525e 100644 --- a/pkgs/development/python-modules/nwdiag/default.nix +++ b/pkgs/development/python-modules/nwdiag/default.nix @@ -3,11 +3,13 @@ }: buildPythonPackage rec { - name = "nwdiag-1.0.3"; + pname = "nwdiag"; + version = "1.0.4"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/n/nwdiag/${name}.tar.gz"; - sha256 = "0n7ary1fngxk8bk15vabc8fhnmxlh098piciwaviwn7l4a5q1zys"; + sha256 = "002565875559789a2dfc5f578c07abdf44269c3f7cdf78d4809bdc4bdc2213fa"; }; buildInputs = [ pep8 nose unittest2 docutils ]; diff --git a/pkgs/development/python-modules/parso/default.nix b/pkgs/development/python-modules/parso/default.nix index 26617826e12..17e3f9fcf3e 100644 --- a/pkgs/development/python-modules/parso/default.nix +++ b/pkgs/development/python-modules/parso/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "parso"; - version = "0.1.0"; + version = "0.1.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "c5279916bb417aa2bf634648ff895cf35dce371d7319744884827bfad06f8d7b"; + sha256 = "5815f3fe254e5665f3c5d6f54f086c2502035cb631a91341591b5a564203cffb"; }; checkInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/path.py/default.nix b/pkgs/development/python-modules/path.py/default.nix index 3178b217a00..6b4af3ffcd4 100644 --- a/pkgs/development/python-modules/path.py/default.nix +++ b/pkgs/development/python-modules/path.py/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "path.py"; version = "10.4"; - name = "path.py-${version}"; + name = pname + "-" + version; src = fetchPypi { inherit pname version; @@ -31,4 +31,4 @@ buildPythonPackage rec { checkPhase = '' py.test test_path.py ''; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix index 75a3f51afc6..d5c4eaa781b 100644 --- a/pkgs/development/python-modules/phonenumbers/default.nix +++ b/pkgs/development/python-modules/phonenumbers/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "phonenumbers"; - version = "8.8.5"; + version = "8.8.6"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "adb2dd985f875ac035bbdc6a1cc57e30834e106e2ff7899e09a1690b474c1774"; + sha256 = "ab1fa853350dde91be672192b427169b29e3348c236e46ad7a757e4ac8163c8c"; }; meta = { diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix index eed891c6f57..d2b91eb435c 100644 --- a/pkgs/development/python-modules/pip-tools/default.nix +++ b/pkgs/development/python-modules/pip-tools/default.nix @@ -3,12 +3,12 @@ buildPythonPackage rec { pname = "pip-tools"; - version = "1.10.1"; - name = "pip-tools-${version}"; + version = "1.10.2"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/p/pip-tools/${name}.tar.gz"; - sha256 = "37b85d69ceed97337aeefb3e52e41fe0884a505c874757a5bbaa58d92b533ce0"; + sha256 = "d381c7249eb48350cc49447cc106df3d90e9e806b13caaede602c1cd38f61b37"; }; LC_ALL = "en_US.UTF-8"; diff --git a/pkgs/development/python-modules/plaster-pastedeploy/default.nix b/pkgs/development/python-modules/plaster-pastedeploy/default.nix index 330ecfc7c67..03182c90265 100644 --- a/pkgs/development/python-modules/plaster-pastedeploy/default.nix +++ b/pkgs/development/python-modules/plaster-pastedeploy/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "plaster_pastedeploy"; - version = "0.4.1"; + version = "0.4.2"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "1lrbkya5birfmg9gnfcnsa9id28klmjcqbm33rcg69pv9sfld4jv"; + sha256 = "2a401228c7cfbe38f728249e75af7a666f91c61d642cbb8fcb78a71df69d2754"; }; checkPhase = '' diff --git a/pkgs/development/python-modules/powerline/default.nix b/pkgs/development/python-modules/powerline/default.nix index 028d81d2934..f51c6989c01 100644 --- a/pkgs/development/python-modules/powerline/default.nix +++ b/pkgs/development/python-modules/powerline/default.nix @@ -12,10 +12,12 @@ # the executables of git, mercurial and bazaar. buildPythonPackage rec { - rev = "2.6"; - name = "powerline-${rev}"; + version = "2.6"; + pname = "powerline"; + name = pname + "-" + version; + src = fetchurl { - url = "https://github.com/powerline/powerline/archive/${rev}.tar.gz"; + url = "https://github.com/powerline/powerline/archive/${version}.tar.gz"; name = "${name}.tar.gz"; sha256 = "c108f11fe10dc910febb94b87d3abded85d4363fb950366a9e30282b9ba7c272"; }; diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix index 4a67a3132ed..1a345b19ef9 100644 --- a/pkgs/development/python-modules/protobuf/default.nix +++ b/pkgs/development/python-modules/protobuf/default.nix @@ -5,7 +5,7 @@ with stdenv.lib; buildPythonPackage rec { - inherit (protobuf) name src; + inherit (protobuf) name src version; inherit disabled doCheck; NIX_CFLAGS_COMPILE = diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix new file mode 100644 index 00000000000..cf9b3ea267f --- /dev/null +++ b/pkgs/development/python-modules/psutil/default.nix @@ -0,0 +1,28 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, darwin +, mock +}: + +buildPythonPackage rec { + pname = "psutil"; + version = "5.4.1"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "42e2de159e3c987435cb3b47d6f37035db190a1499f3af714ba7af5c379b6ba2"; + }; + + # No tests in archive + doCheck = false; + + buildInputs = [] ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.IOKit ]; + + meta = { + description = "Process and system utilization information interface for python"; + homepage = https://github.com/giampaolo/psutil; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix index 57f7c2c317d..11f80ca3b2e 100644 --- a/pkgs/development/python-modules/pwntools/default.nix +++ b/pkgs/development/python-modules/pwntools/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { version = "3.10.0"; pname = "pwntools"; - name = "pwntools-${version}"; + name = pname + "-" + version; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/pyGithub/default.nix b/pkgs/development/python-modules/pyGithub/default.nix index 45887bdc748..ec8db1c5bc3 100644 --- a/pkgs/development/python-modules/pyGithub/default.nix +++ b/pkgs/development/python-modules/pyGithub/default.nix @@ -3,8 +3,9 @@ , buildPythonPackage, python-jose }: buildPythonPackage rec { - name = "PyGithub-${version}"; + pname = "PyGithub"; version = "1.32"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "PyGithub"; diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix index 440a1aa7785..01014170dc7 100644 --- a/pkgs/development/python-modules/pychromecast/default.nix +++ b/pkgs/development/python-modules/pychromecast/default.nix @@ -1,8 +1,9 @@ { lib, fetchurl, buildPythonPackage, requests, six, zeroconf, protobuf }: buildPythonPackage rec { - name = "PyChromecast-${version}"; + pname = "PyChromecast"; version = "0.8.1"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/p/pychromecast/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix index 4669c05a7d5..1ecf0bf6b33 100644 --- a/pkgs/development/python-modules/pycrypto/default.nix +++ b/pkgs/development/python-modules/pycrypto/default.nix @@ -3,10 +3,9 @@ # This is a dummy package providing the drop-in replacement pycryptodome. # https://github.com/NixOS/nixpkgs/issues/21671 -let +buildPythonPackage rec { version = pycryptodome.version; pname = "pycrypto"; -in buildPythonPackage rec { name = "${pname}-${version}"; # Cannot build wheel otherwise (zip 1980 issue) diff --git a/pkgs/development/python-modules/pycuda/compyte.nix b/pkgs/development/python-modules/pycuda/compyte.nix index 50bd81ac462..192d60cec46 100644 --- a/pkgs/development/python-modules/pycuda/compyte.nix +++ b/pkgs/development/python-modules/pycuda/compyte.nix @@ -1,10 +1,11 @@ -{ mkDerivation +{ mkDerivation , fetchFromGitHub }: mkDerivation rec { - name = "compyte-${version}"; - version = "git-20150817"; + pname = "compyte"; + version = "git-20150817"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "inducer"; @@ -13,7 +14,7 @@ mkDerivation rec { sha256 = "1980h017qi52b7fqwm75m481xs2napgdd3fbrzkfc29k085cbign"; }; - installPhase = '' + installPhase = '' mkdir -p $out cp -r * $out ''; diff --git a/pkgs/development/python-modules/pyev/default.nix b/pkgs/development/python-modules/pyev/default.nix index db06fedd68c..e393265ae37 100644 --- a/pkgs/development/python-modules/pyev/default.nix +++ b/pkgs/development/python-modules/pyev/default.nix @@ -1,7 +1,9 @@ { stdenv, fetchurl, buildPythonPackage, libev }: buildPythonPackage rec { - name = "pyev-0.9.0"; + pname = "pyev"; + version = "0.9.0"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/p/pyev/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/pyftgl/default.nix b/pkgs/development/python-modules/pyftgl/default.nix index a02aa94576e..117169a2612 100644 --- a/pkgs/development/python-modules/pyftgl/default.nix +++ b/pkgs/development/python-modules/pyftgl/default.nix @@ -2,12 +2,14 @@ , boost, freetype, ftgl, mesa }: buildPythonPackage rec { - name = "pyftgl-0.4b"; + pname = "pyftgl"; + version = "0.4b"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "umlaeute"; - repo = "pyftgl"; - rev = "0.4b"; + repo = name; + rev = version; sha256 = "12zcjv4cwwjihiaf74kslrdmmk4bs47h7006gyqfwdfchfjdgg4r"; }; diff --git a/pkgs/development/python-modules/pygame/git.nix b/pkgs/development/python-modules/pygame/git.nix index 97f7b8b6c99..1d8ba697f38 100644 --- a/pkgs/development/python-modules/pygame/git.nix +++ b/pkgs/development/python-modules/pygame/git.nix @@ -3,8 +3,9 @@ }: buildPythonPackage rec { - name = "pygame-${version}"; + pname = "pygame"; version = "2016-05-17"; + name = pname + "-" + version; src = fetchFromBitbucket { owner = "pygame"; diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix index 6afd10596bc..db734c53007 100644 --- a/pkgs/development/python-modules/pygobject/3.nix +++ b/pkgs/development/python-modules/pygobject/3.nix @@ -3,8 +3,10 @@ buildPythonPackage rec { major = "3.24"; minor = "1"; - name = "pygobject-${major}.${minor}"; + version = "${major}.${minor}"; format = "other"; + pname = "pygobject"; + name = pname + "-" + version; src = fetchurl { url = "mirror://gnome/sources/pygobject/${major}/${name}.tar.xz"; diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix index 63a21cb2bef..796fc992a7d 100644 --- a/pkgs/development/python-modules/pygobject/default.nix +++ b/pkgs/development/python-modules/pygobject/default.nix @@ -1,9 +1,10 @@ { stdenv, fetchurl, python, buildPythonPackage, pkgconfig, glib }: buildPythonPackage rec { - name = "pygobject-${version}"; + pname = "pygobject"; version = "2.28.6"; format = "other"; + name = pname + "-" + version; src = fetchurl { url = "mirror://gnome/sources/pygobject/2.28/${name}.tar.xz"; diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix index 9b9adc64b75..42127de2f24 100644 --- a/pkgs/development/python-modules/pygtk/default.nix +++ b/pkgs/development/python-modules/pygtk/default.nix @@ -2,7 +2,9 @@ , buildPythonPackage, libglade ? null, isPy3k }: buildPythonPackage rec { - name = "pygtk-2.24.0"; + pname = "pygtk"; + version = "2.24.0"; + name = pname + "-" + version; disabled = isPy3k; diff --git a/pkgs/development/python-modules/pygtksourceview/default.nix b/pkgs/development/python-modules/pygtksourceview/default.nix index 7b89e6d1b28..a03be0ac04d 100644 --- a/pkgs/development/python-modules/pygtksourceview/default.nix +++ b/pkgs/development/python-modules/pygtksourceview/default.nix @@ -1,10 +1,10 @@ { lib, fetchurl, python, buildPythonPackage, pkgconfig, pygobject2, glib, pygtk, gnome2 }: -let version = "2.10.1"; in - -buildPythonPackage { - name = "pygtksourceview-${version}"; +buildPythonPackage rec { + pname = "pygtksourceview"; format = "other"; + version = "2.10.1"; + name = pname + "-" + version; src = fetchurl { url = "http://ftp.gnome.org/pub/gnome/sources/pygtksourceview/2.10/pygtksourceview-${version}.tar.bz2"; diff --git a/pkgs/development/python-modules/pyocr/default.nix b/pkgs/development/python-modules/pyocr/default.nix index 54caba10189..e253e64a41c 100644 --- a/pkgs/development/python-modules/pyocr/default.nix +++ b/pkgs/development/python-modules/pyocr/default.nix @@ -3,8 +3,9 @@ }: buildPythonPackage rec { - name = "pyocr-${version}"; + pname = "pyocr"; version = "0.4.7"; + name = pname + "-" + version; # Don't fetch from PYPI because it doesn't contain tests. src = fetchFromGitHub { diff --git a/pkgs/development/python-modules/pyqt/4.x.nix b/pkgs/development/python-modules/pyqt/4.x.nix index b4376730e62..0efb77d27b3 100644 --- a/pkgs/development/python-modules/pyqt/4.x.nix +++ b/pkgs/development/python-modules/pyqt/4.x.nix @@ -1,10 +1,14 @@ { stdenv, fetchurl, pythonPackages, qt4, pkgconfig, lndir, dbus_libs, makeWrapper }: let + pname = "PyQt-x11-gpl"; version = "4.12"; + inherit (pythonPackages) buildPythonPackage python dbus-python sip; in buildPythonPackage { - name = "PyQt-x11-gpl-${version}"; + pname = pname; + name = pname + "-" + version; + version = version; format = "other"; src = fetchurl { diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index e0c3163429c..dc5c964caf6 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -5,11 +5,15 @@ }: let + pname = "PyQt"; version = "5.9"; + inherit (pythonPackages) buildPythonPackage python dbus-python sip; in buildPythonPackage { - name = "PyQt-${version}"; + pname = pname; + version = version; format = "other"; + name = pname + "-" + version; meta = with lib; { description = "Python bindings for Qt5"; diff --git a/pkgs/development/python-modules/pyro/default.nix b/pkgs/development/python-modules/pyro/default.nix index dbad83bef7e..3e2f90aa9d3 100644 --- a/pkgs/development/python-modules/pyro/default.nix +++ b/pkgs/development/python-modules/pyro/default.nix @@ -1,7 +1,10 @@ { stdenv, fetchurl, buildPythonPackage, isPy3k }: buildPythonPackage rec { - name = "Pyro-3.16"; + pname = "Pyro"; + version = "3.16"; + name = pname + "-" + version; + disabled = isPy3k; src = fetchurl { diff --git a/pkgs/development/python-modules/pyslurm/default.nix b/pkgs/development/python-modules/pyslurm/default.nix index 3a563e5d183..e855b952f27 100644 --- a/pkgs/development/python-modules/pyslurm/default.nix +++ b/pkgs/development/python-modules/pyslurm/default.nix @@ -1,7 +1,9 @@ { lib, fetchFromGitHub, buildPythonPackage, cython, slurm }: buildPythonPackage rec { - name = "pyslurm"; + pname = "pyslurm"; + version = "unstable-69e4f4f"; + name = pname + "-" + version; src = fetchFromGitHub { repo = "pyslurm"; diff --git a/pkgs/development/python-modules/pysoundfile/default.nix b/pkgs/development/python-modules/pysoundfile/default.nix index fe24f0203f0..ef67ed85cc0 100644 --- a/pkgs/development/python-modules/pysoundfile/default.nix +++ b/pkgs/development/python-modules/pysoundfile/default.nix @@ -11,8 +11,8 @@ buildPythonPackage rec { pname = "PySoundFile"; - name = "PySoundFile-${version}"; version = "0.8.1"; + name = pname + "-" + version; src = fetchPypi { inherit pname version; @@ -35,4 +35,4 @@ buildPythonPackage rec { # https://github.com/bastibe/PySoundFile/issues/157 disabled = isPyPy || stdenv.isi686; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/pytest-expect/default.nix b/pkgs/development/python-modules/pytest-expect/default.nix index 5abfd9423ac..b23ae051ad8 100644 --- a/pkgs/development/python-modules/pytest-expect/default.nix +++ b/pkgs/development/python-modules/pytest-expect/default.nix @@ -6,10 +6,9 @@ , six }: -let +buildPythonPackage rec { pname = "pytest-expect"; version = "1.1.0"; -in buildPythonPackage rec { name = "${pname}-${version}"; src = fetchurl { @@ -28,4 +27,4 @@ in buildPythonPackage rec { homepage = https://github.com/gsnedders/pytest-expect; license = lib.licenses.mit; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/pytest/2_7.nix b/pkgs/development/python-modules/pytest/2_7.nix index adaa640fdbe..e63c3f5ebbd 100644 --- a/pkgs/development/python-modules/pytest/2_7.nix +++ b/pkgs/development/python-modules/pytest/2_7.nix @@ -1,6 +1,8 @@ { stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }: buildPythonPackage rec { - name = "pytest-2.7.3"; + pname = "pytest"; + version = "2.7.3"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/p/pytest/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/pytest/2_8.nix b/pkgs/development/python-modules/pytest/2_8.nix index 6232ccaf700..963154b11ce 100644 --- a/pkgs/development/python-modules/pytest/2_8.nix +++ b/pkgs/development/python-modules/pytest/2_8.nix @@ -1,6 +1,8 @@ { stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }: buildPythonPackage rec { - name = "pytest-2.8.7"; + pname = "pytest"; + version = "2.8.7"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/p/pytest/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/pytest/2_9.nix b/pkgs/development/python-modules/pytest/2_9.nix index 3ca7120dd92..2d28517441b 100644 --- a/pkgs/development/python-modules/pytest/2_9.nix +++ b/pkgs/development/python-modules/pytest/2_9.nix @@ -1,6 +1,8 @@ { stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }: buildPythonPackage rec { - name = "pytest-2.9.2"; + pname = "pytest"; + version = "2.9.2"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/p/pytest/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index bb2e19c5233..8e280b8fd0d 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -1,10 +1,9 @@ { stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, hypothesis, py -, setuptools_scm +, setuptools_scm, setuptools }: buildPythonPackage rec { version = "3.2.5"; pname = "pytest"; - name = "${pname}-${version}"; preCheck = '' # don't test bash builtins @@ -16,8 +15,9 @@ buildPythonPackage rec { sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81"; }; - buildInputs = [ hypothesis setuptools_scm ]; - propagatedBuildInputs = [ py ] + checkInputs = [ hypothesis ]; + buildInputs = [ setuptools_scm ]; + propagatedBuildInputs = [ py setuptools ] ++ (stdenv.lib.optional isPy26 argparse); meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/python-utils/default.nix b/pkgs/development/python-modules/python-utils/default.nix index 6acd0934f47..37c15c07537 100644 --- a/pkgs/development/python-modules/python-utils/default.nix +++ b/pkgs/development/python-modules/python-utils/default.nix @@ -1,8 +1,9 @@ { lib, buildPythonPackage, fetchFromGitHub, pytest, pytestrunner, pytestcov, pytestflakes, pytestpep8, sphinx, six }: buildPythonPackage rec { - name = "python-utils-${version}"; + pname = "python-utils"; version = "2.2.0"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "WoLpH"; diff --git a/pkgs/development/python-modules/python_fedora/default.nix b/pkgs/development/python-modules/python_fedora/default.nix index 7ab698ecd08..e7c3630f42f 100644 --- a/pkgs/development/python-modules/python_fedora/default.nix +++ b/pkgs/development/python-modules/python_fedora/default.nix @@ -4,7 +4,7 @@ buildPythonPackage rec { pname = "python-fedora"; version = "0.9.0"; - name = "python-fedora-${version}"; + name = pname + "-" + version; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/rackspace-novaclient/default.nix b/pkgs/development/python-modules/rackspace-novaclient/default.nix index 144b61c9b9a..3993503e956 100644 --- a/pkgs/development/python-modules/rackspace-novaclient/default.nix +++ b/pkgs/development/python-modules/rackspace-novaclient/default.nix @@ -1,7 +1,9 @@ { buildPythonPackage, fetchurl, isPy3k, requests, novaclient, six, lib }: let os-virtual-interfacesv2-python-novaclient-ext = buildPythonPackage rec { - name = "os_virtual_interfacesv2_python_novaclient_ext-0.20"; + pname = "os_virtual_interfacesv2_python_novaclient_ext"; + version = "0.20"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/o/os-virtual-interfacesv2-python-novaclient-ext/${name}.tar.gz"; @@ -18,7 +20,9 @@ os-virtual-interfacesv2-python-novaclient-ext = buildPythonPackage rec { }; ip-associations-python-novaclient-ext = buildPythonPackage rec { - name = "ip_associations_python_novaclient_ext-0.2"; + pname = "ip_associations_python_novaclient_ext"; + version = "0.2"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/i/ip_associations_python_novaclient_ext/${name}.tar.gz"; @@ -34,9 +38,10 @@ ip-associations-python-novaclient-ext = buildPythonPackage rec { }; }; - rackspace-auth-openstack = buildPythonPackage rec { - name = "rackspace-auth-openstack-1.3"; + pname = "rackspace-auth-openstack"; + version = "1.3"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/r/rackspace-auth-openstack/${name}.tar.gz"; @@ -52,7 +57,9 @@ rackspace-auth-openstack = buildPythonPackage rec { }; }; rax-default-network-flags-python-novaclient-ext = buildPythonPackage rec { - name = "rax_default_network_flags_python_novaclient_ext-0.4.0"; + pname = "rax_default_network_flags_python_novaclient_ext"; + version = "0.4.0"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/r/rax_default_network_flags_python_novaclient_ext/${name}.tar.gz"; @@ -68,7 +75,9 @@ rax-default-network-flags-python-novaclient-ext = buildPythonPackage rec { }; }; os-networksv2-python-novaclient-ext = buildPythonPackage rec { - name = "os_networksv2_python_novaclient_ext-0.26"; + pname = "os_networksv2_python_novaclient_ext"; + version = "0.26"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/o/os_networksv2_python_novaclient_ext/${name}.tar.gz"; @@ -85,7 +94,9 @@ os-networksv2-python-novaclient-ext = buildPythonPackage rec { }; rax-scheduled-images-python-novaclient-ext = buildPythonPackage rec { - name = "rax_scheduled_images_python_novaclient_ext-0.3.1"; + pname = "rax_scheduled_images_python_novaclient_ext"; + version = "0.3.1"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/r/rax_scheduled_images_python_novaclient_ext/${name}.tar.gz"; @@ -102,7 +113,9 @@ rax-scheduled-images-python-novaclient-ext = buildPythonPackage rec { }; os-diskconfig-python-novaclient-ext = buildPythonPackage rec { - name = "os_diskconfig_python_novaclient_ext-0.1.3"; + pname = "os_diskconfig_python_novaclient_ext"; + version = "0.1.3"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/o/os_diskconfig_python_novaclient_ext/${name}.tar.gz"; @@ -120,7 +133,9 @@ os-diskconfig-python-novaclient-ext = buildPythonPackage rec { in buildPythonPackage rec { - name = "rackspace-novaclient-2.1"; + pname = "rackspace-novaclient"; + version = "2.1"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/r/rackspace-novaclient/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/raven/default.nix b/pkgs/development/python-modules/raven/default.nix index 00bc54d844b..e7b56cb3f35 100644 --- a/pkgs/development/python-modules/raven/default.nix +++ b/pkgs/development/python-modules/raven/default.nix @@ -1,7 +1,9 @@ { lib, buildPythonPackage, fetchurl, isPy3k, contextlib2 }: buildPythonPackage rec { - name = "raven-6.3.0"; + pname = "raven"; + version = "6.3.0"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/r/raven/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/recursive-pth-loader/default.nix b/pkgs/development/python-modules/recursive-pth-loader/default.nix index 9a17e722679..359b482a168 100644 --- a/pkgs/development/python-modules/recursive-pth-loader/default.nix +++ b/pkgs/development/python-modules/recursive-pth-loader/default.nix @@ -1,7 +1,9 @@ { stdenv, python }: stdenv.mkDerivation rec { - name = "python-recursive-pth-loader-1.0"; + pname = "python-recursive-pth-loader"; + version = "1.0"; + name = pname + "-" + version; unpackPhase = "true"; diff --git a/pkgs/development/python-modules/restructuredtext_lint/default.nix b/pkgs/development/python-modules/restructuredtext_lint/default.nix index 1a863c62973..e58066cbef4 100644 --- a/pkgs/development/python-modules/restructuredtext_lint/default.nix +++ b/pkgs/development/python-modules/restructuredtext_lint/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "restructuredtext_lint"; - version = "1.1.1"; + version = "1.1.2"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "167e8adaa5bdc30531ee91760d6c216b306a8a3372aad34b1f72d8adcc5e011e"; + sha256 = "9201d354e22c27be61cf6d8212da6e10c875eec7ec8d1bdb1067b2a5ba931637"; }; checkInputs = [ nose flake8 pyyaml testtools ]; diff --git a/pkgs/development/python-modules/robomachine/default.nix b/pkgs/development/python-modules/robomachine/default.nix index 1e7b020cd51..8f71bab9c25 100644 --- a/pkgs/development/python-modules/robomachine/default.nix +++ b/pkgs/development/python-modules/robomachine/default.nix @@ -1,7 +1,9 @@ { stdenv, fetchurl, buildPythonPackage, pyparsing, argparse, robotframework }: buildPythonPackage rec { - name = "robomachine-0.6"; + pname = "robomachine"; + version = "0.6"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/R/RoboMachine/RoboMachine-0.6.tar.gz"; diff --git a/pkgs/development/python-modules/robotframework-ride/default.nix b/pkgs/development/python-modules/robotframework-ride/default.nix index a9b536fc76e..8bac32ba911 100644 --- a/pkgs/development/python-modules/robotframework-ride/default.nix +++ b/pkgs/development/python-modules/robotframework-ride/default.nix @@ -2,8 +2,9 @@ buildPythonPackage rec { version = "1.2.3"; - name = "robotframework-ride-${version}"; + pname = "robotframework-ride"; disabled = isPy3k; + name = pname + "-" + version; src = fetchurl { url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/robotframework/default.nix b/pkgs/development/python-modules/robotframework/default.nix index e0a05eb2e25..6a4a8867025 100644 --- a/pkgs/development/python-modules/robotframework/default.nix +++ b/pkgs/development/python-modules/robotframework/default.nix @@ -2,8 +2,9 @@ buildPythonPackage rec { version = "3.0.2"; - name = "robotframework-${version}"; + pname = "robotframework"; disabled = isPy3k; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/r/robotframework/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/scapy/default.nix b/pkgs/development/python-modules/scapy/default.nix index 5241b632f12..6670394ac0b 100644 --- a/pkgs/development/python-modules/scapy/default.nix +++ b/pkgs/development/python-modules/scapy/default.nix @@ -1,7 +1,9 @@ { stdenv, fetchurl, buildPythonPackage, isPy3k, isPyPy }: buildPythonPackage rec { - name = "scapy-2.2.0"; + pname = "scapy"; + version = "2.2.0"; + name = pname + "-" + version; disabled = isPy3k || isPyPy; diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix index d33e86a3f07..6b64cd18b4f 100644 --- a/pkgs/development/python-modules/selenium/default.nix +++ b/pkgs/development/python-modules/selenium/default.nix @@ -8,7 +8,10 @@ }: buildPythonPackage rec { - name = "selenium-3.6.0"; + pname = "selenium"; + version = "3.6.0"; + name = pname + "-" + version; + src = fetchurl { url = "mirror://pypi/s/selenium/${name}.tar.gz"; sha256 = "15qpvz0bdwjvpcj11fm0rw6r5inr66sqw89ww50l025sbhf04qwm"; @@ -47,4 +50,4 @@ buildPythonPackage rec { license = licenses.asl20; maintainers = with maintainers; [ jraygauthier ]; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/seqdiag/default.nix b/pkgs/development/python-modules/seqdiag/default.nix index 98a81873a71..2ce15521048 100644 --- a/pkgs/development/python-modules/seqdiag/default.nix +++ b/pkgs/development/python-modules/seqdiag/default.nix @@ -3,11 +3,13 @@ }: buildPythonPackage rec { - name = "seqdiag-0.9.4"; + pname = "seqdiag"; + version = "0.9.5"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/s/seqdiag/${name}.tar.gz"; - sha256 = "1qa7d0m1wahvmrj95rxkb6128cbwd4w3gy8gbzncls66h46bifiz"; + sha256 = "994402cb19fef77ee113d18810aa397a7290553cda5f900be2bb44e2c7742657"; }; buildInputs = [ pep8 nose unittest2 docutils ]; diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix index a65b0206ee5..3c919db42f4 100644 --- a/pkgs/development/python-modules/setuptools/default.nix +++ b/pkgs/development/python-modules/setuptools/default.nix @@ -8,13 +8,13 @@ # Should use buildPythonPackage here somehow stdenv.mkDerivation rec { pname = "setuptools"; - version = "36.6.0"; + version = "36.7.1"; name = "${python.libPrefix}-${pname}-${version}"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "62074589522a798da243f47348f38020d55b6c945652e2f2c09d3a96299812b7"; + sha256 = "543becf5d33d8989dc5222403997488e9dc3872bdecdabb0f57184ca253ec1e8"; }; buildInputs = [ python wrapPython unzip ]; diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix index 452f3f1d923..40df45616e9 100644 --- a/pkgs/development/python-modules/spacy/default.nix +++ b/pkgs/development/python-modules/spacy/default.nix @@ -4,7 +4,7 @@ , python , fetchPypi , fetchFromGitHub -, pytest +, pytest , cython , cymem , preshed @@ -28,20 +28,21 @@ let version = "2017.04.05"; src = fetchPypi { - inherit pname version; + inherit pname version; sha256 = "0c95gf3jzz8mv52lkgq0h7sbasjwvdhghm4s0phmy5k9sr78f4fq"; }; }; in buildPythonPackage rec { - name = "spacy-${version}"; + pname = "spacy"; version = "1.8.2"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "explosion"; repo = "spaCy"; rev = "v${version}"; - sha256 = "0v3bmmar31a6968y4wl0lmgnc3829l2mnwd8s959m4pqw1y1w648"; - }; + sha256 = "0v3bmmar31a6968y4wl0lmgnc3829l2mnwd8s959m4pqw1y1w648"; + }; propagatedBuildInputs = [ cython @@ -65,8 +66,8 @@ in buildPythonPackage rec { doCheck = false; # checkPhase = '' # ${python.interpreter} -m pytest spacy/tests --vectors --models --slow - # ''; - + # ''; + meta = with stdenv.lib; { description = "Industrial-strength Natural Language Processing (NLP) with Python and Cython"; homepage = https://github.com/explosion/spaCy; diff --git a/pkgs/development/python-modules/sphfile/default.nix b/pkgs/development/python-modules/sphfile/default.nix index 8c2351c981e..189fa7c932d 100644 --- a/pkgs/development/python-modules/sphfile/default.nix +++ b/pkgs/development/python-modules/sphfile/default.nix @@ -1,8 +1,9 @@ { lib, fetchurl, buildPythonPackage, numpy }: buildPythonPackage rec { - name = "sphfile-${version}"; + pname = "sphfile"; version = "1.0.0"; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/s/sphfile/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/spotipy/default.nix b/pkgs/development/python-modules/spotipy/default.nix index ec73485193a..c14b3cd770b 100644 --- a/pkgs/development/python-modules/spotipy/default.nix +++ b/pkgs/development/python-modules/spotipy/default.nix @@ -2,8 +2,8 @@ buildPythonPackage rec { pname = "spotipy"; - name = "spotipy-${version}"; version = "2.4.4"; + name = pname + "-" + version; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/sybase/default.nix b/pkgs/development/python-modules/sybase/default.nix index df27172d8d4..51c80e0fa91 100644 --- a/pkgs/development/python-modules/sybase/default.nix +++ b/pkgs/development/python-modules/sybase/default.nix @@ -6,8 +6,9 @@ }: buildPythonPackage rec { - name = "python-sybase-${version}"; + pname = "python-sybase"; version = "0.40pre2"; + name = pname + "-" + version; disabled = isPy3k; src = fetchurl { diff --git a/pkgs/development/python-modules/systemd/default.nix b/pkgs/development/python-modules/systemd/default.nix index 4786e7eb7e1..ec5b3b325dd 100644 --- a/pkgs/development/python-modules/systemd/default.nix +++ b/pkgs/development/python-modules/systemd/default.nix @@ -1,8 +1,9 @@ { stdenv, buildPythonPackage, fetchFromGitHub, systemd, pkgconfig }: buildPythonPackage rec { - name = "python-systemd-${version}"; + pname = "systemd"; version = "234"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "systemd"; diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix index 2ce419fa7fb..63630c1e146 100644 --- a/pkgs/development/python-modules/tensorflow/default.nix +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -97,6 +97,8 @@ let }; in buildPythonPackage (common // { + pname = "tensorflow"; + version = common.version; name = "tensorflow-${common.version}"; deps = stdenv.mkDerivation (common // { diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix index 23b5a5aa9e2..498c722a046 100644 --- a/pkgs/development/python-modules/testfixtures/default.nix +++ b/pkgs/development/python-modules/testfixtures/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "testfixtures"; - version = "5.3.0"; + version = "5.3.1"; src = fetchPypi { inherit pname version; - sha256 = "1xfar653qmikwb94xj3f0xfp8dh2llxjsxipx1272d8qwl0aknnx"; + sha256 = "670ade9410b7132278209e6a2e893caf098b040c4ba4d5ea848367a9c5588728"; }; checkInputs = [ mock manuel pytest sybil zope_component ]; diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix index 817ea6388f9..15794caf58b 100644 --- a/pkgs/development/python-modules/thinc/default.nix +++ b/pkgs/development/python-modules/thinc/default.nix @@ -30,21 +30,22 @@ let version = "1.0.1"; src = fetchPypi { - inherit pname version; + inherit pname version; sha256 = "17zajiw4mjbkkv6ahp3xf025qglkj0805m9s41c45zryzj6p2h39"; }; doCheck = false; # fails to import support from test }; in buildPythonPackage rec { - name = "thinc-${version}"; + pname = "thinc"; version = "6.5.1"; + name = pname + "-" + version; src = fetchFromGitHub { owner = "explosion"; repo = "thinc"; rev = "v${version}"; - sha256 = "008kmjsvanh6qgnpvsn3qacfcyprxirxbw4yfd8flyg7mxw793ws"; + sha256 = "008kmjsvanh6qgnpvsn3qacfcyprxirxbw4yfd8flyg7mxw793ws"; }; propagatedBuildInputs = [ @@ -67,14 +68,14 @@ in buildPythonPackage rec { ]; doCheck = false; - + # fails to import some modules # checkPhase = '' # ${python.interpreter} -m pytest thinc/tests # # cd thinc/tests # # ${python.interpreter} -m unittest discover -p "*test*" # ''; - + meta = with stdenv.lib; { description = "Practical Machine Learning for NLP in Python"; homepage = https://github.com/explosion/thinc; diff --git a/pkgs/development/python-modules/tiros/default.nix b/pkgs/development/python-modules/tiros/default.nix index c0056eb66b3..a620c6eb58d 100644 --- a/pkgs/development/python-modules/tiros/default.nix +++ b/pkgs/development/python-modules/tiros/default.nix @@ -5,11 +5,11 @@ buildPythonPackage rec { pname = "tiros"; name = "${pname}-${version}"; - version = "1.0.39"; + version = "1.0.40"; src = fetchPypi { inherit pname version; - sha256 = "10wh84lpl7k8i69hlxwrzp2lln63w2afv9l7ij7r3lqjwd0z0skr"; + sha256 = "841ca13564e3cddfd1404cbc60b3433bcc1e31c2753ecea20d0ad68173b80169"; }; patchPhase = '' diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix index 95039cc591f..2392a4a9968 100644 --- a/pkgs/development/python-modules/tqdm/default.nix +++ b/pkgs/development/python-modules/tqdm/default.nix @@ -21,6 +21,12 @@ buildPythonPackage rec { buildInputs = [ nose coverage glibcLocales flake8 ]; + postPatch = '' + # Remove performance testing. + # Too sensitive for on Hydra. + rm tqdm/tests/tests_perf.py + ''; + LC_ALL="en_US.UTF-8"; meta = { diff --git a/pkgs/development/python-modules/trollius/default.nix b/pkgs/development/python-modules/trollius/default.nix index ef367c3525d..7b61633a7fc 100644 --- a/pkgs/development/python-modules/trollius/default.nix +++ b/pkgs/development/python-modules/trollius/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { buildInputs = [ mock ]; - propagatedBuildInputs = lib.optional (isPy27 || isPyPy) [ futures ]; + propagatedBuildInputs = lib.optionals (isPy27 || isPyPy) [ futures ]; patches = [ ./tests.patch diff --git a/pkgs/development/python-modules/u-msgpack-python/default.nix b/pkgs/development/python-modules/u-msgpack-python/default.nix index aca4e370e46..bab0bc28850 100644 --- a/pkgs/development/python-modules/u-msgpack-python/default.nix +++ b/pkgs/development/python-modules/u-msgpack-python/default.nix @@ -5,10 +5,9 @@ , python }: -let +buildPythonPackage rec { pname = "u-msgpack-python"; version = "2.4.1"; -in buildPythonPackage rec { name = "${pname}-${version}"; src = fetchurl { diff --git a/pkgs/development/python-modules/umemcache/default.nix b/pkgs/development/python-modules/umemcache/default.nix index 4d09fda83da..416c857bdc6 100644 --- a/pkgs/development/python-modules/umemcache/default.nix +++ b/pkgs/development/python-modules/umemcache/default.nix @@ -1,9 +1,10 @@ { stdenv, buildPythonPackage, isPy3k, fetchurl }: buildPythonPackage rec { - name = "umemcache-${version}"; + pname = "umemcache"; version = "1.6.3"; disabled = isPy3k; + name = pname + "-" + version; src = fetchurl { url = "mirror://pypi/u/umemcache/${name}.zip"; diff --git a/pkgs/development/python-modules/uritools/default.nix b/pkgs/development/python-modules/uritools/default.nix index 99b648b0ee1..108a7cf5bb0 100644 --- a/pkgs/development/python-modules/uritools/default.nix +++ b/pkgs/development/python-modules/uritools/default.nix @@ -2,8 +2,8 @@ buildPythonPackage rec { pname = "uritools"; - name = "uritools-${version}"; version = "2.1.0"; + name = pname + "-" + version; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/urwid/default.nix b/pkgs/development/python-modules/urwid/default.nix index d77a212003b..b76a1475bbf 100644 --- a/pkgs/development/python-modules/urwid/default.nix +++ b/pkgs/development/python-modules/urwid/default.nix @@ -23,6 +23,11 @@ buildPythonPackage (rec { }) ]; + postPatch = '' + # Several tests keep failing on Hydra + rm urwid/tests/test_vterm.py + ''; + meta = with stdenv.lib; { description = "A full-featured console (xterm et al.) user interface library"; homepage = http://excess.org/urwid; diff --git a/pkgs/development/python-modules/usbtmc/default.nix b/pkgs/development/python-modules/usbtmc/default.nix index 0c684274907..bcbaa0b728c 100644 --- a/pkgs/development/python-modules/usbtmc/default.nix +++ b/pkgs/development/python-modules/usbtmc/default.nix @@ -1,8 +1,9 @@ { stdenv, fetchurl, buildPythonPackage, pyusb }: buildPythonPackage rec { - name = "usbtmc-${version}"; + pname = "usbtmc"; version = "0.8"; + name = pname + "-" + version; src = fetchurl { url = "https://github.com/python-ivi/python-usbtmc/archive/v${version}.tar.gz"; diff --git a/pkgs/development/python-modules/waitress-django/default.nix b/pkgs/development/python-modules/waitress-django/default.nix index 6efaf800b3c..421995e3792 100644 --- a/pkgs/development/python-modules/waitress-django/default.nix +++ b/pkgs/development/python-modules/waitress-django/default.nix @@ -1,6 +1,10 @@ { buildPythonPackage, django_1_8, waitress }: -buildPythonPackage { - name = "waitress-django"; + +buildPythonPackage rec { + pname = "waitress-django"; + version = "0.0.0"; + name = pname; + src = ./.; pythonPath = [ django_1_8 waitress ]; doCheck = false; diff --git a/pkgs/development/python-modules/webencodings/default.nix b/pkgs/development/python-modules/webencodings/default.nix index 834a0ab07fb..edd0a364ea1 100644 --- a/pkgs/development/python-modules/webencodings/default.nix +++ b/pkgs/development/python-modules/webencodings/default.nix @@ -4,10 +4,9 @@ , pytest }: -let +buildPythonPackage rec { pname = "webencodings"; version = "0.5.1"; -in buildPythonPackage rec { name = "${pname}-${version}"; src = fetchurl { @@ -26,4 +25,4 @@ in buildPythonPackage rec { homepage = https://github.com/SimonSapin/python-webencodings; license = lib.licenses.bsd3; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix index 760af59918a..b9ab1dfbc1d 100644 --- a/pkgs/development/python-modules/widgetsnbextension/default.nix +++ b/pkgs/development/python-modules/widgetsnbextension/default.nix @@ -8,11 +8,11 @@ buildPythonPackage rec { pname = "widgetsnbextension"; name = "${pname}-${version}"; - version = "3.0.6"; + version = "3.0.8"; src = fetchPypi { inherit pname version; - sha256 = "3fbedb4ae0883f48af2397c65a8f9fbf8ed868f1808db70f8aa72f25d391fa9b"; + sha256 = "a57e29e733b989e68fdd0f3d6927a3691763b39792591d573b95a89a5a12ec15"; }; propagatedBuildInputs = [ notebook ]; diff --git a/pkgs/development/python-modules/wxPython/3.0.nix b/pkgs/development/python-modules/wxPython/3.0.nix index 14f6f802ba2..ab7b44019c5 100644 --- a/pkgs/development/python-modules/wxPython/3.0.nix +++ b/pkgs/development/python-modules/wxPython/3.0.nix @@ -19,8 +19,9 @@ assert wxGTK.unicode; buildPythonPackage rec { - name = "wxPython-${version}"; + pname = "wxPython"; version = "3.0.2.0"; + name = pname + "-" + version; disabled = isPy3k || isPyPy; doCheck = false; diff --git a/pkgs/development/r-modules/generic-builder.nix b/pkgs/development/r-modules/generic-builder.nix index 582b8aa44dc..ff6c3ad1b90 100644 --- a/pkgs/development/r-modules/generic-builder.nix +++ b/pkgs/development/r-modules/generic-builder.nix @@ -41,8 +41,8 @@ stdenv.mkDerivation ({ ''; postFixup = '' - if test -e $out/nix-support/propagated-native-build-inputs; then - ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages + if test -e $out/nix-support/propagated-build-inputs; then + ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages fi ''; diff --git a/pkgs/games/pysolfc/default.nix b/pkgs/games/pysolfc/default.nix new file mode 100644 index 00000000000..85424ebea9b --- /dev/null +++ b/pkgs/games/pysolfc/default.nix @@ -0,0 +1,39 @@ +{ fetchurl, python2, stdenv }: + +with python2.pkgs; + +buildPythonApplication rec { + pname = "PySolFC"; + version = "2.0"; + + src = fetchurl { + url = "mirror://sourceforge/pysolfc/${pname}-${version}.tar.bz2"; + sha256 = "0v0v8iflw55f5mghglkw80j8b7lv1hffjassfhqc4y84dmz8xjyv"; + }; + + patches = [ + ./pysolfc-datadir.patch + ]; + + propagatedBuildInputs = [ + tkinter + ]; + + # No tests in archive + doCheck = false; + + postInstall = '' + # executables should not have an extension + pushd $out/bin + mv pysol.py pysol + rm pysol.pyc + popd + ''; + + meta = with stdenv.lib; { + description = "A collection of more than 1000 solitaire card games"; + homepage = http://pysolfc.sourceforge.net/; + license = licenses.gpl3; + maintainers = with maintainers; [ kierdavis ]; + }; +} diff --git a/pkgs/games/pysolfc/pysolfc-datadir.patch b/pkgs/games/pysolfc/pysolfc-datadir.patch new file mode 100644 index 00000000000..d9f1cf4e09f --- /dev/null +++ b/pkgs/games/pysolfc/pysolfc-datadir.patch @@ -0,0 +1,19 @@ +diff --git a/pysollib/util.py b/pysollib/util.py +index 8de3f00..26f4bc7 100644 +--- a/pysollib/util.py ++++ b/pysollib/util.py +@@ -110,13 +110,7 @@ class DataLoader: + head, tail = os.path.split(argv0) + if not head: + head = os.curdir +- # dir where placed startup script +- path.append(head) +- path.append(os.path.join(head, "data")) +- path.append(os.path.join(head, os.pardir, "data")) +- # dir where placed pysol package +- path.append(os.path.join(sys.path[0], "data")) +- path.append(os.path.join(sys.path[0], "pysollib", "data")) ++ path.append(os.path.join(head, "..", "share", "PySolFC")) + # from settings.py + path.extend(DATA_DIRS) + # check path for valid directories diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix b/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix new file mode 100644 index 00000000000..2856aee4a5d --- /dev/null +++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix @@ -0,0 +1,150 @@ +{ stdenv, lib, fetchzip, + autoconf, automake, libtool, + cups, popt, libtiff, libpng, + ghostscript, glib, libusb, libxml2 }: + +/* this derivation is basically just a transcription of the rpm .spec + file included in the tarball */ + +let arch = + if stdenv.system == "x86_64-linux" then "64" + else if stdenv.system == "i686-linux" then "32" + else abort "Unsupported architecture"; + +in stdenv.mkDerivation rec { + name = "cnijfilter-${version}"; + + /* important note about versions: cnijfilter packages seem to use + versions in a non-standard way. the version indicates which + printers are supported in the package. so this package should + not be "upgraded" in the usual way. + + instead, if you want to include another version supporting your + printer, you should try to abstract out the common things (which + should be pretty much everything except the version and the 'pr' + and 'pr_id' values to loop over). */ + version = "4.00"; + + src = fetchzip { + url = "http://gdlp01.c-wss.com/gds/5/0100005515/01/cnijfilter-source-4.00-1.tar.gz"; + sha256 = "1f6vpx1z3qa88590i5m0s49j9n90vpk81xmw6pvj0nfd3qbvzkya"; + }; + + buildInputs = [ autoconf libtool automake + cups popt libtiff libpng + ghostscript glib libusb libxml2 ]; + + # patches from https://github.com/tokiclover/bar-overlay/tree/master/net-print/cnijfilter + patches = [ + ./patches/cnijfilter-3.80-1-cups-1.6.patch + ./patches/cnijfilter-3.80-6-cups-1.6.patch + ./patches/cnijfilter-4.00-4-ppd.patch + ./patches/cnijfilter-4.00-5-abi_x86_32.patch + ./patches/cnijfilter-4.00-6-headers.patch + ]; + + postPatch = '' + sed -i "s|/usr/lib/cups/backend|$out/lib/cups/backend|" backend/src/Makefile.am; + sed -i "s|/usr/lib/cups/backend|$out/lib/cups/backend|" backendnet/backend/Makefile.am; + sed -i "s|/usr/lib/cups/backend|$out/lib/cups/backend|" cnijbe/src/Makefile.am; + sed -i "s|/usr|$out|" backend/src/cnij_backend_common.c; + sed -i "s|/usr/bin|${ghostscript}/bin|" pstocanonij/filter/pstocanonij.c; + ''; + + configurePhase = '' + cd libs + ./autogen.sh --prefix=$out + + cd ../bscc2sts + ./autogen.sh + + cd ../cnijnpr + ./autogen.sh --prefix=$out --enable-libpath=$out/lib/bjlib + + cd ../cngpij + ./autogen.sh --prefix=$out --enable-progpath=$out/bin + + cd ../cngpijmnt + ./autogen.sh --prefix=$out --enable-progpath=$out/bin + + cd ../pstocanonij + ./autogen.sh --prefix=$out --enable-progpath=$out/bin + + cd ../backend + ./autogen.sh --prefix=$out + + cd ../backendnet + ./autogen.sh --prefix=$out --enable-libpath=$out/lib/bjlib --enable-progpath=$out/bin + + cd ../cmdtocanonij + ./autogen.sh --prefix=$out --datadir=$out/share + + cd ../cnijbe + ./autogen.sh --prefix=$out --enable-progpath=$out/bin + + cd ../lgmon2 + substituteInPlace src/Makefile.am \ + --replace /usr/include/libusb-1.0 \ + ${libusb.dev}/include/libusb-1.0 + ./autogen.sh --prefix=$out --enable-libpath=$out/lib/bjlib --enable-progpath=$out/bin + + cd ..; + + sed -e "s,cnijlgmon2_LDADD =,cnijlgmon2_LDADD = -L../../com/libs_bin${arch}," \ + -i lgmon2/src/Makefile.am || die + ''; + + preInstall = '' + mkdir -p $out/bin $out/lib/cups/filter $out/share/cups/model; + ''; + + postInstall = '' + set -o xtrace + for pr in mg2400 mg2500 mg3500 mg5500 mg6400 mg6500 mg7100 p200; do + cd ppd; + ./autogen.sh --prefix=$out --program-suffix=$pr + make clean; + make; + make install; + + cd ../cnijfilter; + ./autogen.sh --prefix=$out --program-suffix=$pr --enable-libpath=/var/lib/cups/path/lib/bjlib --enable-binpath=$out/bin; + make clean; + make; + make install; + + cd ..; + done; + + mkdir -p $out/lib/bjlib; + for pr_id in 423 424 425 426 427 428 429 430; do + install -c -m 755 $pr_id/database/* $out/lib/bjlib; + install -c -s -m 755 $pr_id/libs_bin${arch}/*.so.* $out/lib; + done; + + pushd $out/lib; + for so_file in *.so.*; do + ln -s $so_file ''${so_file/.so.*/}.so; + patchelf --set-rpath $out/lib $so_file; + done; + popd; + ''; + + /* the tarball includes some pre-built shared libraries. we run + 'patchelf --set-rpath' on them just a few lines above, so that + they can find each other. but that's not quite enough. some of + those libraries load each other in non-standard ways -- they + don't list each other in the DT_NEEDED section. so, if the + standard 'patchelf --shrink-rpath' (from + pkgs/development/tools/misc/patchelf/setup-hook.sh) is run on + them, it undoes the --set-rpath. this prevents that. */ + dontPatchELF = true; + + meta = with lib; { + description = "Canon InkJet printer drivers for the MG2400 MG2500 MG3500 MG5500 MG6400 MG6500 MG7100 and P200 series."; + homepage = https://www.canon-europe.com/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_mg_series/pixma_mg5550.aspx?type=drivers&driverdetailid=tcm:13-1094072; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ chpatrick ]; + }; +} diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-1-cups-1.6.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-1-cups-1.6.patch new file mode 100644 index 00000000000..dfc0bb2268c --- /dev/null +++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-1-cups-1.6.patch @@ -0,0 +1,62 @@ +--- a/cngpij/cngpij/bjcups.c ++++ a/cngpij/cngpij/bjcups.c +@@ -698,8 +719,8 @@ + else { + pRequest = ippNew(); + +- pRequest->request.op.operation_id = CUPS_GET_PRINTERS; +- pRequest->request.op.request_id = 1; ++ ippSetOperation(pRequest, CUPS_GET_PRINTERS); ++ ippSetRequestId(pRequest, 1); + + pLanguage = bjcupsLangDefault(); // cupsLangDefault() -> bjcupsLangDefault() for cups-1.1.19 + +@@ -708,29 +729,29 @@ + ippAddString(pRequest, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, NULL); + + if ((pResponse = cupsDoRequest(pHTTP, pRequest, "/")) != NULL) { +- if (pResponse->request.status.status_code > IPP_OK_CONFLICT) { ++ if (ippGetStatusCode(pResponse) > IPP_OK_CONFLICT) { + fputs("ERROR: IPP ERROR\n", stderr); + goto onErr; + } + else { +- pAttribute = pResponse->attrs; ++ pAttribute = ippFirstAttribute(pResponse); + + while (pAttribute != NULL) { +- while (pAttribute != NULL && pAttribute->group_tag != IPP_TAG_PRINTER) { +- pAttribute = pAttribute->next; ++ while (pAttribute != NULL && ippGetGroupTag(pAttribute) != IPP_TAG_PRINTER) { ++ pAttribute = ippNextAttribute(pResponse); + } + if (pAttribute == NULL) { + break; + } + +- while (pAttribute != NULL && pAttribute->group_tag == IPP_TAG_PRINTER) { +- if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) { +- pPrinter = pAttribute->values[0].string.text; ++ while (pAttribute != NULL && ippGetGroupTag(pAttribute) == IPP_TAG_PRINTER) { ++ if (strcmp(ippGetName(pAttribute), "printer-name") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_NAME) { ++ pPrinter = ippGetString(pAttribute, 0, NULL); + } +- if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) { +- pDUri = pAttribute->values[0].string.text; ++ if (strcmp(ippGetName(pAttribute), "device-uri") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_URI) { ++ pDUri = ippGetString(pAttribute, 0, NULL); + } +- pAttribute = pAttribute->next; ++ pAttribute = ippNextAttribute(pResponse); + } + + if (strcasecmp(pDestName, pPrinter) == 0) { +@@ -739,7 +760,7 @@ + } + + if (pAttribute != NULL) +- pAttribute = pAttribute->next; ++ pAttribute = ippNextAttribute(pResponse); + } + } + diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-6-cups-1.6.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-6-cups-1.6.patch new file mode 100644 index 00000000000..6b51d4837d4 --- /dev/null +++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-3.80-6-cups-1.6.patch @@ -0,0 +1,87 @@ +diff --git a/cngpijmnt/src/getipc.c b/cngpijmnt/src/getipc.c +index 8688032..54c7933 100755 +--- a/cngpijmnt/src/getipc.c ++++ b/cngpijmnt/src/getipc.c +@@ -42,7 +42,7 @@ int GetIPCData(LPIPCU pipc, char *sname) + int server_fd; + int client_fd; + char buf[128]; +- size_t len; ++ socklen_t len; + short ret = RET_ERROR; + + if( (server_fd = socket(PF_UNIX, SOCK_STREAM, 0)) < 0 ) + +--- a/cngpijmnt/src/main.c 2016-11-12 23:39:03.534855723 +0100 ++++ b/cngpijmnt/src/main.c 2016-11-12 23:47:02.521847145 +0100 +@@ -308,8 +308,8 @@ + *pResponse; // Pointer to CUPS IPP response. + ipp_attribute_t *pAttribute; // Pointer to CUPS attributes. + cups_lang_t *pLanguage; // Pointer to language. +- char *pPrinter = NULL; // Pointer to printer name. +- char *pDUri = NULL; // Pointer to Device uri. ++ const char *pPrinter = NULL; // Pointer to printer name. ++ const char *pDUri = NULL; // Pointer to Device uri. + short retVal = -1; // Return value. + /*** Parameters end ***/ + +@@ -321,8 +321,8 @@ + else { + pRequest = ippNew(); + +- pRequest->request.op.operation_id = CUPS_GET_PRINTERS; +- pRequest->request.op.request_id = 1; ++ ippSetOperation(pRequest, CUPS_GET_PRINTERS); ++ ippSetRequestId(pRequest, 1); + + pLanguage = bjcupsLangDefault(); // cupsLangDefault() -> bjcupsLangDefault() for cups-1.1.19 + +@@ -331,29 +331,29 @@ + ippAddString(pRequest, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, NULL); + + if ((pResponse = cupsDoRequest(pHTTP, pRequest, "/")) != NULL) { +- if (pResponse->request.status.status_code > IPP_OK_CONFLICT) { ++ if (ippGetStatusCode(pResponse) > IPP_OK_CONFLICT) { + fputs("ERROR: IPP ERROR\n", stderr); + goto onErr; + } + else { +- pAttribute = pResponse->attrs; ++ pAttribute = ippFirstAttribute(pResponse); + + while (pAttribute != NULL) { +- while (pAttribute != NULL && pAttribute->group_tag != IPP_TAG_PRINTER) { +- pAttribute = pAttribute->next; ++ while (pAttribute != NULL && ippGetGroupTag(pAttribute) != IPP_TAG_PRINTER) { ++ pAttribute = ippNextAttribute(pResponse); + } + if (pAttribute == NULL) { + break; + } + +- while (pAttribute != NULL && pAttribute->group_tag == IPP_TAG_PRINTER) { +- if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) { +- pPrinter = pAttribute->values[0].string.text; ++ while (pAttribute != NULL && ippGetGroupTag(pAttribute) == IPP_TAG_PRINTER) { ++ if (strcmp(ippGetName(pAttribute), "printer-name") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_NAME) { ++ pPrinter = ippGetString(pAttribute, 0, NULL); + } +- if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) { +- pDUri = pAttribute->values[0].string.text; ++ if (strcmp(ippGetName(pAttribute), "device-uri") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_URI) { ++ pDUri = ippGetString(pAttribute, 0, NULL); + } +- pAttribute = pAttribute->next; ++ pAttribute = ippNextAttribute(pResponse); + } + + if (strcasecmp(pDestName, pPrinter) == 0) { +@@ -362,7 +362,7 @@ + } + + if (pAttribute != NULL) +- pAttribute = pAttribute->next; ++ pAttribute = ippNextAttribute(pResponse); + } + } + diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-4-ppd.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-4-ppd.patch new file mode 100644 index 00000000000..92bef72ba05 --- /dev/null +++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-4-ppd.patch @@ -0,0 +1,10 @@ +--- a/backend/src/cnij_backend_common.c 2016-11-13 00:08:34.600824006 +0100 ++++ a/backend/src/cnij_backend_common.c 2016-11-13 00:08:52.037823694 +0100 +@@ -37,6 +37,7 @@ + // CUPS Header + #include + #include ++#include + + // Header file for CANON + #include "cnij_backend_common.h" diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-5-abi_x86_32.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-5-abi_x86_32.patch new file mode 100644 index 00000000000..dc85801a256 --- /dev/null +++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-5-abi_x86_32.patch @@ -0,0 +1,45 @@ +--- a/backendnet/configure.in 2014-08-11 08:38:46.034984462 +0200 ++++ a/backendnet/configure.in 2014-08-11 08:35:42.902985813 +0200 +@@ -19,7 +19,11 @@ + AC_DEFINE_UNQUOTED(BJLIB_PATH, "$enable_libpath") + AC_SUBST(BJLIB_PATH) + +-ARC=`getconf LONG_BIT` ++case "$ABI" in ++ x86) ARC=32;; ++ amd64) ARC=64;; ++ *) ARC=`getconf LONG_BIT`;; ++esac + AC_SUBST(ARC) + + # Checks for programs. +--- a/cnijfilter/configure.in 2014-08-11 08:39:44.426984031 +0200 ++++ a/cnijfilter/configure.in 2014-08-11 08:35:19.788985984 +0200 +@@ -43,7 +43,11 @@ + esac + AC_SUBST(CNCL_LIB_ID) + +-ARC=`getconf LONG_BIT` ++case "$ABI" in ++ x86) ARC=32;; ++ amd64) ARC=64;; ++ *) ARC=`getconf LONG_BIT`;; ++esac + AC_SUBST(ARC) + + AC_PROG_CC +--- a/cnijnpr/configure.in 2014-08-11 08:41:12.712983380 +0200 ++++ a/cnijnpr/configure.in 2014-08-11 08:40:44.354983589 +0200 +@@ -37,7 +37,11 @@ + + CFLAGS="-O2" + +-ARC=`getconf LONG_BIT` ++case "$ABI" in ++ x86) ARC=32;; ++ amd64) ARC=64;; ++ *) ARC=`getconf LONG_BIT`;; ++esac + AC_SUBST(ARC) + + AC_OUTPUT(Makefile diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-6-headers.patch b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-6-headers.patch new file mode 100644 index 00000000000..7dba7999511 --- /dev/null +++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-6-headers.patch @@ -0,0 +1,11 @@ +--- a/cnijnpr/src/cnijnpr.c 2016-11-13 21:51:33.844977618 +0100 ++++ a/cnijnpr/src/cnijnpr.c 2016-11-13 21:52:03.129977094 +0100 +@@ -34,6 +34,8 @@ + #include + #include + #include ++#include ++#include + #include + #include + diff --git a/pkgs/servers/monitoring/munin/adding_sconfdir_munin-node.patch b/pkgs/servers/monitoring/munin/adding_sconfdir_munin-node.patch new file mode 100644 index 00000000000..6e14d613703 --- /dev/null +++ b/pkgs/servers/monitoring/munin/adding_sconfdir_munin-node.patch @@ -0,0 +1,41 @@ +commit af5fa3623bb9a73052f9154be4a0f38c60ea42a2 +Author: Kjetil Orbekk +Date: Thu Nov 23 21:21:36 2017 -0500 + + node: add --sconfdir to set plugin configuration dir + +diff --git a/node/sbin/munin-node b/node/sbin/munin-node +index 909c8c4e..0ccf3941 100755 +--- a/node/sbin/munin-node ++++ b/node/sbin/munin-node +@@ -100,9 +100,11 @@ sub parse_args + my @ORIG_ARGV = @ARGV; + + my $servicedir_cmdline; ++ my $sconfdir_cmdline; + print_usage_and_exit() unless GetOptions( + "config=s" => \$conffile, + "servicedir=s" => \$servicedir_cmdline, ++ "sconfdir=s" => \$sconfdir_cmdline, + "debug!" => \$DEBUG, + "pidebug!" => \$PIDEBUG, + "paranoia!" => \$paranoia, +@@ -112,6 +114,7 @@ sub parse_args + + # We untaint the args brutally, since the sysadm should know what he does + $servicedir = $1 if defined $servicedir_cmdline && $servicedir_cmdline =~ m/(.*)/; ++ $sconfdir = $1 if defined $sconfdir_cmdline && $sconfdir_cmdline =~ m/(.*)/; + + # Reset ARGV (for HUPing) + @ARGV = @ORIG_ARGV; +@@ -175,6 +178,10 @@ Use EfileE as configuration file. [@@CONFDIR@@/munin-node.conf] + + Override plugin directory [@@CONFDIR@@/plugins/] + ++=item B<< --sconfdir >> ++ ++Override plugin configuration directory [@@CONFDIR@@/plugin-conf.d/] ++ + =item B< --[no]paranoia > + + Only run plugins owned by root. Check permissions as well. [--noparanoia] diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index 7882572b6c8..98e86bf8e36 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - version = "2.0.33"; + version = "2.0.34"; name = "munin-${version}"; src = fetchFromGitHub { owner = "munin-monitoring"; repo = "munin"; rev = version; - sha256 = "0rs05b7926mjd58sdry33i91m1h3v3svl0wg2gmhljl8wqidac5w"; + sha256 = "0mb5m0nc3nr9781d3s99sjdssmvkv37gxyplzr6d73i4hi31m7fr"; }; buildInputs = [ @@ -67,6 +67,9 @@ stdenv.mkDerivation rec { # https://github.com/munin-monitoring/munin/pull/134 ./adding_servicedir_munin-node.patch + + ./adding_sconfdir_munin-node.patch + ./preserve_environment.patch ]; preBuild = '' @@ -102,8 +105,8 @@ stdenv.mkDerivation rec { find "$out/lib/plugins" -type f -print0 | xargs -0 -L1 \ sed -i -e "s|/usr/bin/||g" -e "s|/usr/sbin/||g" -e "s|\|${bc}/bin/bc|g" - if test -e $out/nix-support/propagated-native-build-inputs; then - ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages + if test -e $out/nix-support/propagated-build-inputs; then + ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages fi for file in "$out"/bin/munindoc "$out"/sbin/munin-* "$out"/lib/munin-* "$out"/www/cgi/*; do diff --git a/pkgs/servers/monitoring/munin/preserve_environment.patch b/pkgs/servers/monitoring/munin/preserve_environment.patch new file mode 100644 index 00000000000..ef66f48ecb4 --- /dev/null +++ b/pkgs/servers/monitoring/munin/preserve_environment.patch @@ -0,0 +1,41 @@ +commit d94c29b7397362857b81d8c877a989fdb28490d8 +Author: Kjetil Orbekk +Date: Tue Nov 21 15:37:42 2017 -0500 + + Keep environment variables instead of overwriting them. + +diff --git a/common/lib/Munin/Common/Defaults.pm b/common/lib/Munin/Common/Defaults.pm +index 131f52c0..bbf42697 100644 +--- a/common/lib/Munin/Common/Defaults.pm ++++ b/common/lib/Munin/Common/Defaults.pm +@@ -71,7 +71,7 @@ sub export_to_environment { + + my %defaults = %{$class->get_defaults()}; + while (my ($k, $v) = each %defaults) { +- $ENV{$k} = $v; ++ $ENV{$k} = $ENV{$k} || $v; + } + + return +diff --git a/node/lib/Munin/Node/Service.pm b/node/lib/Munin/Node/Service.pm +index 1b4f6114..be58bd77 100644 +--- a/node/lib/Munin/Node/Service.pm ++++ b/node/lib/Munin/Node/Service.pm +@@ -122,7 +122,7 @@ sub export_service_environment { + # We append the USER to the MUNIN_PLUGSTATE, to avoid CVE-2012-3512 + my $uid = $self->_resolve_uid($service); + my $user = getpwuid($uid); +- $ENV{MUNIN_PLUGSTATE} = "$Munin::Common::Defaults::MUNIN_PLUGSTATE/$user"; ++ $ENV{MUNIN_PLUGSTATE} = "$ENV{MUNIN_PLUGSTATE}/$user"; + + # Provide a consistent default state-file. + $ENV{MUNIN_STATEFILE} = "$ENV{MUNIN_PLUGSTATE}/$service-$ENV{MUNIN_MASTER_IP}"; +@@ -243,7 +243,7 @@ sub exec_service + + # XXX - Create the statedir for the user + my $uid = $self->_resolve_uid($service); +- Munin::Node::OS->mkdir_subdir("$Munin::Common::Defaults::MUNIN_PLUGSTATE", $uid); ++ Munin::Node::OS->mkdir_subdir("$ENV{MUNIN_PLUGSTATE}", $uid); + + $self->change_real_and_effective_user_and_group($service); + diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix index f1fb1a34fc2..d0d0efa9aa6 100644 --- a/pkgs/servers/traefik/default.nix +++ b/pkgs/servers/traefik/default.nix @@ -1,24 +1,19 @@ -{ stdenv, buildGoPackage, fetchurl, bash, go-bindata}: +{ stdenv, buildGoPackage, fetchFromGitHub, bash, go-bindata}: buildGoPackage rec { name = "traefik-${version}"; - version = "1.3.8"; + version = "1.4.4"; goPackagePath = "github.com/containous/traefik"; - src = fetchurl { - url = "https://github.com/containous/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz"; - sha256 = "6fce36dd30bb5ae5f91e69f2950f22fe7a74b920e80c6b441a0721122f6a6174"; + src = fetchFromGitHub { + owner = "containous"; + repo = "traefik"; + rev = "v${version}"; + sha256 = "114861v8kg77zwnf742n25h7c4fly3i52inqx1kcpqs074rqm1wn"; }; buildInputs = [ go-bindata bash ]; - unpackPhase = '' - runHook preUnpack - mkdir traefik - tar -C traefik -xvzf $src - export sourceRoot="traefik" - runHook postUnpack - ''; buildPhase = '' runHook preBuild diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh index fae8bf5a8ce..bb3e5ac4283 100644 --- a/pkgs/servers/x11/xorg/builder.sh +++ b/pkgs/servers/x11/xorg/builder.sh @@ -16,22 +16,18 @@ postInstall() { echo "propagating requisites $requires" + if test -n "$crossConfig"; then + local pkgs=("${crossPkgs[@]}") + else + local pkgs=("${nativePkgs[@]}") + fi for r in $requires; do - if test -n "$crossConfig"; then - for p in "${crossPkgs[@]}"; do - if test -e $p/lib/pkgconfig/$r.pc; then - echo " found requisite $r in $p" - propagatedBuildInputs="$propagatedBuildInputs $p" - fi - done - else - for p in "${nativePkgs[@]}"; do - if test -e $p/lib/pkgconfig/$r.pc; then - echo " found requisite $r in $p" - propagatedNativeBuildInputs="$propagatedNativeBuildInputs $p" - fi - done - fi + for p in "${pkgs[@]}"; do + if test -e $p/lib/pkgconfig/$r.pc; then + echo " found requisite $r in $p" + propagatedBuildInputs+=" $p" + fi + done done } diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index ee25013d5a5..686ed68cede 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -239,12 +239,12 @@ isScript() { # printf unfortunately will print a trailing newline regardless printLines() { - [[ "$#" -gt 0 ]] || return 0 + (( "$#" > 0 )) || return 0 printf '%s\n' "$@" } printWords() { - [[ "$#" -gt 0 ]] || return 0 + (( "$#" > 0 )) || return 0 printf '%s ' "$@" } @@ -302,9 +302,9 @@ runHook addInputsHook # Recursively find all build inputs. findInputs() { - local pkg="$1" - local var="$2" - local propagatedBuildInputsFile="$3" + local pkg="$1"; shift + local var="$1"; shift + local propagatedBuildInputsFiles=("$@") # TODO(@Ericson2314): Restore using associative array once Darwin # nix-shell doesn't use impure bash. This should replace the O(n) @@ -324,12 +324,16 @@ findInputs() { exit 1 fi - if [ -f "$pkg/nix-support/$propagatedBuildInputsFile" ]; then + local file + for file in "${propagatedBuildInputsFiles[@]}"; do + file="$pkg/nix-support/$file" + [[ -f "$file" ]] || continue + local pkgNext - for pkgNext in $(< "$pkg/nix-support/$propagatedBuildInputsFile"); do - findInputs "$pkgNext" "$var" "$propagatedBuildInputsFile" + for pkgNext in $(< "$file"); do + findInputs "$pkgNext" "$var" "${propagatedBuildInputsFiles[@]}" done - fi + done } # Add package to the future PATH and run setup hooks @@ -362,26 +366,21 @@ if [ -z "${crossConfig:-}" ]; then for i in ${nativeBuildInputs:-} ${buildInputs:-} \ ${defaultNativeBuildInputs:-} ${defaultBuildInputs:-} \ ${propagatedNativeBuildInputs:-} ${propagatedBuildInputs:-}; do - findInputs "$i" nativePkgs propagated-native-build-inputs - done - - for i in "${nativePkgs[@]}"; do - activatePackage "$i" + findInputs "$i" nativePkgs propagated-native-build-inputs propagated-build-inputs done else - for i in ${buildInputs:-} ${defaultBuildInputs:-} ${propagatedBuildInputs:-}; do - findInputs "$i" crossPkgs propagated-build-inputs - done - for i in ${nativeBuildInputs:-} ${defaultNativeBuildInputs:-} ${propagatedNativeBuildInputs:-}; do findInputs "$i" nativePkgs propagated-native-build-inputs done - - for i in "${nativePkgs[@]}" "${crossPkgs[@]}"; do - activatePackage "$i" + for i in ${buildInputs:-} ${defaultBuildInputs:-} ${propagatedBuildInputs:-}; do + findInputs "$i" crossPkgs propagated-build-inputs done fi +for i in ${nativePkgs+"${nativePkgs[@]}"} ${crossPkgs+"${crossPkgs[@]}"}; do + activatePackage "$i" +done + # Set the relevant environment variables to point to the build inputs # found above. @@ -898,31 +897,19 @@ fixupPhase() { # Propagate build inputs and setup hook into the development output. - if [ -z "${crossConfig:-}" ]; then - # Not cross-compiling - propagatedBuildInputs are handled identically to propagatedNativeBuildInputs - local propagated="$propagatedNativeBuildInputs" - if [ -n "${propagatedBuildInputs:-}" ]; then - propagated+="${propagated:+ }$propagatedBuildInputs" - fi - if [ -n "${propagated:-}" ]; then - mkdir -p "${!outputDev}/nix-support" - # shellcheck disable=SC2086 - printWords $propagated > "${!outputDev}/nix-support/propagated-native-build-inputs" - fi - else - if [ -n "${propagatedBuildInputs:-}" ]; then - mkdir -p "${!outputDev}/nix-support" - # shellcheck disable=SC2086 - printWords $propagatedBuildInputs > "${!outputDev}/nix-support/propagated-build-inputs" - fi - - if [ -n "${propagatedNativeBuildInputs:-}" ]; then - mkdir -p "${!outputDev}/nix-support" - # shellcheck disable=SC2086 - printWords $propagatedNativeBuildInputs > "${!outputDev}/nix-support/propagated-native-build-inputs" - fi + if [ -n "${propagatedBuildInputs:-}" ]; then + mkdir -p "${!outputDev}/nix-support" + # shellcheck disable=SC2086 + printWords $propagatedBuildInputs > "${!outputDev}/nix-support/propagated-build-inputs" fi + if [ -n "${propagatedNativeBuildInputs:-}" ]; then + mkdir -p "${!outputDev}/nix-support" + # shellcheck disable=SC2086 + printWords $propagatedNativeBuildInputs > "${!outputDev}/nix-support/propagated-native-build-inputs" + fi + + if [ -n "${setupHook:-}" ]; then mkdir -p "${!outputDev}/nix-support" substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook" diff --git a/pkgs/tools/filesystems/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix index 0af97dd3b54..ffcf20d1651 100644 --- a/pkgs/tools/filesystems/ceph/generic.nix +++ b/pkgs/tools/filesystems/ceph/generic.nix @@ -227,9 +227,9 @@ stdenv.mkDerivation { wrapProgram $out/sbin/ceph-create-keys ${wrapArgs} wrapProgram $out/sbin/ceph-disk ${wrapArgs} - # Bring in lib as a native build input + # Bring in lib as a run-time dependency mkdir -p $out/nix-support - echo "$lib" > $out/nix-support/propagated-native-build-inputs + echo "$lib" > $out/nix-support/propagated-build-inputs # Fix the python library loading find $lib/lib -name \*.pyc -or -name \*.pyd -exec rm {} \; diff --git a/pkgs/tools/misc/hdf5/1_8.nix b/pkgs/tools/misc/hdf5/1_8.nix new file mode 100644 index 00000000000..14c8ca23433 --- /dev/null +++ b/pkgs/tools/misc/hdf5/1_8.nix @@ -0,0 +1,76 @@ +{ stdenv +, fetchurl +, gcc +, removeReferencesTo +, cpp ? false +, gfortran ? null +, fortran2003 ? false +, zlib ? null +, szip ? null +, mpi ? null +, enableShared ? true +}: + +# cpp and mpi options are mutually exclusive +# (--enable-unsupported could be used to force the build) +assert !cpp || mpi == null; + +# Need a Fortran compiler for Fortran2003 bindings +assert fortran2003 -> gfortran != null; + +# No point splitting version 1.8.18 into multiple outputs. +# The library /lib/libhdf5.so has a reference to gcc-wrapper + +let inherit (stdenv.lib) optional optionals; in + +stdenv.mkDerivation rec { + version = "1.8.19"; + name = "hdf5-${version}"; + src = fetchurl { + url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/${name}/src/${name}.tar.bz2"; + sha256 = "0f3jfbqpaaq21ighi40qzs52nb52kc2d2yjk541rjmsx20b3ih2r" ; + }; + + passthru = { + mpiSupport = (mpi != null); + inherit mpi; + }; + + nativeBuildInputs = [ removeReferencesTo ]; + + buildInputs = [] + ++ optional (gfortran != null) gfortran + ++ optional (szip != null) szip; + + propagatedBuildInputs = [] + ++ optional (zlib != null) zlib + ++ optional (mpi != null) mpi; + + configureFlags = [] + ++ optional cpp "--enable-cxx" + ++ optional (gfortran != null) "--enable-fortran" + ++ optional fortran2003 "--enable-fortran2003" + ++ optional (szip != null) "--with-szlib=${szip}" + ++ optionals (mpi != null) ["--enable-parallel" "CC=${mpi}/bin/mpicc"] + ++ optional enableShared "--enable-shared"; + + patches = [./bin-mv.patch]; + + postInstall = '' + find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' + + ''; + + meta = { + description = "Data model, library, and file format for storing and managing data"; + longDescription = '' + HDF5 supports an unlimited variety of datatypes, and is designed for flexible and efficient + I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing + applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and + applications for managing, manipulating, viewing, and analyzing data in the HDF5 format. + ''; + license = stdenv.lib.licenses.free; # BSD-like + homepage = https://www.hdfgroup.org/HDF5/; + platforms = stdenv.lib.platforms.unix; + broken = (gfortran != null) && stdenv.isDarwin; + }; +} diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index 1b979bae090..2c1ba43a558 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -14,17 +14,14 @@ # (--enable-unsupported could be used to force the build) assert !cpp || mpi == null; -# No point splitting version 1.8.18 into multiple outputs. -# The library /lib/libhdf5.so has a reference to gcc-wrapper - let inherit (stdenv.lib) optional optionals; in stdenv.mkDerivation rec { - version = "1.8.18"; + version = "1.10.1"; name = "hdf5-${version}"; src = fetchurl { - url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/${name}/src/${name}.tar.bz2"; - sha256 = "13542vrnl1p35n8vbq0wzk40vddmm33q5nh04j98c7r1yjnxxih1"; + url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${name}/src/${name}.tar.bz2"; + sha256 = "1wpbi15za7kbsvih88kfcxblw412pjndl16x88dgnqr47piy2p4w"; }; passthru = { @@ -59,8 +56,8 @@ stdenv.mkDerivation rec { description = "Data model, library, and file format for storing and managing data"; longDescription = '' HDF5 supports an unlimited variety of datatypes, and is designed for flexible and efficient - I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing - applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and + I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing + applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and applications for managing, manipulating, viewing, and analyzing data in the HDF5 format. ''; license = stdenv.lib.licenses.free; # BSD-like diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix index 72d45c90f10..11d61cfe30f 100644 --- a/pkgs/tools/misc/system-config-printer/default.nix +++ b/pkgs/tools/misc/system-config-printer/default.nix @@ -28,8 +28,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ wrapGAppsHook ]; - pythonPath = with pythonPackages; - [ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ]; + pythonPath = with pythonPackages; requiredPythonModules [ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ]; configureFlags = [ "--with-udev-rules" diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix new file mode 100644 index 00000000000..c47d40cef2b --- /dev/null +++ b/pkgs/tools/system/minijail/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchgit, libcap }: + +stdenv.mkDerivation rec { + shortname = "minijail"; + name = "${shortname}-${version}"; + version = "android-8.0.0_r34"; + + src = fetchgit { + url = "https://android.googlesource.com/platform/external/minijail"; + rev = version; + sha256 = "1d0q08cgks6h6ffsw3zw8dz4rm9y2djj2pwwy3xi6flx7vwy0psf"; + }; + + buildInputs = [ libcap ]; + + makeFlags = [ "LIBDIR=$(out)/lib" ]; + + preConfigure = '' + substituteInPlace common.mk --replace /bin/echo echo + sed -i '/#include / d' signal_handler.c + ''; + + installPhase = '' + mkdir -p $out/lib + cp -v *.so $out/lib + mkdir -p $out/include + cp -v libminijail.h $out/include + mkdir -p $out/bin + cp minijail0 $out/bin + ''; + + meta = { + homepage = https://android.googlesource.com/platform/external/minijail/; + description = "Sandboxing library and application using Linux namespaces and capabilities"; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [pcarrier]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eaf9d64d72a..9d323b48013 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2590,6 +2590,12 @@ with pkgs; mpi = null; }; + hdf5_1_8 = callPackage ../tools/misc/hdf5/1_8.nix { + gfortran = null; + szip = null; + mpi = null; + }; + hdf5-mpi = appendToName "mpi" (hdf5.override { szip = null; mpi = pkgs.openmpi; @@ -3376,6 +3382,8 @@ with pkgs; miniball = callPackage ../development/libraries/miniball { }; + minijail = callPackage ../tools/system/minijail { }; + minixml = callPackage ../development/libraries/minixml { }; mir-qualia = callPackage ../tools/text/mir-qualia { @@ -6595,6 +6603,7 @@ with pkgs; octaveFull = (lowPrio (callPackage ../development/interpreters/octave { qt = qt4; overridePlatforms = ["x86_64-linux" "x86_64-darwin"]; + openblas = if stdenv.isDarwin then openblasCompat else openblas; })); ocropus = callPackage ../applications/misc/ocropus { }; @@ -9776,7 +9785,7 @@ with pkgs; # the hook to find catalogs is hidden by buildEnv postBuild = '' mkdir "$out/nix-support" - cp '${libxml2.dev}/nix-support/propagated-native-build-inputs' "$out/nix-support/" + cp '${libxml2.dev}/nix-support/propagated-build-inputs' "$out/nix-support/" ''; }; @@ -18079,6 +18088,8 @@ with pkgs; privateer = callPackage ../games/privateer { }; + pysolfc = callPackage ../games/pysolfc { }; + qweechat = callPackage ../applications/networking/irc/qweechat { }; qqwing = callPackage ../games/qqwing { }; @@ -19233,6 +19244,10 @@ with pkgs; # this driver ships with pre-compiled 32-bit binary libraries cnijfilter_2_80 = callPackage_i686 ../misc/cups/drivers/cnijfilter_2_80 { }; + cnijfilter_4_00 = callPackage ../misc/cups/drivers/cnijfilter_4_00 { + libusb = libusb1; + }; + cnijfilter2 = callPackage ../misc/cups/drivers/cnijfilter2 { libusb = libusb1; }; diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index ef58b7988df..e3eaa7c7f58 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -655,13 +655,13 @@ let vicious = stdenv.mkDerivation rec { name = "vicious-${version}"; - version = "2.2.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "Mic92"; repo = "vicious"; rev = "v${version}"; - sha256 = "0dhy0vklrhqrnmxb9pyqbfvkwwy86lwysk93pzg1j1zwprx366fj"; + sha256 = "1mrd8c46ljilag8dljvnagaxnjnab8bmg9mcbnwvrivgjzgf6a1k"; }; buildInputs = [ lua ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d5a2ee462ba..302e9dec1b9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -31,10 +31,9 @@ let callPackage = pkgs.newScope self; - bootstrapped-pip = callPackage ../development/python-modules/bootstrapped-pip { }; + namePrefix = python.libPrefix + "-"; - mkPythonDerivation = makeOverridable( callPackage ../development/interpreters/python/mk-python-derivation.nix { - }); + bootstrapped-pip = callPackage ../development/python-modules/bootstrapped-pip { }; # Derivations built with `buildPythonPackage` can already be overriden with `override`, `overrideAttrs`, and `overrideDerivation`. # This function introduces `overridePythonAttrs` and it overrides the call to `buildPythonPackage`. @@ -52,13 +51,20 @@ let } else ff; - buildPythonPackage = makeOverridablePythonPackage (callPackage ../development/interpreters/python/build-python-package.nix { - inherit mkPythonDerivation; + buildPythonPackage = makeOverridablePythonPackage ( makeOverridable (callPackage ../development/interpreters/python/build-python-package.nix { inherit bootstrapped-pip; flit = self.flit; - }); + # We want Python libraries to be named like e.g. "python3.6-${name}" + inherit namePrefix; + pythonModule = python; + })); - buildPythonApplication = args: buildPythonPackage ({namePrefix="";} // args ); + buildPythonApplication = makeOverridablePythonPackage ( makeOverridable (callPackage ../development/interpreters/python/build-python-package.nix { + inherit bootstrapped-pip; + flit = self.flit; + namePrefix = ""; + pythonModule = false; + })); graphiteVersion = "1.0.2"; @@ -80,10 +86,40 @@ let else throw "Unsupported kind ${kind}"); in fetcher (builtins.removeAttrs attrs ["format"]) ); + # Check whether a derivation provides a Python module. + hasPythonModule = drv: (hasAttr "pythonModule" drv) && ( (getAttr "pythonModule" drv) == python); + + # Get list of required Python modules given a list of derivations. + requiredPythonModules = drvs: let + filterNull = list: filter (x: !isNull x) list; + conditionalGetRecurse = attr: condition: drv: let f = conditionalGetRecurse attr condition; in + (if (condition drv) then unique [drv]++(concatMap f (filterNull(getAttr attr drv))) else []); + _required = drv: conditionalGetRecurse "propagatedBuildInputs" hasPythonModule drv; + in [python] ++ (unique (concatMap _required (filterNull drvs))); + + # Create a PYTHONPATH from a list of derivations. This function recurses into the items to find derivations + # providing Python modules. + makePythonPath = drvs: stdenv.lib.makeSearchPath python.sitePackages (requiredPythonModules drvs); + + # Convert derivation to a Python module. + toPythonModule = drv: + drv.overrideAttrs( oldAttrs: { + # Use passthru in order to prevent rebuilds when possible. + passthru = (oldAttrs.passthru or {})// { + name = namePrefix + oldAttrs.name; + pythonModule = python; + pythonPath = [ ]; # Deprecated, for compatibility. + }; + }); + + disabledIf = x: drv: + if x then throw "${removePrefix namePrefix (drv.pname or drv.name)} not supported for interpreter ${python.executable}" else drv; + in { - inherit python bootstrapped-pip pythonAtLeast pythonOlder isPy26 isPy27 isPy33 isPy34 isPy35 isPy36 isPyPy isPy3k mkPythonDerivation buildPythonPackage buildPythonApplication; + inherit python bootstrapped-pip pythonAtLeast pythonOlder isPy26 isPy27 isPy33 isPy34 isPy35 isPy36 isPyPy isPy3k buildPythonPackage buildPythonApplication; inherit fetchPypi callPackage; + inherit hasPythonModule requiredPythonModules makePythonPath disabledIf; # helpers @@ -154,9 +190,7 @@ in { breathe = callPackage ../development/python-modules/breathe { }; - browsermob-proxy = if ! isPy3k then - callPackage ../development/python-modules/browsermob-proxy {} - else throw "browsermob-proxy is not supported for ${python.executable}"; + browsermob-proxy = disabledIf isPy3k (callPackage ../development/python-modules/browsermob-proxy {}); bugseverywhere = callPackage ../applications/version-management/bugseverywhere {}; @@ -222,11 +256,11 @@ in { pyamf = callPackage ../development/python-modules/pyamf { }; - pyatspi = if isPy3k then callPackage ../development/python-modules/pyatspi { } else throw "pyatspi not supported for interpreter ${python.executable}"; + pyatspi = disabledIf (!isPy3k) (callPackage ../development/python-modules/pyatspi { }); pycairo = callPackage ../development/python-modules/pycairo { }; - pycangjie = if isPy3k then callPackage ../development/python-modules/pycangjie { } else throw "pycangjie not supported for interpreter ${python.executable}"; + pycangjie = disabledIf (!isPy3k) (callPackage ../development/python-modules/pycangjie { }); pycrypto = callPackage ../development/python-modules/pycrypto { }; @@ -236,7 +270,7 @@ in { PyChromecast = callPackage ../development/python-modules/pychromecast { }; - pyexiv2 = if (!isPy3k) then callPackage ../development/python-modules/pyexiv2 {} else throw "pyexiv2 not supported for interpreter ${python.executable}"; + pyexiv2 = disabledIf isPy3k (callPackage ../development/python-modules/pyexiv2 {}); py3exiv2 = callPackage ../development/python-modules/py3exiv2 { }; @@ -298,13 +332,13 @@ in { PyWebDAV = callPackage ../development/python-modules/pywebdav { }; - pyxml = if !isPy3k then callPackage ../development/python-modules/pyxml{ } else throw "pyxml not supported for interpreter ${python.executable}"; + pyxml = disabledIf isPy3k (callPackage ../development/python-modules/pyxml{ }); relatorio = callPackage ../development/python-modules/relatorio { }; pyzufall = callPackage ../development/python-modules/pyzufall { }; - rhpl = if !isPy3k then callPackage ../development/python-modules/rhpl {} else throw "rhpl not supported for interpreter ${python.executable}"; + rhpl = disabledIf isPy3k (callPackage ../development/python-modules/rhpl {}); simpleeval = callPackage ../development/python-modules/simpleeval { }; @@ -1336,10 +1370,10 @@ in { # Build boost for this specific Python version # TODO: use separate output for libboost_python.so - boost = pkgs.boost.override { + boost = toPythonModule (pkgs.boost.override { inherit (self) python numpy; enablePython = true; - }; + }); buttersink = buildPythonPackage rec { name = "buttersink-0.6.8"; @@ -3200,15 +3234,15 @@ in { propagatedBuildInputs = with self; [ pyusb ]; }; - opencv = pkgs.opencv.override { + opencv = toPythonModule (pkgs.opencv.override { enablePython = true; pythonPackages = self; - }; + }); - opencv3 = pkgs.opencv3.override { + opencv3 = toPythonModule (pkgs.opencv3.override { enablePython = true; pythonPackages = self; - }; + }); openidc-client = callPackage ../development/python-modules/openidc-client/default.nix {}; @@ -4735,13 +4769,11 @@ in { easy-thumbnails = callPackage ../development/python-modules/easy-thumbnails { }; - eccodes = if (isPy27) then - (pkgs.eccodes.overrideAttrs (oldattrs: { - name = "${python.libPrefix}-" + oldattrs.name; - })).override { - enablePython = true; - pythonPackages = self; - } else throw "eccodes not supported for interpreter ${python.executable}"; + eccodes = disabledIf (!isPy27) + (toPythonModule (pkgs.eccodes.override { + enablePython = true; + pythonPackages = self; + })); EditorConfig = buildPythonPackage rec { name = "EditorConfig-${version}"; @@ -8712,10 +8744,10 @@ in { folium = callPackage ../development/python-modules/folium { }; - fontforge = pkgs.fontforge.override { + fontforge = toPythonModule (pkgs.fontforge.override { withPython = true; inherit python; - }; + }); fonttools = callPackage ../development/python-modules/fonttools { }; @@ -8889,11 +8921,9 @@ in { }; }; - gdal = (pkgs.gdal.overrideDerivation (oldattrs: { - name = "${python.libPrefix}-" + oldattrs.name; - })).override { + gdal = toPythonModule (pkgs.gdal.override { pythonPackages = self; - }; + }); gdrivefs = buildPythonPackage rec { version = "0.14.8"; @@ -9265,13 +9295,11 @@ in { }; }; - grib-api = if (isPy27) then - (pkgs.grib-api.overrideAttrs (oldattrs: { - name = "${python.libPrefix}-" + oldattrs.name; - })).override { - enablePython = true; - pythonPackages = self; - } else throw "grib-api not supported for interpreter ${python.executable}"; + grib-api = disabledIf (!isPy27) (toPythonModule + (pkgs.grib-api.override { + enablePython = true; + pythonPackages = self; + })); gspread = buildPythonPackage rec { version = "0.2.3"; @@ -10373,14 +10401,14 @@ in { inherit (pkgs) libsodium; }; - libplist = if isPy3k then throw "libplist not supported for interpreter ${python.executable}" else - (pkgs.libplist.override{python2Packages=self; }).py; + libplist = disabledIf isPy3k + (toPythonModule (pkgs.libplist.override{python2Packages=self; })).py; - libxml2 = if isPy3k then throw "libxml2 not supported for interpreter ${python.executable}" else - (pkgs.libxml2.override{pythonSupport=true; python2=python;}).py; + libxml2 = disabledIf isPy3k + (toPythonModule (pkgs.libxml2.override{pythonSupport=true; python2=python;})).py; - libxslt = if isPy3k then throw "libxslt not supported for interpreter ${python.executable}" else - (pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;}).py; + libxslt = disabledIf isPy3k + (toPythonModule (pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;})).py; limnoria = buildPythonPackage rec { name = "limnoria-${version}"; @@ -10436,22 +10464,7 @@ in { fuse = pkgs.fuse; # use "real" fuse, not the python module }; - locustio = buildPythonPackage rec { - name = "locustio-0.7.2"; - - src = pkgs.fetchurl { - url = "mirror://pypi/l/locustio/${name}.tar.gz"; - sha256 = "c9ca6fdfe6a6fb187a3d54ddf9b1518196348e8f20537f0a14ca81a264ffafa2"; - }; - - propagatedBuildInputs = [ self.msgpack self.requests self.flask self.gevent self.pyzmq ]; - buildInputs = [ self.mock self.unittest2 ]; - - meta = { - homepage = http://locust.io/; - description = "A load testing tool"; - }; - }; + locustio = callPackage ../development/python-modules/locustio { }; llvmlite = callPackage ../development/python-modules/llvmlite {llvm=pkgs.llvm_4;}; @@ -14853,31 +14866,13 @@ in { psd-tools = callPackage ../development/python-modules/psd-tools { }; - psutil = buildPythonPackage rec { - name = "psutil-${version}"; - version = "4.3.0"; + psutil = callPackage ../development/python-modules/psutil { }; - src = pkgs.fetchurl { - url = "mirror://pypi/p/psutil/${name}.tar.gz"; - sha256 = "1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6"; - }; - - # Certain tests fail due to being in a chroot. - # See also the older issue: https://code.google.com/p/psutil/issues/detail?id=434 - doCheck = false; - - buildInputs = with self; [ mock ] ++ optionals stdenv.isDarwin [ pkgs.darwin.IOKit ]; - - meta = { - description = "Process and system utilization information interface for python"; - homepage = https://github.com/giampaolo/psutil; - }; - }; - - psutil_1 = self.psutil.overrideDerivation (self: rec { - name = "psutil-1.2.1"; - src = pkgs.fetchurl { - url = "mirror://pypi/p/psutil/${name}.tar.gz"; + psutil_1 = self.psutil.overrideAttrs (oldAttrs: rec { + name = "${oldAttrs.pname}-${version}"; + version = "1.2.1"; + src = oldAttrs.src.override { + inherit version; sha256 = "0ibclqy6a4qmkjhlk3g8jhpvnk0v9aywknc61xm3hfi5r124m3jh"; }; }); @@ -16994,9 +16989,8 @@ in { }; }; - qscintilla = if isPy3k || isPyPy - then throw "qscintilla-${pkgs.qscintilla.version} not supported for interpreter ${python.executable}" - else buildPythonPackage rec { + qscintilla = disabledIf (isPy3k || isPyPy) + (buildPythonPackage rec { # TODO: Qt5 support name = "qscintilla-${version}"; version = pkgs.qscintilla.version; @@ -17025,7 +17019,7 @@ in { maintainers = with maintainers; [ danbst ]; platforms = platforms.linux; }; - }; + }); qserve = buildPythonPackage rec { @@ -17173,6 +17167,10 @@ in { readme_renderer = callPackage ../development/python-modules/readme_renderer { }; + rivet = disabledIf isPy3k (toPythonModule (pkgs.rivet.override { + python2 = python; + })); + rjsmin = callPackage ../development/python-modules/rjsmin { }; pysolr = buildPythonPackage rec { @@ -17444,7 +17442,7 @@ in { rply = callPackage ../development/python-modules/rply/default.nix {}; - rpm = (pkgs.rpm.override{inherit python;}); + rpm = toPythonModule (pkgs.rpm.override{inherit python;}); rpmfluff = callPackage ../development/python-modules/rpmfluff {}; @@ -22093,7 +22091,7 @@ EOF }; # For backwards compatibility. Please use nixpkgs.udiskie instead. - udiskie = pkgs.udiskie.override { pythonPackages = self; }; + udiskie = toPythonModule (pkgs.udiskie.override { pythonPackages = self; }); # Should be bumped along with EFL! pythonefl = buildPythonPackage rec { @@ -24355,9 +24353,8 @@ EOF ROPGadget = callPackage ../development/python-modules/ROPGadget { }; # We need "normal" libxml2 and not the python package by the same name. - pywbem = if !(isPy36) - then callPackage ../development/python-modules/pywbem { libxml2 = pkgs.libxml2; } - else throw "pywbem not supported for interpreter ${python.executable}"; + pywbem = disabledIf isPy36 + (callPackage ../development/python-modules/pywbem { libxml2 = pkgs.libxml2; }); unicorn = callPackage ../development/python-modules/unicorn { }; @@ -24429,8 +24426,8 @@ EOF zeep = callPackage ../development/python-modules/zeep { }; - zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else - (pkgs.zeitgeist.override{python2Packages=self;}).py; + zeitgeist = disabledIf isPy3k + (toPythonModule (pkgs.zeitgeist.override{python2Packages=self;})).py; zeroconf = callPackage ../development/python-modules/zeroconf { };