diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2021-04-08 17:14:31 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2021-04-08 17:14:31 +0200 |
commit | 625ce6c7f66c0b2ccae30f95cdd9e48feed8561c (patch) | |
tree | c0c5a9d3510dc4dfa3008b9c35dbfea234894e81 /pkgs/development | |
parent | 97490e67836cda5e181caf0a49f1e2d7ca31949f (diff) | |
parent | bf6abedefbebbec8f54cda97bd33bc06c5f46ed5 (diff) | |
download | nixpkgs-625ce6c7f66c0b2ccae30f95cdd9e48feed8561c.tar nixpkgs-625ce6c7f66c0b2ccae30f95cdd9e48feed8561c.tar.gz nixpkgs-625ce6c7f66c0b2ccae30f95cdd9e48feed8561c.tar.bz2 nixpkgs-625ce6c7f66c0b2ccae30f95cdd9e48feed8561c.tar.lz nixpkgs-625ce6c7f66c0b2ccae30f95cdd9e48feed8561c.tar.xz nixpkgs-625ce6c7f66c0b2ccae30f95cdd9e48feed8561c.tar.zst nixpkgs-625ce6c7f66c0b2ccae30f95cdd9e48feed8561c.zip |
Merge branch 'staging-next' into staging
In python-packages.nix, resolve conflict between 50d604314e736d24dc7aa6749b5482c859147b17 and 187d0371ab3220ee40da1f616e4c48d85ac28986.
Diffstat (limited to 'pkgs/development')
49 files changed, 978 insertions, 416 deletions
diff --git a/pkgs/development/compilers/go/1.15.nix b/pkgs/development/compilers/go/1.15.nix index d44f28f8929..7f7870b7e06 100644 --- a/pkgs/development/compilers/go/1.15.nix +++ b/pkgs/development/compilers/go/1.15.nix @@ -11,7 +11,7 @@ let inherit (lib) optionals optionalString; - version = "1.15.10"; + version = "1.15.11"; go_bootstrap = buildPackages.callPackage ./bootstrap.nix { }; @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://dl.google.com/go/go${version}.src.tar.gz"; - sha256 = "0rfx20y13cflv68nn8jci1fx34vfdn7qgyavm5hivd0h15pcmny1"; + sha256 = "1rb1s130yqy80kcl140k5a53xhvw4fmrpmclvqygcv67si0j8nzj"; }; # perl is used for testing go vet diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix index 2807ddb6b5f..2293c83cc02 100644 --- a/pkgs/development/compilers/reason/default.nix +++ b/pkgs/development/compilers/reason/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - name = "ocaml${ocaml.version}-reason-${version}"; - version = "3.6.2"; + pname = "ocaml${ocaml.version}-reason"; + version = "3.7.0"; src = fetchFromGitHub { owner = "facebook"; repo = "reason"; - rev = "6017d6dd930f4989177c3f7c3c20cffbaabaa49a"; - sha256 = "17wkcl3r0ckhlki9fk0mcwbnd7kpkqm1h0xjw2j2x1097n470df0"; + rev = "daa11255cb4716ce1c370925251021bd6e3bd974"; + sha256 = "0m6ldrci1a4j0qv1cbwh770zni3al8qxsphl353rv19f6rblplhs"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/interpreters/erlang/R23.nix b/pkgs/development/interpreters/erlang/R23.nix index 8c07c09f221..0e8e402ab3b 100644 --- a/pkgs/development/interpreters/erlang/R23.nix +++ b/pkgs/development/interpreters/erlang/R23.nix @@ -3,6 +3,6 @@ # How to obtain `sha256`: # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz mkDerivation { - version = "23.2.6"; - sha256 = "sha256-G930sNbr8h5ryI/IE+J6OKhR5ij68ZhGo1YIEjSOwGU="; + version = "23.3.1"; + sha256 = "1nx9yv3l8hf37js7pqs536ywy786mxhkqba1jsmy1b3yc6xki1mq"; } diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 337411f6c28..4b185f038a1 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -265,10 +265,10 @@ in { }; ruby_3_0 = generic { - version = rubyVersion "3" "0" "0" ""; + version = rubyVersion "3" "0" "1" ""; sha256 = { - src = "0a4fmxafxvkg1m738g2lmkhipwnmd96kzqy1m9kvk3n1l50x2gm1"; - git = "0fvnxv97m94nridlc5nvvrlg53pr5g042dkfc5ysd327s7xj4cjp"; + src = "09vpnxxcxc46qv40xbxr9xkdpbgb0imdy25l2vpsxxlr47djb61n"; + git = "0vricyhnnczcbsgvz65pdhi9yx1i34zarbjlc5y5mcmj01y9r7ar"; }; }; } diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix index 2a26af52a40..964e0a4e28a 100644 --- a/pkgs/development/interpreters/ruby/patchsets.nix +++ b/pkgs/development/interpreters/ruby/patchsets.nix @@ -11,7 +11,7 @@ "${patchSet}/patches/ruby/2.7/head/railsexpress/02-improve-gc-stats.patch" "${patchSet}/patches/ruby/2.7/head/railsexpress/03-more-detailed-stacktrace.patch" ]; - "3.0.0" = ops useRailsExpress [ + "3.0.1" = ops useRailsExpress [ "${patchSet}/patches/ruby/3.0/head/railsexpress/01-improve-gc-stats.patch" "${patchSet}/patches/ruby/3.0/head/railsexpress/02-malloc-trim.patch" ]; diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index d685bde35ed..47a85c36c23 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchFromGitLab -, fetchpatch , removeReferencesTo , meson , ninja @@ -43,7 +42,7 @@ let self = stdenv.mkDerivation rec { pname = "pipewire"; - version = "0.3.24"; + version = "0.3.25"; outputs = [ "out" @@ -61,7 +60,7 @@ let owner = "pipewire"; repo = "pipewire"; rev = version; - hash = "sha256:PcY20FTtUtJYAwCscEs+HfkdwDksYPFZIVTVORP1ooI="; + hash = "sha256:EbXWcf6QLtbvm6/eXBI+PF2sTw2opYfmc+H/SMDEH1U="; }; patches = [ @@ -75,11 +74,6 @@ let ./0070-installed-tests-path.patch # Add flag to specify configuration directory (different from the installation directory). ./0080-pipewire-config-dir.patch - # Fix JSON parser. - (fetchpatch { - url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/34800dc0191a4ee7a329eeb361a6f2ccf4a75176.diff"; - sha256 = "0dzxzr408qqzf0252nwg14709p1lb2k826i3kdzg6djq8w98d5aj"; - }) ]; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix index 34fea3162a9..1f60f4d9538 100644 --- a/pkgs/development/libraries/science/math/mkl/default.nix +++ b/pkgs/development/libraries/science/math/mkl/default.nix @@ -17,40 +17,57 @@ let # Release notes and download URLs are here: # https://registrationcenter.intel.com/en/products/ - version = "${year}.${spot}.${rel}"; + version = "${mklVersion}.${rel}"; # Darwin is pinned to 2019.3 because the DMG does not unpack; see here for details: # https://github.com/matthewbauer/undmg/issues/4 - year = if stdenvNoCC.isDarwin then "2019" else "2020"; - spot = if stdenvNoCC.isDarwin then "3" else "4"; - rel = if stdenvNoCC.isDarwin then "199" else "304"; + mklVersion = if stdenvNoCC.isDarwin then "2019.3" else "2021.1.1"; + rel = if stdenvNoCC.isDarwin then "199" else "52"; - # Replace `openmpSpot` by `spot` after 2020. - openmpSpot = if stdenvNoCC.isDarwin then spot else "3"; + # Intel openmp uses its own versioning. + openmpVersion = if stdenvNoCC.isDarwin then "19.0.3" else "19.1.3"; + openmpRel = "189"; - rpm-ver = "${year}.${spot}-${rel}-${year}.${spot}-${rel}"; - - # Intel openmp uses its own versioning, but shares the spot release patch. - openmp = if stdenvNoCC.isDarwin then "19.0" else "19.1"; - openmp-ver = "${openmp}.${openmpSpot}-${rel}-${openmp}.${openmpSpot}-${rel}"; + # Thread Building Blocks release. + tbbRel = "119"; shlibExt = stdenvNoCC.hostPlatform.extensions.sharedLibrary; -in stdenvNoCC.mkDerivation { + oneapi-mkl = fetchurl { + url = "https://yum.repos.intel.com/oneapi/intel-oneapi-mkl-${mklVersion}-${mklVersion}-${rel}.x86_64.rpm"; + hash = "sha256-G2Y7iX3UN2YUJhxcMM2KmhONf0ls9owpGlOo8hHOfqA="; + }; + + oneapi-mkl-common = fetchurl { + url = "https://yum.repos.intel.com/oneapi/intel-oneapi-mkl-common-${mklVersion}-${mklVersion}-${rel}.noarch.rpm"; + hash = "sha256-HrMt2OcPIRxM8EL8SPjYTyuHJnC7RhPFUrvLhRH+7vc="; + }; + + oneapi-mkl-common-devel = fetchurl { + url = "https://yum.repos.intel.com/oneapi/intel-oneapi-mkl-common-devel-${mklVersion}-${mklVersion}-${rel}.noarch.rpm"; + hash = "sha256-XDE2WFJzEcpujFmO2AvqQdipZMvKB6/G+ksBe2sE438="; + }; + + oneapi-mkl-devel = fetchurl { + url = "https://yum.repos.intel.com/oneapi/intel-oneapi-mkl-devel-${mklVersion}-${mklVersion}-${rel}.x86_64.rpm"; + hash = "sha256-GhUJZ0Vr/ZXp10maie29/5ryU7zzX3F++wRCuuFcE0s="; + }; + + oneapi-openmp = fetchurl { + url = "https://yum.repos.intel.com/oneapi/intel-oneapi-openmp-${mklVersion}-${mklVersion}-${openmpRel}.x86_64.rpm"; + hash = "sha256-yP2c4aQAFNRffjLoIZgWXLcNXbiez8smsgu2wXitefU="; + }; + + oneapi-tbb = fetchurl { + url = "https://yum.repos.intel.com/oneapi/intel-oneapi-tbb-${mklVersion}-${mklVersion}-${tbbRel}.x86_64.rpm"; + hash = "sha256-K1BvhGoGVU2Zwy5vg2ZvJWBrSdh5uQwo0znt5039X0A="; + }; + +in stdenvNoCC.mkDerivation ({ pname = "mkl"; inherit version; - src = if stdenvNoCC.isDarwin - then - (fetchurl { - url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15235/m_mkl_${version}.dmg"; - sha256 = "14b3ciz7995sqcd6jz7hc8g2x4zwvqxmgxgni46vrlb7n523l62f"; - }) - else - (fetchurl { - url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/l_mkl_${version}.tgz"; - hash = "sha256-IxTUZTaXTb0I8qTk+emhVdx+eeJ5jHTn3fqtAKWRfqU="; - }); + dontUnpack = stdenvNoCC.isLinux; nativeBuildInputs = [ validatePkgConfig ] ++ (if stdenvNoCC.isDarwin then @@ -63,30 +80,15 @@ in stdenvNoCC.mkDerivation { tar xzvf $f done '' else '' - # Common stuff - rpmextract rpm/intel-mkl-core-${rpm-ver}.x86_64.rpm - rpmextract rpm/intel-mkl-common-c-${rpm-ver}.noarch.rpm - rpmextract rpm/intel-mkl-common-f-${rpm-ver}.noarch.rpm - - # Dynamic libraries - rpmextract rpm/intel-mkl-cluster-rt-${rpm-ver}.x86_64.rpm - rpmextract rpm/intel-mkl-core-rt-${rpm-ver}.x86_64.rpm - rpmextract rpm/intel-mkl-gnu-f-rt-${rpm-ver}.x86_64.rpm - rpmextract rpm/intel-mkl-gnu-rt-${rpm-ver}.x86_64.rpm - - # Intel OpenMP runtime - rpmextract rpm/intel-openmp-${openmp-ver}.x86_64.rpm - '' + (if enableStatic then '' - # Static libraries - rpmextract rpm/intel-mkl-cluster-${rpm-ver}.x86_64.rpm - rpmextract rpm/intel-mkl-gnu-${rpm-ver}.x86_64.rpm - rpmextract rpm/intel-mkl-gnu-f-${rpm-ver}.x86_64.rpm - '' else '' - # Take care of installing dynamic-only PkgConfig files during the installPhase - '' - ); + rpmextract ${oneapi-mkl} + rpmextract ${oneapi-mkl-common} + rpmextract ${oneapi-mkl-common-devel} + rpmextract ${oneapi-mkl-devel} + rpmextract ${oneapi-openmp} + rpmextract ${oneapi-tbb} + ''; - installPhase = '' + installPhase = if stdenvNoCC.isDarwin then '' for f in $(find . -name 'mkl*.pc') ; do bn=$(basename $f) substituteInPlace $f \ @@ -95,42 +97,54 @@ in stdenvNoCC.mkDerivation { --replace "lib/intel64_lin" "lib" \ --replace "lib/intel64" "lib" done - for f in $(find opt/intel -name 'mkl*iomp.pc') ; do substituteInPlace $f \ --replace "../compiler/lib" "lib" done - '' + - (if stdenvNoCC.isDarwin then '' - mkdir -p $out/lib - cp -r compilers_and_libraries_${version}/mac/mkl/include $out/ + mkdir -p $out/lib + + cp -r compilers_and_libraries_${version}/mac/mkl/include $out/ - cp -r compilers_and_libraries_${version}/licensing/mkl/en/license.txt $out/lib/ - cp -r compilers_and_libraries_${version}/mac/compiler/lib/* $out/lib/ - cp -r compilers_and_libraries_${version}/mac/mkl/lib/* $out/lib/ - cp -r compilers_and_libraries_${version}/mac/tbb/lib/* $out/lib/ + cp -r compilers_and_libraries_${version}/licensing/mkl/en/license.txt $out/lib/ + cp -r compilers_and_libraries_${version}/mac/compiler/lib/* $out/lib/ + cp -r compilers_and_libraries_${version}/mac/mkl/lib/* $out/lib/ + cp -r compilers_and_libraries_${version}/mac/tbb/lib/* $out/lib/ - mkdir -p $out/lib/pkgconfig - cp -r compilers_and_libraries_${version}/mac/mkl/bin/pkgconfig/* $out/lib/pkgconfig + mkdir -p $out/lib/pkgconfig + cp -r compilers_and_libraries_${version}/mac/mkl/bin/pkgconfig/* $out/lib/pkgconfig '' else '' - mkdir -p $out/lib - cp license.txt $out/lib/ + for f in $(find . -name 'mkl*.pc') ; do + bn=$(basename $f) + substituteInPlace $f \ + --replace $\{MKLROOT} "$out" \ + --replace "lib/intel64" "lib" - cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/include $out/ + sed -r -i "s|^prefix=.*|prefix=$out|g" $f + done - mkdir -p $out/lib/pkgconfig - '') + + for f in $(find opt/intel -name 'mkl*iomp.pc') ; do + substituteInPlace $f --replace "../compiler/lib" "lib" + done + + # License + install -Dm0655 -t $out/share/doc/mkl opt/intel/oneapi/mkl/2021.1.1/licensing/en/license.txt + + # Dynamic libraries + install -Dm0755 -t $out/lib opt/intel/oneapi/mkl/${mklVersion}/lib/intel64/*.so* + install -Dm0755 -t $out/lib opt/intel/oneapi/compiler/2021.1.1/linux/compiler/lib/intel64_lin/*.so* + install -Dm0755 -t $out/lib opt/intel/oneapi/tbb/2021.1.1/lib/intel64/gcc4.8/*.so* + + # Headers + cp -r opt/intel/oneapi/mkl/${mklVersion}/include $out/ + '' + (if enableStatic then '' - cp -r opt/intel/compilers_and_libraries_${version}/linux/compiler/lib/intel64_lin/* $out/lib/ - cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/* $out/lib/ - cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/bin/pkgconfig/* $out/lib/pkgconfig + install -Dm0644 -t $out/lib opt/intel/oneapi/mkl/${mklVersion}/lib/intel64/*.a + install -Dm0644 -t $out/lib/pkgconfig opt/intel/oneapi/mkl/2021.1.1/tools/pkgconfig/*.pc '' else '' - cp -r opt/intel/compilers_and_libraries_${version}/linux/compiler/lib/intel64_lin/*.so* $out/lib/ - cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/*.so* $out/lib/ - cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/bin/pkgconfig/*dynamic*.pc $out/lib/pkgconfig + cp opt/intel/oneapi/mkl/${mklVersion}/lib/intel64/*.so* $out/lib + install -Dm0644 -t $out/lib/pkgconfig opt/intel/oneapi/mkl/2021.1.1/tools/pkgconfig/*dynamic*.pc '') + '' - # Setup symlinks for blas / lapack ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libblas${shlibExt} ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libcblas${shlibExt} @@ -159,13 +173,18 @@ in stdenvNoCC.mkDerivation { dontStrip = true; dontPatchELF = true; - passthru.tests.pkg-config = callPackage ./test { }; + passthru.tests = { + pkg-config-dynamic-iomp = callPackage ./test { enableStatic = false; execution = "iomp"; }; + pkg-config-static-iomp = callPackage ./test { enableStatic = true; execution = "iomp"; }; + pkg-config-dynamic-seq = callPackage ./test { enableStatic = false; execution = "seq"; }; + pkg-config-static-seq = callPackage ./test { enableStatic = true; execution = "seq"; }; + }; meta = with lib; { - description = "Intel Math Kernel Library"; + description = "Intel OneAPI Math Kernel Library"; longDescription = '' - Intel Math Kernel Library (Intel MKL) optimizes code with minimal effort - for future generations of Intel processors. It is compatible with your + Intel OneAPI Math Kernel Library (Intel oneMKL) optimizes code with minimal + effort for future generations of Intel processors. It is compatible with your choice of compilers, languages, operating systems, and linking and threading models. ''; @@ -174,4 +193,9 @@ in stdenvNoCC.mkDerivation { platforms = [ "x86_64-linux" "x86_64-darwin" ]; maintainers = with maintainers; [ bhipple ]; }; -} +} // lib.optionalAttrs stdenvNoCC.isDarwin { + src = fetchurl { + url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15235/m_mkl_${version}.dmg"; + sha256 = "14b3ciz7995sqcd6jz7hc8g2x4zwvqxmgxgni46vrlb7n523l62f"; + }; +}) diff --git a/pkgs/development/libraries/science/math/mkl/test/default.nix b/pkgs/development/libraries/science/math/mkl/test/default.nix index 688c0ec7c39..cb3355260d1 100644 --- a/pkgs/development/libraries/science/math/mkl/test/default.nix +++ b/pkgs/development/libraries/science/math/mkl/test/default.nix @@ -1,6 +1,14 @@ -{ stdenv, pkg-config, mkl }: +{ stdenv +, pkg-config +, mkl -stdenv.mkDerivation { +, enableStatic ? false +, execution ? "seq" +}: + +let + linkType = if enableStatic then "static" else "dynamic"; +in stdenv.mkDerivation { pname = "mkl-test"; version = mkl.version; @@ -8,19 +16,19 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ mkl ]; + buildInputs = [ (mkl.override { inherit enableStatic; }) ]; doCheck = true; buildPhase = '' # Check regular Nix build. - gcc $(pkg-config --cflags --libs mkl-dynamic-ilp64-seq) test.c -o test + gcc test.c -o test $(pkg-config --cflags --libs mkl-${linkType}-ilp64-${execution}) # Clear flags to ensure that we are purely relying on options # provided by pkg-config. NIX_CFLAGS_COMPILE="" \ NIX_LDFLAGS="" \ - gcc $(pkg-config --cflags --libs mkl-dynamic-ilp64-seq) test.c -o test + gcc test.c -o test $(pkg-config --cflags --libs mkl-${linkType}-ilp64-${execution}) ''; installPhase = '' diff --git a/pkgs/development/libraries/x264/default.nix b/pkgs/development/libraries/x264/default.nix index 93d0b42a889..5b82c594b08 100644 --- a/pkgs/development/libraries/x264/default.nix +++ b/pkgs/development/libraries/x264/default.nix @@ -1,4 +1,6 @@ -{ stdenv, lib, fetchurl, nasm }: +{ stdenv, lib, fetchurl, nasm +, enableShared ? !stdenv.hostPlatform.isStatic + }: stdenv.mkDerivation rec { pname = "x264"; @@ -28,7 +30,7 @@ stdenv.mkDerivation rec { export AS=$CC ''; - configureFlags = [ "--enable-shared" ] + configureFlags = lib.optional enableShared "--enable-shared" ++ lib.optional (!stdenv.isi686) "--enable-pic" ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--cross-prefix=${stdenv.cc.targetPrefix}"; diff --git a/pkgs/development/ocaml-modules/merlin-extend/default.nix b/pkgs/development/ocaml-modules/merlin-extend/default.nix index 752fbc039fa..6d4fcad0977 100644 --- a/pkgs/development/ocaml-modules/merlin-extend/default.nix +++ b/pkgs/development/ocaml-modules/merlin-extend/default.nix @@ -4,6 +4,8 @@ buildDunePackage rec { pname = "merlin-extend"; version = "0.6"; + useDune2 = true; + src = fetchurl { url = "https://github.com/let-def/merlin-extend/releases/download/v${version}/merlin-extend-v${version}.tbz"; sha256 = "0hvc4mz92x3rl2dxwrhvhzwl4gilnyvvwcqgr45vmdpyjyp3dwn2"; diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix index 1da80a2202d..bdbbf1d8c67 100644 --- a/pkgs/development/ocaml-modules/ocamlnet/default.nix +++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, pkg-config, ncurses, ocaml, findlib, ocaml_pcre, camlzip +{ stdenv, lib, fetchurl, pkg-config, which, ncurses, ocaml, findlib, ocaml_pcre, camlzip , gnutls, nettle }: @@ -8,14 +8,14 @@ else stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-ocamlnet-${version}"; - version = "4.1.8"; + version = "4.1.9"; src = fetchurl { url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz"; - sha256 = "1x703mjqsv9nvffnkj5i36ij2s5zfvxxll2z1qj6a7p428b2yfnm"; + sha256 = "1vlwxjxr946gdl61a1d7yk859cijq45f60dhn54ik3w4g6cx33pr"; }; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config which ]; buildInputs = [ ncurses ocaml findlib ocaml_pcre camlzip gnutls nettle ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/sqlite3/default.nix b/pkgs/development/ocaml-modules/sqlite3/default.nix index 1b8f9d629e3..90b469288c7 100644 --- a/pkgs/development/ocaml-modules/sqlite3/default.nix +++ b/pkgs/development/ocaml-modules/sqlite3/default.nix @@ -1,8 +1,9 @@ -{ lib, fetchurl, sqlite, pkg-config, buildDunePackage }: +{ lib, fetchurl, sqlite, pkg-config, buildDunePackage, dune-configurator }: buildDunePackage rec { pname = "sqlite3"; version = "5.0.2"; + useDune2 = true; minimumOCamlVersion = "4.05"; src = fetchurl { @@ -11,7 +12,7 @@ buildDunePackage rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ sqlite ]; + buildInputs = [ dune-configurator sqlite ]; meta = with lib; { homepage = "http://mmottl.github.io/sqlite3-ocaml/"; diff --git a/pkgs/development/python-modules/aiodiscover/default.nix b/pkgs/development/python-modules/aiodiscover/default.nix new file mode 100644 index 00000000000..923be510c45 --- /dev/null +++ b/pkgs/development/python-modules/aiodiscover/default.nix @@ -0,0 +1,51 @@ +{ lib +, async-dns +, buildPythonPackage +, fetchFromGitHub +, fetchpatch +, ifaddr +, pyroute2 +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aiodiscover"; + version = "1.3.2"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "bdraco"; + repo = pname; + rev = "v${version}"; + sha256 = "0qg2wm6ddsfai788chylr5ynrvakwg91q3dszz7dxzbkfdcxixj3"; + }; + + patches = [ + (fetchpatch { + name = "remove-entry_point.patch"; + url = "https://github.com/bdraco/aiodiscover/commit/4c497fb7d4c8685a78209c710e92e0bd17f46bb2.patch"; + sha256 = "0py9alhg6qdncbn6a04mrnjhs4j19kg759dv69knpqzryikcfa63"; + }) + ]; + + propagatedBuildInputs = [ + async-dns + pyroute2 + ifaddr + ]; + + postPatch = '' + substituteInPlace setup.py --replace '"pytest-runner>=5.2",' "" + ''; + + # Tests require access to /etc/resolv.conf + # pythonImportsCheck doesn't work as async-dns wants to create its CONFIG_DIR + doCheck = false; + + meta = with lib; { + description = "Python module to discover hosts via ARP and PTR lookup"; + homepage = "https://github.com/bdraco/aiodiscover"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/async-dns/default.nix b/pkgs/development/python-modules/async-dns/default.nix new file mode 100644 index 00000000000..fdf240f5ba9 --- /dev/null +++ b/pkgs/development/python-modules/async-dns/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, fetchpatch +, poetry-core +, python +, pythonOlder +}: + +buildPythonPackage rec { + pname = "async-dns"; + version = "1.1.9"; + disabled = pythonOlder "3.6"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "gera2ld"; + repo = "async_dns"; + rev = "v${version}"; + sha256 = "1z8j0s3dwcyavarhx41q75k1cmfzmwiqdh4svv3v15np26cywyag"; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + patches = [ + # Switch to poetry-core, https://github.com/gera2ld/async_dns/pull/22 + # Can be remove for async-dns>1.1.9 + (fetchpatch { + name = "switch-to-poetry-core.patch"; + url = "https://github.com/gera2ld/async_dns/commit/25fee497aae3bde0ddf9f8804d249a27edbe607e.patch"; + sha256 = "0w4zlppnp1a2q1wasc95ymqx3djswl32y5nw6fvz3nn8jg4gc743"; + }) + ]; + + checkPhase = '' + export HOME=$TMPDIR + # Test needs network access + rm tests/test_resolver.py + ${python.interpreter} -m unittest + ''; + + pythonImportsCheck = [ "async_dns" ]; + + meta = with lib; { + description = "Python DNS library"; + homepage = "https://github.com/gera2ld/async_dns"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix index 2f9cd1a0b19..461ce9d90d9 100644 --- a/pkgs/development/python-modules/aws-adfs/default.nix +++ b/pkgs/development/python-modules/aws-adfs/default.nix @@ -44,7 +44,9 @@ buildPythonPackage rec { # Relax version constraint postPatch = '' - sed -i 's/coverage < 4/coverage/' setup.py + substituteInPlace setup.py \ + --replace 'coverage < 4' 'coverage' \ + --replace 'fido2>=0.8.1,<0.9.0' 'fido2>=0.8.1,<1.0.0' ''; # Test suite writes files to $HOME/.aws/, or /homeless-shelter if unset diff --git a/pkgs/development/python-modules/awslambdaric/default.nix b/pkgs/development/python-modules/awslambdaric/default.nix new file mode 100644 index 00000000000..ff26bb6245d --- /dev/null +++ b/pkgs/development/python-modules/awslambdaric/default.nix @@ -0,0 +1,35 @@ +{ lib, buildPythonPackage, fetchFromGitHub, isPy27, pytestCheckHook, autoconf +, automake, cmake, gcc, libtool, perl, simplejson }: + +buildPythonPackage rec { + pname = "awslambdaric"; + version = "1.0.0"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "aws"; + repo = "aws-lambda-python-runtime-interface-client"; + rev = "v${version}"; + sha256 = "13v1lsp3lxbqknvlb3gvljjf3wyrx5jg8sf9yfiaj1sm8pb8pmrf"; + }; + + propagatedBuildInputs = [ simplejson ]; + + nativeBuildInputs = [ autoconf automake cmake libtool perl ]; + + buildInputs = [ gcc ]; + + dontUseCmakeConfigure = true; + + checkInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "awslambdaric" "runtime_client" ]; + + meta = with lib; { + description = "AWS Lambda Runtime Interface Client for Python"; + homepage = "https://github.com/aws/aws-lambda-python-runtime-interface-client"; + license = licenses.asl20; + maintainers = with maintainers; [ austinbutler ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix index ee37ddd97b8..042b6501a43 100644 --- a/pkgs/development/python-modules/boto3/default.nix +++ b/pkgs/development/python-modules/boto3/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "boto3"; - version = "1.17.45"; # N.B: if you change this, change botocore and awscli to a matching version + version = "1.17.46"; # N.B: if you change this, change botocore and awscli to a matching version src = fetchPypi { inherit pname version; - sha256 = "sha256-7dMELrpeIZFKfQmcuKJfAJwMQqlSnJrE9bhSrVs6ys8="; + sha256 = "sha256-Xe4Vv5YepYTWgfrkLFADTIOXF+dFTD2pDLV6bFLpdTI="; }; propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ]; diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix index 4aac44470e2..7301ef5ae48 100644 --- a/pkgs/development/python-modules/botocore/default.nix +++ b/pkgs/development/python-modules/botocore/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "botocore"; - version = "1.20.45"; # N.B: if you change this, change boto3 and awscli to a matching version + version = "1.20.46"; # N.B: if you change this, change boto3 and awscli to a matching version src = fetchPypi { inherit pname version; - sha256 = "sha256-s6WbIcb0BNLF3LGiFphISlrBu+Y5ypey4PDhnFLC6+E="; + sha256 = "sha256-ULvD6TQcfaqCGduYw48mASoVHKiPomAUjlvzrcvLlUE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/fido2/default.nix b/pkgs/development/python-modules/fido2/default.nix index 8689250dc6f..984a3743f0b 100644 --- a/pkgs/development/python-modules/fido2/default.nix +++ b/pkgs/development/python-modules/fido2/default.nix @@ -20,6 +20,16 @@ buildPythonPackage rec { checkInputs = [ mock pyfakefs ]; + # Testing with `python setup.py test` doesn't work: + # https://github.com/Yubico/python-fido2/issues/108#issuecomment-763513576 + checkPhase = '' + runHook preCheck + + python -m unittest discover -v + + runHook postCheck + ''; + pythonImportsCheck = [ "fido2" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/gdown/default.nix b/pkgs/development/python-modules/gdown/default.nix index 9af10727285..8195bb0d403 100644 --- a/pkgs/development/python-modules/gdown/default.nix +++ b/pkgs/development/python-modules/gdown/default.nix @@ -5,6 +5,7 @@ , requests , tqdm , setuptools +, six }: buildPythonApplication rec { @@ -16,7 +17,7 @@ buildPythonApplication rec { sha256 = "4b3a1301e57bfd8dce939bf25ef8fbb4b23967fd0f878eede328bdcc41386bac"; }; - propagatedBuildInputs = [ filelock requests tqdm setuptools ]; + propagatedBuildInputs = [ filelock requests tqdm setuptools six ]; checkPhase = '' $out/bin/gdown --help > /dev/null diff --git a/pkgs/development/python-modules/homepluscontrol/default.nix b/pkgs/development/python-modules/homepluscontrol/default.nix new file mode 100644 index 00000000000..680c4a5a726 --- /dev/null +++ b/pkgs/development/python-modules/homepluscontrol/default.nix @@ -0,0 +1,43 @@ +{ lib +, aiohttp +, aioresponses +, buildPythonPackage +, fetchFromGitHub +, pyjwt +, pytestCheckHook +, pythonOlder +, yarl +}: + +buildPythonPackage rec { + pname = "homepluscontrol"; + version = "0.0.5"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "chemaaa"; + repo = pname; + rev = version; + sha256 = "1nd3a7nhh1xb70cdh2h2bimwbffvpc3457smyzr9fqkjwfbcrr93"; + }; + + propagatedBuildInputs = [ + aiohttp + pyjwt + yarl + ]; + + checkInputs = [ + aioresponses + pytestCheckHook + ]; + + pythonImportsCheck = [ "homepluscontrol" ]; + + meta = with lib; { + description = "Python API to interact with the Legrand Eliot Home and Control"; + homepage = "https://github.com/chemaaa/homepluscontrol"; + license = with licenses; [ gpl3Only ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix index ca91ad954a4..0d1fb08e2a4 100644 --- a/pkgs/development/python-modules/internetarchive/default.nix +++ b/pkgs/development/python-modules/internetarchive/default.nix @@ -19,11 +19,11 @@ buildPythonPackage rec { pname = "internetarchive"; - version = "1.9.9"; + version = "2.0.2"; src = fetchPypi { inherit pname version; - sha256 = "a1614cbf35499d833e07699ddfd344764f86959fd5535aa9ce1203f57a77f970"; + sha256 = "515e6646a2b917c15f2241670d21f14a014b9c67dc509aef4d4aca5a59cdda65"; }; propagatedBuildInputs = [ @@ -52,7 +52,8 @@ buildPythonPackage rec { meta = with lib; { description = "A Python and Command-Line Interface to Archive.org"; homepage = "https://github.com/jjjake/internetarchive"; - license = licenses.agpl3; + changelog = "https://github.com/jjjake/internetarchive/raw/v${version}/HISTORY.rst"; + license = licenses.agpl3Plus; maintainers = [ maintainers.marsam ]; }; } diff --git a/pkgs/development/python-modules/localimport/default.nix b/pkgs/development/python-modules/localimport/default.nix new file mode 100644 index 00000000000..3c41618d5b8 --- /dev/null +++ b/pkgs/development/python-modules/localimport/default.nix @@ -0,0 +1,23 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "localimport"; + version = "1.7.3"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-p7ACOzJRwH9hICMcxtVt/r+twEoFsDxPKGuarFnFIbo="; + }; + + pythonImportsCheck = [ "localimport" ]; + + meta = with lib; { + homepage = "https://github.com/NiklasRosenstein/py-localimport"; + description = "Isolated import of Python modules"; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + }; +} diff --git a/pkgs/development/python-modules/makefun/default.nix b/pkgs/development/python-modules/makefun/default.nix new file mode 100644 index 00000000000..1f5596a46cc --- /dev/null +++ b/pkgs/development/python-modules/makefun/default.nix @@ -0,0 +1,32 @@ +{ lib +, fetchPypi +, buildPythonPackage +, setuptools_scm +}: + +buildPythonPackage rec { + pname = "makefun"; + version = "1.11.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-2qNQpILtWLVyREPGUUMhkem5ewyDdDh50JExccaigIU="; + }; + + nativeBuildInputs = [ setuptools_scm ]; + + # Disabling tests for now due to various (transitive) dependencies on modules + # from @smarie which are, as of yet, not part of nixpkgs. Also introduces + # a tricky dependency: makefun tests depend on pytest-cases, installing + # pytest-cases depends on makefun. + doCheck = false; + + pythonImportsCheck = [ "makefun" ]; + + meta = with lib; { + homepage = "https://github.com/smarie/python-makefun"; + description = "Small library to dynamically create python functions"; + license = licenses.bsd2; + maintainers = with maintainers; [ veehaitch ]; + }; +} diff --git a/pkgs/development/python-modules/nodepy-runtime/default.nix b/pkgs/development/python-modules/nodepy-runtime/default.nix new file mode 100644 index 00000000000..5be806e4cef --- /dev/null +++ b/pkgs/development/python-modules/nodepy-runtime/default.nix @@ -0,0 +1,47 @@ +{ lib +, buildPythonPackage +, fetchPypi +, localimport +, pathlib2 +, six +}: + +buildPythonPackage rec { + pname = "nodepy-runtime"; + version = "2.1.5"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-6tSsD76EpCZxkdulv1BcUZtIXGWLG6PuII25J8STygE="; + }; + + propagatedBuildInputs = [ + localimport + pathlib2 + six + ]; + + pythonImportsCheck = [ + "nodepy" + ]; + + meta = with lib; { + homepage = "https://github.com/nodepy/nodepy"; + description = "Runtime for Python inspired by Node.JS"; + longDescription = '' + Node.py is a Python runtime and package manager compatible with CPython + 2.7 and 3.3 – 3.6. It provides a separate import mechanism for modules + inspired by Node.js, bringing dependency management and ease of deployment + for Python applications up to par with other languages without virtual + environments. + + Node.py comes with a built-in package manager that builds on Pip for + standard Python dependencies but also adds the capability to install + packages that are specifically developed for Node.py. To install the + dependencies of the package manager you must specify the [pm] install + extra. + ''; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + }; +} diff --git a/pkgs/development/python-modules/pubnub/default.nix b/pkgs/development/python-modules/pubnub/default.nix index 8914b9884c2..c2f1a9fb34d 100644 --- a/pkgs/development/python-modules/pubnub/default.nix +++ b/pkgs/development/python-modules/pubnub/default.nix @@ -13,16 +13,17 @@ buildPythonPackage rec { pname = "pubnub"; - version = "5.1.0"; + version = "5.1.1"; src = fetchFromGitHub { owner = pname; repo = "python"; rev = "v${version}"; - sha256 = "0f6r439bfz58ddikqj5cx56vv7gxrpja9rcdg0j1mlng8ry581f3"; + sha256 = "sha256-ir8f8A6XuN1ZQIYQbArChLzTlYu4ZKpkoOXQtSLOvKg="; }; propagatedBuildInputs = [ + aiohttp cbor2 pycryptodomex requests @@ -30,19 +31,15 @@ buildPythonPackage rec { ]; checkInputs = [ - aiohttp - pycryptodomex pytest-asyncio pytestCheckHook pytest-vcr - ]; - # Some tests don't pass with recent releases of tornado/twisted - pytestFlagsArray = [ - "--ignore tests/integrational" - "--ignore tests/manual/asyncio" - "--ignore tests/manual/tornado/test_reconnections.py" + # Some tests don't pass with recent releases of twisted + disabledTestPaths = [ + "tests/integrational" + "tests/manual/asyncio" ]; pythonImportsCheck = [ "pubnub" ]; diff --git a/pkgs/development/python-modules/pysmappee/default.nix b/pkgs/development/python-modules/pysmappee/default.nix index 626f55fc92a..a3517ea87ec 100644 --- a/pkgs/development/python-modules/pysmappee/default.nix +++ b/pkgs/development/python-modules/pysmappee/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "pysmappee"; - version = "0.2.18"; + version = "0.2.23"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "smappee"; repo = pname; rev = version; - sha256 = "sha256-DnRtKr8aGZ6rcN/wTpcFNaI+EJm07nObfWyBpLkQF38="; + sha256 = "sha256-vxCZzkngYnc+hD3gT1x7qAQTFjpmmgRU5F6cusNDNgk="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pytest-raises/default.nix b/pkgs/development/python-modules/pytest-raises/default.nix new file mode 100644 index 00000000000..7891437909e --- /dev/null +++ b/pkgs/development/python-modules/pytest-raises/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pytest-raises"; + version = "0.11"; + + src = fetchFromGitHub { + owner = "Lemmons"; + repo = pname; + rev = version; + sha256 = "0gbb4kml2qv7flp66i73mgb4qihdaybb6c96b5dw3mhydhymcsy2"; + }; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "pytest_raises" ]; + + meta = with lib; { + description = "An implementation of pytest.raises as a pytest.mark fixture"; + homepage = "https://github.com/Lemmons/pytest-raises"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pywebview/default.nix b/pkgs/development/python-modules/pywebview/default.nix index 545fb236732..a020517dcce 100644 --- a/pkgs/development/python-modules/pywebview/default.nix +++ b/pkgs/development/python-modules/pywebview/default.nix @@ -1,25 +1,53 @@ -{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder -, importlib-resources, pytest, xvfb_run }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, importlib-resources +, pyqtwebengine +, pytest +, pythonOlder +, qt5 +, xvfb_run +}: buildPythonPackage rec { pname = "pywebview"; - version = "3.3.1"; + version = "3.4"; disabled = pythonOlder "3.5"; src = fetchFromGitHub { owner = "r0x0r"; repo = "pywebview"; rev = version; - sha256 = "015z7n0hdgkzn0p7aw1xsv6lwc260p8q67jx0zyd1zghnwyj8k79"; + sha256 = "sha256-3JHwtw8oReolEl4k8cdt7GCVGNkfWWJN6EnZYHxzDO8="; }; - propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [ importlib-resources ]; + nativeBuildInputs = [ + qt5.wrapQtAppsHook + ]; - checkInputs = [ pytest xvfb_run ]; + propagatedBuildInputs = [ + pyqtwebengine + ] ++ lib.optionals (pythonOlder "3.7") [ importlib-resources ]; + + checkInputs = [ + pytest + xvfb_run + ]; checkPhase = '' + # Cannot create directory /homeless-shelter/.... Error: FILE_ERROR_ACCESS_DENIED + export HOME=$TMPDIR + # QStandardPaths: XDG_RUNTIME_DIR not set + export XDG_RUNTIME_DIR=$HOME/xdg-runtime-dir + pushd tests + substituteInPlace run.sh \ + --replace "PYTHONPATH=.." "PYTHONPATH=$PYTHONPATH" \ + --replace "pywebviewtest test_js_api.py::test_concurrent ''${PYTEST_OPTIONS}" "# skip flaky test_js_api.py::test_concurrent" + patchShebangs run.sh + wrapQtApp run.sh + xvfb-run -s '-screen 0 800x600x24' ./run.sh popd ''; diff --git a/pkgs/development/python-modules/requests-aws4auth/default.nix b/pkgs/development/python-modules/requests-aws4auth/default.nix index a2e92283dc7..3267b0a7865 100644 --- a/pkgs/development/python-modules/requests-aws4auth/default.nix +++ b/pkgs/development/python-modules/requests-aws4auth/default.nix @@ -1,4 +1,5 @@ -{ lib, buildPythonPackage, fetchPypi, python, requests }: +{ lib, buildPythonPackage, fetchPypi, python, requests, six }: + with lib; buildPythonPackage rec { pname = "requests-aws4auth"; @@ -9,7 +10,7 @@ buildPythonPackage rec { sha256 = "9a4a5f4a61c49f098f5f669410308ac5b0ea2682fd511ee3a4f9ff73b5bb275a"; }; - propagatedBuildInputs = [ requests ]; + propagatedBuildInputs = [ requests six ]; # pypi package no longer contains tests doCheck = false; diff --git a/pkgs/development/python-modules/ronin/default.nix b/pkgs/development/python-modules/ronin/default.nix new file mode 100644 index 00000000000..c9b0a0d2561 --- /dev/null +++ b/pkgs/development/python-modules/ronin/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchPypi +, blessings +, colorama +, glob2 +}: + +buildPythonPackage rec { + pname = "ronin"; + version = "1.1.1"; + + src = fetchPypi { + inherit version pname; + hash = "sha256-5gZ8S0NR4JzKBIdi/xYtVmFg9ObbCSkT7sz+OKWnK/U="; + }; + + propagatedBuildInputs = [ + blessings + colorama + glob2 + ]; + + pythonImportsCheck = [ + "ronin" + ]; + + meta = with lib; { + homepage = "https://github.com/tliron/ronin/"; + description = "A straightforward but powerful build system based on Ninja and Python"; + license = licenses.asl20; + maintainers = with maintainers; [ AndersonTorres ]; + }; +} diff --git a/pkgs/development/python-modules/screenlogicpy/default.nix b/pkgs/development/python-modules/screenlogicpy/default.nix new file mode 100644 index 00000000000..100c487acee --- /dev/null +++ b/pkgs/development/python-modules/screenlogicpy/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +}: + +buildPythonPackage rec { + pname = "screenlogicpy"; + version = "0.3.0"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "0gn2mf2n2g1ffdbijrydgb7dgd60lkvckblx6s86kxlkrp1wqgrq"; + }; + + # Project doesn't publish tests + # https://github.com/dieselrabbit/screenlogicpy/issues/8 + doCheck = false; + pythonImportsCheck = [ "screenlogicpy" ]; + + meta = with lib; { + description = "Python interface for Pentair Screenlogic devices"; + homepage = "https://github.com/dieselrabbit/screenlogicpy"; + license = with licenses; [ gpl3Only ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/solo-python/default.nix b/pkgs/development/python-modules/solo-python/default.nix index 72546642009..8d84ce34eb9 100644 --- a/pkgs/development/python-modules/solo-python/default.nix +++ b/pkgs/development/python-modules/solo-python/default.nix @@ -60,5 +60,8 @@ homepage = "https://github.com/solokeys/solo-python"; maintainers = with maintainers; [ wucke13 ]; license = with licenses; [ asl20 mit ]; + # solo-python v0.0.27 does not support fido2 >= v0.9 + # https://github.com/solokeys/solo-python/issues/110 + broken = true; }; } diff --git a/pkgs/development/python-modules/wakeonlan/default.nix b/pkgs/development/python-modules/wakeonlan/default.nix index 86d405a33ef..340a407ab3f 100644 --- a/pkgs/development/python-modules/wakeonlan/default.nix +++ b/pkgs/development/python-modules/wakeonlan/default.nix @@ -1,26 +1,45 @@ -{ lib, fetchPypi, buildPythonPackage, setuptools_scm, pytest, mock }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, fetchpatch +, poetry-core +, pytestCheckHook +, pythonOlder +}: buildPythonPackage rec { pname = "wakeonlan"; - version = "1.1.6"; + version = "2.0.0"; + disabled = pythonOlder "3.6"; + format = "pyproject"; - src = fetchPypi { - inherit pname version; - sha256 = "5e6013a17004809e676c150689abd94bcc0f12a37ad3fbce1f6270968f95ffa9"; + src = fetchFromGitHub { + owner = "remcohaszing"; + repo = "pywakeonlan"; + rev = version; + sha256 = "0p9jyiv0adcymbnmbay72g9phlbhsr4kmrwxscbdjq81gcmxsi0y"; }; - postPatch = '' - substituteInPlace setup.py \ - --replace "setuptools-scm ~= 1.15.7" "setuptools-scm" - ''; + nativeBuildInputs = [ + poetry-core + ]; - checkInputs = [ pytest mock ]; + checkInputs = [ + pytestCheckHook + ]; - nativeBuildInputs = [ setuptools_scm ]; + patches = [ + # Switch to poetry-core, https://github.com/remcohaszing/pywakeonlan/pull/19 + (fetchpatch { + name = "switch-to-poetry-core.patch"; + url = "https://github.com/remcohaszing/pywakeonlan/commit/6aa5050ed94ef718dfcd0b946546b6a738f47ee3.patch"; + sha256 = "1xzj2464ziwm7bp05bzbjwjp9whmgp1py3isr41d92qvnil86vm6"; + }) + ]; - checkPhase = '' - py.test - ''; + pytestFlagsArray = [ "test_wakeonlan.py" ]; + + pythonImportsCheck = [ "wakeonlan" ]; meta = with lib; { description = "A small python module for wake on lan"; diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix index 8ad4df26208..a181a674188 100644 --- a/pkgs/development/python-modules/xknx/default.nix +++ b/pkgs/development/python-modules/xknx/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "xknx"; - version = "0.17.5"; + version = "0.18.0"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "XKNX"; repo = pname; rev = version; - sha256 = "sha256-oLm1Bh58mKwbQf9FloqEnypzANikxgdFpAB99h/Mb9U="; + sha256 = "sha256-8g8DrFvhecdPsfiw+uKnfJOrLQeuFUziK2Jl3xKmrf4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix new file mode 100644 index 00000000000..c65c88b88d5 --- /dev/null +++ b/pkgs/development/python-modules/yalexs/default.nix @@ -0,0 +1,58 @@ +{ lib +, aiofiles +, aiohttp +, aioresponses +, aiounittest +, asynctest +, buildPythonPackage +, fetchFromGitHub +, pubnub +, pytestCheckHook +, python-dateutil +, pythonOlder +, requests +, requests-mock +}: + +buildPythonPackage rec { + pname = "yalexs"; + version = "1.1.10"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "bdraco"; + repo = pname; + rev = "v${version}"; + sha256 = "1qmxiafqmh51i3l30pajaqj5h0kziq4d37fn6hl58429bb85dpp9"; + }; + + propagatedBuildInputs = [ + aiofiles + aiohttp + pubnub + python-dateutil + requests + ]; + + checkInputs = [ + aioresponses + aiounittest + asynctest + pytestCheckHook + requests-mock + ]; + + postPatch = '' + # Not used requirement + substituteInPlace setup.py --replace '"vol",' "" + ''; + + pythonImportsCheck = [ "yalexs" ]; + + meta = with lib; { + description = "Python API for Yale Access (formerly August) Smart Lock and Doorbell"; + homepage = "https://github.com/bdraco/yalexs"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 5c13e00c5ef..99c535fa338 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -25,7 +25,7 @@ , cairo, re2, rake, gobject-introspection, gdk-pixbuf, zeromq, czmq, graphicsmagick, libcxx , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk -, bundler, libsass, libselinux ? null, libsepol ? null +, bundler, libsass, libselinux ? null, libsepol ? null, shared-mime-info }@args: let @@ -164,6 +164,10 @@ in ''; }; + mimemagic = attrs: { + FREEDESKTOP_MIME_TYPES_PATH = "${shared-mime-info}/share/mime/packages/freedesktop.org.xml"; + }; + mini_magick = attrs: { postInstall = '' installPath=$(cat $out/nix-support/gem-meta/install-path) diff --git a/pkgs/development/tools/analysis/radare2/cutter.nix b/pkgs/development/tools/analysis/radare2/cutter.nix deleted file mode 100644 index 6d9543e3836..00000000000 --- a/pkgs/development/tools/analysis/radare2/cutter.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ fetchFromGitHub, lib, mkDerivation -# nativeBuildInputs -, qmake, pkg-config -# Qt -, qtbase, qtsvg, qtwebengine -# buildInputs -, r2-for-cutter -, python3 -, wrapQtAppsHook }: - -mkDerivation rec { - pname = "radare2-cutter"; - version = "1.12.0"; - - src = fetchFromGitHub { - owner = "radareorg"; - repo = "cutter"; - rev = "v${version}"; - sha256 = "0ljj3j3apbbw628n2nyrxpbnclixx20bqjxm0xwggqzz9vywsar0"; - }; - - postUnpack = "export sourceRoot=$sourceRoot/src"; - - # Remove this "very helpful" helper file intended for discovering r2, - # as it's a doozy of harddcoded paths and unexpected behavior. - # Happily Nix has everything all set so we don't need it, - # other than as basis for the qmakeFlags set below. - postPatch = '' - substituteInPlace Cutter.pro \ - --replace "include(lib_radare2.pri)" "" - ''; - - nativeBuildInputs = [ qmake pkg-config python3 wrapQtAppsHook ]; - propagatedBuildInputs = [ python3.pkgs.pyside2 ]; - buildInputs = [ qtbase qtsvg qtwebengine r2-for-cutter python3 ]; - - qmakeFlags = with python3.pkgs; [ - "CONFIG+=link_pkg-config" - "PKGCONFIG+=r_core" - # Leaving this enabled doesn't break build but generates errors - # at runtime (to console) about being unable to load needed bits. - # Disable until can be looked at. - "CUTTER_ENABLE_JUPYTER=false" - # Enable support for Python plugins - "CUTTER_ENABLE_PYTHON=true" - "CUTTER_ENABLE_PYTHON_BINDINGS=true" - "SHIBOKEN_EXTRA_OPTIONS+=-I${r2-for-cutter}/include/libr" - ]; - - preBuild = '' - export NIX_LDFLAGS="$NIX_LDFLAGS $(pkg-config --libs python3-embed)" - qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH") - ''; - - enableParallelBuilding = true; - - meta = with lib; { - description = "A Qt and C++ GUI for radare2 reverse engineering framework"; - homepage = src.meta.homepage; - license = licenses.gpl3; - maintainers = with maintainers; [ mic92 dtzWill ]; - }; -} diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 287321804e2..f5ce1bbde76 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -1,9 +1,21 @@ -{lib, stdenv, fetchFromGitHub +{ lib +, stdenv +, fetchFromGitHub , buildPackages , pkg-config -, libusb-compat-0_1, readline, libewf, perl, zlib, openssl -, libuv, file, libzip, xxHash -, gtk2 ? null, vte ? null, gtkdialog ? null +, libusb-compat-0_1 +, readline +, libewf +, perl +, zlib +, openssl +, libuv +, file +, libzip +, xxHash +, gtk2 ? null +, vte ? null +, gtkdialog ? null , python3 ? null , ruby ? null , lua ? null @@ -21,108 +33,84 @@ assert pythonBindings -> python3 != null; let inherit (lib) optional; - generic = { - version_commit, # unused - gittap, - gittip, - rev, - version, - sha256, - cs_ver, - cs_sha256 - }: - stdenv.mkDerivation { - pname = "radare2"; - inherit version; + #<generated> + # DO NOT EDIT! Automatically generated by ./update.py + gittap = "5.1.1"; + gittip = "a86f8077fc148abd6443384362a3717cd4310e64"; + rev = "5.1.1"; + version = "5.1.1"; + sha256 = "0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"; + cs_ver = "4.0.2"; + cs_sha256 = "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w"; + #</generated> +in +stdenv.mkDerivation { + pname = "radare2"; + inherit version; - src = fetchFromGitHub { - owner = "radare"; - repo = "radare2"; - inherit rev sha256; - }; + src = fetchFromGitHub { + owner = "radare"; + repo = "radare2"; + inherit rev sha256; + }; - postPatch = let - capstone = fetchFromGitHub { - owner = "aquynh"; - repo = "capstone"; - # version from $sourceRoot/shlr/Makefile - rev = cs_ver; - sha256 = cs_sha256; - }; - in '' - mkdir -p build/shlr - cp -r ${capstone} capstone-${cs_ver} - chmod -R +w capstone-${cs_ver} - # radare 3.3 compat for radare2-cutter - (cd shlr && ln -s ../capstone-${cs_ver} capstone) - tar -czvf shlr/capstone-${cs_ver}.tar.gz capstone-${cs_ver} - ''; + postPatch = + let + capstone = fetchFromGitHub { + owner = "aquynh"; + repo = "capstone"; + # version from $sourceRoot/shlr/Makefile + rev = cs_ver; + sha256 = cs_sha256; + }; + in + '' + mkdir -p build/shlr + cp -r ${capstone} capstone-${cs_ver} + chmod -R +w capstone-${cs_ver} + tar -czvf shlr/capstone-${cs_ver}.tar.gz capstone-${cs_ver} + ''; - postInstall = '' - install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm - ''; + postInstall = '' + install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm + ''; - WITHOUT_PULL="1"; - makeFlags = [ - "GITTAP=${gittap}" - "GITTIP=${gittip}" - "RANLIB=${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.bintools.targetPrefix}ranlib" - ]; - configureFlags = [ - "--with-sysmagic" - "--with-syszip" - "--with-sysxxhash" - "--with-openssl" - ]; + WITHOUT_PULL = "1"; + makeFlags = [ + "GITTAP=${gittap}" + "GITTIP=${gittip}" + "RANLIB=${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.bintools.targetPrefix}ranlib" + ]; + configureFlags = [ + "--with-sysmagic" + "--with-syszip" + "--with-sysxxhash" + "--with-openssl" + ]; - enableParallelBuilding = true; - depsBuildBuild = [ buildPackages.stdenv.cc ]; + enableParallelBuilding = true; + depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ file readline libusb-compat-0_1 libewf perl zlib openssl libuv ] - ++ optional useX11 [ gtkdialog vte gtk2 ] - ++ optional rubyBindings [ ruby ] - ++ optional pythonBindings [ python3 ] - ++ optional luaBindings [ lua ]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ file readline libusb-compat-0_1 libewf perl zlib openssl libuv ] + ++ optional useX11 [ gtkdialog vte gtk2 ] + ++ optional rubyBindings [ ruby ] + ++ optional pythonBindings [ python3 ] + ++ optional luaBindings [ lua ]; - propagatedBuildInputs = [ - # radare2 exposes r_lib which depends on these libraries - file # for its list of magic numbers (`libmagic`) - libzip - xxHash - ]; + propagatedBuildInputs = [ + # radare2 exposes r_lib which depends on these libraries + file # for its list of magic numbers (`libmagic`) + libzip + xxHash + ]; - meta = { - description = "unix-like reverse engineering framework and commandline tools"; - homepage = "http://radare.org/"; - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ raskin makefu mic92 ]; - platforms = with lib.platforms; linux; - inherit version; - }; - }; -in { - #<generated> - # DO NOT EDIT! Automatically generated by ./update.py - radare2 = generic { - version_commit = "25741"; - gittap = "5.1.1"; - gittip = "a86f8077fc148abd6443384362a3717cd4310e64"; - rev = "5.1.1"; - version = "5.1.1"; - sha256 = "0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"; - cs_ver = "4.0.2"; - cs_sha256 = "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w"; - }; - r2-for-cutter = generic { - version_commit = "24959"; - gittap = "4.5.1"; - gittip = "293cf5ae65ba4e28828095dcae212955593ba255"; - rev = "4.5.1"; - version = "4.5.1"; - sha256 = "0qigy1px0jy74c5ig73dc2fqjcy6vcy76i25dx9r3as6zfpkkaxj"; - cs_ver = "4.0.2"; - cs_sha256 = "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w"; + meta = { + description = "unix-like reverse engineering framework and commandline tools"; + homepage = "http://radare.org/"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ raskin makefu mic92 ]; + platforms = with lib.platforms; linux; + inherit version; }; - #</generated> } diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py index a9a0a234317..ede0a6058a9 100755 --- a/pkgs/development/tools/analysis/radare2/update.py +++ b/pkgs/development/tools/analysis/radare2/update.py @@ -48,24 +48,6 @@ def get_radare2_rev() -> str: raise RuntimeError(f"No release found at {feed_url}") -def get_cutter_version() -> str: - version_expr = """ -(with import <nixpkgs> {}; lib.getVersion (qt5.callPackage <radare2/cutter.nix> {})) -""" - return sh("nix", "eval", "--raw", version_expr.strip(), "-I", "radare2={0}".format(SCRIPT_DIR)) - - -def get_r2_cutter_rev() -> str: - version = get_cutter_version() - url = f"https://api.github.com/repos/radareorg/cutter/contents?ref=v{version}" - with urllib.request.urlopen(url) as response: - data = json.load(response) # type: ignore - for entry in data: - if entry["name"] == "radare2": - return entry["sha"] - raise Exception("no radare2 submodule found in github.com/radareorg/cutter") - - def git(dirname: str, *args: str) -> str: return sh("git", "-C", dirname, *args) @@ -94,43 +76,23 @@ def get_repo_info(dirname: str, rev: str) -> Dict[str, str]: ) -def write_package_expr(version: str, info: Dict[str, str]) -> str: - return f"""generic {{ - version_commit = "{info["version_commit"]}"; - gittap = "{info["gittap"]}"; - gittip = "{info["gittip"]}"; - rev = "{info["rev"]}"; - version = "{version}"; - sha256 = "{info["sha256"]}"; - cs_ver = "{info["cs_ver"]}"; - cs_sha256 = "{info["cs_sha256"]}"; - }}""" - - def main() -> None: - radare2_rev = get_radare2_rev() - r2_cutter_rev = get_r2_cutter_rev() + version = get_radare2_rev() with tempfile.TemporaryDirectory() as dirname: git( dirname, "clone", "--branch", - radare2_rev, + version, "https://github.com/radare/radare2", ".", ) nix_file = str(SCRIPT_DIR.joinpath("default.nix")) - radare2_info = get_repo_info(dirname, radare2_rev) - - git(dirname, "fetch", r2_cutter_rev) - git(dirname, "checkout", r2_cutter_rev) + info = get_repo_info(dirname, version) timestamp = git(dirname, "log", "-n1", "--format=%at") - r2_cutter_version = datetime.fromtimestamp(int(timestamp)).strftime("%Y-%m-%d") - - r2_cutter_info = get_repo_info(dirname, r2_cutter_rev) in_block = False with fileinput.FileInput(nix_file, inplace=True) as f: @@ -140,8 +102,13 @@ def main() -> None: print( f""" #<generated> # DO NOT EDIT! Automatically generated by ./update.py - radare2 = {write_package_expr(radare2_rev, radare2_info)}; - r2-for-cutter = {write_package_expr(r2_cutter_version, r2_cutter_info)}; + gittap = "{info["gittap"]}"; + gittip = "{info["gittip"]}"; + rev = "{info["rev"]}"; + version = "{version}"; + sha256 = "{info["sha256"]}"; + cs_ver = "{info["cs_ver"]}"; + cs_sha256 = "{info["cs_sha256"]}"; #</generated>""" ) elif "#</generated>" in l: diff --git a/pkgs/development/tools/analysis/rizin/cutter.nix b/pkgs/development/tools/analysis/rizin/cutter.nix new file mode 100644 index 00000000000..14d815f04b1 --- /dev/null +++ b/pkgs/development/tools/analysis/rizin/cutter.nix @@ -0,0 +1,46 @@ +{ fetchFromGitHub, lib, mkDerivation +# nativeBuildInputs +, qmake, pkg-config, cmake +# Qt +, qtbase, qtsvg, qtwebengine, qttools +# buildInputs +, rizin +, python3 +, wrapQtAppsHook +}: + +mkDerivation rec { + pname = "cutter"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "rizinorg"; + repo = "cutter"; + rev = "v${version}"; + sha256 = "sha256-uIN/NR+swu9Ie0wP2aBhw5WBvTe9NDmzSs+lQMCeavc="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ cmake qmake pkg-config python3 wrapQtAppsHook ]; + propagatedBuildInputs = [ python3.pkgs.pyside2 ]; + buildInputs = [ qtbase qttools qtsvg qtwebengine rizin python3 ]; + + cmakeFlags = [ + "-DCUTTER_USE_BUNDLED_RIZIN=OFF" + "-DCUTTER_ENABLE_PYTHON=ON" + "-DCUTTER_ENABLE_PYTHON_BINDINGS=ON" + ]; + + preBuild = '' + qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH") + ''; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Free and Open Source Reverse Engineering Platform powered by rizin"; + homepage = src.meta.homepage; + license = licenses.gpl3; + maintainers = with maintainers; [ mic92 dtzWill ]; + }; +} diff --git a/pkgs/development/tools/analysis/rizin/default.nix b/pkgs/development/tools/analysis/rizin/default.nix new file mode 100644 index 00000000000..bbcc432ea99 --- /dev/null +++ b/pkgs/development/tools/analysis/rizin/default.nix @@ -0,0 +1,71 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, libusb-compat-0_1 +, readline +, libewf +, perl +, zlib +, openssl +, libuv +, file +, libzip +, lz4 +, xxHash +, meson +, cmake +, ninja +, capstone +, tree-sitter +}: + +stdenv.mkDerivation rec { + pname = "rizin"; + version = "0.1.2"; + + src = fetchurl { + url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-${version}.tar.xz"; + sha256 = "sha256-npUp8wJiKAaQKSigXtndhJLTJ4+pyFqa0FwDLBqR/sE="; + }; + + mesonFlags = [ + "-Duse_sys_capstone=true" + "-Duse_sys_magic=true" + "-Duse_sys_libzip=true" + "-Duse_sys_zlib=true" + "-Duse_sys_xxhash=true" + "-Duse_sys_lz4=true" + "-Duse_sys_openssl=true" + "-Duse_sys_tree_sitter=true" + ]; + + enableParallelBuilding = true; + + nativeBuildInputs = [ pkg-config meson ninja cmake ]; + + buildInputs = [ + file + libzip + capstone + readline + libusb-compat-0_1 + libewf + perl + zlib + lz4 + openssl + libuv + tree-sitter + xxHash + ]; + + meta = { + description = "UNIX-like reverse engineering framework and command-line toolset."; + homepage = "https://rizin.re/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ raskin makefu mic92 ]; + platforms = with lib.platforms; linux; + inherit version; + }; +} diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index b27d75b7801..993bd668463 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -1,6 +1,15 @@ { lib, stdenv, fetchurl, unzip, jdk, java ? jdk, makeWrapper }: -rec { +let + gradleSpec = { version, nativeVersion, sha256 }: rec { + inherit nativeVersion; + name = "gradle-${version}"; + src = fetchurl { + inherit sha256; + url = "https://services.gradle.org/distributions/${name}-bin.zip"; + }; + }; +in rec { gradleGen = {name, src, nativeVersion} : stdenv.mkDerivation { inherit name src nativeVersion; @@ -52,35 +61,30 @@ rec { }; }; + # NOTE: Gradle 7 is a release candidate, so point to 6.8. gradle_latest = gradle_6_8; - gradle_6_8 = gradleGen rec { - name = "gradle-6.8.3"; - nativeVersion = "0.22-milestone-9"; + gradle_7 = gradleGen (gradleSpec { + version = "7.0-rc-2"; + nativeVersion = "0.22-milestone-11"; + sha256 = "0gzvigyvwwizx90vnzhdnbm5rdaki11inxna11s4y67xkn8hrnx5"; + }); - src = fetchurl { - url = "https://services.gradle.org/distributions/${name}-bin.zip"; - sha256 = "01fjrk5nfdp6mldyblfmnkq2gv1rz1818kzgr0k2i1wzfsc73akz"; - }; - }; + gradle_6_8 = gradleGen (gradleSpec { + version = "6.8.3"; + nativeVersion = "0.22-milestone-9"; + sha256 = "01fjrk5nfdp6mldyblfmnkq2gv1rz1818kzgr0k2i1wzfsc73akz"; + }); - gradle_5_6 = gradleGen rec { - name = "gradle-5.6.4"; + gradle_5_6 = gradleGen (gradleSpec { + version = "5.6.4"; nativeVersion = "0.18"; + sha256 = "1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d"; + }); - src = fetchurl { - url = "https://services.gradle.org/distributions/${name}-bin.zip"; - sha256 = "1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d"; - }; - }; - - gradle_4_10 = gradleGen rec { - name = "gradle-4.10.3"; + gradle_4_10 = gradleGen (gradleSpec { + version = "4.10.3"; nativeVersion = "0.14"; - - src = fetchurl { - url = "https://services.gradle.org/distributions/${name}-bin.zip"; - sha256 = "0vhqxnk0yj3q9jam5w4kpia70i4h0q4pjxxqwynh3qml0vrcn9l6"; - }; - }; + sha256 = "0vhqxnk0yj3q9jam5w4kpia70i4h0q4pjxxqwynh3qml0vrcn9l6"; + }); } diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix index 0c6450766b1..c2b10d823a3 100644 --- a/pkgs/development/tools/build-managers/rebar3/default.nix +++ b/pkgs/development/tools/build-managers/rebar3/default.nix @@ -3,7 +3,7 @@ tree }: let - version = "3.14.2"; + version = "3.14.4"; # Dependencies should match the ones in: # https://github.com/erlang/rebar3/blob/${version}/rebar.lock @@ -12,27 +12,27 @@ let bbmustache = fetchHex { pkg = "bbmustache"; version = "1.10.0"; - sha256 = "43effa3fd4bb9523157af5a9e2276c493495b8459fc8737144aa186cb13ce2ee"; + sha256 = "1vp27jqnq65a8iqp7j4z8nw9ad29dhky5agmg8aj75dvshzzmvs3"; }; certifi = fetchHex { pkg = "certifi"; - version = "2.5.2"; - sha256 = "3b3b5f36493004ac3455966991eaf6e768ce9884693d9968055aeeeb1e575040"; + version = "2.5.3"; + sha256 = "040w1scglvqhcvc1ifdnlcyrbwr0smi00w4xi8h03c99775nllgd"; }; cf = fetchHex { pkg = "cf"; version = "0.3.1"; - sha256 = "315e8d447d3a4b02bcdbfa397ad03bbb988a6e0aa6f44d3add0f4e3c3bf97672"; + sha256 = "0wknz4xkqkhgvlx4vx5619p8m65v7g87lfgsvfy04jrsgm28spii"; }; cth_readable = fetchHex { pkg = "cth_readable"; - version = "1.4.9"; - sha256 = "b4c6ababdb046c5f2fbb3c22f030b4c5a679083956dcdd29c1df0cb30b18da24"; + version = "1.5.0"; + sha256 = "0z58b6frqdnhyzrmbdf6x78l3izbbh5z5i3am8hqc253r7xwv0dx"; }; erlware_commons = fetchHex { pkg = "erlware_commons"; - version = "1.3.1"; - sha256 = "7aada93f368d0a0430122e39931b7fb4ac9e94dbf043cdc980ad4330fd9cd166"; + version = "1.4.0"; + sha256 = "1rp2vkgzqm6sax7fc13rh9x6qzxsgg718dnv7l0kmarvyifcyphq"; }; eunit_formatters = fetchHex { pkg = "eunit_formatters"; @@ -46,29 +46,26 @@ let }; parse_trans = fetchHex { pkg = "parse_trans"; - version = "3.3.0"; - sha256 = "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"; + version = "3.3.1"; + sha256 = "12w8ai6b5s6b4hnvkav7hwxd846zdd74r32f84nkcmjzi1vrbk87"; }; + providers = fetchHex { pkg = "providers"; version = "1.8.1"; - sha256 = "e45745ade9c476a9a469ea0840e418ab19360dc44f01a233304e118a44486ba0"; + sha256 = "183b9128l4af60rs40agqh6kc6db33j4027ad6jajxn4x6nlamz4"; }; + relx = fetchHex { pkg = "relx"; - version = "4.1.0"; - sha256 = "b94a3f96697a479ee5217a853345e0f4977bdf40d3c040af0d3d80fadad82af4"; + version = "4.3.0"; + sha256 = "0h044arh41sr92r1nlg176shavlv7pvw17alwklhszgwlr4hk3kk"; }; + ssl_verify_fun = fetchHex { pkg = "ssl_verify_fun"; version = "1.1.6"; - sha256 = "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"; - }; - - hex_core = fetchHex { - pkg = "hex_core"; - version = "0.7.1"; - sha256 = "05c60411511b6dc79affcd99a93e67d71e1b9d6abcb28ba75cd4ebc8585b8d02"; + sha256 = "1026l1z1jh25z8bfrhaw0ryk5gprhrpnirq877zqhg253x3x5c5x"; }; in stdenv.mkDerivation rec { @@ -81,7 +78,7 @@ stdenv.mkDerivation rec { owner = "erlang"; repo = pname; rev = version; - sha256 = "02gz6xs8j5rm14r6dndcpdm8q3rl4mcj363gnnx4y5xvvfnv9bfa"; + sha256 = "09bnqwli93sq1pcz4h88ks7qg7k8yrjy9fd46yyp8xdl7i4irwy2"; }; bootstrapper = ./rebar3-nix-bootstrap; @@ -104,8 +101,6 @@ stdenv.mkDerivation rec { cp --no-preserve=mode -R ${relx} _checkouts/relx cp --no-preserve=mode -R ${ssl_verify_fun} _checkouts/ssl_verify_fun - cp --no-preserve=mode -R ${hex_core} _checkouts/hex_core - # Bootstrap script expects the dependencies in _build/default/lib # TODO: Make it accept checkouts? for i in _checkouts/* ; do diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix index d4d4c755276..b49e5f7558a 100644 --- a/pkgs/development/tools/build-managers/sbt-extras/default.nix +++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix @@ -3,14 +3,14 @@ stdenv.mkDerivation rec { pname = "sbt-extras"; - rev = "b430596eb8566a59793ea0b8ddd2c693505e801f"; - version = "2021-03-29"; + rev = "a76f1f15e6ec39d886f8bf07d5bdfaf70cdc62d8"; + version = "2021-04-06"; src = fetchFromGitHub { owner = "paulp"; repo = "sbt-extras"; inherit rev; - sha256 = "0r0ysv7dzrlmj3c82fv60i2490ky7q70jlv40q7zdmm5q2wp7y63"; + sha256 = "0zmhn8nvzrbw047g5z4q2slp0wdg6pvfh2pqnpwcq1hscf7dvz8f"; }; dontBuild = true; diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index 9807866f1bd..669dc846e10 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "jenkins"; - version = "2.277.1"; + version = "2.277.2"; src = fetchurl { url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war"; - sha256 = "0lficvngxzl7q088n3ssnnhjicd0xxr0k3n0inz7pvjj27dl35rr"; + sha256 = "08lv5v5kxp9ln798gjmh8j9a8r8xc471fbhiz2l7gxncpxn50ga2"; }; buildCommand = '' diff --git a/pkgs/development/tools/continuous-integration/laminar/default.nix b/pkgs/development/tools/continuous-integration/laminar/default.nix index 9d78f57425a..5b492ee67b3 100644 --- a/pkgs/development/tools/continuous-integration/laminar/default.nix +++ b/pkgs/development/tools/continuous-integration/laminar/default.nix @@ -28,7 +28,7 @@ let sha256 = "1jh4h12qchsba03dx03mrvs4r8g9qfjn56xm56jqzgqf7r209xq9"; }; in stdenv.mkDerivation rec { - name = "laminar"; + pname = "laminar"; version = "1.0"; src = fetchurl { url = "https://github.com/ohwgiles/laminar/archive/${version}.tar.gz"; diff --git a/pkgs/development/tools/cue/default.nix b/pkgs/development/tools/cue/default.nix index 28660732ea4..c974286ab99 100644 --- a/pkgs/development/tools/cue/default.nix +++ b/pkgs/development/tools/cue/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "cue"; - version = "0.2.2"; + version = "0.3.0"; src = fetchgit { url = "https://cue.googlesource.com/cue"; rev = "v${version}"; - sha256 = "1crl5fldczc3jkwf7gvwvghckr6gfinfslzca4ps1098lbq83zcq"; + sha256 = "1h3809xgmn7dr57i3cnifr7r555i3zh3kfsv0gxa9nd7068w19xm"; }; - vendorSha256 = "0l6slaji9nh16jqp1nvib95h2db1xyjh6knk5hj2zaa1rks4b092"; + vendorSha256 = "10kvss23a8a6q26a7h1bqc3i0nskm2halsvc9wdv9zf9qsz7zjkp"; doCheck = false; diff --git a/pkgs/development/tools/rust/cargo-feature/default.nix b/pkgs/development/tools/rust/cargo-feature/default.nix new file mode 100644 index 00000000000..94b5000b9b6 --- /dev/null +++ b/pkgs/development/tools/rust/cargo-feature/default.nix @@ -0,0 +1,24 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "cargo-feature"; + version = "0.5.2"; + + src = fetchFromGitHub { + owner = "Riey"; + repo = pname; + rev = "v${version}"; + sha256 = "0n5kzh756ghfs3cydlcn9mfvpgwy1cjg41h0nd9dbi5cr1fp9x1n"; + }; + + cargoSha256 = "0nvl5smibl81b826xcsrjx8p89lcfpj7wqdsvywnj7jd3p5ag03n"; + + meta = with lib; { + description = "Allows conveniently modify features of crate"; + homepage = "https://github.com/Riey/cargo-feature"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ riey ]; + }; +} + |