git.iko.soy/typeable/nixpkgs
on master help sign in
Merge master into staging-next
commit4da57fcb6260771f18aab1f16a0bd26bc0f028c5 authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> dateFri 7 Jan 2022, 00:01 (5 years ago) parenteab8e6b017328f
38 files changed+596−271
doc/builders/fetchers.chapter.md+8−1 nixos/doc/manual/from_md/release-notes/rl-2205.section.xml+9 nixos/doc/manual/release-notes/rl-2205.section.md+4 nixos/modules/services/web-apps/bookstack.nix−3 nixos/modules/services/web-apps/wordpress.nix+1−1 nixos/modules/system/boot/binfmt.nix+48−4 nixos/tests/systemd-binfmt.nix+86−20 pkgs/applications/graphics/ovito/default.nix+31−10 pkgs/applications/networking/instant-messengers/baresip/default.nix+92−24 pkgs/applications/office/libreoffice/src-fresh/download.nix+4−4 pkgs/applications/office/libreoffice/src-fresh/primary.nix+5−5 pkgs/applications/virtualization/qemu/binfmt-p-wrapper.c+79 pkgs/applications/virtualization/qemu/binfmt-p-wrapper.nix+31 pkgs/build-support/fetchsourcehut/default.nix+35−10 pkgs/development/libraries/arrow-cpp/default.nix+1−7 pkgs/development/libraries/dyncall/default.nix+3−3 pkgs/development/libraries/libre/default.nix+11−13 pkgs/development/libraries/librem/default.nix+11−13 pkgs/development/libraries/qscintilla-qt4/default.nix+10−3 pkgs/development/libraries/qscintilla/default.nix+8−4 pkgs/development/python-modules/chainer/default.nix+2−2 pkgs/development/python-modules/datashader/default.nix+17−11 pkgs/development/python-modules/google-cloud-storage/default.nix+2−2 pkgs/development/python-modules/liquidctl/default.nix+2−2 pkgs/development/python-modules/mautrix/default.nix+2−2 pkgs/development/python-modules/miniaudio/default.nix+2−2 pkgs/development/python-modules/pyfftw/default.nix+2−2 pkgs/development/python-modules/qscintilla-qt4/default.nix+28−28 pkgs/development/python-modules/qscintilla-qt5/default.nix+1−1 pkgs/development/python-modules/qscintilla/default.nix−43 pkgs/development/python-modules/tables/default.nix+4−12 pkgs/development/python-modules/tensorly/default.nix+11−20 pkgs/development/python-modules/uritemplate/default.nix+22−9 pkgs/development/tools/analysis/checkov/default.nix+2−2 pkgs/development/tools/misc/clojure-lsp/default.nix+6−2 pkgs/servers/http/apache-httpd/2.4.nix+2−2 pkgs/tools/security/quark-engine/default.nix+9−3 pkgs/top-level/all-packages.nix+5−1
doc/builders/fetchers.chapter.md+8−1
@@ -82,4 +82,11 @@ This is used with repo.or.cz repositories. The arguments expected are very simil
8282
8383## `fetchFromSourcehut` {#fetchfromsourcehut}
8484
85−This is used with sourcehut repositories. The arguments expected are very similar to fetchFromGitHub above. Don't forget the tilde (~) in front of the user name!
85+This is used with sourcehut repositories. Similar to `fetchFromGitHub` above,
86+it expects `owner`, `repo`, `rev` and `sha256`, but don't forget the tilde (~)
87+in front of the username! Expected arguments also include `vc` ("git" (default)
88+or "hg"), `domain` and `fetchSubmodules`.
89+
90+If `fetchSubmodules` is `true`, `fetchFromSourcehut` uses `fetchgit`
91+or `fetchhg` with `fetchSubmodules` or `fetchSubrepos` set to `true`,
92+respectively. Otherwise the fetcher uses `fetchzip`.
nixos/doc/manual/from_md/release-notes/rl-2205.section.xml+9
@@ -325,6 +325,15 @@
325325 files.
326326 </para>
327327 </listitem>
328+ <listitem>
329+ <para>
330+ <literal>fetchFromSourcehut</literal> now allows fetching
331+ repositories recursively using <literal>fetchgit</literal> or
332+ <literal>fetchhg</literal> if the argument
333+ <literal>fetchSubmodules</literal> is set to
334+ <literal>true</literal>.
335+ </para>
336+ </listitem>
328337 </itemizedlist>
329338 </section>
330339</section>
nixos/doc/manual/release-notes/rl-2205.section.md+4
@@ -120,3 +120,7 @@ In addition to numerous new and upgraded packages, this release has the followin
120120- The `services.stubby` module was converted to a [settings-style](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration.
121121
122122- The option `services.duplicati.dataDir` has been added to allow changing the location of duplicati's files.
123+
124+- `fetchFromSourcehut` now allows fetching repositories recursively
125+ using `fetchgit` or `fetchhg` if the argument `fetchSubmodules`
126+ is set to `true`.
nixos/modules/services/web-apps/bookstack.nix−3
@@ -329,9 +329,6 @@ in {
329329 ${pkgs.php}/bin/php artisan cache:clear
330330 ${pkgs.php}/bin/php artisan config:clear
331331 ${pkgs.php}/bin/php artisan view:clear
332− ${pkgs.php}/bin/php artisan config:cache
333− ${pkgs.php}/bin/php artisan route:cache
334− ${pkgs.php}/bin/php artisan view:cache
335332 '';
336333 };
337334
nixos/modules/services/web-apps/wordpress.nix+1−1
@@ -359,7 +359,7 @@ in
359359
360360 DirectoryIndex index.php
361361 Require all granted
362− Options +FollowSymLinks
362+ Options +FollowSymLinks -Indexes
363363 </Directory>
364364
365365 # https://wordpress.org/support/article/hardening-wordpress/#securing-wp-config-php
nixos/modules/system/boot/binfmt.nix+48−4
@@ -20,16 +20,20 @@ let
2020 optionalString fixBinary "F";
2121 in ":${name}:${type}:${offset'}:${magicOrExtension}:${mask'}:${interpreter}:${flags}";
2222
23− activationSnippet = name: { interpreter, ... }: ''
23+ activationSnippet = name: { interpreter, wrapInterpreterInShell, ... }: if wrapInterpreterInShell then ''
2424 rm -f /run/binfmt/${name}
2525 cat > /run/binfmt/${name} << 'EOF'
2626 #!${pkgs.bash}/bin/sh
2727 exec -- ${interpreter} "$@"
2828 EOF
2929 chmod +x /run/binfmt/${name}
30+ '' else ''
31+ rm -f /run/binfmt/${name}
32+ ln -s ${interpreter} /run/binfmt/${name}
3033 '';
3134
3235 getEmulator = system: (lib.systems.elaborate { inherit system; }).emulator pkgs;
36+ getQemuArch = system: (lib.systems.elaborate { inherit system; }).qemuArch;
3337
3438 # Mapping of systems to “magicOrExtension” and “mask”. Mostly taken from:
3539 # - https://github.com/cleverca22/nixos-configs/blob/master/qemu.nix
@@ -238,6 +242,25 @@ in {
238242 '';
239243 type = types.bool;
240244 };
245+
246+ wrapInterpreterInShell = mkOption {
247+ default = true;
248+ description = ''
249+ Whether to wrap the interpreter in a shell script.
250+
251+ This allows a shell command to be set as the interpreter.
252+ '';
253+ type = types.bool;
254+ };
255+
256+ interpreterSandboxPath = mkOption {
257+ internal = true;
258+ default = null;
259+ description = ''
260+ Path of the interpreter to expose in the build sandbox.
261+ '';
262+ type = types.nullOr types.path;
263+ };
241264 };
242265 }));
243266 };
@@ -258,16 +281,37 @@ in {
258281 config = {
259282 boot.binfmt.registrations = builtins.listToAttrs (map (system: {
260283 name = system;
261− value = {
284+ value = let
262285 interpreter = getEmulator system;
286+ qemuArch = getQemuArch system;
287+
288+ preserveArgvZero = "qemu-${qemuArch}" == baseNameOf interpreter;
289+ interpreterReg = let
290+ wrapperName = "qemu-${qemuArch}-binfmt-P";
291+ wrapper = pkgs.wrapQemuBinfmtP wrapperName interpreter;
292+ in
293+ if preserveArgvZero then "${wrapper}/bin/${wrapperName}"
294+ else interpreter;
295+ in {
296+ inherit preserveArgvZero;
297+
298+ interpreter = interpreterReg;
299+ wrapInterpreterInShell = !preserveArgvZero;
300+ interpreterSandboxPath = dirOf (dirOf interpreterReg);
263301 } // (magics.${system} or (throw "Cannot create binfmt registration for system ${system}"));
264302 }) cfg.emulatedSystems);
265303 # TODO: add a nix.extraPlatforms option to NixOS!
266304 nix.extraOptions = lib.mkIf (cfg.emulatedSystems != []) ''
267305 extra-platforms = ${toString (cfg.emulatedSystems ++ lib.optional pkgs.stdenv.hostPlatform.isx86_64 "i686-linux")}
268306 '';
269− nix.sandboxPaths = lib.mkIf (cfg.emulatedSystems != [])
270− ([ "/run/binfmt" "${pkgs.bash}" ] ++ (map (system: dirOf (dirOf (getEmulator system))) cfg.emulatedSystems));
307+ nix.sandboxPaths = lib.mkIf (cfg.emulatedSystems != []) (
308+ let
309+ ruleFor = system: cfg.registrations.${system};
310+ hasWrappedRule = lib.any (system: (ruleFor system).wrapInterpreterInShell) cfg.emulatedSystems;
311+ in [ "/run/binfmt" ]
312+ ++ lib.optional hasWrappedRule "${pkgs.bash}"
313+ ++ (map (system: (ruleFor system).interpreterSandboxPath) cfg.emulatedSystems)
314+ );
271315
272316 environment.etc."binfmt.d/nixos.conf".source = builtins.toFile "binfmt_nixos.conf"
273317 (lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine config.boot.binfmt.registrations));
nixos/tests/systemd-binfmt.nix+86−20
@@ -1,24 +1,90 @@
11# Teach the kernel how to run armv7l and aarch64-linux binaries,
22# and run GNU Hello for these architectures.
3−import ./make-test-python.nix ({ pkgs, ... }: {
4− name = "systemd-binfmt";
5− machine = {
6− boot.binfmt.emulatedSystems = [
7− "armv7l-linux"
8− "aarch64-linux"
9− ];
10− };
113
12− testScript = let
13− helloArmv7l = pkgs.pkgsCross.armv7l-hf-multiplatform.hello;
14− helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello;
15− in ''
16− machine.start()
17− assert "world" in machine.succeed(
18− "${helloArmv7l}/bin/hello"
19− )
20− assert "world" in machine.succeed(
21− "${helloAarch64}/bin/hello"
22− )
4+{ system ? builtins.currentSystem,
5+ config ? {},
6+ pkgs ? import ../.. { inherit system config; }
7+}:
8+
9+with import ../lib/testing-python.nix { inherit system pkgs; };
10+
11+let
12+ expectArgv0 = xpkgs: xpkgs.runCommandCC "expect-argv0" {
13+ src = pkgs.writeText "expect-argv0.c" ''
14+ #include <stdio.h>
15+ #include <string.h>
16+
17+ int main(int argc, char **argv) {
18+ fprintf(stderr, "Our argv[0] is %s\n", argv[0]);
19+
20+ if (strcmp(argv[0], argv[1])) {
21+ fprintf(stderr, "ERROR: argv[0] is %s, should be %s\n", argv[0], argv[1]);
22+ return 1;
23+ }
24+
25+ return 0;
26+ }
27+ '';
28+ } ''
29+ $CC -o $out $src
2330 '';
24−})
31+in {
32+ basic = makeTest {
33+ name = "systemd-binfmt";
34+ machine = {
35+ boot.binfmt.emulatedSystems = [
36+ "armv7l-linux"
37+ "aarch64-linux"
38+ ];
39+ };
40+
41+ testScript = let
42+ helloArmv7l = pkgs.pkgsCross.armv7l-hf-multiplatform.hello;
43+ helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello;
44+ in ''
45+ machine.start()
46+
47+ assert "world" in machine.succeed(
48+ "${helloArmv7l}/bin/hello"
49+ )
50+
51+ assert "world" in machine.succeed(
52+ "${helloAarch64}/bin/hello"
53+ )
54+ '';
55+ };
56+
57+ preserveArgvZero = makeTest {
58+ name = "systemd-binfmt-preserve-argv0";
59+ machine = {
60+ boot.binfmt.emulatedSystems = [
61+ "aarch64-linux"
62+ ];
63+ };
64+ testScript = let
65+ testAarch64 = expectArgv0 pkgs.pkgsCross.aarch64-multiplatform;
66+ in ''
67+ machine.start()
68+ machine.succeed("exec -a meow ${testAarch64} meow")
69+ '';
70+ };
71+
72+ ldPreload = makeTest {
73+ name = "systemd-binfmt-ld-preload";
74+ machine = {
75+ boot.binfmt.emulatedSystems = [
76+ "aarch64-linux"
77+ ];
78+ };
79+ testScript = let
80+ helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello;
81+ libredirectAarch64 = pkgs.pkgsCross.aarch64-multiplatform.libredirect;
82+ in ''
83+ machine.start()
84+
85+ assert "error" not in machine.succeed(
86+ "LD_PRELOAD='${libredirectAarch64}/lib/libredirect.so' ${helloAarch64}/bin/hello 2>&1"
87+ ).lower()
88+ '';
89+ };
90+}
pkgs/applications/graphics/ovito/default.nix+31−10
@@ -1,16 +1,33 @@
1−{ mkDerivation, lib, fetchFromGitLab, cmake
2−, boost, netcdf, hdf5, fftwSinglePrec, muparser, openssl, ffmpeg, python
3−, qtbase, qtsvg, qttools, qscintilla }:
1+{ mkDerivation
2+, lib
3+, stdenv
4+, fetchFromGitLab
5+, cmake
6+, boost
7+, bzip2
8+, ffmpeg
9+, fftwSinglePrec
10+, hdf5
11+, muparser
12+, netcdf
13+, openssl
14+, python3
15+, qscintilla
16+, qtbase
17+, qtsvg
18+, qttools
19+, VideoDecodeAcceleration
20+}:
421
522mkDerivation rec {
623 pname = "ovito";
7− version = "3.4.0";
24+ version = "3.6.0";
825
926 src = fetchFromGitLab {
1027 owner = "stuko";
1128 repo = "ovito";
1229 rev = "v${version}";
13− sha256 = "1y3wr6yzpsl0qm7cicp2mppfszxd0fgx8hm99in9wff9qd0r16b5";
30+ sha256 = "sha256-yQ8gSe/QM1RRNxk4bDJ+K5QX0eYjZ+iG3QOHj01tJhY=";
1431 };
1532
1633 nativeBuildInputs = [
@@ -19,17 +36,20 @@ mkDerivation rec {
1936
2037 buildInputs = [
2138 boost
22− netcdf
23− hdf5
39+ bzip2
40+ ffmpeg
2441 fftwSinglePrec
42+ hdf5
2543 muparser
44+ netcdf
2645 openssl
27− ffmpeg
28− python
46+ python3
47+ qscintilla
2948 qtbase
3049 qtsvg
3150 qttools
32− qscintilla
51+ ] ++ lib.optionals stdenv.isDarwin [
52+ VideoDecodeAcceleration
3353 ];
3454
3555 meta = with lib; {
@@ -37,5 +57,6 @@ mkDerivation rec {
3757 homepage = "https://ovito.org";
3858 license = with licenses; [ gpl3Only mit ];
3959 maintainers = with maintainers; [ twhitehead ];
60+ broken = stdenv.isDarwin; # clang-11: error: no such file or directory: '$-DOVITO_COPYRIGHT_NOTICE=...
4061 };
4162}
pkgs/applications/networking/instant-messengers/baresip/default.nix+92−24
@@ -1,17 +1,60 @@
1−{ lib, stdenv, fetchurl, zlib, openssl, libre, librem, pkg-config, gst_all_1
2−, cairo, mpg123, alsa-lib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg
3−, gsm, speex, portaudio, spandsp, libuuid, libvpx
1+{ lib
2+, stdenv
3+, fetchFromGitHub
4+, zlib
5+, openssl
6+, libre
7+, librem
8+, pkg-config
9+, gst_all_1
10+, cairo
11+, mpg123
12+, alsa-lib
13+, SDL2
14+, libv4l
15+, celt
16+, libsndfile
17+, srtp
18+, ffmpeg
19+, gsm
20+, speex
21+, portaudio
22+, spandsp3
23+, libuuid
24+, libvpx
425}:
526stdenv.mkDerivation rec {
6− version = "0.6.5";
27+ version = "1.1.0";
728 pname = "baresip";
8− src=fetchurl {
9− url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
10− sha256 = "13di0ycdcr2q2a20mjvyaqfmvk5xldwqaxklqsz7470jnbc5n0rb";
29+ src = fetchFromGitHub {
30+ owner = "baresip";
31+ repo = "baresip";
32+ rev = "v${version}";
33+ sha256 = "sha256-9mc1Beo7/iNhDXSDC/jiTL+lJRt8ah/1xF1heoHTE+g=";
1134 };
35+ postPatch = ''
36+ patchShebangs modules/ctrl_dbus/gen.sh
37+ '';
1238 nativeBuildInputs = [ pkg-config ];
13− buildInputs = [zlib openssl libre librem cairo mpg123
14− alsa-lib SDL libv4l celt libsndfile srtp ffmpeg gsm speex portaudio spandsp libuuid
39+ buildInputs = [
40+ zlib
41+ openssl
42+ libre
43+ librem
44+ cairo
45+ mpg123
46+ alsa-lib
47+ SDL2
48+ libv4l
49+ celt
50+ libsndfile
51+ srtp
52+ ffmpeg
53+ gsm
54+ speex
55+ portaudio
56+ spandsp3
57+ libuuid
1558 libvpx
1659 ] ++ (with gst_all_1; [ gstreamer gst-libav gst-plugins-base gst-plugins-bad gst-plugins-good ]);
1760 makeFlags = [
@@ -23,30 +66,55 @@ stdenv.mkDerivation rec {
2366 "USE_VIDEO=1"
2467 "CCACHE_DISABLE=1"
2568
26− "USE_ALSA=1" "USE_AMR=1" "USE_CAIRO=1" "USE_CELT=1"
27− "USE_CONS=1" "USE_EVDEV=1" "USE_FFMPEG=1" "USE_GSM=1" "USE_GST1=1"
28− "USE_L16=1" "USE_MPG123=1" "USE_OSS=1" "USE_PLC=1" "USE_VPX=1"
29− "USE_PORTAUDIO=1" "USE_SDL=1" "USE_SNDFILE=1" "USE_SPEEX=1"
30− "USE_SPEEX_AEC=1" "USE_SPEEX_PP=1" "USE_SPEEX_RESAMP=1" "USE_SRTP=1"
31− "USE_STDIO=1" "USE_SYSLOG=1" "USE_UUID=1" "USE_V4L2=1" "USE_X11=1"
69+ "USE_ALSA=1"
70+ "USE_AMR=1"
71+ "USE_CAIRO=1"
72+ "USE_CELT=1"
73+ "USE_CONS=1"
74+ "USE_EVDEV=1"
75+ "USE_FFMPEG=1"
76+ "USE_GSM=1"
77+ "USE_GST1=1"
78+ "USE_L16=1"
79+ "USE_MPG123=1"
80+ "USE_OSS=1"
81+ "USE_PLC=1"
82+ "USE_VPX=1"
83+ "USE_PORTAUDIO=1"
84+ "USE_SDL=1"
85+ "USE_SNDFILE=1"
86+ "USE_SPEEX=1"
87+ "USE_SPEEX_AEC=1"
88+ "USE_SPEEX_PP=1"
89+ "USE_SPEEX_RESAMP=1"
90+ "USE_SRTP=1"
91+ "USE_STDIO=1"
92+ "USE_SYSLOG=1"
93+ "USE_UUID=1"
94+ "USE_V4L2=1"
95+ "USE_X11=1"
3296
33− "USE_BV32=" "USE_COREAUDIO=" "USE_G711=1" "USE_G722=1" "USE_G722_1="
34− "USE_ILBC=" "USE_OPUS=" "USE_SILK="
97+ "USE_BV32="
98+ "USE_COREAUDIO="
99+ "USE_G711=1"
100+ "USE_G722=1"
101+ "USE_G722_1="
102+ "USE_ILBC="
103+ "USE_OPUS="
104+ "USE_SILK="
35105 ]
36106 ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
37107 ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
38108 ;
39109
40− NIX_CFLAGS_COMPILE='' -I${librem}/include/rem -I${gsm}/include/gsm
110+ NIX_CFLAGS_COMPILE = '' -I${librem}/include/rem -I${gsm}/include/gsm
41111 -DHAVE_INTTYPES_H -D__GLIBC__
42112 -D__need_timeval -D__need_timespec -D__need_time_t '';
113+
43114 meta = {
44− homepage = "http://www.creytiv.com/baresip.html";
45− platforms = with lib.platforms; linux;
46− maintainers = with lib.maintainers; [raskin];
115+ description = "A modular SIP User-Agent with audio and video support";
116+ homepage = "https://github.com/baresip/baresip";
117+ maintainers = with lib.maintainers; [ elohmeier raskin ];
47118 license = lib.licenses.bsd3;
48− downloadPage = "http://www.creytiv.com/pub/";
49− updateWalker = true;
50− downloadURLRegexp = "/baresip-.*[.]tar[.].*";
51119 };
52120}
pkgs/applications/office/libreoffice/src-fresh/download.nix+4−4
@@ -714,11 +714,11 @@
714714 md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
715715 }
716716 {
717− name = "poppler-21.01.0.tar.xz";
718− url = "https://dev-www.libreoffice.org/src/poppler-21.01.0.tar.xz";
719− sha256 = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3";
717+ name = "poppler-21.11.0.tar.xz";
718+ url = "https://dev-www.libreoffice.org/src/poppler-21.11.0.tar.xz";
719+ sha256 = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584";
720720 md5 = "";
721− md5name = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3-poppler-21.01.0.tar.xz";
721+ md5name = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584-poppler-21.11.0.tar.xz";
722722 }
723723 {
724724 name = "poppler-data-0.4.10.tar.gz";
pkgs/applications/office/libreoffice/src-fresh/primary.nix+5−5
@@ -8,8 +8,8 @@ rec {
88
99 major = "7";
1010 minor = "2";
11− patch = "4";
12− tweak = "1";
11+ patch = "5";
12+ tweak = "2";
1313
1414 subdir = "${major}.${minor}.${patch}";
1515
@@ -17,13 +17,13 @@ rec {
1717
1818 src = fetchurl {
1919 url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
20− sha256 = "sha256-Ymi5BmpgWGzwpfXtmWDN+Gpf9Yb+Zpm/TSltWA3gjyE=";
20+ sha256 = "sha256-Z8G/sFnUMyhrAlKpFWJ7M69ju19LbslQnRO53UdVEqc=";
2121 };
2222
2323 # FIXME rename
2424 translations = fetchSrc {
2525 name = "translations";
26− sha256 = "sha256-8nzCt7/J7gqJPtHOrVu7UTonJw1pxu4fnLWJyWOUHa8=";
26+ sha256 = "sha256-9rnuRifsEX7RAUdsX6VVw/xQS6dZeS3RbKnoC39uMd8=";
2727 };
2828
2929 # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
3131
3232 help = fetchSrc {
3333 name = "help";
34− sha256 = "sha256-rZb1ej3GbgXOHOZWVKKJVuir2urLmvGmrdpB1vpcaCk=";
34+ sha256 = "sha256-6vERLWh0fkQcSRkC37fw2HBqxVtbr9kPEhOyWXjMrfM=";
3535 };
3636}
pkgs/applications/virtualization/qemu/binfmt-p-wrapper.cnew file+79
@@ -0,0 +1,79 @@
1+// This is a tiny wrapper that converts the extra arv[0] argument
2+// from binfmt-misc with the P flag enabled to QEMU parameters.
3+// It also prevents LD_* environment variables from being applied
4+// to QEMU itself.
5+
6+#include <stdio.h>
7+#include <stdlib.h>
8+#include <string.h>
9+#include <unistd.h>
10+
11+#ifndef TARGET_QEMU
12+#error "Define TARGET_QEMU to be the path to the qemu-user binary (e.g., -DTARGET_QEMU=\"/full/path/to/qemu-riscv64\")"
13+#endif
14+
15+extern char **environ;
16+
17+int main(int argc, char *argv[]) {
18+ if (argc < 3) {
19+ fprintf(stderr, "%s: This should be run as the binfmt interpreter with the P flag\n", argv[0]);
20+ fprintf(stderr, "%s: My preconfigured qemu-user binary: %s\n", argv[0], TARGET_QEMU);
21+ return 1;
22+ }
23+
24+ size_t environ_count = 0;
25+ for (char **cur = environ; *cur != NULL; ++cur) {
26+ environ_count++;
27+ }
28+
29+ size_t new_argc = 3;
30+ size_t new_argv_alloc = argc + 2 * environ_count + 2; // [ "-E", env ] for each LD_* env + [ "-0", argv0 ]
31+ char **new_argv = (char**)malloc((new_argv_alloc + 1) * sizeof(char*));
32+ if (!new_argv) {
33+ fprintf(stderr, "FATAL: Failed to allocate new argv array\n");
34+ abort();
35+ }
36+
37+ new_argv[0] = TARGET_QEMU;
38+ new_argv[1] = "-0";
39+ new_argv[2] = argv[2];
40+
41+ // Pass all LD_ env variables as -E and strip them in `new_environ`
42+ size_t new_environc = 0;
43+ char **new_environ = (char**)malloc((environ_count + 1) * sizeof(char*));
44+ if (!new_environ) {
45+ fprintf(stderr, "FATAL: Failed to allocate new environ array\n");
46+ abort();
47+ }
48+
49+ for (char **cur = environ; *cur != NULL; ++cur) {
50+ if (strncmp("LD_", *cur, 3) == 0) {
51+ new_argv[new_argc++] = "-E";
52+ new_argv[new_argc++] = *cur;
53+ } else {
54+ new_environ[new_environc++] = *cur;
55+ }
56+ }
57+ new_environ[new_environc] = NULL;
58+
59+ size_t new_arg_start = new_argc;
60+ new_argc += argc - 3 + 2; // [ "--", full_binary_path ]
61+
62+ if (argc > 3) {
63+ memcpy(&new_argv[new_arg_start + 2], &argv[3], (argc - 3) * sizeof(char**));
64+ }
65+
66+ new_argv[new_arg_start] = "--";
67+ new_argv[new_arg_start + 1] = argv[1];
68+ new_argv[new_argc] = NULL;
69+
70+#ifdef DEBUG
71+ for (size_t i = 0; i < new_argc; ++i) {
72+ fprintf(stderr, "argv[%zu] = %s\n", i, new_argv[i]);
73+ }
74+#endif
75+
76+ return execve(new_argv[0], new_argv, new_environ);
77+}
78+
79+// vim: et:ts=4:sw=4
pkgs/applications/virtualization/qemu/binfmt-p-wrapper.nixnew file+31
@@ -0,0 +1,31 @@
1+# binfmt preserve-argv[0] wrapper
2+#
3+# More details in binfmt-p-wrapper.c
4+#
5+# The wrapper has to be static so LD_* environment variables
6+# cannot affect the execution of the wrapper itself.
7+
8+{ lib, stdenv, pkgsStatic, enableDebug ? false }:
9+
10+name: emulator:
11+
12+pkgsStatic.stdenv.mkDerivation {
13+ inherit name;
14+
15+ src = ./binfmt-p-wrapper.c;
16+
17+ dontUnpack = true;
18+ dontInstall = true;
19+
20+ buildPhase = ''
21+ runHook preBuild
22+
23+ mkdir -p $out/bin
24+ $CC -o $out/bin/${name} -static -std=c99 -O2 \
25+ -DTARGET_QEMU=\"${emulator}\" \
26+ ${lib.optionalString enableDebug "-DDEBUG"} \
27+ $src
28+
29+ runHook postBuild
30+ '';
31+}
pkgs/build-support/fetchsourcehut/default.nix+35−10
@@ -1,10 +1,11 @@
1−{ fetchzip, lib }:
1+{ fetchgit, fetchhg, fetchzip, lib }:
22
33{ owner
44, repo, rev
55, domain ? "sr.ht"
66, vc ? "git"
77, name ? "source"
8+, fetchSubmodules ? false
89, ... # For hash agility
910} @ args:
1011
@@ -14,12 +15,36 @@ assert (lib.assertOneOf "vc" vc [ "hg" "git" ]);
1415
1516let
1617 baseUrl = "https://${vc}.${domain}/${owner}/${repo}";
17−
18−in fetchzip (recursiveUpdate {
19− inherit name;
20− url = "${baseUrl}/archive/${rev}.tar.gz";
21− meta.homepage = "${baseUrl}/";
22− extraPostFetch = optionalString (vc == "hg") ''
23− rm -f "$out/.hg_archival.txt"
24− ''; # impure file; see #12002
25−} (removeAttrs args [ "owner" "repo" "rev" "domain" "vc" ])) // { inherit rev; }
18+ baseArgs = {
19+ inherit name;
20+ } // removeAttrs args [
21+ "owner" "repo" "rev" "domain" "vc" "name" "fetchSubmodules"
22+ ];
23+ vcArgs = baseArgs // {
24+ inherit rev;
25+ url = baseUrl;
26+ };
27+ fetcher = if fetchSubmodules then vc else "zip";
28+ cases = {
29+ git = {
30+ fetch = fetchgit;
31+ arguments = vcArgs // { fetchSubmodules = true; };
32+ };
33+ hg = {
34+ fetch = fetchhg;
35+ arguments = vcArgs // { fetchSubrepos = true; };
36+ };
37+ zip = {
38+ fetch = fetchzip;
39+ arguments = baseArgs // {
40+ url = "${baseUrl}/archive/${rev}.tar.gz";
41+ extraPostFetch = optionalString (vc == "hg") ''
42+ rm -f "$out/.hg_archival.txt"
43+ ''; # impure file; see #12002
44+ };
45+ };
46+ };
47+in cases.${fetcher}.fetch cases.${fetcher}.arguments // {
48+ inherit rev;
49+ meta.homepage = "${baseUrl}";
50+}
pkgs/development/libraries/arrow-cpp/default.nix+1−7
@@ -199,13 +199,7 @@ stdenv.mkDerivation rec {
199199 "S3RegionResolutionTest.PublicBucket"
200200 "S3RegionResolutionTest.RestrictedBucket"
201201 "TestMinioServer.Connect"
202− "TestS3FS.GetFileInfoRoot"
203− "TestS3FS.OpenOutputStreamBackgroundWrites"
204− "TestS3FS.OpenOutputStreamDestructorBackgroundWrites"
205− "TestS3FS.OpenOutputStreamDestructorSyncWrite"
206− "TestS3FS.OpenOutputStreamDestructorSyncWrites"
207− "TestS3FS.OpenOutputStreamMetadata"
208− "TestS3FS.OpenOutputStreamSyncWrites"
202+ "TestS3FS.*"
209203 "TestS3FSGeneric.*"
210204 ] ++ lib.optionals enableGcs [
211205 "GcsFileSystem.FileSystemCompare"
pkgs/development/libraries/dyncall/default.nix+3−3
@@ -2,12 +2,12 @@
22
33stdenv.mkDerivation rec {
44 pname = "dyncall";
5− version = "1.2";
5+ version = "1.3";
66
77 src = fetchurl {
88 url = "https://www.dyncall.org/r${version}/dyncall-${version}.tar.gz";
9− # https://www.dyncall.org/r1.2/SHA256
10− sha256 = "sha256-6IFUwCQ0IVYHBPXHKUr73snpka+gYB1a3/UELqgYCNc=";
9+ # https://www.dyncall.org/r1.3/SHA256
10+ sha256 = "sha256-q/Ys/DHr1/IWWNqhNwp3gcxRQxYrwIaDhKwH3vnj05A=";
1111 };
1212
1313 # XXX: broken tests, failures masked, lets avoid crashing a bunch for now :)
pkgs/development/libraries/libre/default.nix+11−13
@@ -1,24 +1,22 @@
1−{lib, stdenv, fetchurl, zlib, openssl}:
1+{ lib, stdenv, fetchFromGitHub, zlib, openssl }:
22stdenv.mkDerivation rec {
3− version = "0.6.1";
3+ version = "2.0.1";
44 pname = "libre";
5− src = fetchurl {
6− url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
7− sha256 = "0hzyc0hdlw795nyx6ik7h2ihs8wapbj32x8c40xq0484ciwzqnyd";
5+ src = fetchFromGitHub {
6+ owner = "baresip";
7+ repo = "re";
8+ rev = "v${version}";
9+ sha256 = "sha256-/1J9cs0W96CtnHAoX/jg3FLGD9coa0eOEgf8uMQHuUk=";
810 };
911 buildInputs = [ zlib openssl ];
1012 makeFlags = [ "USE_ZLIB=1" "USE_OPENSSL=1" "PREFIX=$(out)" ]
11− ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
12− ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"
13+ ++ lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
14+ ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"
1315 ;
1416 meta = {
1517 description = "A library for real-time communications with async IO support and a complete SIP stack";
16− homepage = "http://www.creytiv.com/re.html";
17− platforms = with lib.platforms; linux;
18− maintainers = with lib.maintainers; [raskin];
18+ homepage = "https://github.com/baresip/re";
19+ maintainers = with lib.maintainers; [ elohmeier raskin ];
1920 license = lib.licenses.bsd3;
20− downloadPage = "http://www.creytiv.com/pub/";
21− updateWalker = true;
22− downloadURLRegexp = "/re-.*[.]tar[.].*";
2321 };
2422}
pkgs/development/libraries/librem/default.nix+11−13
@@ -1,12 +1,14 @@
1−{lib, stdenv, fetchurl, zlib, openssl, libre}:
1+{ lib, stdenv, fetchFromGitHub, zlib, openssl, libre }:
22stdenv.mkDerivation rec {
3− version = "0.6.0";
3+ version = "1.0.0";
44 pname = "librem";
5− src=fetchurl {
6− url = "http://www.creytiv.com/pub/rem-${version}.tar.gz";
7− sha256 = "0b17wma5w9acizk02isk5k83vv47vf1cf9zkmsc1ail677d20xj1";
5+ src = fetchFromGitHub {
6+ owner = "baresip";
7+ repo = "rem";
8+ rev = "v${version}";
9+ sha256 = "sha256-6Xe9zT0qLLGe1+QCQ9NALoDTaRhHpaTLbCbA+kV7hOA=";
810 };
9− buildInputs = [zlib openssl libre];
11+ buildInputs = [ zlib openssl libre ];
1012 makeFlags = [
1113 "LIBRE_MK=${libre}/share/re/re.mk"
1214 "LIBRE_INC=${libre}/include/re"
@@ -16,13 +18,9 @@ stdenv.mkDerivation rec {
1618 ++ lib.optional (stdenv.cc.libc != null) "SYSROOT=${lib.getDev stdenv.cc.libc}"
1719 ;
1820 meta = {
19− description = " A library for real-time audio and video processing";
20− homepage = "http://www.creytiv.com/rem.html";
21− platforms = with lib.platforms; linux;
22− maintainers = with lib.maintainers; [raskin];
21+ description = "A library for real-time audio and video processing";
22+ homepage = "https://github.com/baresip/rem";
23+ maintainers = with lib.maintainers; [ elohmeier raskin ];
2324 license = lib.licenses.bsd3;
24− downloadPage = "http://www.creytiv.com/pub/";
25− updateWalker = true;
26− downloadURLRegexp = "/rem-.*[.]tar[.].*";
2725 };
2826}
pkgs/development/libraries/qscintilla-qt4/default.nix+10−3
@@ -1,4 +1,9 @@
1−{ stdenv, lib, fetchurl, unzip, qt4, qmake4Hook
1+{ stdenv
2+, lib
3+, fetchurl
4+, unzip
5+, qt4
6+, qmake4Hook
27}:
38
49stdenv.mkDerivation rec {
@@ -16,12 +21,14 @@ stdenv.mkDerivation rec {
1621
1722 nativeBuildInputs = [ unzip qmake4Hook ];
1823
19− patches = ./fix-qt4-build.patch;
24+ patches = [
25+ ./fix-qt4-build.patch
26+ ];
2027
2128 # Make sure that libqscintilla2.so is available in $out/lib since it is expected
2229 # by some packages such as sqlitebrowser
2330 postFixup = ''
24− ln -s $out/lib/libqscintilla2_qt?.so $out/lib/libqscintilla2.so
31+ ln -s $out/lib/libqscintilla2_qt4.so $out/lib/libqscintilla2.so
2532 '';
2633
2734 dontWrapQtApps = true;
pkgs/development/libraries/qscintilla/default.nix+8−4
@@ -1,5 +1,9 @@
1−{ stdenv, lib, fetchurl, unzip
2−, qtbase, qtmacextras
1+{ stdenv
2+, lib
3+, fetchurl
4+, unzip
5+, qtbase
6+, qtmacextras
37, qmake
48, fixDarwinDylibNames
59}:
@@ -20,12 +24,12 @@ stdenv.mkDerivation rec {
2024 propagatedBuildInputs = lib.optionals stdenv.isDarwin [ qtmacextras ];
2125
2226 nativeBuildInputs = [ unzip qmake ]
23− ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
27+ ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
2428
2529 # Make sure that libqscintilla2.so is available in $out/lib since it is expected
2630 # by some packages such as sqlitebrowser
2731 postFixup = ''
28− ln -s $out/lib/libqscintilla2_qt?.so $out/lib/libqscintilla2.so
32+ ln -s $out/lib/libqscintilla2_qt5.so $out/lib/libqscintilla2.so
2933 '';
3034
3135 dontWrapQtApps = true;
pkgs/development/python-modules/chainer/default.nix+2−2
@@ -5,7 +5,7 @@
55
66buildPythonPackage rec {
77 pname = "chainer";
8− version = "7.8.0";
8+ version = "7.8.1";
99 disabled = !isPy3k; # python2.7 abandoned upstream
1010
1111 # no tests in Pypi tarball
@@ -13,7 +13,7 @@ buildPythonPackage rec {
1313 owner = "chainer";
1414 repo = "chainer";
1515 rev = "v${version}";
16− sha256 = "1zfj3pk54gzxd4nid0qjx4kw1wdngwscvn4hk4cijxvwqi4a5zxj";
16+ sha256 = "1n07zjzc4g92m1sbgxvnansl0z00y4jnhma2mw06vnahs7s9nrf6";
1717 };
1818
1919 checkInputs = [
pkgs/development/python-modules/datashader/default.nix+17−11
@@ -25,19 +25,13 @@
2525buildPythonPackage rec {
2626 pname = "datashader";
2727 version = "0.13.0";
28+ format = "setuptools";
2829
2930 src = fetchPypi {
3031 inherit pname version;
3132 sha256 = "sha256-6JscHm1QjDmXOLLa83qhAvY/xwvlPM6duQ1lSxnCVV8=";
3233 };
3334
34− # the complete extra is for usage with conda, which we
35− # don't care about
36− postPatch = ''
37− substituteInPlace setup.py \
38− --replace "dask[complete]" "dask"
39− '';
40−
4135 propagatedBuildInputs = [
4236 dask
4337 bokeh
@@ -56,13 +50,21 @@ buildPythonPackage rec {
5650
5751 checkInputs = [
5852 pytestCheckHook
59− pytest-xdist # not needed
53+ pytest-xdist
6054 nbsmoke
6155 fastparquet
6256 nbconvert
6357 netcdf4
6458 ];
6559
60+ # The complete extra is for usage with conda, which we
61+ # don't care about
62+ postPatch = ''
63+ substituteInPlace setup.py \
64+ --replace "dask[complete]" "dask" \
65+ --replace "xarray >=0.9.6" "xarray"
66+ '';
67+
6668 preCheck = ''
6769 export HOME=$TMPDIR
6870 '';
@@ -73,10 +75,10 @@ buildPythonPackage rec {
7375 ];
7476
7577 disabledTests = [
76− # not compatible with current version of bokeh
78+ # Not compatible with current version of bokeh
7779 # see: https://github.com/holoviz/datashader/issues/1031
7880 "test_interactive_image_update"
79− # latest dask broken array marshalling
81+ # Latest dask broken array marshalling
8082 # see: https://github.com/holoviz/datashader/issues/1032
8183 "test_raster_quadmesh_autorange_reversed"
8284 ];
@@ -86,10 +88,14 @@ buildPythonPackage rec {
8688 "datashader/tests/test_datatypes.py"
8789 ];
8890
91+ pythonImportsCheck = [
92+ "datashader"
93+ ];
94+
8995 meta = with lib;{
9096 description = "Data visualization toolchain based on aggregating into a grid";
9197 homepage = "https://datashader.org";
9298 license = licenses.bsd3;
93− maintainers = [ maintainers.costrouc ];
99+ maintainers = with maintainers; [ costrouc ];
94100 };
95101}
pkgs/development/python-modules/google-cloud-storage/default.nix+2−2
@@ -13,11 +13,11 @@
1313
1414buildPythonPackage rec {
1515 pname = "google-cloud-storage";
16− version = "1.43.0";
16+ version = "1.44.0";
1717
1818 src = fetchPypi {
1919 inherit pname version;
20− sha256 = "f3b4f4be5c8a1b5727a8f7136c94d3bacdd4b7bf11f9553f51ae4c1d876529d3";
20+ sha256 = "29edbfeedd157d853049302bf5d104055c6f0cb7ef283537da3ce3f730073001";
2121 };
2222
2323 propagatedBuildInputs = [
pkgs/development/python-modules/liquidctl/default.nix+2−2
@@ -14,14 +14,14 @@
1414
1515buildPythonPackage rec {
1616 pname = "liquidctl";
17− version = "1.7.2";
17+ version = "1.8.0";
1818 disabled = pythonOlder "3.6";
1919
2020 src = fetchFromGitHub {
2121 owner = pname;
2222 repo = pname;
2323 rev = "v${version}";
24− sha256 = "sha256-fPSvxdr329SxAe4N7lTa7hddFp1WVUplkhYD1oDQXAI=";
24+ sha256 = "sha256-N0Ebd0zIHFmuiIozkAy4SV3o8rFA1wmrGd+dJo8jdk0=";
2525 };
2626
2727 nativeBuildInputs = [ installShellFiles ];
pkgs/development/python-modules/mautrix/default.nix+2−2
@@ -4,11 +4,11 @@
44
55buildPythonPackage rec {
66 pname = "mautrix";
7− version = "0.14.0";
7+ version = "0.14.3";
88
99 src = fetchPypi {
1010 inherit pname version;
11− sha256 = "5ad04e87bcf31eb3479fdd3cabd5082b257013e5c00f6b369539a2b584afadaf";
11+ sha256 = "a7b41b522deafe47f8d3ce2b13f5a8a01f7bc715f09ebb5ca53a4af4f6987701";
1212 };
1313
1414 propagatedBuildInputs = [
pkgs/development/python-modules/miniaudio/default.nix+2−2
@@ -8,7 +8,7 @@
88
99buildPythonPackage rec {
1010 pname = "miniaudio";
11− version = "1.45";
11+ version = "1.46";
1212
1313 disabled = pythonOlder "3.6";
1414
@@ -16,7 +16,7 @@ buildPythonPackage rec {
1616 owner = "irmen";
1717 repo = "pyminiaudio";
1818 rev = "v${version}";
19− sha256 = "1yx4n4zax103fmjzdiqzw37zibsh68b2p2l5qvgcnx2zrrjd31yl";
19+ sha256 = "16llwmbbd9445rwhl4v66kf5zd7yl3a94zm9xyllq6ij7vnhg5jb";
2020 };
2121
2222 propagatedNativeBuildInputs = [ cffi ];
pkgs/development/python-modules/pyfftw/default.nix+2−2
@@ -2,12 +2,12 @@
22, fftw, fftwFloat, fftwLongDouble, numpy, scipy, cython, dask }:
33
44buildPythonPackage rec {
5− version = "0.12.0";
5+ version = "0.13.0";
66 pname = "pyFFTW";
77
88 src = fetchPypi {
99 inherit pname version;
10− sha256 = "60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0";
10+ sha256 = "da85102405c0bd95d57eb19e99b01a0729d8406cb204c3900894b873784253da";
1111 };
1212
1313 preConfigure = ''
pkgs/development/python-modules/qscintilla-qt4/default.nix+28−28
@@ -1,6 +1,5 @@
11{ lib
22, buildPythonPackage
3−, disabledIf
43, isPy3k
54, isPyPy
65, pkgs
@@ -8,35 +7,36 @@
87, pyqt4
98}:
109
11−disabledIf (isPy3k || isPyPy)
12− (buildPythonPackage {
13− pname = "qscintilla";
14− version = pkgs.qscintilla.version;
15− format = "other";
10+buildPythonPackage {
11+ pname = "qscintilla-qt4";
12+ version = pkgs.qscintilla-qt4.version;
13+ format = "other";
1614
17− src = pkgs.qscintilla.src;
15+ disabled = isPyPy;
1816
19− nativeBuildInputs = [ pkgs.xorg.lndir ];
17+ src = pkgs.qscintilla-qt4.src;
2018
21− buildInputs = [ pyqt4.qt pyqt4 ];
19+ nativeBuildInputs = [ pkgs.xorg.lndir ];
2220
23− preConfigure = ''
24− mkdir -p $out
25− lndir ${pyqt4} $out
26− rm -rf "$out/nix-support"
27− cd Python
28− ${python.executable} ./configure-old.py \
29− --destdir $out/lib/${python.libPrefix}/site-packages/PyQt4 \
30− --apidir $out/api/${python.libPrefix} \
31− -n ${pkgs.qscintilla}/include \
32− -o ${pkgs.qscintilla}/lib \
33− --sipdir $out/share/sip
34− '';
21+ buildInputs = [ pyqt4.qt pyqt4 ];
3522
36− meta = with lib; {
37− description = "A Python binding to QScintilla, Qt based text editing control";
38− license = licenses.lgpl21Plus;
39− maintainers = with maintainers; [ danbst ];
40− platforms = platforms.linux;
41− };
42− })
23+ preConfigure = ''
24+ mkdir -p $out
25+ lndir ${pyqt4} $out
26+ rm -rf "$out/nix-support"
27+ cd Python
28+ ${python.executable} ./configure-old.py \
29+ --destdir $out/lib/${python.libPrefix}/site-packages/PyQt4 \
30+ --apidir $out/api/${python.libPrefix} \
31+ -n ${pkgs.qscintilla-qt4}/include \
32+ -o ${pkgs.qscintilla-qt4}/lib \
33+ --sipdir $out/share/sip
34+ '';
35+
36+ meta = with lib; {
37+ description = "A Python binding to QScintilla, Qt based text editing control";
38+ license = licenses.lgpl21Plus;
39+ maintainers = with maintainers; [ danbst ];
40+ platforms = platforms.linux;
41+ };
42+}
pkgs/development/python-modules/qscintilla-qt5/default.nix+1−1
@@ -10,7 +10,7 @@
1010let
1111 inherit (pythonPackages) buildPythonPackage isPy3k python sip sipbuild pyqt5 pyqt-builder;
1212in buildPythonPackage rec {
13− pname = "qscintilla";
13+ pname = "qscintilla-qt5";
1414 version = qscintilla.version;
1515 src = qscintilla.src;
1616 format = "pyproject";
pkgs/development/python-modules/qscintilla/default.nixdeleted−43
@@ -1,43 +0,0 @@
1−{ lib
2−, buildPythonPackage
3−, disabledIf
4−, isPy3k
5−, isPyPy
6−, pkgs
7−, python
8−, pyqt4
9−}:
10−
11−disabledIf (isPy3k || isPyPy)
12− (buildPythonPackage {
13− # TODO: Qt5 support
14− pname = "qscintilla";
15− version = pkgs.qscintilla.version;
16− format = "other";
17−
18− src = pkgs.qscintilla.src;
19−
20− nativeBuildInputs = [ pkgs.xorg.lndir ];
21−
22− buildInputs = [ pyqt4.qt pyqt4 ];
23−
24− preConfigure = ''
25− mkdir -p $out
26− lndir ${pyqt4} $out
27− rm -rf "$out/nix-support"
28− cd Python
29− ${python.executable} ./configure-old.py \
30− --destdir $out/lib/${python.libPrefix}/site-packages/PyQt4 \
31− --apidir $out/api/${python.libPrefix} \
32− -n ${pkgs.qscintilla}/include \
33− -o ${pkgs.qscintilla}/lib \
34− --sipdir $out/share/sip
35− '';
36−
37− meta = with lib; {
38− description = "A Python binding to QScintilla, Qt based text editing control";
39− license = licenses.lgpl21Plus;
40− maintainers = with maintainers; [ danbst ];
41− platforms = platforms.unix;
42− };
43− })
pkgs/development/python-modules/tables/default.nix+4−12
@@ -10,19 +10,19 @@
1010, lzo
1111, numpy
1212, numexpr
13−, setuptools
13+, packaging
1414 # Test inputs
1515, pytestCheckHook
1616}:
1717
1818buildPythonPackage rec {
1919 pname = "tables";
20− version = "3.6.1";
20+ version = "3.7.0";
2121 disabled = pythonOlder "3.5";
2222
2323 src = fetchPypi {
2424 inherit pname version;
25− sha256 = "0j8vnxh2m5n0cyk9z3ndcj5n1zj5rdxgc1gb78bqlyn2lyw75aa9";
25+ sha256 = "sha256-6SqIetbyqYPlZKaZAt5KdkXDAGn8AavTU+xdolXF4f4=";
2626 };
2727
2828 nativeBuildInputs = [ cython ];
@@ -36,17 +36,9 @@ buildPythonPackage rec {
3636 propagatedBuildInputs = [
3737 numpy
3838 numexpr
39− setuptools # uses pkg_resources at runtime
39+ packaging # uses packaging.version at runtime
4040 ];
4141
42− patches = [
43− (fetchpatch {
44− # Needed for numpy >= 1.20.0
45− name = "tables-pr-862-use-lowercase-numpy-dtypes.patch";
46− url = "https://github.com/PyTables/PyTables/commit/93a3272b8fe754095637628b4d312400e24ae654.patch";
47− sha256 = "00czgxnm1dxp9763va9xw1nc7dd7kxh9hjcg9klim52519hkbhi4";
48− })
49− ];
5042 # When doing `make distclean`, ignore docs
5143 postPatch = ''
5244 substituteInPlace Makefile --replace "src doc" "src"
pkgs/development/python-modules/tensorly/default.nix+11−20
@@ -1,44 +1,35 @@
11{ lib
22, buildPythonPackage
33, fetchFromGitHub
4−, pytest
5−, nose
4+, pytestCheckHook
65, isPy27
76, numpy
87, scipy
98, sparse
10−, pytorch
119}:
1210
1311buildPythonPackage rec {
1412 pname = "tensorly";
15− version = "0.4.5";
13+ version = "0.7.0";
1614 disabled = isPy27;
1715
1816 src = fetchFromGitHub {
1917 owner = pname;
2018 repo = pname;
2119 rev = version;
22− sha256 = "1ml91yaxwx4msisxbm92yf22qfrscvk58f3z2r1jhi96pw2k4i7x";
20+ sha256 = "VcX3pCczZQUYZaD7xrrkOcj0QPJt28cYTwpZm5D/X3c=";
2321 };
2422
25− propagatedBuildInputs = [ numpy scipy sparse ]
26− ++ lib.optionals (!doCheck) [ nose ]; # upstream added nose to install_requires
23+ # nose is not actually required for anything
24+ # (including testing with the minimal dependencies)
25+ postPatch = ''
26+ substituteInPlace setup.py --replace ", 'nose'" ""
27+ '';
2728
28− checkInputs = [ pytest nose pytorch ];
29− # also has a cupy backend, but the tests are currently broken
30− # (e.g. attempts to access cupy.qr instead of cupy.linalg.qr)
31− # and this backend also adds a non-optional CUDA dependence,
32− # as well as tensorflow and mxnet backends, but the tests don't
33− # seem to exercise these backend by default
29+ propagatedBuildInputs = [ numpy scipy sparse ];
3430
35− # uses >= 140GB of ram to test
36− doCheck = false;
37− checkPhase = ''
38− runHook preCheck
39− nosetests -e "test_cupy"
40− runHook postCheck
41− '';
31+ checkInputs = [ pytestCheckHook ];
32+ pytestFlagsArray = [ "tensorly" ];
4233
4334 pythonImportsCheck = [ "tensorly" ];
4435
pkgs/development/python-modules/uritemplate/default.nix+22−9
@@ -1,25 +1,38 @@
1−{ lib, buildPythonPackage, fetchPypi, simplejson, pytest, glibcLocales }:
1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, simplejson
5+, pytestCheckHook
6+, pythonOlder
7+}:
28
39buildPythonPackage rec {
410 pname = "uritemplate";
5− version = "3.0.1";
11+ version = "4.1.1";
12+ format = "setuptools";
13+
14+ disabled = pythonOlder "3.6";
615
716 src = fetchPypi {
817 inherit pname version;
9− sha256 = "5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae";
18+ sha256 = "sha256-Q0bt/Fw7efaUvM1tYJmjIrvrYo2/LNhu6lWkVs5RJPA=";
1019 };
1120
12− propagatedBuildInputs = [ simplejson ];
21+ propagatedBuildInputs = [
22+ simplejson
23+ ];
1324
14− checkInputs = [ pytest glibcLocales ];
25+ checkInputs = [
26+ pytestCheckHook
27+ ];
1528
16− checkPhase = ''
17− LC_ALL=en_US.UTF-8 py.test
18− '';
29+ pythonImportsCheck = [
30+ "uritemplate"
31+ ];
1932
2033 meta = with lib; {
34+ description = "Implementation of RFC 6570 URI templates";
2135 homepage = "https://github.com/python-hyper/uritemplate";
22− description = "URI template parsing for Humans";
2336 license = with licenses; [ asl20 bsd3 ];
2437 maintainers = with maintainers; [ matthiasbeyer ];
2538 };
pkgs/development/tools/analysis/checkov/default.nix+2−2
@@ -46,13 +46,13 @@ with py.pkgs;
4646
4747buildPythonApplication rec {
4848 pname = "checkov";
49− version = "2.0.706";
49+ version = "2.0.707";
5050
5151 src = fetchFromGitHub {
5252 owner = "bridgecrewio";
5353 repo = pname;
5454 rev = version;
55− sha256 = "sha256-j9exVvGY3A23sTY5y4daWlZr7awkY1tQhTDykW9tsJU=";
55+ sha256 = "sha256-AsKsv3fKubFZZMZHBRuVmgeGJB1zTe00J2kmqikBiD8=";
5656 };
5757
5858 nativeBuildInputs = with py.pkgs; [
pkgs/development/tools/misc/clojure-lsp/default.nix+6−2
@@ -17,10 +17,14 @@ buildGraalvmNativeImage rec {
1717 };
1818
1919 # https://github.com/clojure-lsp/clojure-lsp/blob/2021.11.02-15.24.47/graalvm/native-unix-compile.sh#L18-L27
20− DTLV_LIB_EXTRACT_DIR = "/tmp";
20+ # Needs to be inject on `nativeImageBuildArgs` inside shell environment,
21+ # otherwise we can't expand to the value set in `mktemp -d` call
22+ preBuild = ''
23+ export DTLV_LIB_EXTRACT_DIR="$(mktemp -d)"
24+ nativeImageBuildArgs+=("-H:CLibraryPath=$DTLV_LIB_EXTRACT_DIR")
25+ '';
2126
2227 extraNativeImageBuildArgs = [
23− "-H:CLibraryPath=${DTLV_LIB_EXTRACT_DIR}"
2428 "--no-fallback"
2529 "--native-image-info"
2630 ];
pkgs/servers/http/apache-httpd/2.4.nix+2−2
@@ -11,11 +11,11 @@
1111
1212stdenv.mkDerivation rec {
1313 pname = "apache-httpd";
14− version = "2.4.51";
14+ version = "2.4.52";
1515
1616 src = fetchurl {
1717 url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
18− sha256 = "20e01d81fecf077690a4439e3969a9b22a09a8d43c525356e863407741b838f4";
18+ sha256 = "sha256-ASf33El+mYPpxRR0vtdeRWB/L4cKdnWobckK9tVy9ck=";
1919 };
2020
2121 # FIXME: -dev depends on -doc
pkgs/tools/security/quark-engine/default.nix+9−3
@@ -7,8 +7,7 @@
77python3.pkgs.buildPythonApplication rec {
88 pname = "quark-engine";
99 version = "21.10.2";
10−
11− disabled = python3.pythonOlder "3.6";
10+ format = "setuptools";
1211
1312 src = fetchFromGitHub {
1413 owner = pname;
@@ -31,10 +30,17 @@ python3.pkgs.buildPythonApplication rec {
3130 tqdm
3231 ];
3332
33+ postPatch = ''
34+ substituteInPlace setup.py \
35+ --replace "prompt-toolkit==3.0.19" "prompt-toolkit>=3.0.19"
36+ '';
37+
3438 # Project has no tests
3539 doCheck = false;
3640
37− pythonImportsCheck = [ "quark" ];
41+ pythonImportsCheck = [
42+ "quark"
43+ ];
3844
3945 meta = with lib; {
4046 description = "Android malware (analysis and scoring) system";
pkgs/top-level/all-packages.nix+5−1
@@ -8533,7 +8533,9 @@ with pkgs;
85338533
85348534 ovh-ttyrec = callPackage ../tools/misc/ovh-ttyrec { };
85358535
8536− ovito = libsForQt5.callPackage ../applications/graphics/ovito { };
8536+ ovito = libsForQt5.callPackage ../applications/graphics/ovito {
8537+ inherit (darwin.apple_sdk.frameworks) VideoDecodeAcceleration;
8538+ };
85378539
85388540 owncloud-client = libsForQt5.callPackage ../applications/networking/owncloud-client { };
85398541
@@ -28133,6 +28135,8 @@ with pkgs;
2813328135
2813428136 qemu-utils = callPackage ../applications/virtualization/qemu/utils.nix {};
2813528137
28138+ wrapQemuBinfmtP = callPackage ../applications/virtualization/qemu/binfmt-p-wrapper.nix { };
28139+
2813628140 qgis-unwrapped = libsForQt5.callPackage ../applications/gis/qgis/unwrapped.nix {
2813728141 withGrass = false;
2813828142 };