diff options
31 files changed, 301 insertions, 582 deletions
diff --git a/nixos/tests/ecryptfs.nix b/nixos/tests/ecryptfs.nix index db800c7bb2c..041be0f5a62 100644 --- a/nixos/tests/ecryptfs.nix +++ b/nixos/tests/ecryptfs.nix @@ -21,13 +21,13 @@ import ./make-test.nix ({ pkgs, ... }: $machine->log("ecryptfs-migrate-home said: $out"); # Log alice in (ecryptfs passwhrase is wrapped during first login) - $machine->sleep(2); # urgh: wait for username prompt + $machine->waitUntilTTYMatches(1, "login: "); $machine->sendChars("alice\n"); - $machine->sleep(1); + $machine->waitUntilTTYMatches(1, "Password: "); $machine->sendChars("foobar\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "alice\@machine"); $machine->sendChars("logout\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "login: "); # Why do I need to do this?? $machine->succeed("su alice -c ecryptfs-umount-private || true"); @@ -39,10 +39,11 @@ import ./make-test.nix ({ pkgs, ... }: $machine->log("keyctl unlink said: " . $out); # Log alice again + $machine->waitUntilTTYMatches(1, "login: "); $machine->sendChars("alice\n"); - $machine->sleep(1); + $machine->waitUntilTTYMatches(1, "Password: "); $machine->sendChars("foobar\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "alice\@machine"); # Create some files in encrypted home $machine->succeed("su alice -c 'touch ~alice/a'"); @@ -50,7 +51,7 @@ import ./make-test.nix ({ pkgs, ... }: # Logout $machine->sendChars("logout\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "login: "); # Why do I need to do this?? $machine->succeed("su alice -c ecryptfs-umount-private || true"); @@ -62,10 +63,11 @@ import ./make-test.nix ({ pkgs, ... }: $machine->succeed("su alice -c 'test \! -f ~alice/b'"); # Log alice once more + $machine->waitUntilTTYMatches(1, "login: "); $machine->sendChars("alice\n"); - $machine->sleep(1); + $machine->waitUntilTTYMatches(1, "Password: "); $machine->sendChars("foobar\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "alice\@machine"); # Check that the files are there $machine->sleep(1); @@ -77,5 +79,6 @@ import ./make-test.nix ({ pkgs, ... }: $machine->succeed("su alice -c 'ls -lh ~alice/'"); $machine->sendChars("logout\n"); + $machine->waitUntilTTYMatches(1, "login: "); ''; }) diff --git a/pkgs/applications/editors/neovim/qt.nix b/pkgs/applications/editors/neovim/qt.nix index df98264d969..07660eaddf6 100644 --- a/pkgs/applications/editors/neovim/qt.nix +++ b/pkgs/applications/editors/neovim/qt.nix @@ -3,7 +3,7 @@ }: let # not very usable ATM - version = "0.2.3"; + version = "0.2.4"; in stdenv.mkDerivation { name = "neovim-qt-${version}"; @@ -12,7 +12,7 @@ stdenv.mkDerivation { owner = "equalsraf"; repo = "neovim-qt"; rev = "v${version}"; - sha256 = "0ichqph7nfw3934jf0sp81bqd376xna3f899cc2xg88alb4f16dv"; + sha256 = "0yf9wwkl0lbbj3vyf8hxnlsk7jhk5ggivszyqxply69dbar9ww59"; }; # It tries to download libmsgpack; let's use ours. diff --git a/pkgs/applications/graphics/vimiv/default.nix b/pkgs/applications/graphics/vimiv/default.nix new file mode 100644 index 00000000000..bb8437153ca --- /dev/null +++ b/pkgs/applications/graphics/vimiv/default.nix @@ -0,0 +1,74 @@ +{ lib, python3Packages, fetchFromGitHub, imagemagick, librsvg, gtk3, jhead +, hicolor_icon_theme, defaultIconTheme + +# Test requirements +, dbus, xvfb_run, xdotool +}: + +python3Packages.buildPythonApplication rec { + name = "vimiv"; + version = "0.7.2"; + + src = fetchFromGitHub { + owner = "karlch"; + repo = "vimiv"; + rev = "v${version}"; + sha256 = "1g97ms84xk4ci4crq9wdc3744jnrqkq2qz9sg69lhm9sr5f68bw4"; + }; + + testimages = fetchFromGitHub { + owner = "karlch"; + repo = "vimiv"; + rev = "6f4d1372b27f2065c56eafdb521d230d9bb8f4e2"; + sha256 = "0a3aybzpms0381dz9japhm4c7j5klhmw91prcac6zaww6x34nmxb"; + }; + + patches = [ ./fixes.patch ]; + + postPatch = '' + patchShebangs scripts/install_icons.sh + sed -i -e 's,/usr,,g' -e '/setup\.py/d' Makefile scripts/install_icons.sh + + sed -i \ + -e 's,/etc/vimiv/\(vimivrc\|keys\.conf\),'"$out"'&,g' \ + man/* vimiv/parser.py + + sed -i \ + -e 's!"mogrify"!"${imagemagick}/bin/mogrify"!g' \ + -e '/cmd *=/s!"jhead"!"${jhead}/bin/jhead"!g' \ + vimiv/imageactions.py + ''; + + checkInputs = [ python3Packages.nose dbus.daemon xvfb_run xdotool ]; + buildInputs = [ hicolor_icon_theme defaultIconTheme librsvg ]; + propagatedBuildInputs = with python3Packages; [ pillow pygobject3 gtk3 ]; + + makeWrapperArgs = [ + "--prefix GI_TYPELIB_PATH : \"$GI_TYPELIB_PATH\"" + "--suffix XDG_DATA_DIRS : \"$XDG_ICON_DIRS:$out/share\"" + "--set GDK_PIXBUF_MODULE_FILE \"$GDK_PIXBUF_MODULE_FILE\"" + ]; + + postCheck = '' + # Some tests assume that the directory only contains one vimiv directory + rm -rf vimiv.egg-info vimiv.desktop + + # Re-use the wrapper args from the main program + makeWrapper "$SHELL" run-tests $makeWrapperArgs + + cp -Rd --no-preserve=mode "$testimages/testimages" vimiv/testimages + HOME="$(mktemp -d)" PATH="$out/bin:$PATH" \ + xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ + ./run-tests -c 'python tests/main_test.py && nosetests -vx' + ''; + + postInstall = "make DESTDIR=\"$out\" install"; + + meta = { + homepage = "https://github.com/karlch/vimiv"; + description = "An image viewer with Vim-like keybindings"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/vimiv/fixes.patch b/pkgs/applications/graphics/vimiv/fixes.patch new file mode 100644 index 00000000000..09c06e43058 --- /dev/null +++ b/pkgs/applications/graphics/vimiv/fixes.patch @@ -0,0 +1,128 @@ +Patch submitted upstream at https://github.com/karlch/vimiv/pull/32 + +diff --git a/tests/main_test.py b/tests/main_test.py +index a1870e7..2edc86d 100644 +--- a/tests/main_test.py ++++ b/tests/main_test.py +@@ -15,7 +15,7 @@ class MainTest(TestCase): + + def test_main_until_quit(self): + """Run through vimiv main once.""" +- v_main.main(True) ++ v_main.main([], True) + + + if __name__ == '__main__': +diff --git a/vimiv/helpers.py b/vimiv/helpers.py +index 22f0115..bfaf016 100644 +--- a/vimiv/helpers.py ++++ b/vimiv/helpers.py +@@ -3,7 +3,6 @@ + """Wrappers around standard library functions used in vimiv.""" + + import os +-from subprocess import Popen, PIPE + from gi import require_version + require_version('Gtk', '3.0') + from gi.repository import Gtk +@@ -20,17 +19,17 @@ scrolltypes["K"] = (Gtk.ScrollType.START, False) + scrolltypes["L"] = (Gtk.ScrollType.END, True) + + # A list of all external commands +-external_commands = [] +-try: +- p = Popen('echo $PATH | tr \':\' \'\n\' | xargs -n 1 ls -1', +- stdout=PIPE, stderr=PIPE, shell=True) +- out, err = p.communicate() +- out = out.decode('utf-8').split() +- for cmd in sorted(list(set(out))): +- external_commands.append("!" + cmd) +-except: +- external_commands = [] +-external_commands = tuple(external_commands) ++pathenv = os.environ.get('PATH') ++if pathenv is not None: ++ executables = set() ++ for path in pathenv.split(':'): ++ try: ++ executables |= set(["!" + e for e in os.listdir(path)]) ++ except OSError: ++ continue ++ external_commands = tuple(sorted(list(executables))) ++else: ++ external_commands = () + + + def listdir_wrapper(path, show_hidden=False): +diff --git a/vimiv/imageactions.py b/vimiv/imageactions.py +index d92eb73..b9bc986 100644 +--- a/vimiv/imageactions.py ++++ b/vimiv/imageactions.py +@@ -157,8 +157,8 @@ class Thumbnails: + # Correct name + thumb_ext = ".thumbnail_%dx%d" % (self.thumbsize[0], + self.thumbsize[1]) +- outfile_ext = infile.split(".")[0] + thumb_ext + ".png" +- outfile_base = os.path.basename(outfile_ext) ++ infile_base = os.path.basename(infile) ++ outfile_base = infile_base.split(".")[0] + thumb_ext + ".png" + outfile = os.path.join(self.directory, outfile_base) + # Only if they aren't cached already + if outfile_base not in self.thumbnails: +diff --git a/vimiv/main.py b/vimiv/main.py +index a0e38cf..39f7407 100644 +--- a/vimiv/main.py ++++ b/vimiv/main.py +@@ -27,7 +27,7 @@ from vimiv.mark import Mark + from vimiv.information import Information + + +-def main(running_tests=False): ++def main(arguments, running_tests=False): + """Starting point for vimiv. + + Args: +@@ -36,7 +36,7 @@ def main(running_tests=False): + parser = get_args() + parse_dirs() + settings = parse_config() +- settings = parse_args(parser, settings) ++ settings = parse_args(parser, settings, arguments) + + args = settings["GENERAL"]["paths"] + +diff --git a/vimiv/parser.py b/vimiv/parser.py +index 874a538..9d5afce 100644 +--- a/vimiv/parser.py ++++ b/vimiv/parser.py +@@ -56,7 +56,7 @@ def get_args(): + return parser + + +-def parse_args(parser, settings, arguments=None): ++def parse_args(parser, settings, arguments): + """Parse the arguments and return the modified settings. + + Args: +@@ -66,10 +66,7 @@ def parse_args(parser, settings, arguments=None): + + Return: Modified settings after parsing the arguments. + """ +- if arguments: +- args = parser.parse_args(arguments) +- else: +- args = parser.parse_args() ++ args = parser.parse_args(arguments) + if args.show_version: + information = Information() + print(information.get_version()) +diff --git a/vimiv/vimiv b/vimiv/vimiv +index 5497e08..57f34f1 100755 +--- a/vimiv/vimiv ++++ b/vimiv/vimiv +@@ -5,4 +5,4 @@ import sys + import vimiv + + if __name__ == '__main__': +- sys.exit(vimiv.main.main()) ++ sys.exit(vimiv.main.main(sys.argv)) diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index 0af19aeca95..9c987534065 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -10,13 +10,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "mkvtoolnix-${version}"; - version = "9.5.0"; + version = "9.6.0"; src = fetchFromGitHub { owner = "mbunkus"; repo = "mkvtoolnix"; rev = "release-${version}"; - sha256 = "1v6rqlb5srhwzad45b50pvfbi1c9n719ihi54hzbkzklj7h4s70h"; + sha256 = "14v6iclzkqxibzcdxr65bb5frmnsjyyly0d3lwv1gg7g1mkcw3jd"; }; nativeBuildInputs = [ pkgconfig autoconf automake gettext ruby ]; diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 4f9c32a1414..af433eb7382 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -507,9 +507,6 @@ self: super: { # https://github.com/vincenthz/hs-crypto-pubkey/issues/20 crypto-pubkey = dontCheck super.crypto-pubkey; - # https://github.com/Gabriel439/Haskell-Turtle-Library/issues/1 - turtle = dontCheck super.turtle; - # https://github.com/Philonous/xml-picklers/issues/5 xml-picklers = dontCheck super.xml-picklers; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 5b9c8facdb1..95946cb8284 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libiconv }: stdenv.mkDerivation rec { - name = "libunistring-0.9.6"; + name = "libunistring-0.9.7"; src = fetchurl { url = "mirror://gnu/libunistring/${name}.tar.gz"; - sha256 = "0ixxmgpgh2v8ifm6hbwsjxl023myk3dfnj7wnvmqjivza31fw9cn"; + sha256 = "1ra1baz2187kbw9im47g6kqb5mx9plq703mkjxaval8rxv5q3q4w"; }; patches = stdenv.lib.optional stdenv.isDarwin [ ./clang.patch ]; diff --git a/pkgs/development/libraries/qt-5/5.5/default.nix b/pkgs/development/libraries/qt-5/5.5/default.nix index fdeb4f7e6c9..6d27ed5a0d3 100644 --- a/pkgs/development/libraries/qt-5/5.5/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/default.nix @@ -49,7 +49,7 @@ let outputs = args.outputs or [ "out" "dev" ]; setOutputFlags = args.setOutputFlags or false; - setupHook = ./setup-hook.sh; + setupHook = ../qtsubmodule-setup-hook.sh; enableParallelBuilding = args.enableParallelBuilding or true; @@ -112,8 +112,15 @@ let qtxmlpatterns ]; - makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh; - qmakeHook = makeSetupHook { substitutions = { qt_dev = qtbase.dev; lndir = pkgs.xorg.lndir; }; } ./qmake-hook.sh; + makeQtWrapper = + makeSetupHook + { deps = [ makeWrapper ]; } + ../make-qt-wrapper.sh; + + qmakeHook = + makeSetupHook + { deps = [ self.qtbase.dev ]; } + ../qmake-hook.sh; }; diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix index 04d06b0fcd4..5a44ca89902 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix @@ -272,7 +272,7 @@ stdenv.mkDerivation { ''; inherit lndir; - setupHook = ./setup-hook.sh; + setupHook = ../../qtbase-setup-hook.sh; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix index 8b4e924a733..560e0ac021d 100644 --- a/pkgs/development/libraries/qt-5/5.6/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/default.nix @@ -50,7 +50,7 @@ let outputs = args.outputs or [ "out" "dev" ]; setOutputFlags = args.setOutputFlags or false; - setupHook = ./setup-hook.sh; + setupHook = ../qtsubmodule-setup-hook.sh; enableParallelBuilding = args.enableParallelBuilding or true; @@ -109,8 +109,15 @@ let qtwebchannel qtwebengine qtwebsockets qtx11extras qtxmlpatterns ]; - makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh; - qmakeHook = makeSetupHook { deps = [ self.qtbase.dev ]; } ./qmake-hook.sh; + makeQtWrapper = + makeSetupHook + { deps = [ makeWrapper ]; } + ../make-qt-wrapper.sh; + + qmakeHook = + makeSetupHook + { deps = [ self.qtbase.dev ]; } + ../qmake-hook.sh; }; diff --git a/pkgs/development/libraries/qt-5/5.6/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.6/make-qt-wrapper.sh deleted file mode 100644 index b0d0bec9e3f..00000000000 --- a/pkgs/development/libraries/qt-5/5.6/make-qt-wrapper.sh +++ /dev/null @@ -1,36 +0,0 @@ -wrapQtProgram() { - local prog="$1" - shift - wrapProgram "$prog" \ - --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ - --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ - --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ - --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ - --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ - "$@" -} - -makeQtWrapper() { - local old="$1" - local new="$2" - shift - shift - makeWrapper "$old" "$new" \ - --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ - --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ - --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ - --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ - --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ - "$@" -} - -_makeQtWrapperSetup() { - # cannot use addToSearchPath because these directories may not exist yet - export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins" - export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports" - export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml" - export RUNTIME_XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputBin}/share" - export RUNTIME_XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputBin}/etc/xdg" -} - -prePhases+=(_makeQtWrapperSetup) diff --git a/pkgs/development/libraries/qt-5/5.6/qmake-hook.sh b/pkgs/development/libraries/qt-5/5.6/qmake-hook.sh deleted file mode 100644 index 696b4ea8dad..00000000000 --- a/pkgs/development/libraries/qt-5/5.6/qmake-hook.sh +++ /dev/null @@ -1,42 +0,0 @@ -qmakeConfigurePhase() { - runHook preConfigure - - qmake PREFIX=$out $qmakeFlags - - runHook postConfigure -} - -if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then - configurePhase=qmakeConfigurePhase -fi - -_qtModuleMultioutDevsPre() { - # We cannot simply set these paths in configureFlags because libQtCore retains - # references to the paths it was built with. - moveToOutput "bin" "${!outputDev}" - moveToOutput "include" "${!outputDev}" - - # The destination directory must exist or moveToOutput will do nothing - mkdir -p "${!outputDev}/share" - moveToOutput "share/doc" "${!outputDev}" -} - -_qtModuleMultioutDevsPost() { - # Move libtool archives and qmake project files to $dev/lib - if [ "z${!outputLib}" != "z${!outputDev}" ]; then - pushd "${!outputLib}" - if [ -d "lib" ]; then - find lib \( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | \ - while read -r -d $'\0' file; do - mkdir -p "${!outputDev}/$(dirname "$file")" - mv "${!outputLib}/$file" "${!outputDev}/$file" - done - fi - popd - fi -} - -if [ -n "$NIX_QT_SUBMODULE" ]; then - preFixupHooks+=(_qtModuleMultioutDevsPre) - postFixupHooks+=(_qtModuleMultioutDevsPost) -fi diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix index cb63f0b50f5..b34540d87a5 100644 --- a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix @@ -228,7 +228,7 @@ stdenv.mkDerivation { ''; inherit lndir; - setupHook = ./setup-hook.sh; + setupHook = ../../qtbase-setup-hook.sh; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh deleted file mode 100644 index 30491983114..00000000000 --- a/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh +++ /dev/null @@ -1,166 +0,0 @@ -addToSearchPathOnceWithCustomDelimiter() { - local delim="$1" - local search="$2" - local target="$3" - local dirs - local exported - IFS="$delim" read -a dirs <<< "${!search}" - local canonical - if canonical=$(readlink -e "$target"); then - for dir in ${dirs[@]}; do - if [ "z$dir" == "z$canonical" ]; then exported=1; fi - done - if [ -z $exported ]; then - eval "export ${search}=\"${!search}${!search:+$delim}$canonical\"" - fi - fi -} - -addToSearchPathOnce() { - addToSearchPathOnceWithCustomDelimiter ':' "$@" -} - -propagateOnce() { - addToSearchPathOnceWithCustomDelimiter ' ' "$@" -} - -_qtPropagate() { - for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do - if [ -d "$1/$dir" ]; then - propagateOnce propagatedBuildInputs "$1" - break - fi - done - addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins" - addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports" - addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" -} - -crossEnvHooks+=(_qtPropagate) - -_qtPropagateNative() { - for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do - if [ -d "$1/$dir" ]; then - propagateOnce propagatedNativeBuildInputs "$1" - break - fi - done - if [ -z "$crossConfig" ]; then - addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins" - addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports" - addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" - fi -} - -envHooks+=(_qtPropagateNative) - -_qtMultioutDevs() { - # This is necessary whether the package is a Qt module or not - moveToOutput "mkspecs" "${!outputDev}" -} - -preFixupHooks+=(_qtMultioutDevs) - -_qtSetCMakePrefix() { - export CMAKE_PREFIX_PATH="$NIX_QT5_TMP${CMAKE_PREFIX_PATH:+:}${CMAKE_PREFIX_PATH}" -} - -_qtRmTmp() { - if [ -z "$NIX_QT_SUBMODULE" ]; then - rm -fr "$NIX_QT5_TMP" - else - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read file; do - if [ ! -d "$NIX_QT5_TMP/$file" ]; then - rm -f "$NIX_QT5_TMP/$file" - fi - done - - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read dir; do - if [ -d "$NIX_QT5_TMP/$dir" ]; then - rmdir --ignore-fail-on-non-empty -p "$NIX_QT5_TMP/$dir" - fi - done - - rm "$NIX_QT5_TMP/nix-support/qt-inputs" - fi -} - -_qtSetQmakePath() { - export PATH="$NIX_QT5_TMP/bin${PATH:+:}$PATH" -} - -if [ -z "$NIX_QT5_TMP" ]; then - if [ -z "$NIX_QT_SUBMODULE" ]; then - NIX_QT5_TMP=$(mktemp -d) - else - NIX_QT5_TMP=$out - fi - postInstallHooks+=(_qtRmTmp) - - mkdir -p "$NIX_QT5_TMP/nix-support" - for subdir in bin include lib mkspecs share; do - mkdir "$NIX_QT5_TMP/$subdir" - echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - done - - postHooks+=(_qtSetCMakePrefix) - - cp "@dev@/bin/qmake" "$NIX_QT5_TMP/bin" - echo "bin/qmake" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - - cat >"$NIX_QT5_TMP/bin/qt.conf" <<EOF -[Paths] -Prefix = $NIX_QT5_TMP -Plugins = lib/qt5/plugins -Imports = lib/qt5/imports -Qml2Imports = lib/qt5/qml -Documentation = share/doc/qt5 -EOF - echo "bin/qt.conf" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - - export QMAKE="$NIX_QT5_TMP/bin/qmake" - - # Set PATH to find qmake first in a preConfigure hook - # It must run after all the envHooks! - preConfigureHooks+=(_qtSetQmakePath) -fi - -qt5LinkModuleDir() { - if [ -d "$1/$2" ]; then - @lndir@/bin/lndir -silent "$1/$2" "$NIX_QT5_TMP/$2" - find "$1/$2" -printf "$2/%P\n" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - fi -} - -NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" -NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" - -_qtLinkAllModules() { - IFS=: read -a modules <<< $NIX_QT5_MODULES - for module in ${modules[@]}; do - qt5LinkModuleDir "$module" "lib" - done - - IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV - for module in ${modules[@]}; do - qt5LinkModuleDir "$module" "bin" - qt5LinkModuleDir "$module" "include" - qt5LinkModuleDir "$module" "lib" - qt5LinkModuleDir "$module" "mkspecs" - qt5LinkModuleDir "$module" "share" - done -} - -preConfigureHooks+=(_qtLinkAllModules) - -_qtFixCMakePaths() { - find "${!outputLib}" -name "*.cmake" | while read file; do - substituteInPlace "$file" \ - --subst-var-by NIX_OUT "${!outputLib}" \ - --subst-var-by NIX_DEV "${!outputDev}" - done -} - -if [ -n "$NIX_QT_SUBMODULE" ]; then - postInstallHooks+=(_qtFixCMakePaths) -fi diff --git a/pkgs/development/libraries/qt-5/5.6/setup-hook.sh b/pkgs/development/libraries/qt-5/5.6/setup-hook.sh deleted file mode 100644 index e41433c1138..00000000000 --- a/pkgs/development/libraries/qt-5/5.6/setup-hook.sh +++ /dev/null @@ -1,2 +0,0 @@ -NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" -NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" diff --git a/pkgs/development/libraries/qt-5/5.7/default.nix b/pkgs/development/libraries/qt-5/5.7/default.nix index c5d32b8ce0a..b3a8b4d05eb 100644 --- a/pkgs/development/libraries/qt-5/5.7/default.nix +++ b/pkgs/development/libraries/qt-5/5.7/default.nix @@ -50,7 +50,7 @@ let outputs = args.outputs or [ "out" "dev" ]; setOutputFlags = args.setOutputFlags or false; - setupHook = ./setup-hook.sh; + setupHook = ../qtsubmodule-setup-hook.sh; enableParallelBuilding = args.enableParallelBuilding or true; @@ -107,12 +107,12 @@ let makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } - ./make-qt-wrapper.sh; + ../make-qt-wrapper.sh; qmakeHook = makeSetupHook { deps = [ self.qtbase.dev ]; } - ./qmake-hook.sh; + ../qmake-hook.sh; }; diff --git a/pkgs/development/libraries/qt-5/5.7/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.7/make-qt-wrapper.sh deleted file mode 100644 index b0d0bec9e3f..00000000000 --- a/pkgs/development/libraries/qt-5/5.7/make-qt-wrapper.sh +++ /dev/null @@ -1,36 +0,0 @@ -wrapQtProgram() { - local prog="$1" - shift - wrapProgram "$prog" \ - --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ - --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ - --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ - --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ - --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ - "$@" -} - -makeQtWrapper() { - local old="$1" - local new="$2" - shift - shift - makeWrapper "$old" "$new" \ - --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ - --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ - --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ - --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ - --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ - "$@" -} - -_makeQtWrapperSetup() { - # cannot use addToSearchPath because these directories may not exist yet - export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins" - export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports" - export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml" - export RUNTIME_XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputBin}/share" - export RUNTIME_XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputBin}/etc/xdg" -} - -prePhases+=(_makeQtWrapperSetup) diff --git a/pkgs/development/libraries/qt-5/5.7/qmake-hook.sh b/pkgs/development/libraries/qt-5/5.7/qmake-hook.sh deleted file mode 100644 index 696b4ea8dad..00000000000 --- a/pkgs/development/libraries/qt-5/5.7/qmake-hook.sh +++ /dev/null @@ -1,42 +0,0 @@ -qmakeConfigurePhase() { - runHook preConfigure - - qmake PREFIX=$out $qmakeFlags - - runHook postConfigure -} - -if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then - configurePhase=qmakeConfigurePhase -fi - -_qtModuleMultioutDevsPre() { - # We cannot simply set these paths in configureFlags because libQtCore retains - # references to the paths it was built with. - moveToOutput "bin" "${!outputDev}" - moveToOutput "include" "${!outputDev}" - - # The destination directory must exist or moveToOutput will do nothing - mkdir -p "${!outputDev}/share" - moveToOutput "share/doc" "${!outputDev}" -} - -_qtModuleMultioutDevsPost() { - # Move libtool archives and qmake project files to $dev/lib - if [ "z${!outputLib}" != "z${!outputDev}" ]; then - pushd "${!outputLib}" - if [ -d "lib" ]; then - find lib \( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | \ - while read -r -d $'\0' file; do - mkdir -p "${!outputDev}/$(dirname "$file")" - mv "${!outputLib}/$file" "${!outputDev}/$file" - done - fi - popd - fi -} - -if [ -n "$NIX_QT_SUBMODULE" ]; then - preFixupHooks+=(_qtModuleMultioutDevsPre) - postFixupHooks+=(_qtModuleMultioutDevsPost) -fi diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix index 16cc09f9c03..06bec5a0faf 100644 --- a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix @@ -232,7 +232,7 @@ stdenv.mkDerivation { ''; inherit lndir; - setupHook = ./setup-hook.sh; + setupHook = ../../qtbase-setup-hook.sh; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh deleted file mode 100644 index 30491983114..00000000000 --- a/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh +++ /dev/null @@ -1,166 +0,0 @@ -addToSearchPathOnceWithCustomDelimiter() { - local delim="$1" - local search="$2" - local target="$3" - local dirs - local exported - IFS="$delim" read -a dirs <<< "${!search}" - local canonical - if canonical=$(readlink -e "$target"); then - for dir in ${dirs[@]}; do - if [ "z$dir" == "z$canonical" ]; then exported=1; fi - done - if [ -z $exported ]; then - eval "export ${search}=\"${!search}${!search:+$delim}$canonical\"" - fi - fi -} - -addToSearchPathOnce() { - addToSearchPathOnceWithCustomDelimiter ':' "$@" -} - -propagateOnce() { - addToSearchPathOnceWithCustomDelimiter ' ' "$@" -} - -_qtPropagate() { - for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do - if [ -d "$1/$dir" ]; then - propagateOnce propagatedBuildInputs "$1" - break - fi - done - addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins" - addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports" - addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" -} - -crossEnvHooks+=(_qtPropagate) - -_qtPropagateNative() { - for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do - if [ -d "$1/$dir" ]; then - propagateOnce propagatedNativeBuildInputs "$1" - break - fi - done - if [ -z "$crossConfig" ]; then - addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins" - addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports" - addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" - fi -} - -envHooks+=(_qtPropagateNative) - -_qtMultioutDevs() { - # This is necessary whether the package is a Qt module or not - moveToOutput "mkspecs" "${!outputDev}" -} - -preFixupHooks+=(_qtMultioutDevs) - -_qtSetCMakePrefix() { - export CMAKE_PREFIX_PATH="$NIX_QT5_TMP${CMAKE_PREFIX_PATH:+:}${CMAKE_PREFIX_PATH}" -} - -_qtRmTmp() { - if [ -z "$NIX_QT_SUBMODULE" ]; then - rm -fr "$NIX_QT5_TMP" - else - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read file; do - if [ ! -d "$NIX_QT5_TMP/$file" ]; then - rm -f "$NIX_QT5_TMP/$file" - fi - done - - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read dir; do - if [ -d "$NIX_QT5_TMP/$dir" ]; then - rmdir --ignore-fail-on-non-empty -p "$NIX_QT5_TMP/$dir" - fi - done - - rm "$NIX_QT5_TMP/nix-support/qt-inputs" - fi -} - -_qtSetQmakePath() { - export PATH="$NIX_QT5_TMP/bin${PATH:+:}$PATH" -} - -if [ -z "$NIX_QT5_TMP" ]; then - if [ -z "$NIX_QT_SUBMODULE" ]; then - NIX_QT5_TMP=$(mktemp -d) - else - NIX_QT5_TMP=$out - fi - postInstallHooks+=(_qtRmTmp) - - mkdir -p "$NIX_QT5_TMP/nix-support" - for subdir in bin include lib mkspecs share; do - mkdir "$NIX_QT5_TMP/$subdir" - echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - done - - postHooks+=(_qtSetCMakePrefix) - - cp "@dev@/bin/qmake" "$NIX_QT5_TMP/bin" - echo "bin/qmake" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - - cat >"$NIX_QT5_TMP/bin/qt.conf" <<EOF -[Paths] -Prefix = $NIX_QT5_TMP -Plugins = lib/qt5/plugins -Imports = lib/qt5/imports -Qml2Imports = lib/qt5/qml -Documentation = share/doc/qt5 -EOF - echo "bin/qt.conf" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - - export QMAKE="$NIX_QT5_TMP/bin/qmake" - - # Set PATH to find qmake first in a preConfigure hook - # It must run after all the envHooks! - preConfigureHooks+=(_qtSetQmakePath) -fi - -qt5LinkModuleDir() { - if [ -d "$1/$2" ]; then - @lndir@/bin/lndir -silent "$1/$2" "$NIX_QT5_TMP/$2" - find "$1/$2" -printf "$2/%P\n" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - fi -} - -NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" -NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" - -_qtLinkAllModules() { - IFS=: read -a modules <<< $NIX_QT5_MODULES - for module in ${modules[@]}; do - qt5LinkModuleDir "$module" "lib" - done - - IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV - for module in ${modules[@]}; do - qt5LinkModuleDir "$module" "bin" - qt5LinkModuleDir "$module" "include" - qt5LinkModuleDir "$module" "lib" - qt5LinkModuleDir "$module" "mkspecs" - qt5LinkModuleDir "$module" "share" - done -} - -preConfigureHooks+=(_qtLinkAllModules) - -_qtFixCMakePaths() { - find "${!outputLib}" -name "*.cmake" | while read file; do - substituteInPlace "$file" \ - --subst-var-by NIX_OUT "${!outputLib}" \ - --subst-var-by NIX_DEV "${!outputDev}" - done -} - -if [ -n "$NIX_QT_SUBMODULE" ]; then - postInstallHooks+=(_qtFixCMakePaths) -fi diff --git a/pkgs/development/libraries/qt-5/5.7/setup-hook.sh b/pkgs/development/libraries/qt-5/5.7/setup-hook.sh deleted file mode 100644 index e41433c1138..00000000000 --- a/pkgs/development/libraries/qt-5/5.7/setup-hook.sh +++ /dev/null @@ -1,2 +0,0 @@ -NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" -NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" diff --git a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/make-qt-wrapper.sh index b0d0bec9e3f..b0d0bec9e3f 100644 --- a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh +++ b/pkgs/development/libraries/qt-5/make-qt-wrapper.sh diff --git a/pkgs/development/libraries/qt-5/5.5/qmake-hook.sh b/pkgs/development/libraries/qt-5/qmake-hook.sh index 696b4ea8dad..696b4ea8dad 100644 --- a/pkgs/development/libraries/qt-5/5.5/qmake-hook.sh +++ b/pkgs/development/libraries/qt-5/qmake-hook.sh diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh index 30491983114..47d196cec26 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh +++ b/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh @@ -91,7 +91,7 @@ _qtSetQmakePath() { if [ -z "$NIX_QT5_TMP" ]; then if [ -z "$NIX_QT_SUBMODULE" ]; then - NIX_QT5_TMP=$(mktemp -d) + NIX_QT5_TMP=$(pwd)/__nix_qt5__ else NIX_QT5_TMP=$out fi diff --git a/pkgs/development/libraries/qt-5/5.5/setup-hook.sh b/pkgs/development/libraries/qt-5/qtsubmodule-setup-hook.sh index e41433c1138..e41433c1138 100644 --- a/pkgs/development/libraries/qt-5/5.5/setup-hook.sh +++ b/pkgs/development/libraries/qt-5/qtsubmodule-setup-hook.sh diff --git a/pkgs/development/python-modules/cython_test.patch b/pkgs/development/python-modules/cython_test.patch deleted file mode 100644 index 5b1cece3aa5..00000000000 --- a/pkgs/development/python-modules/cython_test.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/tests/run/numpy_math.pyx b/tests/run/numpy_math.pyx -index eafd23a..4a15522 100644 ---- a/tests/run/numpy_math.pyx -+++ b/tests/run/numpy_math.pyx -@@ -37,8 +37,8 @@ def test_fp_classif(): - assert not npmath.isnan(d_zero) - assert not npmath.isnan(f_zero) - -- assert npmath.isinf(npmath.INFINITY) == 1 -- assert npmath.isinf(-npmath.INFINITY) == -1 -+ assert npmath.isinf(npmath.INFINITY) != 0 -+ assert npmath.isinf(-npmath.INFINITY) != 0 - assert npmath.isnan(npmath.NAN) - - assert npmath.signbit(npmath.copysign(1., -1.)) diff --git a/pkgs/misc/themes/adapta/default.nix b/pkgs/misc/themes/adapta/default.nix index 7fe968a582b..8dc91360117 100644 --- a/pkgs/misc/themes/adapta/default.nix +++ b/pkgs/misc/themes/adapta/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, sass, inkscape, glib, which, gtk-engine-murrine }: +{ stdenv, fetchFromGitHub, autoreconfHook, parallel, sassc, inkscape, libxml2, glib, gdk_pixbuf, librsvg, gtk-engine-murrine }: stdenv.mkDerivation rec { name = "adapta-gtk-theme-${version}"; - version = "3.21.3.68"; + version = "3.89.1.66"; meta = with stdenv.lib; { description = "An adaptive GTK+ theme based on Material Design"; @@ -16,14 +16,16 @@ stdenv.mkDerivation rec { owner = "tista500"; repo = "Adapta"; rev = version; - sha256 = "0wwsmsyxfdgsc7fj1kn4r9zsgs09prizwkjljmirwrfdm6j3387p"; + sha256 = "08g941xgxg7i8g1srn3zdxz1nxm24bkrg5cx9ipjqk5cwsck7470"; }; preferLocalBuild = true; - buildInputs = [ gtk-engine-murrine ]; - nativeBuildInputs = [ autoreconfHook sass inkscape glib.dev which ]; + + nativeBuildInputs = [ autoreconfHook parallel sassc inkscape libxml2 glib.dev ]; + + buildInputs = [ gdk_pixbuf librsvg gtk-engine-murrine ]; postPatch = "patchShebangs ."; - configureFlags = "--enable-chrome --disable-unity"; + configureFlags = "--disable-unity"; } diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix index 8adb68078a2..0c6dc9219c4 100644 --- a/pkgs/tools/audio/beets/default.nix +++ b/pkgs/tools/audio/beets/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, writeScript, glibcLocales -, python2Packages, imagemagick +, pythonPackages, imagemagick , enableAcousticbrainz ? true , enableAcoustid ? true @@ -22,17 +22,17 @@ , bashInteractive, bash-completion }: -assert enableAcoustid -> python2Packages.pyacoustid != null; +assert enableAcoustid -> pythonPackages.pyacoustid != null; assert enableBadfiles -> flac != null && mp3val != null; assert enableConvert -> ffmpeg != null; -assert enableDiscogs -> python2Packages.discogs_client != null; -assert enableFetchart -> python2Packages.responses != null; +assert enableDiscogs -> pythonPackages.discogs_client != null; +assert enableFetchart -> pythonPackages.responses != null; assert enableKeyfinder -> keyfinder-cli != null; -assert enableLastfm -> python2Packages.pylast != null; -assert enableMpd -> python2Packages.mpd != null; +assert enableLastfm -> pythonPackages.pylast != null; +assert enableMpd -> pythonPackages.mpd != null; assert enableReplaygain -> bs1770gain != null; -assert enableThumbnails -> python2Packages.pyxdg != null; -assert enableWeb -> python2Packages.flask != null; +assert enableThumbnails -> pythonPackages.pyxdg != null; +assert enableWeb -> pythonPackages.flask != null; with stdenv.lib; @@ -72,7 +72,7 @@ let testShell = "${bashInteractive}/bin/bash --norc"; completion = "${bash-completion}/share/bash-completion/bash_completion"; -in python2Packages.buildPythonApplication rec { +in pythonPackages.buildPythonApplication rec { name = "beets-${version}"; version = "1.4.1"; @@ -84,34 +84,34 @@ in python2Packages.buildPythonApplication rec { }; propagatedBuildInputs = [ - python2Packages.enum34 - python2Packages.jellyfish - python2Packages.munkres - python2Packages.musicbrainzngs - python2Packages.mutagen - python2Packages.pathlib - python2Packages.pyyaml - python2Packages.unidecode - ] ++ optional enableAcoustid python2Packages.pyacoustid + pythonPackages.enum34 + pythonPackages.jellyfish + pythonPackages.munkres + pythonPackages.musicbrainzngs + pythonPackages.mutagen + pythonPackages.pathlib + pythonPackages.pyyaml + pythonPackages.unidecode + ] ++ optional enableAcoustid pythonPackages.pyacoustid ++ optional (enableFetchart || enableEmbyupdate || enableAcousticbrainz) - python2Packages.requests2 + pythonPackages.requests2 ++ optional enableConvert ffmpeg - ++ optional enableDiscogs python2Packages.discogs_client + ++ optional enableDiscogs pythonPackages.discogs_client ++ optional enableKeyfinder keyfinder-cli - ++ optional enableLastfm python2Packages.pylast - ++ optional enableMpd python2Packages.mpd - ++ optional enableThumbnails python2Packages.pyxdg - ++ optional enableWeb python2Packages.flask + ++ optional enableLastfm pythonPackages.pylast + ++ optional enableMpd pythonPackages.mpd + ++ optional enableThumbnails pythonPackages.pyxdg + ++ optional enableWeb pythonPackages.flask ++ optional enableAlternatives (import ./alternatives-plugin.nix { - inherit stdenv python2Packages fetchFromGitHub; + inherit stdenv pythonPackages fetchFromGitHub; }) ++ optional enableCopyArtifacts (import ./copyartifacts-plugin.nix { - inherit stdenv python2Packages fetchFromGitHub; + inherit stdenv pythonPackages fetchFromGitHub; }); - buildInputs = with python2Packages; [ + buildInputs = with pythonPackages; [ beautifulsoup4 imagemagick mock diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 8fbf35caf1d..46b85aefca5 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "tor-0.2.8.9"; + name = "tor-0.2.8.10"; src = fetchurl { url = "https://archive.torproject.org/tor-package-archive/${name}.tar.gz"; - sha256 = "3f5c273bb887be4aff11f4d99b9e2e52d293b81ff4f6302b730161ff16dc5316"; + sha256 = "0kcw9hq4xz8p91xwyhjfry5p1dmn7vvnhpfz66vl9gsfndbqr2y8"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 01d8593a676..7588e7ba7e6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1018,7 +1018,9 @@ in beanstalkd = callPackage ../servers/beanstalkd { }; - beets = callPackage ../tools/audio/beets { }; + beets = callPackage ../tools/audio/beets { + pythonPackages = python2Packages; + }; bgs = callPackage ../tools/X11/bgs { }; @@ -14992,6 +14994,10 @@ in inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; }; + vimiv = callPackage ../applications/graphics/vimiv { + inherit (gnome3) defaultIconTheme; + }; + macvim = callPackage ../applications/editors/vim/macvim.nix { stdenv = clangStdenv; ruby = ruby_2_2; }; vimHugeX = vim_configurable; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e990295f1e0..7e8ce52c66b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4233,20 +4233,18 @@ in { cython = buildPythonPackage rec { name = "Cython-${version}"; - version = "0.24.1"; + version = "0.25.1"; src = pkgs.fetchurl { url = "mirror://pypi/C/Cython/${name}.tar.gz"; - sha256 = "84808fda00508757928e1feadcf41c9f78e9a9b7167b6649ab0933b76f75e7b9"; + sha256 = "e0941455769335ec5afb17dee36dc3833b7edc2ae20a8ed5806c58215e4b6669"; }; - buildInputs = with self; [ pkgs.pkgconfig pkgs.gdb ]; + buildInputs = with self; [ pkgs.glibcLocales pkgs.pkgconfig pkgs.gdb ]; # For testing nativeBuildInputs = with self; [ numpy pkgs.ncurses ]; - # cython's testsuite requires npy_isinf to return sign of the infinity, but - # a C99 conformant is only required to return a non zero value - patches = [ ../development/python-modules/cython_test.patch ]; + LC_ALL = "en_US.UTF-8"; # cython's testsuite is not working very well with libc++ # We are however optimistic about things outside of testsuite still working @@ -18689,9 +18687,13 @@ in { sha256 = "0ee9975c05602e755ff5000232e0335ba30d507f6261922a658ee11b1cec36d1"; }; - # Check is disabled because of assertion errors, see + doCheck = !isPyPy; + + # Disable imagefont tests, because they don't work well with infinality: # https://github.com/python-pillow/Pillow/issues/1259 - doCheck = false; + postPatch = '' + rm Tests/test_imagefont.py + ''; buildInputs = with self; [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.tcl nose pkgs.lcms2 ] |