Merge "forked" staging branches together
This commit is contained in:
commit
3dd219f071
@ -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: ");
|
||||
'';
|
||||
})
|
||||
|
@ -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.
|
||||
|
74
pkgs/applications/graphics/vimiv/default.nix
Normal file
74
pkgs/applications/graphics/vimiv/default.nix
Normal file
@ -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;
|
||||
};
|
||||
}
|
128
pkgs/applications/graphics/vimiv/fixes.patch
Normal file
128
pkgs/applications/graphics/vimiv/fixes.patch
Normal file
@ -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))
|
@ -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 ];
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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;
|
||||
|
||||
};
|
||||
|
||||
|
@ -272,7 +272,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
inherit lndir;
|
||||
setupHook = ./setup-hook.sh;
|
||||
setupHook = ../../qtbase-setup-hook.sh;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
};
|
||||
|
||||
|
@ -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)
|
@ -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
|
@ -228,7 +228,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
inherit lndir;
|
||||
setupHook = ./setup-hook.sh;
|
||||
setupHook = ../../qtbase-setup-hook.sh;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -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
|
@ -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@"
|
@ -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;
|
||||
|
||||
};
|
||||
|
||||
|
@ -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)
|
@ -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
|
@ -232,7 +232,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
inherit lndir;
|
||||
setupHook = ./setup-hook.sh;
|
||||
setupHook = ../../qtbase-setup-hook.sh;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -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
|
@ -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@"
|
@ -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
|
@ -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.))
|
@ -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";
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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;
|
||||
|
@ -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 ]
|
||||
|
Loading…
Reference in New Issue
Block a user