diff options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/applications/editors/idea/common.nix | 71 | ||||
-rw-r--r-- | pkgs/applications/editors/idea/default.nix | 95 | ||||
-rw-r--r-- | pkgs/build-support/setup-hooks/separate-debug-info.sh | 3 | ||||
-rw-r--r-- | pkgs/development/libraries/eigen/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/libraries/telepathy/qt/default.nix | 28 | ||||
-rw-r--r-- | pkgs/development/python-modules/numpy-no-large-files.patch | 35 | ||||
-rw-r--r-- | pkgs/development/tools/misc/elfutils/default.nix | 34 | ||||
-rw-r--r-- | pkgs/servers/matrix-synapse/default.nix | 45 | ||||
-rw-r--r-- | pkgs/servers/matrix-synapse/matrix-synapse.patch | 20 | ||||
-rw-r--r-- | pkgs/servers/rt/default.nix | 23 | ||||
-rw-r--r-- | pkgs/servers/rt/override-generated.patch | 21 | ||||
-rw-r--r-- | pkgs/tools/networking/inadyn/default.nix | 12 | ||||
-rw-r--r-- | pkgs/tools/text/mairix/default.nix | 5 | ||||
-rw-r--r-- | pkgs/tools/text/mairix/mmap.patch | 115 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 | ||||
-rw-r--r-- | pkgs/top-level/perl-packages.nix | 594 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 179 |
17 files changed, 1094 insertions, 194 deletions
diff --git a/pkgs/applications/editors/idea/common.nix b/pkgs/applications/editors/idea/common.nix new file mode 100644 index 00000000000..96689fa75ad --- /dev/null +++ b/pkgs/applications/editors/idea/common.nix @@ -0,0 +1,71 @@ +{ stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip +, coreutils, gnugrep, which, git, python, unzip, androidsdk }: + +{ name, product, version, build, src, meta, jdk } @ attrs: + +with stdenv.lib; + +let loName = toLower product; + hiName = toUpper product; + execName = concatStringsSep "-" (init (splitString "-" name)); +in + +with stdenv; lib.makeOverridable mkDerivation rec { + inherit name build src meta; + desktopItem = makeDesktopItem { + name = execName; + exec = execName; + comment = lib.replaceChars ["\n"] [" "] meta.longDescription; + desktopName = product; + genericName = meta.description; + categories = "Application;Development;"; + icon = execName; + }; + + buildInputs = [ makeWrapper patchelf p7zip unzip ]; + + patchPhase = '' + get_file_size() { + local fname="$1" + echo $(ls -l $fname | cut -d ' ' -f5) + } + + munge_size_hack() { + local fname="$1" + local size="$2" + strip $fname + truncate --size=$size $fname + } + + interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2) + if [ "${stdenv.system}" == "x86_64-linux" ]; then + target_size=$(get_file_size bin/fsnotifier64) + patchelf --set-interpreter "$interpreter" bin/fsnotifier64 + munge_size_hack bin/fsnotifier64 $target_size + else + target_size=$(get_file_size bin/fsnotifier) + patchelf --set-interpreter "$interpreter" bin/fsnotifier + munge_size_hack bin/fsnotifier $target_size + fi + ''; + + installPhase = '' + mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}} + cp -a . $out/$name + ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${execName}.png + mv bin/fsnotifier* $out/libexec/${name}/. + + jdk=${jdk.home} + item=${desktopItem} + + makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${execName}" \ + --prefix PATH : "$out/libexec/${name}:${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \ + --set JDK_HOME "$jdk" \ + --set ${hiName}_JDK "$jdk" \ + --set ANDROID_JAVA_HOME "$jdk" \ + --set JAVA_HOME "$jdk" + + ln -s "$item/share/applications" $out/share + ''; + +} diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 58e9ab347df..932f31d8650 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -1,82 +1,19 @@ -{ stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip, oraclejdk8 -, coreutils, gnugrep, which, git, python, unzip, androidsdk +{ stdenv, callPackage, fetchurl, makeDesktopItem, makeWrapper, patchelf +, coreutils, gnugrep, which, git, python, unzip, p7zip +, androidsdk, jdk, oraclejdk8 }: assert stdenv.isLinux; let - # After IDEA 15 we can no longer use OpenJDK. - # https://youtrack.jetbrains.com/issue/IDEA-147272 - jdk = oraclejdk8; - - mkIdeaProduct = with stdenv.lib; - { name, product, version, build, src, meta }: - - let loName = toLower product; - hiName = toUpper product; - execName = concatStringsSep "-" (init (splitString "-" name)); - in - - with stdenv; lib.makeOverridable mkDerivation rec { - inherit name build src meta; - desktopItem = makeDesktopItem { - name = execName; - exec = execName; - comment = lib.replaceChars ["\n"] [" "] meta.longDescription; - desktopName = product; - genericName = meta.description; - categories = "Application;Development;"; - icon = execName; - }; - - buildInputs = [ makeWrapper patchelf p7zip unzip ]; - - patchPhase = '' - get_file_size() { - local fname="$1" - echo $(ls -l $fname | cut -d ' ' -f5) - } - - munge_size_hack() { - local fname="$1" - local size="$2" - strip $fname - truncate --size=$size $fname - } - - interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2) - if [ "${stdenv.system}" == "x86_64-linux" ]; then - target_size=$(get_file_size bin/fsnotifier64) - patchelf --set-interpreter "$interpreter" bin/fsnotifier64 - munge_size_hack bin/fsnotifier64 $target_size - else - target_size=$(get_file_size bin/fsnotifier) - patchelf --set-interpreter "$interpreter" bin/fsnotifier - munge_size_hack bin/fsnotifier $target_size - fi - ''; - - installPhase = '' - mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}} - cp -a . $out/$name - ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${execName}.png - mv bin/fsnotifier* $out/libexec/${name}/. - - jdk=${jdk.home} - item=${desktopItem} - - makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${execName}" \ - --prefix PATH : "$out/libexec/${name}:${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \ - --set JDK_HOME "$jdk" \ - --set ${hiName}_JDK "$jdk" \ - --set ANDROID_JAVA_HOME "$jdk" \ - --set JAVA_HOME "$jdk" - - ln -s "$item/share/applications" $out/share - ''; - - }; + bnumber = with stdenv.lib; build: last (splitString "-" build); + mkIdeaProduct' = callPackage ./common.nix { }; + mkIdeaProduct = attrs: mkIdeaProduct' ({ + # After IDEA 15 we can no longer use OpenJDK. + # https://youtrack.jetbrains.com/issue/IDEA-147272 + jdk = if (bnumber attrs.build) < "143" then jdk else oraclejdk8; + } // attrs); buildAndroidStudio = { name, version, build, src, license, description }: let drv = (mkIdeaProduct rec { @@ -239,6 +176,18 @@ in }; }; + idea14-community = buildIdea rec { + name = "idea-community-${version}"; + version = "14.1.6"; + build = "IC-141.3056.4"; + description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; + license = stdenv.lib.licenses.asl20; + src = fetchurl { + url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; + sha256 = "157969b37sbafby1r1gva2xm3a3y0dgj7pisgxmk8k1d5rgncvil"; + }; + }; + idea-community = buildIdea rec { name = "idea-community-${version}"; version = "15.0.2"; diff --git a/pkgs/build-support/setup-hooks/separate-debug-info.sh b/pkgs/build-support/setup-hooks/separate-debug-info.sh index dc6de05bb69..55e3236847d 100644 --- a/pkgs/build-support/setup-hooks/separate-debug-info.sh +++ b/pkgs/build-support/setup-hooks/separate-debug-info.sh @@ -32,6 +32,9 @@ _separateDebugInfo() { mkdir -p "$dst/${id:0:2}" objcopy --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug" --compress-debug-sections strip --strip-debug "$i" + + # Also a create a symlink <original-name>.debug. + ln -sfn ".build-id/${id:0:2}/${id:2}.debug" "$dst/../$(basename "$i")" done } diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix index 150b72cf2f5..0e43b9fb602 100644 --- a/pkgs/development/libraries/eigen/default.nix +++ b/pkgs/development/libraries/eigen/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, cmake}: let - version = "3.3-alpha1"; + version = "3.2.5"; in stdenv.mkDerivation { name = "eigen-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz"; name = "eigen-${version}.tar.gz"; - sha256 = "00vmxz3da76ml3j7s8w8447sdpszx71i3xhnmwivxhpc4smpvz2q"; + sha256 = "1vjixip19lwfia2bjpjwm09j7l20ry75493i6mjsk9djszj61agi"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix index 3b40b7296a7..712493e7c71 100644 --- a/pkgs/development/libraries/telepathy/qt/default.nix +++ b/pkgs/development/libraries/telepathy/qt/default.nix @@ -2,18 +2,26 @@ , telepathy_farstream, telepathy_glib, pythonDBus, fetchpatch }: stdenv.mkDerivation rec { - name = "telepathy-qt-0.9.6"; + name = "telepathy-qt-0.9.6.1"; src = fetchurl { url = "http://telepathy.freedesktop.org/releases/telepathy-qt/${name}.tar.gz"; - sha256 = "0j7hs055cx5g9chn3b2p0arig70m5g9547qgqvk29kxdyxxxsmqc"; + sha256 = "1y51c6rxk5qvmab98c8rnmrlyk27hnl248casvbq3cd93sav8vj9"; }; - patches = [(fetchpatch { - name = "gst-1.6.patch"; - url = "http://cgit.freedesktop.org/telepathy/telepathy-qt/patch" - + "/?id=ec4a3d62b68a57254515f01fc5ea3325ffb1dbfb"; - sha256 = "1rh7n3xyrwpvpa3haqi35qn4mfz4396ha43w4zsqpmcyda9y65v2"; - })]; + patches = let + mkUrl = hash: "http://cgit.freedesktop.org/telepathy/telepathy-qt/patch/?id=" + hash; + in [ + (fetchpatch { + name = "gst-1.6.patch"; + url = mkUrl "ec4a3d62b68a57254515f01fc5ea3325ffb1dbfb"; + sha256 = "1rh7n3xyrwpvpa3haqi35qn4mfz4396ha43w4zsqpmcyda9y65v2"; + }) + (fetchpatch { + name = "parallel-make.patch"; + url = mkUrl "7389dc990c67d4269f3a79c924c054e87f2e4ac5"; + sha256 = "0mvdvyy76kpaxacljidf06wd43fr2qripr4mwsakjs3hxb1pkk57"; + }) + ]; nativeBuildInputs = [ cmake pkgconfig python ]; propagatedBuildInputs = [ qtbase dbus_glib telepathy_farstream telepathy_glib pythonDBus ]; @@ -22,11 +30,13 @@ stdenv.mkDerivation rec { cmakeFlags = "-DDESIRED_QT_VERSION=${builtins.substring 0 1 qtbase.version}"; + NIX_CFLAGS_COMPILE = [ "-Wno-error=cpp" ]; # remove after the next update + preBuild = '' NIX_CFLAGS_COMPILE+=" `pkg-config --cflags dbus-glib-1`" ''; - enableParallelBuilding = false; # missing _gen/future-constants.h + enableParallelBuilding = true; doCheck = false; # giving up for now meta = { diff --git a/pkgs/development/python-modules/numpy-no-large-files.patch b/pkgs/development/python-modules/numpy-no-large-files.patch deleted file mode 100644 index 0eb415606d3..00000000000 --- a/pkgs/development/python-modules/numpy-no-large-files.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- numpy/lib/tests/test_format.py 2015-08-11 12:03:43.000000000 -0500 -+++ numpy/lib/tests/test_format_no_large_files.py 2015-11-03 16:03:30.328084827 -0600 -@@ -810,32 +810,5 @@ - format.write_array_header_1_0(s, d) - assert_raises(ValueError, format.read_array_header_1_0, s) - -- --def test_large_file_support(): -- from nose import SkipTest -- if (sys.platform == 'win32' or sys.platform == 'cygwin'): -- raise SkipTest("Unknown if Windows has sparse filesystems") -- # try creating a large sparse file -- tf_name = os.path.join(tempdir, 'sparse_file') -- try: -- # seek past end would work too, but linux truncate somewhat -- # increases the chances that we have a sparse filesystem and can -- # avoid actually writing 5GB -- import subprocess as sp -- sp.check_call(["truncate", "-s", "5368709120", tf_name]) -- except: -- raise SkipTest("Could not create 5GB large file") -- # write a small array to the end -- with open(tf_name, "wb") as f: -- f.seek(5368709120) -- d = np.arange(5) -- np.save(f, d) -- # read it back -- with open(tf_name, "rb") as f: -- f.seek(5368709120) -- r = np.load(f) -- assert_array_equal(r, d) -- -- - if __name__ == "__main__": - run_module_suite() diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix index 95ccdd89de1..1e073ea8c70 100644 --- a/pkgs/development/tools/misc/elfutils/default.nix +++ b/pkgs/development/tools/misc/elfutils/default.nix @@ -1,30 +1,26 @@ -{stdenv, fetchurl, m4, zlib, bzip2, bison, flex, gettext}: +{ lib, stdenv, fetchurl, m4, zlib, bzip2, bison, flex, gettext, xz }: # TODO: Look at the hardcoded paths to kernel, modules etc. stdenv.mkDerivation rec { name = "elfutils-${version}"; - version = "0.163"; + version = "0.165"; src = fetchurl { - urls = [ - "http://fedorahosted.org/releases/e/l/elfutils/${version}/${name}.tar.bz2" - "mirror://gentoo/distfiles/${name}.tar.bz2" - ]; - sha256 = "7c774f1eef329309f3b05e730bdac50013155d437518a2ec0e24871d312f2e23"; + url = "http://fedorahosted.org/releases/e/l/elfutils/${version}/${name}.tar.bz2"; + sha256 = "0wp91hlh9n0ismikljf63558rzdwim8w1s271grsbaic35vr5z57"; }; - patches = [ - (fetchurl { - url = "http://fedorahosted.org/releases/e/l/elfutils/${version}/elfutils-portability-${version}.patch"; - sha256 = "e4e82315dad2efaa4e4476503e7537e01b7c1b1f98a96de4ca1c7fa85f4f1045"; - }) ]; - # We need bzip2 in NativeInputs because otherwise we can't unpack the src, # as the host-bzip2 will be in the path. - nativeBuildInputs = [m4 bison flex gettext bzip2]; - buildInputs = [zlib bzip2]; + nativeBuildInputs = [ m4 bison flex gettext bzip2 ]; + buildInputs = [ zlib bzip2 xz ]; + + configureFlags = + [ "--program-prefix=eu-" # prevent collisions with binutils + "--enable-deterministic-archives" + ]; - configureFlags = "--disable-werror"; + enableParallelBuilding = true; crossAttrs = { @@ -67,9 +63,11 @@ stdenv.mkDerivation rec { ''; }; - dontAddDisableDepTrack = true; - meta = { homepage = https://fedorahosted.org/elfutils/; + description = "A set of utilities to handle ELF objects"; + platforms = lib.platforms.linux; + license = lib.licenses.gpl3; + maintainers = lib.maintainers.eelco; }; } diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix new file mode 100644 index 00000000000..66d9e7258f4 --- /dev/null +++ b/pkgs/servers/matrix-synapse/default.nix @@ -0,0 +1,45 @@ +{ pkgs, stdenv, buildPythonPackage, pythonPackages, fetchurl, fetchFromGitHub }: +let + matrix-angular-sdk = buildPythonPackage rec { + name = "matrix-angular-sdk-${version}"; + version = "0.6.6"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/m/matrix-angular-sdk/matrix-angular-sdk-${version}.tar.gz"; + sha256 = "1vknhmibb8gh8lng50va2cdvng5xm7vqv9dl680m3gj38pg0bv8a"; + }; + }; +in +buildPythonPackage rec { + name = "matrix-synapse-${version}"; + version = "0.12.0"; + + src = fetchFromGitHub { + owner = "matrix-org"; + repo = "synapse"; + rev = "f35f8d06ea58e2d0cdccd82924c7a44fd93f4c38"; + sha256 = "0b0k1am9lh0qglagc06m91qs26ybv37k7wpbg5333x8jaf5d1si4"; + }; + + patches = [ ./matrix-synapse.patch ]; + + propagatedBuildInputs = with pythonPackages; [ + blist canonicaljson daemonize dateutil frozendict pillow pybcrypt pyasn1 + pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests2 + service-identity signedjson systemd twisted15 ujson unpaddedbase64 pyyaml + matrix-angular-sdk + ]; + + # Checks fail because of Tox. + doCheck = false; + + buildInputs = with pythonPackages; [ + mock setuptoolsTrial + ]; + + meta = { + homepage = https://matrix.org; + description = "Matrix reference homeserver"; + license = stdenv.lib.licenses.asl20; + }; +} diff --git a/pkgs/servers/matrix-synapse/matrix-synapse.patch b/pkgs/servers/matrix-synapse/matrix-synapse.patch new file mode 100644 index 00000000000..a6a393ea56c --- /dev/null +++ b/pkgs/servers/matrix-synapse/matrix-synapse.patch @@ -0,0 +1,20 @@ +diff --git a/homeserver b/homeserver +new file mode 120000 +index 0000000..2f1d413 +--- /dev/null ++++ b/homeserver +@@ -0,0 +1 @@ ++synapse/app/homeserver.py +\ No newline at end of file +diff --git a/setup.py b/setup.py +index 9d24761..f3e6a00 100755 +--- a/setup.py ++++ b/setup.py +@@ -85,6 +85,6 @@ setup( + include_package_data=True, + zip_safe=False, + long_description=long_description, +- scripts=["synctl"] + glob.glob("scripts/*"), ++ scripts=["synctl", "homeserver"] + glob.glob("scripts/*"), + cmdclass={'test': Tox}, + ) diff --git a/pkgs/servers/rt/default.nix b/pkgs/servers/rt/default.nix new file mode 100644 index 00000000000..7f8c372c335 --- /dev/null +++ b/pkgs/servers/rt/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, perl }: + +stdenv.mkDerivation rec { + name = "rt-4.2.12"; + + src = fetchurl { + url = "https://download.bestpractical.com/pub/rt/release/${name}.tar.gz"; + + sha256 = "0r3jhgfwwhhk654zag42mrai85yrliw9sc0kgabwjvbh173204p2"; + }; + + patches = [ ./override-generated.patch ]; + + buildInputs = [ perl ]; + + buildPhase = "true"; + + installPhase = '' + mkdir $out + cp -a {bin,docs,etc,lib,sbin,share} $out + find $out -name '*.in' -exec rm '{}' \; + ''; +} diff --git a/pkgs/servers/rt/override-generated.patch b/pkgs/servers/rt/override-generated.patch new file mode 100644 index 00000000000..5727a9b50c5 --- /dev/null +++ b/pkgs/servers/rt/override-generated.patch @@ -0,0 +1,21 @@ +commit 7aec1e9478ef679227e759ab9537df7584c6a852 +Author: Shea Levy <shea@shealevy.com> +Date: Fri Jan 15 09:09:18 2016 -0500 + + Make it possible to override hard-coded paths + +diff --git a/lib/RT/Generated.pm.in b/lib/RT/Generated.pm.in +index 9dcb80b..99b034b 100644 +--- a/lib/RT/Generated.pm.in ++++ b/lib/RT/Generated.pm.in +@@ -82,4 +82,10 @@ $MasonDataDir = '@MASON_DATA_PATH@'; + $MasonSessionDir = '@MASON_SESSION_PATH@'; + + ++if ( my $override_file = $ENV{RT_PATHS_OVERRIDE} ) ++{ ++ require "$override_file" || die "Couldn't load paths override file: $@"; ++} ++ ++ + 1; diff --git a/pkgs/tools/networking/inadyn/default.nix b/pkgs/tools/networking/inadyn/default.nix index 0d9ac7f6475..b63abf1ae33 100644 --- a/pkgs/tools/networking/inadyn/default.nix +++ b/pkgs/tools/networking/inadyn/default.nix @@ -1,16 +1,14 @@ -{ stdenv, fetchFromGitHub, gnutls33, autoreconfHook }: +{ stdenv, fetchurl, gnutls33, autoreconfHook }: let - version = "1.99.13"; + version = "1.99.15"; in stdenv.mkDerivation { name = "inadyn-${version}"; - src = fetchFromGitHub { - repo = "inadyn"; - owner = "troglobit"; - rev = version; - sha256 = "19z8si66b2kwb7y29qpd8y45rhg5wrycwkdgjqqp98sg5yq8p7v0"; + src = fetchurl { + url = "https://github.com/troglobit/inadyn/releases/download/${version}/inadyn-${version}.tar.xz"; + sha256 = "05f7k9wpr0fn44y0pvdrv8xyilygmq3kjhvrwlj6dgg9ackdhkmm"; }; preConfigure = '' diff --git a/pkgs/tools/text/mairix/default.nix b/pkgs/tools/text/mairix/default.nix index f3fece1f177..d8db034f151 100644 --- a/pkgs/tools/text/mairix/default.nix +++ b/pkgs/tools/text/mairix/default.nix @@ -10,9 +10,10 @@ stdenv.mkDerivation rec { buildInputs = [ zlib bzip2 bison flex ]; - # https://github.com/rc0/mairix/issues/12 + # https://github.com/rc0/mairix/pull/19 patches = [ ./mmap.patch ]; - patchFlags = "-p2"; + + enableParallelBuilding = true; meta = { homepage = http://www.rc0.org.uk/mairix; diff --git a/pkgs/tools/text/mairix/mmap.patch b/pkgs/tools/text/mairix/mmap.patch index 0d43ac7ce7a..241083f2dde 100644 --- a/pkgs/tools/text/mairix/mmap.patch +++ b/pkgs/tools/text/mairix/mmap.patch @@ -1,25 +1,29 @@ -Fix "Cannot allocate memory" on mmap of files bigger than 2GiB. +Making mairix work with mbox files over 2GB. -https://github.com/rc0/mairix/issues/12 +https://github.com/rc0/mairix/pull/19 -diff -ruN t/mairix-0.22/mairix.h mairix/mairix-0.22/mairix.h ---- t/mairix-0.22/mairix.h 2010-06-05 14:41:10.000000000 -0700 -+++ mairix/mairix-0.22/mairix.h 2015-07-08 13:33:06.678718524 -0700 -@@ -327,8 +327,8 @@ +diff --git a/mairix.h b/mairix.h +index 2480492..cb25824 100644 +--- a/mairix.h ++++ b/mairix.h +@@ -327,9 +327,9 @@ enum data_to_rfc822_error { + DTR8_BAD_HEADERS, /* corrupt headers */ DTR8_BAD_ATTACHMENT /* corrupt attachment (e.g. no body part) */ }; - struct rfc822 *data_to_rfc822(struct msg_src *src, char *data, int length, enum data_to_rfc822_error *error); +-struct rfc822 *data_to_rfc822(struct msg_src *src, char *data, int length, enum data_to_rfc822_error *error); -void create_ro_mapping(const char *filename, unsigned char **data, int *len); -void free_ro_mapping(unsigned char *data, int len); ++struct rfc822 *data_to_rfc822(struct msg_src *src, char *data, size_t length, enum data_to_rfc822_error *error); +void create_ro_mapping(const char *filename, unsigned char **data, size_t *len); +void free_ro_mapping(unsigned char *data, size_t len); char *format_msg_src(struct msg_src *src); - + /* In tok.c */ -diff -ruN t/mairix-0.22/mbox.c mairix/mairix-0.22/mbox.c ---- t/mairix-0.22/mbox.c 2010-06-05 14:41:10.000000000 -0700 -+++ mairix/mairix-0.22/mbox.c 2015-07-08 13:32:45.126280861 -0700 -@@ -816,7 +816,7 @@ +diff --git a/mbox.c b/mbox.c +index ebbfa78..396e27d 100644 +--- a/mbox.c ++++ b/mbox.c +@@ -816,7 +816,7 @@ void build_mbox_lists(struct database *db, const char *folder_base, /*{{{*/ mb->n_old_msgs_valid = mb->n_msgs; } else { unsigned char *va; @@ -28,28 +32,65 @@ diff -ruN t/mairix-0.22/mbox.c mairix/mairix-0.22/mbox.c create_ro_mapping(mb->path, &va, &len); if (va) { rescan_mbox(mb, (char *) va, len); -@@ -852,7 +852,7 @@ +@@ -852,7 +852,7 @@ int add_mbox_messages(struct database *db)/*{{{*/ int any_new = 0; int N; unsigned char *va; - int valen; + size_t valen; enum data_to_rfc822_error error; - + for (i=0; i<db->n_mboxen; i++) { -diff -ruN t/mairix-0.22/rfc822.c mairix/mairix-0.22/rfc822.c ---- t/mairix-0.22/rfc822.c 2010-06-05 14:41:10.000000000 -0700 -+++ mairix/mairix-0.22/rfc822.c 2015-07-08 13:30:59.388133879 -0700 -@@ -1250,7 +1250,7 @@ +diff --git a/reader.c b/reader.c +index 71ac5bd..18f0108 100644 +--- a/reader.c ++++ b/reader.c +@@ -81,7 +81,8 @@ static void read_toktable2_db(char *data, struct toktable2_db *toktable, int sta + /*}}}*/ + struct read_db *open_db(char *filename)/*{{{*/ + { +- int fd, len; ++ int fd; ++ size_t len; + char *data; + struct stat sb; + struct read_db *result; +diff --git a/reader.h b/reader.h +index 9b5dfa3..d709cc4 100644 +--- a/reader.h ++++ b/reader.h +@@ -138,7 +138,7 @@ struct toktable2_db {/*{{{*/ + struct read_db {/*{{{*/ + /* Raw file parameters, needed later for munmap */ + char *data; +- int len; ++ size_t len; + + /* Pathname information */ + int n_msgs; +diff --git a/rfc822.c b/rfc822.c +index b411f85..9c8e1a4 100644 +--- a/rfc822.c ++++ b/rfc822.c +@@ -990,7 +990,7 @@ static void scan_status_flags(const char *s, struct headers *hdrs)/*{{{*/ + + /*{{{ data_to_rfc822() */ + struct rfc822 *data_to_rfc822(struct msg_src *src, +- char *data, int length, ++ char *data, size_t length, + enum data_to_rfc822_error *error) + { + struct rfc822 *result; +@@ -1265,7 +1265,7 @@ static struct ro_mapping *add_ro_cache(const char *filename, int fd, size_t len) } #endif /* USE_GZIP_MBOX || USE_BZIP_MBOX */ - + -void create_ro_mapping(const char *filename, unsigned char **data, int *len)/*{{{*/ +void create_ro_mapping(const char *filename, unsigned char **data, size_t *len)/*{{{*/ { struct stat sb; int fd; -@@ -1371,7 +1371,7 @@ +@@ -1386,7 +1386,7 @@ comp_error: data_alloc_type = ALLOC_MMAP; } /*}}}*/ @@ -57,8 +98,8 @@ diff -ruN t/mairix-0.22/rfc822.c mairix/mairix-0.22/rfc822.c +void free_ro_mapping(unsigned char *data, size_t len)/*{{{*/ { int r; - -@@ -1399,7 +1399,7 @@ + +@@ -1414,7 +1414,7 @@ static struct msg_src *setup_msg_src(char *filename)/*{{{*/ /*}}}*/ struct rfc822 *make_rfc822(char *filename)/*{{{*/ { @@ -66,11 +107,12 @@ diff -ruN t/mairix-0.22/rfc822.c mairix/mairix-0.22/rfc822.c + size_t len; unsigned char *data; struct rfc822 *result; - -diff -ruN t/mairix-0.22/search.c mairix/mairix-0.22/search.c ---- t/mairix-0.22/search.c 2010-06-05 14:41:10.000000000 -0700 -+++ mairix/mairix-0.22/search.c 2015-07-08 13:32:25.809888610 -0700 -@@ -667,7 +667,7 @@ + +diff --git a/search.c b/search.c +index 18b51ee..97967bc 100644 +--- a/search.c ++++ b/search.c +@@ -681,7 +681,7 @@ static void mbox_terminate(const unsigned char *data, int len, FILE *out)/*{{{*/ static void append_file_to_mbox(const char *path, FILE *out)/*{{{*/ { unsigned char *data; @@ -79,8 +121,8 @@ diff -ruN t/mairix-0.22/search.c mairix/mairix-0.22/search.c create_ro_mapping(path, &data, &len); if (data) { fprintf(out, "From mairix@mairix Mon Jan 1 12:34:56 1970\n"); -@@ -683,8 +683,8 @@ - +@@ -698,8 +698,8 @@ static int had_failed_checksum; + static void get_validated_mbox_msg(struct read_db *db, int msg_index,/*{{{*/ int *mbox_index, - unsigned char **mbox_data, int *mbox_len, @@ -90,16 +132,16 @@ diff -ruN t/mairix-0.22/search.c mairix/mairix-0.22/search.c { /* msg_data==NULL if checksum mismatches */ unsigned char *start; -@@ -715,7 +715,7 @@ +@@ -738,7 +738,7 @@ static void append_mboxmsg_to_mbox(struct read_db *db, int msg_index, FILE *out) { /* Need to common up code with try_copy_to_path */ unsigned char *mbox_start, *msg_start; - int mbox_len, msg_len; + size_t mbox_len, msg_len; int mbox_index; - + get_validated_mbox_msg(db, msg_index, &mbox_index, &mbox_start, &mbox_len, &msg_start, &msg_len); -@@ -735,7 +735,7 @@ +@@ -759,7 +759,7 @@ static void append_mboxmsg_to_mbox(struct read_db *db, int msg_index, FILE *out) static void try_copy_to_path(struct read_db *db, int msg_index, char *target_path)/*{{{*/ { unsigned char *data; @@ -108,3 +150,12 @@ diff -ruN t/mairix-0.22/search.c mairix/mairix-0.22/search.c int mbi; FILE *out; unsigned char *start; +@@ -1214,7 +1214,7 @@ static int do_search(struct read_db *db, char **args, char *output_path, int sho + unsigned int mbix, msgix; + int start, len, after_end; + unsigned char *mbox_start, *msg_start; +- int mbox_len, msg_len; ++ size_t mbox_len, msg_len; + int mbox_index; + + start = db->mtime_table[i]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 82708cd30e5..5d52c89d059 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2076,6 +2076,8 @@ let makebootfat = callPackage ../tools/misc/makebootfat { }; + matrix-synapse = callPackage ../servers/matrix-synapse { }; + memtester = callPackage ../tools/system/memtester { }; minidlna = callPackage ../tools/networking/minidlna { }; @@ -2905,6 +2907,8 @@ let redmine = callPackage ../applications/version-management/redmine { }; + rt = callPackage ../servers/rt { }; + rtmpdump = callPackage ../tools/video/rtmpdump { }; rtmpdump_gnutls = rtmpdump.override { gnutlsSupport = true; opensslSupport = false; }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 849db4820a8..501a2d26c4e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -180,6 +180,19 @@ let self = _self // overrides; _self = with self; { }; }; + ApacheSession = buildPerlPackage { + name = "Apache-Session-1.93"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CH/CHORNY/Apache-Session-1.93.tar.gz; + sha256 = "8e5a4882ac8ec657d1018d74d3ba37854e2688a41ddd0e1d73955ea59f276e8d"; + }; + buildInputs = [ TestDeep TestException ]; + meta = { + description = "A persistence framework for session data"; + license = "perl"; + }; + }; + ApacheTest = buildPerlPackage { name = "Apache-Test-1.38"; src = fetchurl { @@ -727,6 +740,18 @@ let self = _self // overrides; _self = with self; { }; }; + CacheSimpleTimedExpiry = buildPerlPackage { + name = "Cache-Simple-TimedExpiry-0.27"; + src = fetchurl { + url = mirror://cpan/authors/id/J/JE/JESSE/Cache-Simple-TimedExpiry-0.27.tar.gz; + sha256 = "4e78b7e4dd231b5571a48cd0ee1b63953f5e34790c9d020e1595a7c7d0abbe49"; + }; + meta = { + description = "A lightweight cache with timed expiration"; + license = "perl"; + }; + }; + Cairo = buildPerlPackage rec { name = "Cairo-1.106"; src = fetchurl { @@ -1412,6 +1437,21 @@ let self = _self // overrides; _self = with self; { }; }; + CGIEmulatePSGI = buildPerlPackage { + name = "CGI-Emulate-PSGI-0.21"; + src = fetchurl { + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-Emulate-PSGI-0.21.tar.gz; + sha256 = "06b8f1864101de69b2264ad3c3a2b15333e428cf9f5d17a777cfc61f8c64093f"; + }; + buildInputs = [ TestRequires ]; + propagatedBuildInputs = [ HTTPMessage ]; + meta = { + homepage = https://github.com/tokuhirom/p5-cgi-emulate-psgi; + description = "PSGI adapter for CGI"; + license = "perl"; + }; + }; + CGIExpand = buildPerlPackage { name = "CGI-Expand-2.04"; src = fetchurl { @@ -1448,6 +1488,18 @@ let self = _self // overrides; _self = with self; { }; }; + CGIPSGI = buildPerlPackage { + name = "CGI-PSGI-0.15"; + src = fetchurl { + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-PSGI-0.15.tar.gz; + sha256 = "c50dcb10bf8486a9843baed032ad89d879ff2f41c993342dead62f947a598d91"; + }; + meta = { + description = "Adapt CGI.pm to the PSGI protocol"; + license = "perl"; + }; + }; + CGISession = buildPerlPackage rec { name = "CGI-Session-4.48"; src = fetchurl { @@ -1545,6 +1597,18 @@ let self = _self // overrides; _self = with self; { }; }; + ClassAccessorLite = buildPerlPackage { + name = "Class-Accessor-Lite-0.08"; + src = fetchurl { + url = mirror://cpan/authors/id/K/KA/KAZUHO/Class-Accessor-Lite-0.08.tar.gz; + sha256 = "75b3b8ec8efe687677b63f0a10eef966e01f60735c56656ce75cbb44caba335a"; + }; + meta = { + description = "A minimalistic variant of Class::Accessor"; + license = "perl"; + }; + }; + ClassAutouse = buildPerlPackage { name = "Class-Autouse-1.99_02"; src = fetchurl { @@ -1731,6 +1795,19 @@ let self = _self // overrides; _self = with self; { ClassMOP = Moose; + ClassReturnValue = buildPerlPackage { + name = "Class-ReturnValue-0.55"; + src = fetchurl { + url = mirror://cpan/authors/id/J/JE/JESSE/Class-ReturnValue-0.55.tar.gz; + sha256 = "ed3836885d78f734ccd7a98550ec422a616df7c31310c1b7b1f6459f5fb0e4bd"; + }; + propagatedBuildInputs = [ DevelStackTrace ]; + meta = { + description = "A smart return value object"; + license = "perl"; + }; + }; + ClassSingleton = buildPerlPackage rec { name = "Class-Singleton-1.5"; src = fetchurl { @@ -2052,6 +2129,20 @@ let self = _self // overrides; _self = with self; { }; }; + ConvertColor = buildPerlPackage { + name = "Convert-Color-0.11"; + src = fetchurl { + url = mirror://cpan/authors/id/P/PE/PEVANS/Convert-Color-0.11.tar.gz; + sha256 = "b41217c72931034ba4417d7a9e1e2999f04580d4e6b31c70993fedccc2440d38"; + }; + buildInputs = [ TestNumberDelta ]; + propagatedBuildInputs = [ ListUtilsBy ModulePluggable ]; + meta = { + description = "Color space conversions and named lookups"; + license = "perl"; + }; + }; + constant = buildPerlPackage rec { name = "constant-1.33"; src = fetchurl { @@ -2461,6 +2552,20 @@ let self = _self // overrides; _self = with self; { buildInputs = [ Clone ]; }; + CSSSquish = buildPerlPackage { + name = "CSS-Squish-0.10"; + src = fetchurl { + url = mirror://cpan/authors/id/T/TS/TSIBLEY/CSS-Squish-0.10.tar.gz; + sha256 = "65fc0d69acd1fa33d9a4c3b09cce0fbd737d747b1fcc4e9d87ebd91050cbcb4e"; + }; + buildInputs = [ TestLongString ]; + propagatedBuildInputs = [ URI ]; + meta = { + description = "Compact many CSS files into one big file"; + license = "unknown"; + }; + }; + Curses = let version = "1.33"; in buildPerlPackage { name = "Curses-${version}"; src = fetchurl { @@ -2571,6 +2676,20 @@ let self = _self // overrides; _self = with self; { }; }; + DataGUID = buildPerlPackage { + name = "Data-GUID-0.048"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RJ/RJBS/Data-GUID-0.048.tar.gz; + sha256 = "cb263b1e6eeecc5797de6f945d42ace2db26c156172883550b73fa2ecdab29dc"; + }; + propagatedBuildInputs = [ DataUUID SubExporter SubInstall ]; + meta = { + homepage = https://github.com/rjbs/Data-GUID; + description = "Globally unique identifiers"; + license = "perl"; + }; + }; + DataHierarchy = buildPerlPackage { name = "Data-Hierarchy-0.34"; src = fetchurl { @@ -2580,6 +2699,20 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [TestException]; }; + DataICal = buildPerlPackage { + name = "Data-ICal-0.22"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AL/ALEXMV/Data-ICal-0.22.tar.gz; + sha256 = "8ae9d20af244e5a6f606c7325e9d145dd0002676a178357af860a5e156925720"; + }; + buildInputs = [ TestLongString TestNoWarnings TestWarn ]; + propagatedBuildInputs = [ ClassAccessor ClassReturnValue TextvFileasData ]; + meta = { + description = "Generates iCalendar (RFC 2445) calendar files"; + license = "perl"; + }; + }; + DataInteger = buildPerlPackage rec { name = "Data-Integer-0.005"; src = fetchurl { @@ -2731,6 +2864,16 @@ let self = _self // overrides; _self = with self; { }; }; + DateExtract = buildPerlPackage { + name = "Date-Extract-0.05"; + src = fetchurl { + url = mirror://cpan/authors/id/S/SH/SHARYANTO/Date-Extract-0.05.tar.gz; + sha256 = "ef866b4d596e976a6f4e4b266a6ad7fe4513fad9ae761d7a9ef66f672695fe6d"; + }; + buildInputs = [TestMockTime]; + propagatedBuildInputs = [DateTimeFormatNatural ClassDataInheritable]; + }; + DateManip = buildPerlPackage rec { name = "Date-Manip-6.51"; src = fetchurl { @@ -2874,6 +3017,19 @@ let self = _self // overrides; _self = with self; { }; }; + DateTimeFormatMail = buildPerlPackage { + name = "DateTime-Format-Mail-0.402"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BO/BOOK/DateTime-Format-Mail-0.402.tar.gz; + sha256 = "d788c883969e1647ed0524cc130d897276de23eaa3261f3616458ddd3a4a88fb"; + }; + propagatedBuildInputs = [ DateTime ParamsValidate ]; + meta = { + description = "Convert between DateTime and RFC2822/822 formats"; + license = "perl"; + }; + }; + DateTimeFormatNatural = buildPerlPackage { name = "DateTime-Format-Natural-1.03"; src = fetchurl { @@ -2940,6 +3096,20 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ]; }; + DateTimeFormatW3CDTF = buildPerlPackage { + name = "DateTime-Format-W3CDTF-0.06"; + src = fetchurl { + url = mirror://cpan/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.06.tar.gz; + sha256 = "b9a542bed9c52b0a89dd590a5184e38ee334c824bbe6bac842dd7dd1f88fbd7a"; + }; + propagatedBuildInputs = [ DateTime ]; + meta = { + homepage = http://search.cpan.org/dist/DateTime-Format-W3CDTF/; + description = "Parse and format W3CDTF datetime strings"; + license = "perl"; + }; + }; + DateTimeLocale = buildPerlPackage rec { name = "DateTime-Locale-0.92"; src = fetchurl { @@ -3268,6 +3438,19 @@ let self = _self // overrides; _self = with self; { }; }; + DBIxDBSchema = buildPerlPackage { + name = "DBIx-DBSchema-0.45"; + src = fetchurl { + url = mirror://cpan/authors/id/I/IV/IVAN/DBIx-DBSchema-0.45.tar.gz; + sha256 = "7a2a978fb6d9feaa3e4b109c71c963b26a008a2d130c5876ecf24c5a72338a1d"; + }; + propagatedBuildInputs = [ DBI ]; + meta = { + description = "Unknown"; + license = "unknown"; + }; + }; + DBIxHTMLViewLATEST = buildPerlPackage { name = "DBIx-HTMLView-LATEST"; src = fetchurl { @@ -3277,6 +3460,20 @@ let self = _self // overrides; _self = with self; { doCheck = false; }; + DBIxSearchBuilder = buildPerlPackage { + name = "DBIx-SearchBuilder-1.66"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AL/ALEXMV/DBIx-SearchBuilder-1.66.tar.gz; + sha256 = "e2703c3f4b38cf232dec48be98aeab6d2dbee077dcf059369b825629c4be702e"; + }; + buildInputs = [ DBDSQLite ]; + propagatedBuildInputs = [ CacheSimpleTimedExpiry ClassAccessor ClassReturnValue Clone DBI DBIxDBSchema Want ]; + meta = { + description = "Encapsulate SQL queries and rows in simple perl objects"; + license = "perl"; + }; + }; + DBIxSimple = buildPerlPackage { name = "DBIx-Simple-1.35"; src = fetchurl { @@ -3876,6 +4073,20 @@ let self = _self // overrides; _self = with self; { }; }; + EmailAddressList = buildPerlPackage { + name = "Email-Address-List-0.05"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AL/ALEXMV/Email-Address-List-0.05.tar.gz; + sha256 = "705c23fc2163c2347ba0aea998450259f7b10577a368c6d310bd4e98b427a033"; + }; + buildInputs = [ JSON ]; + propagatedBuildInputs = [ EmailAddress ]; + meta = { + description = "RFC close address list parsing"; + license = "perl"; + }; + }; + EmailDateFormat = buildPerlPackage rec { name = "Email-Date-Format-1.005"; src = fetchurl { @@ -4006,10 +4217,14 @@ let self = _self // overrides; _self = with self; { }; Encode = buildPerlPackage { - name = "Encode-2.63"; + name = "Encode-2.78"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-2.63.tar.gz; - sha256 = "1wrqm6c194l5yjaifc6nxx2b768sph2pv4n86fgh4blls0pvs6z4"; + url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-2.78.tar.gz; + sha256 = "1fc8d5c0e75ef85beeac71d1fe4a3bfcb8207755a46b32f783a3a6682672762a"; + }; + meta = { + description = "Unknown"; + license = "perl"; }; }; @@ -4775,6 +4990,18 @@ let self = _self // overrides; _self = with self; { }; }; + FileSlurper = buildPerlPackage { + name = "File-Slurper-0.008"; + src = fetchurl { + url = mirror://cpan/authors/id/L/LE/LEONT/File-Slurper-0.008.tar.gz; + sha256 = "10f685140e2cebdd0381f24b010b028f9ca2574361a78f99f4dfe87af5d5d233"; + }; + meta = { + description = "A simple, sane and efficient module to slurp a file"; + license = "perl"; + }; + }; + FileSlurpTiny = buildPerlPackage rec { name = "File-Slurp-Tiny-0.004"; src = fetchurl { @@ -5232,6 +5459,47 @@ let self = _self // overrides; _self = with self; { }; }; + HTMLFormatter = buildPerlModule { + name = "HTML-Formatter-2.14"; + src = fetchurl { + url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-Formatter-2.14.tar.gz; + sha256 = "d28eeeab48ab5f7bfcc73cc106b0f756073d98d48dfdb91ca2951f832f8e035e"; + }; + buildInputs = [ FileSlurper TestCPANMeta TestEOL TestNoTabs perl ]; + propagatedBuildInputs = [ FontAFM HTMLTree ]; + meta = { + homepage = https://metacpan.org/release/HTML-Formatter; + description = "Base class for HTML formatters"; + license = "perl"; + }; + }; + + HTMLFormatTextWithLinks = buildPerlPackage { + name = "HTML-FormatText-WithLinks-0.15"; + src = fetchurl { + url = mirror://cpan/authors/id/S/ST/STRUAN/HTML-FormatText-WithLinks-0.15.tar.gz; + sha256 = "7fcc1ab79eb58fb97d43e5bdd14e21791a250a204998918c62d6a171131833b1"; + }; + propagatedBuildInputs = [ HTMLFormatter HTMLTree URI ]; + meta = { + description = "HTML to text conversion with links as footnotes"; + license = "perl"; + }; + }; + + HTMLFormatTextWithLinksAndTables = buildPerlPackage { + name = "HTML-FormatText-WithLinks-AndTables-0.06"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DA/DALEEVANS/HTML-FormatText-WithLinks-AndTables-0.06.tar.gz; + sha256 = "e5b23f0475fb81fd6fed688bb914295a39542b3e5b43c8517494226a52d868fa"; + }; + propagatedBuildInputs = [ HTMLFormatTextWithLinks HTMLFormatter HTMLTree ]; + meta = { + description = "Converts HTML to Text with tables intact"; + license = "perl"; + }; + }; + HTMLFormFu = buildPerlPackage rec { name = "HTML-FormFu-2.01"; src = fetchurl { @@ -5283,6 +5551,21 @@ let self = _self // overrides; _self = with self; { }; }; + HTMLMasonPSGIHandler = buildPerlPackage { + name = "HTML-Mason-PSGIHandler-0.53"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RU/RUZ/HTML-Mason-PSGIHandler-0.53.tar.gz; + sha256 = "eafd7c7655dfa8261df3446b931a283d30306877b83ac4671c49cff74ea7f00b"; + }; + buildInputs = [ Plack ]; + propagatedBuildInputs = [ CGIPSGI HTMLMason ]; + meta = { + homepage = http://search.cpan.org/dist/HTML-Mason-PSGIHandler/; + description = "PSGI handler for HTML::Mason"; + license = "perl"; + }; + }; + HTMLParser = buildPerlPackage { name = "HTML-Parser-3.71"; src = fetchurl { @@ -5296,6 +5579,32 @@ let self = _self // overrides; _self = with self; { }; }; + HTMLQuoted = buildPerlPackage { + name = "HTML-Quoted-0.04"; + src = fetchurl { + url = mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-Quoted-0.04.tar.gz; + sha256 = "8b41f313fdc1812f02f6f6c37d58f212c84fdcf7827f7fd4b030907f39dc650c"; + }; + propagatedBuildInputs = [ HTMLParser ]; + meta = { + description = "Extract structure of quoted HTML mail message"; + license = "perl"; + }; + }; + + HTMLRewriteAttributes = buildPerlPackage { + name = "HTML-RewriteAttributes-0.05"; + src = fetchurl { + url = mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-RewriteAttributes-0.05.tar.gz; + sha256 = "1808ec7cdf40d2708575fe6155a88f103b17fec77973a5831c2f24c250e7a58c"; + }; + propagatedBuildInputs = [ HTMLParser HTMLTagset URI ]; + meta = { + description = "Concise attribute rewriting"; + license = "perl"; + }; + }; + HTMLSelectorXPath = buildPerlPackage { name = "HTML-Selector-XPath-0.16"; src = fetchurl { @@ -6369,13 +6678,29 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [I18NLangTags]; }; + LocaleMaketextFuzzy = buildPerlPackage { + name = "Locale-Maketext-Fuzzy-0.11"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Fuzzy-0.11.tar.gz; + sha256 = "3785171ceb78cc7671319a3a6d8ced9b190e097dfcd9b2a9ebc804cd1a282f96"; + }; + meta = { + description = "Maketext from already interpolated strings"; + license = "unrestricted"; + }; + }; + LocaleMaketextLexicon = buildPerlPackage { - name = "Locale-Maketext-Lexicon-0.66"; + name = "Locale-Maketext-Lexicon-1.00"; src = fetchurl { - url = mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Lexicon-0.66.tar.gz; - sha256 = "1cd2kbcrlyjcmlr7m8kf94mm1hlr7hpv1r80a596f4ljk81f2nvd"; + url = mirror://cpan/authors/id/D/DR/DRTECH/Locale-Maketext-Lexicon-1.00.tar.gz; + sha256 = "b73f6b04a58d3f0e38ebf2115a4c1532f1a4eef6fac5c6a2a449e4e14c1ddc7c"; + }; + meta = { + homepage = http://search.cpan.org/dist/Locale-Maketext-Lexicon; + description = "Use other catalog formats in Maketext"; + license = "mit"; }; - propagatedBuildInputs = [LocaleMaketext]; }; LocaleMaketextSimple = buildPerlPackage { @@ -6937,6 +7262,20 @@ let self = _self // overrides; _self = with self; { buildInputs = [ ProcWaitStat ]; }; + MIMEtools = buildPerlPackage { + name = "MIME-tools-5.507"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DS/DSKOLL/MIME-tools-5.507.tar.gz; + sha256 = "2f43683e1d5bed21179207d81c0caf1d5b5d480d018ac812f4ab950879fe7793"; + }; + buildInputs = [ TestDeep ]; + propagatedBuildInputs = [ MailTools ]; + meta = { + description = "Tools to manipulate MIME messages"; + license = "perl"; + }; + }; + MIMETypes = buildPerlPackage { name = "MIME-Types-2.04"; src = fetchurl { @@ -7199,6 +7538,19 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [UNIVERSALrequire]; }; + ModuleRefresh = buildPerlPackage { + name = "Module-Refresh-0.17"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AL/ALEXMV/Module-Refresh-0.17.tar.gz; + sha256 = "6b30a6ceddc6512ab4490c16372ecf309a259f2ca147d622e478ac54e08511c3"; + }; + buildInputs = [ PathClass ]; + meta = { + description = "Refresh %INC files when updated on disk"; + license = "perl"; + }; + }; + ModuleRuntime = buildPerlPackage { name = "Module-Runtime-0.014"; src = fetchurl { @@ -7280,6 +7632,18 @@ let self = _self // overrides; _self = with self; { }; }; + ModuleVersionsReport = buildPerlPackage { + name = "Module-Versions-Report-1.06"; + src = fetchurl { + url = mirror://cpan/authors/id/J/JE/JESSE/Module-Versions-Report-1.06.tar.gz; + sha256 = "a3261d0d84b17678d8c4fd55eb0f892f5144d81ca53ea9a38d75d1a00ad9796a"; + }; + meta = { + description = "Report versions of all modules in memory"; + license = "perl"; + }; + }; + mod_perl2 = buildPerlPackage { name = "mod_perl-2.0.9"; src = fetchurl { @@ -8676,6 +9040,20 @@ let self = _self // overrides; _self = with self; { }; }; + ParallelPrefork = buildPerlPackage { + name = "Parallel-Prefork-0.17"; + src = fetchurl { + url = mirror://cpan/authors/id/K/KA/KAZUHO/Parallel-Prefork-0.17.tar.gz; + sha256 = "0d81de2632281091bd31297de1906e14cae4e845cf32200953b50406859e763b"; + }; + buildInputs = [ TestRequires TestSharedFork ]; + propagatedBuildInputs = [ ClassAccessorLite ListMoreUtils ProcWait3 ScopeGuard SignalMask ]; + meta = { + description = "A simple prefork server framework"; + license = "perl"; + }; + }; + ParamsClassify = buildPerlPackage rec { name = "Params-Classify-0.013"; src = fetchurl { @@ -9139,6 +9517,18 @@ let self = _self // overrides; _self = with self; { }; }; + ProcWait3 = buildPerlPackage { + name = "Proc-Wait3-0.05"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CT/CTILMES/Proc-Wait3-0.05.tar.gz; + sha256 = "1a907f5db6933dc2939bbfeffe19eeae7ed39ef1b97a2bc9b723f2f25f81caf3"; + }; + meta = { + description = "Perl extension for wait3 system call"; + license = "perl"; + }; + }; + ProcWaitStat = buildPerlPackage rec { name = "Proc-WaitStat-1.00"; src = fetchurl { @@ -9502,6 +9892,18 @@ let self = _self // overrides; _self = with self; { }; }; + RegexpCommonnetCIDR = buildPerlPackage { + name = "Regexp-Common-net-CIDR-0.03"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BP/BPS/Regexp-Common-net-CIDR-0.03.tar.gz; + sha256 = "39606a57aab20d4f4468300f2ec3fa2ab557fcc9cb7880ec7c6e07d80162da33"; + }; + propagatedBuildInputs = [ RegexpCommon ]; + meta = { + license = "perl"; + }; + }; + RegexpCopy = buildPerlPackage rec { name = "Regexp-Copy-0.06"; src = fetchurl { @@ -9510,6 +9912,17 @@ let self = _self // overrides; _self = with self; { }; }; + RegexpIPv6 = buildPerlPackage { + name = "Regexp-IPv6-0.03"; + src = fetchurl { + url = mirror://cpan/authors/id/S/SA/SALVA/Regexp-IPv6-0.03.tar.gz; + sha256 = "d542d17d75ce93631de8ba2156da0e0b58a755c409cd4a0d27a3873a26712ce2"; + }; + meta = { + license = "unknown"; + }; + }; + RegexpParser = buildPerlPackage { name = "Regexp-Parser-0.21"; src = fetchurl { @@ -9557,6 +9970,18 @@ let self = _self // overrides; _self = with self; { }; }; + RoleBasic = buildPerlPackage { + name = "Role-Basic-0.13"; + src = fetchurl { + url = mirror://cpan/authors/id/O/OV/OVID/Role-Basic-0.13.tar.gz; + sha256 = "38a0959ef9f193ff76e72c325a9e9211bc4868689bd0e2b005778f53f8b6f36a"; + }; + meta = { + description = "Just roles. Nothing else"; + license = "perl"; + }; + }; + RoleHasMessage = buildPerlPackage { name = "Role-HasMessage-0.006"; src = fetchurl { @@ -9716,6 +10141,20 @@ let self = _self // overrides; _self = with self; { }; }; + ServerStarter = buildPerlModule { + name = "Server-Starter-0.32"; + src = fetchurl { + url = mirror://cpan/authors/id/K/KA/KAZUHO/Server-Starter-0.32.tar.gz; + sha256 = "a8ecc19f05f3c3b079e1c7f2c007a6df2b9a2912b9848a8fb51bd78c7b13ac1a"; + }; + buildInputs = [ TestRequires TestSharedFork TestTCP ]; + meta = { + homepage = https://github.com/kazuho/p5-Server-Starter; + description = "A superdaemon for hot-deploying server programs"; + license = "perl"; + }; + }; + SetInfinite = buildPerlPackage { name = "Set-Infinite-0.65"; src = fetchurl { @@ -9756,6 +10195,19 @@ let self = _self // overrides; _self = with self; { }; }; + SignalMask = buildPerlPackage { + name = "Signal-Mask-0.008"; + src = fetchurl { + url = mirror://cpan/authors/id/L/LE/LEONT/Signal-Mask-0.008.tar.gz; + sha256 = "043d995b6b249d9ebc04c467db31bb7ddc2e55faa08e885bdb050b1f2336b73f"; + }; + propagatedBuildInputs = [ IPCSignal ]; + meta = { + description = "Signal masks made easy"; + license = "perl"; + }; + }; + SOAPLite = buildPerlPackage { name = "SOAP-Lite-1.11"; src = fetchurl { @@ -9920,6 +10372,20 @@ let self = _self // overrides; _self = with self; { }; }; + Starlet = buildPerlPackage { + name = "Starlet-0.28"; + src = fetchurl { + url = mirror://cpan/authors/id/K/KA/KAZUHO/Starlet-0.28.tar.gz; + sha256 = "245f606cdc8acadbe12e7e56dfa0752a8e8daa9a094373394fc17a45f5dde850"; + }; + buildInputs = [ LWP TestTCP ]; + propagatedBuildInputs = [ ParallelPrefork Plack ServerStarter ]; + meta = { + description = "A simple, high-performance PSGI/Plack HTTP server"; + license = "perl"; + }; + }; + Starman = let version = "0.4014"; in buildPerlModule { name = "Starman-${version}"; src = fetchurl { @@ -10358,6 +10824,18 @@ let self = _self // overrides; _self = with self; { doCheck = false; # FIXME: 2/293 test failures }; + SymbolGlobalName = buildPerlPackage { + name = "Symbol-Global-Name-0.05"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AL/ALEXMV/Symbol-Global-Name-0.05.tar.gz; + sha256 = "0f7623e9d724760aa64040222da1d82f1188586791329261cc60dad1d60d6a92"; + }; + meta = { + description = "Finds name and type of a global variable"; + license = "perl"; + }; + }; + SymbolUtil = buildPerlPackage { name = "Symbol-Util-0.0203"; src = fetchurl { @@ -11752,6 +12230,18 @@ let self = _self // overrides; _self = with self; { }; }; + TestManifest = buildPerlPackage { + name = "Test-Manifest-2.02"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BD/BDFOY/Test-Manifest-2.02.tar.gz; + sha256 = "064783ceaf7dd569a5724d40900a3f9d92168ee4c613f7a3cb99a99aa8283396"; + }; + meta = { + description = "Interact with a t/test_manifest file"; + license = "perl"; + }; + }; + TextMarkdown = buildPerlPackage rec { name = "Text-Markdown-1.000031"; src = fetchurl { @@ -11805,6 +12295,30 @@ let self = _self // overrides; _self = with self; { }; }; + TestNumberDelta = buildPerlPackage { + name = "Test-Number-Delta-1.06"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz; + sha256 = "535430919e6fdf6ce55ff76e9892afccba3b7d4160db45f3ac43b0f92ffcd049"; + }; + meta = { + homepage = https://github.com/dagolden/Test-Number-Delta; + description = "Compare the difference between numbers against a given tolerance"; + license = "apache"; + }; + }; + + TextPasswordPronounceable = buildPerlPackage { + name = "Text-Password-Pronounceable-0.30"; + src = fetchurl { + url = mirror://cpan/authors/id/T/TS/TSIBLEY/Text-Password-Pronounceable-0.30.tar.gz; + sha256 = "c186a50256e0bedfafb17e7ce157e7c52f19503bb79e18ebf06255911f6ead1a"; + }; + meta = { + license = "perl"; + }; + }; + TextPDF = buildPerlPackage rec { name = "Text-PDF-0.29a"; src = fetchurl { @@ -11814,6 +12328,19 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ CompressZlib ]; }; + TextQuoted = buildPerlPackage { + name = "Text-Quoted-2.09"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AL/ALEXMV/Text-Quoted-2.09.tar.gz; + sha256 = "446c3e8da7e65f7988cd36e9da1159614eb0b337d6c4c0dec8f6df7673b96c5f"; + }; + propagatedBuildInputs = [ TextAutoformat ]; + meta = { + description = "Extract the structure of a quoted mail message"; + license = "perl"; + }; + }; + TextRecordParser = buildPerlPackage rec { name = "Text-RecordParser-1.6.5"; src = fetchurl { @@ -12003,6 +12530,19 @@ let self = _self // overrides; _self = with self; { }; }; + TextvFileasData = buildPerlPackage { + name = "Text-vFile-asData-0.08"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RC/RCLAMP/Text-vFile-asData-0.08.tar.gz; + sha256 = "b291ab5e0f987c5172560a692234711a75e4596d83475f72d01278369532f82a"; + }; + propagatedBuildInputs = [ ClassAccessorChained ]; + meta = { + description = "Parse vFile formatted files into data structures"; + license = "perl"; + }; + }; + TextWikiFormat = buildPerlPackage { name = "Text-WikiFormat-0.81"; src = fetchurl { @@ -12016,6 +12556,18 @@ let self = _self // overrides; _self = with self; { }; }; + TextWrapper = buildPerlPackage { + name = "Text-Wrapper-1.05"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CJ/CJM/Text-Wrapper-1.05.tar.gz; + sha256 = "64268e15983a9df47e1d9199a491f394e89f542e54afb33f4b78f3f318e09ab9"; + }; + meta = { + description = "Word wrap text by breaking long lines"; + license = "perl"; + }; + }; + threads = buildPerlPackage rec { name = "threads-2.02"; src = fetchurl { @@ -12199,6 +12751,19 @@ let self = _self // overrides; _self = with self; { }; }; + TimeParseDate = buildPerlPackage { + name = "Time-ParseDate-2015.103"; + src = fetchurl { + url = mirror://cpan/authors/id/M/MU/MUIR/modules/Time-ParseDate-2015.103.tar.gz; + sha256 = "2c1a06235bf811813caac9eaa9daa71af758667cdf7b082cb59863220fcaeed1"; + }; + doCheck = false; + meta = { + description = "Parse and format time values"; + license = "unknown"; + }; + }; + Tk = buildPerlPackage rec { name = "Tk-804.032_501"; src = fetchurl { @@ -12821,6 +13386,21 @@ let self = _self // overrides; _self = with self; { }; }; + XMLRSS = buildPerlPackage { + name = "XML-RSS-1.57"; + src = fetchurl { + url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.57.tar.gz; + sha256 = "c540a1aa7445bf611635537015590575c90c2b07c19529537677a4bcf3a4e6ae"; + }; + buildInputs = [ TestManifest ]; + propagatedBuildInputs = [ DateTime DateTimeFormatMail DateTimeFormatW3CDTF HTMLParser XMLParser ]; + meta = { + homepage = http://perl-rss.sourceforge.net/; + description = "Creates and updates RSS files"; + license = "perl"; + }; + }; + XMLSAX = buildPerlPackage { name = "XML-SAX-0.96"; src = fetchurl { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ec17d9434a0..7292b812622 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11881,11 +11881,11 @@ in modules // { }; in buildPythonPackage ( rec { name = "numpy-${version}"; - version = "1.10.2"; + version = "1.10.4"; src = pkgs.fetchurl { - url = "mirror://sourceforge/numpy/${name}.tar.gz"; - sha256 = "23a3befdf955db4d616f8bb77b324680a80a323e0c42a7e8d7388ef578d8ffa9"; + url = "https://pypi.python.org/packages/source/n/numpy/${name}.tar.gz"; + sha256 = "7356e98fbcc529e8d540666f5a919912752e569150e9a4f8d869c686f14c720b"; }; disabled = isPyPy; # WIP @@ -11899,10 +11899,15 @@ in modules // { buildInputs = [ pkgs.gfortran self.nose ]; propagatedBuildInputs = [ support.openblas ]; - # This patch removes the test of large file support, which takes forever + # Disable failing test_f2py test. + # f2py couldn't be found by test, + # even though it was used successfully to build numpy + + # The large file support test is disabled because it takes forever # and can cause the machine to run out of disk space when run. - patchPhase = '' - patch -p0 < ${../development/python-modules/numpy-no-large-files.patch} + prePatch = '' + sed -i 's/test_f2py/donttest/' numpy/tests/test_scripts.py + sed -i 's/test_large_file_support/donttest/' numpy/lib/tests/test_format.py ''; meta = { @@ -17823,7 +17828,7 @@ in modules // { md5 = "f16f4237c9ee483a0cd13208849d96ad"; }; - propagatedBuildInputs = with self; [ twisted ]; + propagatedBuildInputs = with self; [ twisted15 ]; meta = { description = "setuptools plug-in that helps run unit tests built with the \"Trial\" framework (from Twisted)"; @@ -17852,11 +17857,11 @@ in modules // { simplejson = buildPythonPackage (rec { - name = "simplejson-3.3.0"; + name = "simplejson-3.8.1"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz"; - md5 = "0e29b393bceac8081fa4e93ff9f6a001"; + sha256 = "14r4l4rcsyf87p2j4ycsbb017n4vzxfmv285rq2gny4w47rwi2j2"; }; meta = { @@ -19758,6 +19763,35 @@ in modules // { }; }; + twisted15 = buildPythonPackage rec { + disabled = isPy3k; + + name = "Twisted-15.5.0"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/T/Twisted/${name}.tar.bz2"; + sha256 = "0zy18lcrris4aaslil5k12i13k56c32hzfdv6h10kbnzl026h158"; + }; + + propagatedBuildInputs = with self; [ zope_interface ]; + + # Generate Twisted's plug-in cache. Twited users must do it as well. See + # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3 + # and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for + # details. + postInstall = "$out/bin/twistd --help > /dev/null"; + + meta = { + homepage = http://twistedmatrix.com/; + description = "Twisted, an event-driven networking engine written in Python"; + longDescription = '' + Twisted is an event-driven networking engine written in Python + and licensed under the MIT license. + ''; + license = licenses.mit; + maintainers = [ ]; + }; + }; + tzlocal = buildPythonPackage rec { name = "tzlocal-1.1.1"; @@ -22583,6 +22617,133 @@ in modules // { }; }; + blist = buildPythonPackage rec { + name = "blist-${version}"; + version = "1.3.6"; + disabled = isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/b/blist/blist-${version}.tar.gz"; + sha256 = "1hqz9pqbwx0czvq9bjdqjqh5bwfksva1is0anfazig81n18c84is"; + }; + }; + + canonicaljson = buildPythonPackage rec { + name = "canonicaljson-${version}"; + version = "1.0.0"; + + src = pkgs.fetchgit { + url = "https://github.com/matrix-org/python-canonicaljson.git"; + rev = "refs/tags/v${version}"; + sha256 = "29802d0effacd26ca1d6eccc8d4c7e4f543a194754ba89263861e87f44a83f0c"; + }; + + propagatedBuildInputs = with self; [ + frozendict simplejson + ]; + }; + + daemonize = buildPythonPackage rec { + name = "daemonize-${version}"; + version = "2.4.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/daemonize/daemonize-${version}.tar.gz"; + sha256 = "0y139sq657bpzfv6k0aqm4071z4s40i6ybpni9qvngvdcz6r86n2"; + }; + }; + + frozendict = buildPythonPackage rec { + name = "frozendict-${version}"; + version = "0.5"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/f/frozendict/frozendict-0.5.tar.gz"; + sha256 = "0m4kg6hbadvf99if78nx01q7qnbyhdw3x4znl5dasgciyi54432n"; + }; + }; + + pydenticon = buildPythonPackage rec { + name = "pydenticon-${version}"; + version = "0.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pydenticon/pydenticon-0.2.tar.gz"; + sha256 = "035dawcspgjw2rksbnn863s7b0i9ac8cc1nshshvd1l837ir1czp"; + }; + propagatedBuildInputs = with self; [ + pillow mock + ]; + }; + + pymacaroons-pynacl = buildPythonPackage rec { + name = "pymacaroons-pynacl-${version}"; + version = "0.9.3"; + + src = pkgs.fetchgit { + url = "https://github.com/matrix-org/pymacaroons.git"; + rev = "refs/tags/v${version}"; + sha256 = "481a486520f5a3ad2761c3cd3954d2b08f456a94fb080aaa4ad1e68ddc705b52"; + }; + + propagatedBuildInputs = with self; [ pynacl six ]; + }; + + pynacl = buildPythonPackage rec { + name = "pynacl-${version}"; + version = "0.3.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/P/PyNaCl/PyNaCl-0.3.0.tar.gz"; + sha256 = "1hknxlp3a3f8njn19w92p8nhzl9jkfwzhv5fmxhmyq2m8hqrfj8j"; + }; + + propagatedBuildInputs = with self; [pkgs.libsodium six cffi pycparser pytest]; + }; + + service-identity = buildPythonPackage rec { + name = "service-identity-${version}"; + version = "14.0.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/s/service_identity/service_identity-${version}.tar.gz"; + sha256 = "0njg9bklkkp4rl2b9vsfh9aasxy3w2dmjkv9cq34jn65lwcs619i"; + }; + + propagatedBuildInputs = with self; [ + characteristic pyasn1 pyasn1-modules pyopenssl idna + ]; + + buildInputs = with self; [ + pytest + ]; + }; + + signedjson = buildPythonPackage rec { + name = "signedjson-${version}"; + version = "1.0.0"; + + src = pkgs.fetchgit { + url = "https://github.com/matrix-org/python-signedjson.git"; + rev = "refs/tags/v${version}"; + sha256 = "4ef1c89ea85846632d711a37a2e6aae1348c62b9d62ed0e80428b4a00642e9df"; + }; + + propagatedBuildInputs = with self; [ + canonicaljson unpaddedbase64 pynacl + ]; + }; + + unpaddedbase64 = buildPythonPackage rec { + name = "unpaddedbase64-${version}"; + version = "1.0.1"; + + src = pkgs.fetchgit { + url = "https://github.com/matrix-org/python-unpaddedbase64.git"; + rev = "refs/tags/v${version}"; + sha256 = "f221240a6d414c4244ab906b1dc8983c4d1114acb778cb857f6fc50d710be502"; + }; + }; thumbor = buildPythonPackage rec { |