Merge master into staging-next
This commit is contained in:
commit
9185e731d2
@ -910,6 +910,12 @@
|
||||
githubId = 687218;
|
||||
name = "averelld";
|
||||
};
|
||||
avh4 = {
|
||||
email = "gruen0aermel@gmail.com";
|
||||
github = "avh4";
|
||||
githubId = 1222;
|
||||
name = "Aaron VonderHaar";
|
||||
};
|
||||
avitex = {
|
||||
email = "theavitex@gmail.com";
|
||||
github = "avitex";
|
||||
@ -10680,4 +10686,10 @@
|
||||
github = "zupo";
|
||||
githubId = 311580;
|
||||
};
|
||||
felixscheinost = {
|
||||
name = "Felix Scheinost";
|
||||
email = "felix.scheinost@posteo.de";
|
||||
github = "felixscheinost";
|
||||
githubId = 31761492;
|
||||
};
|
||||
}
|
||||
|
@ -3,11 +3,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jalv";
|
||||
version = "1.6.4";
|
||||
version = "1.6.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1wwfn7yzbs37s2rdlfjgks63svd5g14yyzd2gdl7h0z12qncwsy2";
|
||||
sha256 = "sha256-ktFBeBtmQ3MgfDQ868XpuM7UYfryb9zLld8AB7BjnhY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wafHook ];
|
||||
|
@ -33,11 +33,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gthumb";
|
||||
version = "3.10.1";
|
||||
version = "3.10.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0gm7q6n9lnjsdqpx5b0cqjayhzwnplqb6p5pshzhbfp2zqd2g9ss";
|
||||
sha256 = "/erkKBg3j5s8qwBgTu61t8Cnpez+ad4IuZOGd0ZDXJM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -13,7 +13,13 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "089r6i40lxcwzp60553b18f130asspnzqldlpii53smz52kvpirx";
|
||||
};
|
||||
|
||||
patches = [ ./glibc-fix.patch ];
|
||||
patches = [
|
||||
# fix compilation error due to missing include
|
||||
./glibc-fix.patch
|
||||
|
||||
# restrict GDK backends to only X11
|
||||
./x11-only.patch
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-bash-path=${pkgs.bash}/bin/bash"
|
||||
|
10
pkgs/applications/misc/spacefm/x11-only.patch
Normal file
10
pkgs/applications/misc/spacefm/x11-only.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- a/src/main.c 2021-02-09 13:54:32.847364236 +0100
|
||||
+++ b/src/main.c 2021-02-09 10:41:51.541203271 +0100
|
||||
@@ -1350,6 +1351,7 @@
|
||||
vfs_file_monitor_clean();
|
||||
return 1;
|
||||
}
|
||||
+ gdk_set_allowed_backends("x11");
|
||||
gtk_init (&argc, &argv);
|
||||
int ret = custom_dialog_init( argc, argv );
|
||||
if ( ret != 0 )
|
@ -18,9 +18,9 @@
|
||||
}
|
||||
},
|
||||
"beta": {
|
||||
"version": "89.0.4389.40",
|
||||
"sha256": "1da7l8i8hhsjnziyapynnwzfxjrj6m4p8076hg8bjqqv8alhg2zq",
|
||||
"sha256bin64": "17f9yhz1w0r7panvzavmx7zyaw0i8yarlxx4zb5ghxl8hs37sasr",
|
||||
"version": "89.0.4389.47",
|
||||
"sha256": "022fq3mbd3j9a7lf02936ks0yvf73bwz1ws6m6zmnn9v8waardj2",
|
||||
"sha256bin64": "09gjbg8678xfh22r3gzjvrkhgda77pr8an4j5ka5672jvhj4hbq9",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2021-01-07",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -31,6 +31,9 @@ stdenv.mkDerivation {
|
||||
|
||||
substituteInPlace sbysrc/sby_core.py \
|
||||
--replace '##yosys-program-prefix##' '"${yosys}/bin/"'
|
||||
|
||||
substituteInPlace sbysrc/sby.py \
|
||||
--replace '/usr/bin/env python3' '${python3}/bin/python'
|
||||
'';
|
||||
|
||||
buildPhase = "true";
|
||||
|
20
pkgs/applications/search/xlsxgrep/default.nix
Normal file
20
pkgs/applications/search/xlsxgrep/default.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ lib, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "xlsxgrep";
|
||||
version = "0.0.23";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "014i1nifx67mxi0k9sch00j6bjykb6krzl2q3ara9s1g75inl4rm";
|
||||
};
|
||||
|
||||
pythonPath = with python3Packages; [ xlrd ];
|
||||
|
||||
meta = with lib; {
|
||||
maintainers = with maintainers; [ felixscheinost ];
|
||||
description = "CLI tool to search text in XLSX and XLS files. It works similarly to Unix/GNU Linux grep";
|
||||
homepage = "https://github.com/zazuum/xlsxgrep";
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
@ -1,37 +1,24 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, inkscape, imagemagick, potrace, svgo, scfbuild }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "twemoji-color-font";
|
||||
version = "12.0.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "eosrei";
|
||||
repo = "twemoji-color-font";
|
||||
rev = "v${version}";
|
||||
sha256 = "00pbgqpkq21wl8fs0q1xp49xb10m48b9sz8cdc58flkd2vqfssw2";
|
||||
version = "13.0.1";
|
||||
|
||||
# We fetch the prebuilt font because building it takes 1.5 hours on hydra.
|
||||
# Relevant issue: https://github.com/NixOS/nixpkgs/issues/97871
|
||||
src = fetchurl {
|
||||
url = "https://github.com/eosrei/twemoji-color-font/releases/download/v${version}/TwitterColorEmoji-SVGinOT-Linux-${version}.tar.gz";
|
||||
sha256 = "1mn2cb6a3v0q8i81s9a8bk49nbwxq91n6ki7827i7rhjkncb0mbn";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with Inkscape 1.0
|
||||
# https://github.com/eosrei/twemoji-color-font/pull/82
|
||||
(fetchpatch {
|
||||
url = "https://github.com/eosrei/twemoji-color-font/commit/208ad63c2ceb38c528b5237abeb2b85ceedc1d37.patch";
|
||||
sha256 = "TV8I++BEnVUQg7FNbnrEQ/MLV9n3drmspqjmDZgTGFI=";
|
||||
postFetch = ''
|
||||
substituteInPlace $out \
|
||||
--replace "inkscape --without-gui" "inkscape --export-png"
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
|
||||
# silence inkscape errors about non-writable home
|
||||
preBuild = "export HOME=\"$NIX_BUILD_ROOT\"";
|
||||
makeFlags = [ "SCFBUILD=${scfbuild}/bin/scfbuild" ];
|
||||
enableParallelBuilding = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 build/TwitterColorEmoji-SVGinOT.ttf $out/share/fonts/truetype/TwitterColorEmoji-SVGinOT.ttf
|
||||
install -Dm644 linux/fontconfig/56-twemoji-color.conf $out/etc/fonts/conf.d/56-twemoji-color.conf
|
||||
install -Dm755 TwitterColorEmoji-SVGinOT.ttf $out/share/fonts/truetype/TwitterColorEmoji-SVGinOT.ttf
|
||||
install -Dm644 fontconfig/56-twemoji-color.conf $out/etc/fonts/conf.d/56-twemoji-color.conf
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -6,13 +6,15 @@
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ddccontrol-db-20180908";
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ddccontrol-db";
|
||||
version = "20201221";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ddccontrol";
|
||||
repo = "ddccontrol-db";
|
||||
rev = "5f211be363f77dc43e39f911b30f4fb19a2d7a84";
|
||||
sha256 = "0vi3bzxpjdkn791vri68k7dah4v2liscniz7hxrarhl4fxlicc0w";
|
||||
rev = version;
|
||||
sha256 = "1sryyjjad835mwc7a2avbij6myln8b824kjdr78gc9hh3p16929b";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -7,7 +7,7 @@
|
||||
let
|
||||
fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; };
|
||||
|
||||
hsPkgs = haskell.packages.ghc883.override {
|
||||
hsPkgs = haskell.packages.ghc8103.override {
|
||||
overrides = self: super: with haskell.lib; with lib;
|
||||
let elmPkgs = rec {
|
||||
elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: {
|
||||
@ -41,7 +41,7 @@ let
|
||||
description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide";
|
||||
homepage = "https://github.com/avh4/elm-format";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ turbomack ];
|
||||
maintainers = with maintainers; [ avh4 turbomack ];
|
||||
}));
|
||||
|
||||
elmi-to-json = justStaticExecutables (overrideCabal (self.callPackage ./packages/elmi-to-json.nix {}) (drv: {
|
||||
@ -79,6 +79,11 @@ let
|
||||
|
||||
# Needed for elm-format
|
||||
indents = self.callPackage ./packages/indents.nix {};
|
||||
bimap = self.callPackage ./packages/bimap.nix {};
|
||||
avh4-lib = self.callPackage ./packages/avh4-lib.nix {};
|
||||
elm-format-lib = self.callPackage ./packages/elm-format-lib.nix {};
|
||||
elm-format-test-lib = self.callPackage ./packages/elm-format-test-lib.nix {};
|
||||
elm-format-markdown = self.callPackage ./packages/elm-format-markdown.nix {};
|
||||
};
|
||||
};
|
||||
|
||||
@ -104,7 +109,6 @@ let
|
||||
homepage = "https://github.com/zwilias/elm-json";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.turbomack ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -117,7 +121,7 @@ let
|
||||
};
|
||||
in with hsPkgs.elmPkgs; {
|
||||
|
||||
elm-test = patchBinwrap [elmi-to-json]
|
||||
elm-test =
|
||||
nodePkgs.elm-test // {
|
||||
meta = with lib; {
|
||||
description = "Runs elm-test suites from Node.js";
|
||||
@ -162,8 +166,8 @@ let
|
||||
};
|
||||
});
|
||||
|
||||
create-elm-app = patchNpmElm (patchBinwrap [elmi-to-json]
|
||||
nodePkgs.create-elm-app) // {
|
||||
create-elm-app = patchNpmElm
|
||||
nodePkgs.create-elm-app // {
|
||||
meta = with lib; {
|
||||
description = "Create Elm apps with no build configuration";
|
||||
homepage = "https://github.com/halfzebra/create-elm-app";
|
||||
@ -172,7 +176,7 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
elm-review = patchBinwrap [elmRustPackages.elm-json]
|
||||
elm-review =
|
||||
nodePkgs.elm-review // {
|
||||
meta = with lib; {
|
||||
description = "Analyzes Elm projects, to help find mistakes before your users find them";
|
||||
|
29
pkgs/development/compilers/elm/packages/avh4-lib.nix
Normal file
29
pkgs/development/compilers/elm/packages/avh4-lib.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ mkDerivation, ansi-terminal, ansi-wl-pprint, array, base, bimap
|
||||
, binary, bytestring, containers, directory, fetchgit, filepath
|
||||
, lib, mtl, process, relude, tasty, tasty-discover, tasty-hspec
|
||||
, tasty-hunit, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "avh4-lib";
|
||||
version = "0.0.0.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/avh4-lib; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint array base bimap binary bytestring
|
||||
containers directory filepath mtl process relude text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint array base bimap binary bytestring
|
||||
containers directory filepath mtl process relude tasty tasty-hspec
|
||||
tasty-hunit text
|
||||
];
|
||||
testToolDepends = [ tasty-discover ];
|
||||
doHaddock = false;
|
||||
description = "Common code for haskell projects";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
15
pkgs/development/compilers/elm/packages/bimap.nix
Normal file
15
pkgs/development/compilers/elm/packages/bimap.nix
Normal file
@ -0,0 +1,15 @@
|
||||
{ mkDerivation, base, containers, exceptions, lib, QuickCheck
|
||||
, template-haskell
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "bimap";
|
||||
version = "0.3.3";
|
||||
sha256 = "73829355c7bcbd3eedba22a382a04a3ab641702b00828790ec082ec2db3a8ad1";
|
||||
libraryHaskellDepends = [ base containers exceptions ];
|
||||
testHaskellDepends = [
|
||||
base containers exceptions QuickCheck template-haskell
|
||||
];
|
||||
homepage = "https://github.com/joelwilliamson/bimap";
|
||||
description = "Bidirectional mapping between two key types";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
33
pkgs/development/compilers/elm/packages/elm-format-lib.nix
Normal file
33
pkgs/development/compilers/elm/packages/elm-format-lib.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ mkDerivation, ansi-terminal, ansi-wl-pprint, array, avh4-lib
|
||||
, base, bimap, binary, bytestring, containers, directory
|
||||
, elm-format-markdown, elm-format-test-lib, fetchgit, filepath
|
||||
, indents, json, lib, mtl, optparse-applicative, parsec, process
|
||||
, relude, split, tasty, tasty-discover, tasty-hspec, tasty-hunit
|
||||
, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "elm-format-lib";
|
||||
version = "0.0.0.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/elm-format-lib; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint array avh4-lib base bimap binary
|
||||
bytestring containers directory elm-format-markdown filepath
|
||||
indents json mtl optparse-applicative parsec process relude text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint array avh4-lib base bimap binary
|
||||
bytestring containers directory elm-format-markdown
|
||||
elm-format-test-lib filepath indents json mtl optparse-applicative
|
||||
parsec process relude split tasty tasty-hspec tasty-hunit text
|
||||
];
|
||||
testToolDepends = [ tasty-discover ];
|
||||
doHaddock = false;
|
||||
description = "Common code used by elm-format and elm-refactor";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
{ mkDerivation, base, containers, fetchgit, lib, mtl, text }:
|
||||
mkDerivation {
|
||||
pname = "elm-format-markdown";
|
||||
version = "0.0.0.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/elm-format-markdown; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [ base containers mtl text ];
|
||||
doHaddock = false;
|
||||
description = "Markdown parsing for Elm documentation comments";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
{ mkDerivation, avh4-lib, base, containers, fetchgit, filepath
|
||||
, hspec-core, hspec-golden, lib, mtl, split, tasty, tasty-discover
|
||||
, tasty-hspec, tasty-hunit, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "elm-format-test-lib";
|
||||
version = "0.0.0.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postUnpack = "sourceRoot+=/elm-format-test-lib; echo source root reset to $sourceRoot";
|
||||
libraryHaskellDepends = [
|
||||
avh4-lib base containers filepath hspec-core hspec-golden mtl split
|
||||
tasty tasty-hspec tasty-hunit text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
avh4-lib base containers filepath hspec-core hspec-golden mtl split
|
||||
tasty tasty-hspec tasty-hunit text
|
||||
];
|
||||
testToolDepends = [ tasty-discover ];
|
||||
doHaddock = false;
|
||||
description = "Test helpers used by elm-format-tests and elm-refactor-tests";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
@ -1,40 +1,40 @@
|
||||
{ mkDerivation, fetchgit, ansi-terminal, ansi-wl-pprint, array, base, binary
|
||||
, bytestring, cmark, containers, directory, filepath, free, HUnit
|
||||
, indents, json, mtl, optparse-applicative, parsec, process
|
||||
, QuickCheck, quickcheck-io, split, lib, tasty, tasty-golden
|
||||
, tasty-hunit, tasty-quickcheck, text
|
||||
{ mkDerivation, ansi-wl-pprint, avh4-lib, base, bimap, cmark
|
||||
, containers, elm-format-lib, elm-format-test-lib, fetchgit, json
|
||||
, lib, mtl, optparse-applicative, parsec, QuickCheck, quickcheck-io
|
||||
, relude, tasty, tasty-hspec, tasty-hunit, tasty-quickcheck, text
|
||||
}:
|
||||
mkDerivation {
|
||||
mkDerivation rec {
|
||||
pname = "elm-format";
|
||||
version = "0.8.4";
|
||||
version = "0.8.5";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avh4/elm-format";
|
||||
sha256 = "0cxlhhdjx4h9g03z83pxv91qrysbi0ab92rl52jb0yvkaix989ai";
|
||||
rev = "5bd4fbe591fe8b456160c180cb875ef60bc57890";
|
||||
sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
|
||||
rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = [
|
||||
ansi-wl-pprint avh4-lib base containers elm-format-lib json
|
||||
optparse-applicative relude text
|
||||
];
|
||||
testHaskellDepends = [
|
||||
ansi-wl-pprint avh4-lib base bimap cmark containers elm-format-lib
|
||||
elm-format-test-lib json mtl optparse-applicative parsec QuickCheck
|
||||
quickcheck-io relude tasty tasty-hspec tasty-hunit tasty-quickcheck
|
||||
text
|
||||
];
|
||||
doHaddock = false;
|
||||
homepage = "https://elm-lang.org";
|
||||
description = "A source code formatter for Elm";
|
||||
license = lib.licenses.bsd3;
|
||||
postPatch = ''
|
||||
mkdir -p ./generated
|
||||
cat <<EOHS > ./generated/Build_elm_format.hs
|
||||
module Build_elm_format where
|
||||
|
||||
gitDescribe :: String
|
||||
gitDescribe = "0.8.4"
|
||||
gitDescribe = "${version}"
|
||||
EOHS
|
||||
'';
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal ansi-wl-pprint array base binary bytestring
|
||||
containers directory filepath free indents json mtl
|
||||
optparse-applicative parsec process split text
|
||||
];
|
||||
executableHaskellDepends = [ base ];
|
||||
testHaskellDepends = [
|
||||
base cmark containers HUnit mtl parsec QuickCheck quickcheck-io
|
||||
split tasty tasty-golden tasty-hunit tasty-quickcheck text
|
||||
];
|
||||
doHaddock = false;
|
||||
homepage = "https://elm-lang.org";
|
||||
description = "A source code formatter for Elm";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
||||
|
@ -10,6 +10,4 @@ $(nix-build $ROOT -A nodePackages.node2nix --no-out-link)/bin/node2nix \
|
||||
-i node-packages.json \
|
||||
-o node-packages.nix \
|
||||
-c node-composition.nix \
|
||||
# TODO: Switch to the commented out version once nodejs package set gets updated to new node2nix
|
||||
-e node-env.nix
|
||||
# --no-copy-node-env -e ../../../node-packages/node-env.nix
|
||||
--no-copy-node-env -e ../../../node-packages/node-env.nix
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ mkDerivation, base, concatenative, mtl, parsec, lib }:
|
||||
{ mkDerivation, base, concatenative, lib, mtl, parsec }:
|
||||
mkDerivation {
|
||||
pname = "indents";
|
||||
version = "0.3.3";
|
||||
|
@ -1,17 +1,17 @@
|
||||
# This file has been generated by node2nix 1.8.0. Do not edit!
|
||||
# This file has been generated by node2nix 1.9.0. Do not edit!
|
||||
|
||||
{pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
|
||||
|
||||
let
|
||||
nodeEnv = import ./node-env.nix {
|
||||
inherit (pkgs) lib stdenv python2 utillinux runCommand writeTextFile;
|
||||
inherit nodejs;
|
||||
nodeEnv = import ../../../node-packages/node-env.nix {
|
||||
inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
|
||||
inherit pkgs nodejs;
|
||||
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
|
||||
};
|
||||
in
|
||||
import ./node-packages.nix {
|
||||
inherit (pkgs) fetchurl fetchgit;
|
||||
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
|
||||
inherit nodeEnv;
|
||||
}
|
||||
|
@ -1,542 +0,0 @@
|
||||
# This file originates from node2nix
|
||||
|
||||
{lib, stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
|
||||
|
||||
let
|
||||
python = if nodejs ? python then nodejs.python else python2;
|
||||
|
||||
# Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
|
||||
tarWrapper = runCommand "tarWrapper" {} ''
|
||||
mkdir -p $out/bin
|
||||
|
||||
cat > $out/bin/tar <<EOF
|
||||
#! ${stdenv.shell} -e
|
||||
$(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/tar
|
||||
'';
|
||||
|
||||
# Function that generates a TGZ file from a NPM project
|
||||
buildNodeSourceDist =
|
||||
{ name, version, src, ... }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "node-tarball-${name}-${version}";
|
||||
inherit src;
|
||||
buildInputs = [ nodejs ];
|
||||
buildPhase = ''
|
||||
export HOME=$TMPDIR
|
||||
tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/tarballs
|
||||
mv $tgzFile $out/tarballs
|
||||
mkdir -p $out/nix-support
|
||||
echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
|
||||
'';
|
||||
};
|
||||
|
||||
includeDependencies = {dependencies}:
|
||||
lib.optionalString (dependencies != [])
|
||||
(lib.concatMapStrings (dependency:
|
||||
''
|
||||
# Bundle the dependencies of the package
|
||||
mkdir -p node_modules
|
||||
cd node_modules
|
||||
|
||||
# Only include dependencies if they don't exist. They may also be bundled in the package.
|
||||
if [ ! -e "${dependency.name}" ]
|
||||
then
|
||||
${composePackage dependency}
|
||||
fi
|
||||
|
||||
cd ..
|
||||
''
|
||||
) dependencies);
|
||||
|
||||
# Recursively composes the dependencies of a package
|
||||
composePackage = { name, packageName, src, dependencies ? [], ... }@args:
|
||||
builtins.addErrorContext "while evaluating node package '${packageName}'" ''
|
||||
DIR=$(pwd)
|
||||
cd $TMPDIR
|
||||
|
||||
unpackFile ${src}
|
||||
|
||||
# Make the base dir in which the target dependency resides first
|
||||
mkdir -p "$(dirname "$DIR/${packageName}")"
|
||||
|
||||
if [ -f "${src}" ]
|
||||
then
|
||||
# Figure out what directory has been unpacked
|
||||
packageDir="$(find . -maxdepth 1 -type d | tail -1)"
|
||||
|
||||
# Restore write permissions to make building work
|
||||
find "$packageDir" -type d -exec chmod u+x {} \;
|
||||
chmod -R u+w "$packageDir"
|
||||
|
||||
# Move the extracted tarball into the output folder
|
||||
mv "$packageDir" "$DIR/${packageName}"
|
||||
elif [ -d "${src}" ]
|
||||
then
|
||||
# Get a stripped name (without hash) of the source directory.
|
||||
# On old nixpkgs it's already set internally.
|
||||
if [ -z "$strippedName" ]
|
||||
then
|
||||
strippedName="$(stripHash ${src})"
|
||||
fi
|
||||
|
||||
# Restore write permissions to make building work
|
||||
chmod -R u+w "$strippedName"
|
||||
|
||||
# Move the extracted directory into the output folder
|
||||
mv "$strippedName" "$DIR/${packageName}"
|
||||
fi
|
||||
|
||||
# Unset the stripped name to not confuse the next unpack step
|
||||
unset strippedName
|
||||
|
||||
# Include the dependencies of the package
|
||||
cd "$DIR/${packageName}"
|
||||
${includeDependencies { inherit dependencies; }}
|
||||
cd ..
|
||||
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
'';
|
||||
|
||||
pinpointDependencies = {dependencies, production}:
|
||||
let
|
||||
pinpointDependenciesFromPackageJSON = writeTextFile {
|
||||
name = "pinpointDependencies.js";
|
||||
text = ''
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
function resolveDependencyVersion(location, name) {
|
||||
if(location == process.env['NIX_STORE']) {
|
||||
return null;
|
||||
} else {
|
||||
var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
|
||||
|
||||
if(fs.existsSync(dependencyPackageJSON)) {
|
||||
var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
|
||||
|
||||
if(dependencyPackageObj.name == name) {
|
||||
return dependencyPackageObj.version;
|
||||
}
|
||||
} else {
|
||||
return resolveDependencyVersion(path.resolve(location, ".."), name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function replaceDependencies(dependencies) {
|
||||
if(typeof dependencies == "object" && dependencies !== null) {
|
||||
for(var dependency in dependencies) {
|
||||
var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
|
||||
|
||||
if(resolvedVersion === null) {
|
||||
process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
|
||||
} else {
|
||||
dependencies[dependency] = resolvedVersion;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Read the package.json configuration */
|
||||
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
|
||||
|
||||
/* Pinpoint all dependencies */
|
||||
replaceDependencies(packageObj.dependencies);
|
||||
if(process.argv[2] == "development") {
|
||||
replaceDependencies(packageObj.devDependencies);
|
||||
}
|
||||
replaceDependencies(packageObj.optionalDependencies);
|
||||
|
||||
/* Write the fixed package.json file */
|
||||
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
|
||||
'';
|
||||
};
|
||||
in
|
||||
''
|
||||
node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
|
||||
|
||||
${lib.optionalString (dependencies != [])
|
||||
''
|
||||
if [ -d node_modules ]
|
||||
then
|
||||
cd node_modules
|
||||
${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
|
||||
cd ..
|
||||
fi
|
||||
''}
|
||||
'';
|
||||
|
||||
# Recursively traverses all dependencies of a package and pinpoints all
|
||||
# dependencies in the package.json file to the versions that are actually
|
||||
# being used.
|
||||
|
||||
pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
|
||||
''
|
||||
if [ -d "${packageName}" ]
|
||||
then
|
||||
cd "${packageName}"
|
||||
${pinpointDependencies { inherit dependencies production; }}
|
||||
cd ..
|
||||
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
fi
|
||||
'';
|
||||
|
||||
# Extract the Node.js source code which is used to compile packages with
|
||||
# native bindings
|
||||
nodeSources = runCommand "node-sources" {} ''
|
||||
tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
|
||||
mv node-* $out
|
||||
'';
|
||||
|
||||
# Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
|
||||
addIntegrityFieldsScript = writeTextFile {
|
||||
name = "addintegrityfields.js";
|
||||
text = ''
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
function augmentDependencies(baseDir, dependencies) {
|
||||
for(var dependencyName in dependencies) {
|
||||
var dependency = dependencies[dependencyName];
|
||||
|
||||
// Open package.json and augment metadata fields
|
||||
var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
|
||||
var packageJSONPath = path.join(packageJSONDir, "package.json");
|
||||
|
||||
if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
|
||||
console.log("Adding metadata fields to: "+packageJSONPath);
|
||||
var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
|
||||
|
||||
if(dependency.integrity) {
|
||||
packageObj["_integrity"] = dependency.integrity;
|
||||
} else {
|
||||
packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
|
||||
}
|
||||
|
||||
if(dependency.resolved) {
|
||||
packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
|
||||
} else {
|
||||
packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
|
||||
}
|
||||
|
||||
if(dependency.from !== undefined) { // Adopt from property if one has been provided
|
||||
packageObj["_from"] = dependency.from;
|
||||
}
|
||||
|
||||
fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
|
||||
}
|
||||
|
||||
// Augment transitive dependencies
|
||||
if(dependency.dependencies !== undefined) {
|
||||
augmentDependencies(packageJSONDir, dependency.dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(fs.existsSync("./package-lock.json")) {
|
||||
var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
|
||||
|
||||
if(packageLock.lockfileVersion !== 1) {
|
||||
process.stderr.write("Sorry, I only understand lock file version 1!\n");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if(packageLock.dependencies !== undefined) {
|
||||
augmentDependencies(".", packageLock.dependencies);
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
# Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
|
||||
reconstructPackageLock = writeTextFile {
|
||||
name = "addintegrityfields.js";
|
||||
text = ''
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
var packageObj = JSON.parse(fs.readFileSync("package.json"));
|
||||
|
||||
var lockObj = {
|
||||
name: packageObj.name,
|
||||
version: packageObj.version,
|
||||
lockfileVersion: 1,
|
||||
requires: true,
|
||||
dependencies: {}
|
||||
};
|
||||
|
||||
function augmentPackageJSON(filePath, dependencies) {
|
||||
var packageJSON = path.join(filePath, "package.json");
|
||||
if(fs.existsSync(packageJSON)) {
|
||||
var packageObj = JSON.parse(fs.readFileSync(packageJSON));
|
||||
dependencies[packageObj.name] = {
|
||||
version: packageObj.version,
|
||||
integrity: "sha1-000000000000000000000000000=",
|
||||
dependencies: {}
|
||||
};
|
||||
processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
function processDependencies(dir, dependencies) {
|
||||
if(fs.existsSync(dir)) {
|
||||
var files = fs.readdirSync(dir);
|
||||
|
||||
files.forEach(function(entry) {
|
||||
var filePath = path.join(dir, entry);
|
||||
var stats = fs.statSync(filePath);
|
||||
|
||||
if(stats.isDirectory()) {
|
||||
if(entry.substr(0, 1) == "@") {
|
||||
// When we encounter a namespace folder, augment all packages belonging to the scope
|
||||
var pkgFiles = fs.readdirSync(filePath);
|
||||
|
||||
pkgFiles.forEach(function(entry) {
|
||||
if(stats.isDirectory()) {
|
||||
var pkgFilePath = path.join(filePath, entry);
|
||||
augmentPackageJSON(pkgFilePath, dependencies);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
augmentPackageJSON(filePath, dependencies);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
processDependencies("node_modules", lockObj.dependencies);
|
||||
|
||||
fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
|
||||
'';
|
||||
};
|
||||
|
||||
prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
|
||||
let
|
||||
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
|
||||
in
|
||||
''
|
||||
# Pinpoint the versions of all dependencies to the ones that are actually being used
|
||||
echo "pinpointing versions of dependencies..."
|
||||
source $pinpointDependenciesScriptPath
|
||||
|
||||
# Patch the shebangs of the bundled modules to prevent them from
|
||||
# calling executables outside the Nix store as much as possible
|
||||
patchShebangs .
|
||||
|
||||
# Deploy the Node.js package by running npm install. Since the
|
||||
# dependencies have been provided already by ourselves, it should not
|
||||
# attempt to install them again, which is good, because we want to make
|
||||
# it Nix's responsibility. If it needs to install any dependencies
|
||||
# anyway (e.g. because the dependency parameters are
|
||||
# incomplete/incorrect), it fails.
|
||||
#
|
||||
# The other responsibilities of NPM are kept -- version checks, build
|
||||
# steps, postprocessing etc.
|
||||
|
||||
export HOME=$TMPDIR
|
||||
cd "${packageName}"
|
||||
runHook preRebuild
|
||||
|
||||
${lib.optionalString bypassCache ''
|
||||
${lib.optionalString reconstructLock ''
|
||||
if [ -f package-lock.json ]
|
||||
then
|
||||
echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
|
||||
echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
|
||||
rm package-lock.json
|
||||
else
|
||||
echo "No package-lock.json file found, reconstructing..."
|
||||
fi
|
||||
|
||||
node ${reconstructPackageLock}
|
||||
''}
|
||||
|
||||
node ${addIntegrityFieldsScript}
|
||||
''}
|
||||
|
||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
|
||||
|
||||
if [ "''${dontNpmInstall-}" != "1" ]
|
||||
then
|
||||
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
|
||||
rm -f npm-shrinkwrap.json
|
||||
|
||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install
|
||||
fi
|
||||
'';
|
||||
|
||||
# Builds and composes an NPM package including all its dependencies
|
||||
buildNodePackage =
|
||||
{ name
|
||||
, packageName
|
||||
, version
|
||||
, dependencies ? []
|
||||
, buildInputs ? []
|
||||
, production ? true
|
||||
, npmFlags ? ""
|
||||
, dontNpmInstall ? false
|
||||
, bypassCache ? false
|
||||
, reconstructLock ? false
|
||||
, preRebuild ? ""
|
||||
, dontStrip ? true
|
||||
, unpackPhase ? "true"
|
||||
, buildPhase ? "true"
|
||||
, ... }@args:
|
||||
|
||||
let
|
||||
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
|
||||
in
|
||||
stdenv.mkDerivation ({
|
||||
name = "node_${name}-${version}";
|
||||
buildInputs = [ tarWrapper python nodejs ]
|
||||
++ lib.optional (stdenv.isLinux) utillinux
|
||||
++ lib.optional (stdenv.isDarwin) libtool
|
||||
++ buildInputs;
|
||||
|
||||
inherit nodejs;
|
||||
|
||||
inherit dontStrip; # Stripping may fail a build for some package deployments
|
||||
inherit dontNpmInstall preRebuild unpackPhase buildPhase;
|
||||
|
||||
compositionScript = composePackage args;
|
||||
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
|
||||
|
||||
passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
|
||||
|
||||
installPhase = ''
|
||||
# Create and enter a root node_modules/ folder
|
||||
mkdir -p $out/lib/node_modules
|
||||
cd $out/lib/node_modules
|
||||
|
||||
# Compose the package and all its dependencies
|
||||
source $compositionScriptPath
|
||||
|
||||
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
|
||||
|
||||
# Create symlink to the deployed executable folder, if applicable
|
||||
if [ -d "$out/lib/node_modules/.bin" ]
|
||||
then
|
||||
ln -s $out/lib/node_modules/.bin $out/bin
|
||||
fi
|
||||
|
||||
# Create symlinks to the deployed manual page folders, if applicable
|
||||
if [ -d "$out/lib/node_modules/${packageName}/man" ]
|
||||
then
|
||||
mkdir -p $out/share
|
||||
for dir in "$out/lib/node_modules/${packageName}/man/"*
|
||||
do
|
||||
mkdir -p $out/share/man/$(basename "$dir")
|
||||
for page in "$dir"/*
|
||||
do
|
||||
ln -s $page $out/share/man/$(basename "$dir")
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Run post install hook, if provided
|
||||
runHook postInstall
|
||||
'';
|
||||
} // extraArgs);
|
||||
|
||||
# Builds a development shell
|
||||
buildNodeShell =
|
||||
{ name
|
||||
, packageName
|
||||
, version
|
||||
, src
|
||||
, dependencies ? []
|
||||
, buildInputs ? []
|
||||
, production ? true
|
||||
, npmFlags ? ""
|
||||
, dontNpmInstall ? false
|
||||
, bypassCache ? false
|
||||
, reconstructLock ? false
|
||||
, dontStrip ? true
|
||||
, unpackPhase ? "true"
|
||||
, buildPhase ? "true"
|
||||
, ... }@args:
|
||||
|
||||
let
|
||||
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
|
||||
|
||||
nodeDependencies = stdenv.mkDerivation ({
|
||||
name = "node-dependencies-${name}-${version}";
|
||||
|
||||
buildInputs = [ tarWrapper python nodejs ]
|
||||
++ lib.optional (stdenv.isLinux) utillinux
|
||||
++ lib.optional (stdenv.isDarwin) libtool
|
||||
++ buildInputs;
|
||||
|
||||
inherit dontStrip; # Stripping may fail a build for some package deployments
|
||||
inherit dontNpmInstall unpackPhase buildPhase;
|
||||
|
||||
includeScript = includeDependencies { inherit dependencies; };
|
||||
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
|
||||
|
||||
passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/${packageName}
|
||||
cd $out/${packageName}
|
||||
|
||||
source $includeScriptPath
|
||||
|
||||
# Create fake package.json to make the npm commands work properly
|
||||
cp ${src}/package.json .
|
||||
chmod 644 package.json
|
||||
${lib.optionalString bypassCache ''
|
||||
if [ -f ${src}/package-lock.json ]
|
||||
then
|
||||
cp ${src}/package-lock.json .
|
||||
fi
|
||||
''}
|
||||
|
||||
# Go to the parent folder to make sure that all packages are pinpointed
|
||||
cd ..
|
||||
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
|
||||
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
|
||||
|
||||
# Expose the executables that were installed
|
||||
cd ..
|
||||
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
|
||||
mv ${packageName} lib
|
||||
ln -s $out/lib/node_modules/.bin $out/bin
|
||||
'';
|
||||
} // extraArgs);
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "node-shell-${name}-${version}";
|
||||
|
||||
buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
|
||||
buildCommand = ''
|
||||
mkdir -p $out/bin
|
||||
cat > $out/bin/shell <<EOF
|
||||
#! ${stdenv.shell} -e
|
||||
$shellHook
|
||||
exec ${stdenv.shell}
|
||||
EOF
|
||||
chmod +x $out/bin/shell
|
||||
'';
|
||||
|
||||
# Provide the dependencies in a development shell through the NODE_PATH environment variable
|
||||
inherit nodeDependencies;
|
||||
shellHook = lib.optionalString (dependencies != []) ''
|
||||
export NODE_PATH=${nodeDependencies}/lib/node_modules
|
||||
export PATH="${nodeDependencies}/bin:$PATH"
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
|
||||
buildNodePackage = lib.makeOverridable buildNodePackage;
|
||||
buildNodeShell = lib.makeOverridable buildNodeShell;
|
||||
}
|
2445
pkgs/development/compilers/elm/packages/node-packages.nix
generated
2445
pkgs/development/compilers/elm/packages/node-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -5,24 +5,22 @@ assert backend == "mcode" || backend == "llvm";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ghdl-${backend}";
|
||||
# NOTE(aseipp): move to 0.38 when it comes out, since it should support a stable
|
||||
# version of the yosys plugin
|
||||
version = "unstable-2021.01.14";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ghdl";
|
||||
repo = "ghdl";
|
||||
rev = "4868294436574660552ccef50a5b0849559393de";
|
||||
sha256 = "1wqjf0qc66dam1n2mskmlvj53bcsdwwk5rq9gimq6ah1vcwi222p";
|
||||
rev = "v${version}";
|
||||
sha256 = "1gyh0xckwbzgslbpw9yrpj4gqs9fm1a2qpbzl0sh143fk1kwjlly";
|
||||
};
|
||||
|
||||
LIBRARY_PATH = "${stdenv.cc.libc}/lib";
|
||||
|
||||
buildInputs = [ gnat zlib ];
|
||||
buildInputs = [ gnat zlib ] ++ lib.optional (backend == "llvm") [ llvm ];
|
||||
|
||||
preConfigure = ''
|
||||
# If llvm 7.0 works, 7.x releases should work too.
|
||||
sed -i 's/check_version 7.0/check_version 7/g' configure
|
||||
sed -i 's/check_version 7.0/check_version 7/g' configure
|
||||
'';
|
||||
|
||||
configureFlags = [ "--enable-synth" ] ++ lib.optional (backend == "llvm")
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "yosys-ghdl";
|
||||
version = "2021.01.01";
|
||||
version = "2021.01.25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ghdl";
|
||||
repo = "ghdl-yosys-plugin";
|
||||
rev = "8b3e740fef9a653a20a838f1ade475960e1d379b";
|
||||
sha256 = "13kpcp37r11xgqd8aksddi40a5vpzqi7p8qgyjbs99lyscyli75x";
|
||||
rev = "cba859cacf8c6631146dbdaa0f297c060b5a68cd";
|
||||
sha256 = "01d9wb7sqkmkf2y9bnn3pmhy08khzs5m1d06whxsiwgwnjzfk9mx";
|
||||
};
|
||||
|
||||
buildInputs = [ yosys readline zlib ghdl ];
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, gettext
|
||||
{ lib, stdenv, substituteAll, fetchFromGitHub, meson, ninja, pkg-config, gettext
|
||||
, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
|
||||
, libstemmer, glib, xapian, libxml2, libyaml, gobject-introspection
|
||||
, pcre, itstool, gperf, vala, lmdb, libsoup
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "appstream";
|
||||
version = "0.13.1";
|
||||
version = "0.14.0";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@ -14,9 +14,17 @@ stdenv.mkDerivation rec {
|
||||
owner = "ximion";
|
||||
repo = "appstream";
|
||||
rev = "v${version}";
|
||||
sha256 = "16nxaw4fx78maldi3kvr8fiwzhmy5276wd4x2fxny16zzf01098j";
|
||||
sha256 = "sha256-iYqmQ1/58t3ZdJTxYLDc5jkTG1lMBtQWMFFsYsszH9Q=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix hardcoded paths
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
libstemmer_includedir = "${lib.getDev libstemmer}/include";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson ninja pkg-config gettext
|
||||
libxslt xmlto docbook_xsl docbook_xml_dtd_45
|
||||
@ -25,14 +33,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml gperf lmdb libsoup ];
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace /usr/include ${libstemmer}/include
|
||||
|
||||
substituteInPlace data/meson.build \
|
||||
--replace /etc $out/etc
|
||||
'';
|
||||
|
||||
mesonFlags = [
|
||||
"-Dapidocs=false"
|
||||
"-Ddocs=false"
|
||||
|
29
pkgs/development/libraries/appstream/fix-paths.patch
Normal file
29
pkgs/development/libraries/appstream/fix-paths.patch
Normal file
@ -0,0 +1,29 @@
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index 1eb3dfb0..623b66ec 100644
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -26,4 +26,4 @@ i18n.merge_file (
|
||||
)
|
||||
|
||||
install_data ('appstream.conf',
|
||||
- install_dir: get_option('sysconfdir'))
|
||||
+ install_dir: get_option('prefix') / 'etc')
|
||||
diff --git a/meson.build b/meson.build
|
||||
index dc1fb1a5..5ee03b73 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -108,12 +108,12 @@ if get_option ('gir')
|
||||
dependency('gobject-introspection-1.0', version: '>=1.56')
|
||||
endif
|
||||
|
||||
-stemmer_inc_dirs = include_directories(['/usr/include'])
|
||||
+stemmer_inc_dirs = include_directories(['@libstemmer_includedir@'])
|
||||
if get_option('stemming')
|
||||
stemmer_lib = cc.find_library('stemmer', required: true)
|
||||
if not cc.has_header('libstemmer.h')
|
||||
if cc.has_header('libstemmer/libstemmer.h')
|
||||
- stemmer_inc_dirs = include_directories('/usr/include/libstemmer')
|
||||
+ stemmer_inc_dirs = include_directories('@libstemmer_includedir@/libstemmer')
|
||||
else
|
||||
error('Unable to find Snowball header "libstemmer.h". Please ensure libstemmer/Snowball is installed properly in order to continue.')
|
||||
endif
|
@ -4,7 +4,7 @@
|
||||
|
||||
mkDerivation {
|
||||
pname = "appstream-qt";
|
||||
inherit (appstream) version src prePatch;
|
||||
inherit (appstream) version src patches;
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
|
@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libmysqlconnectorcpp";
|
||||
version = "8.0.21";
|
||||
version = "8.0.23";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}-src.tar.gz";
|
||||
sha256 = "08z40419aip26z6ss30g59mvnddb8dfam82l556jyj3gxs0irqbh";
|
||||
sha256 = "sha256-mvBklaaggP7WLacJePHLDGbwWO3V6p7ak0WmS/jsaI8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -10,11 +10,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libwpe";
|
||||
version = "1.7.1";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "0h6kh8wy2b370y705pl2vp6vp18dkdsgdxh0243ji2v51kxbg157";
|
||||
sha256 = "sha256-pvAKfQkcvU21f+fuO0wSxjUJIdZU7XmBKACibIiEgdI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "suitesparse-graphblas";
|
||||
version = "3.3.3";
|
||||
version = "4.0.3";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "DrTimothyAldenDavis";
|
||||
repo = "GraphBLAS";
|
||||
rev = "v${version}";
|
||||
sha256 = "1nmygb2yny0mdqp0mc6760gbxklq1jjm0c6s39qkdwzf3n9f8j7p";
|
||||
sha256 = "sha256-Bf3+w/kQtFpeUGp2zWVqja535EbaUw7DbhCw54B6A8k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ mkDerivation, fetchurl, pkgs, lib, php }:
|
||||
let
|
||||
pname = "phpstan";
|
||||
version = "0.12.71";
|
||||
version = "0.12.74";
|
||||
in
|
||||
mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
|
||||
sha256 = "sha256-VSA/37LTawwIL1qdyp35auml7we3xDdrZN21/V3BWlM=";
|
||||
sha256 = "sha256-zEDqswyldyXha836ye+FmE4yYxH+7AzEvlKJYOje0xQ=";
|
||||
};
|
||||
|
||||
phases = [ "installPhase" ];
|
||||
|
@ -8,15 +8,15 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "nmigen-boards";
|
||||
version = "unstable-2020-02-06";
|
||||
version = "unstable-2021-02-09";
|
||||
# python setup.py --version
|
||||
realVersion = "0.1.dev92+g${lib.substring 0 7 src.rev}";
|
||||
realVersion = "0.1.dev173+g${lib.substring 0 7 src.rev}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nmigen";
|
||||
repo = "nmigen-boards";
|
||||
rev = "f37fe0295035db5f1bf82ed086b2eb349ab3a530";
|
||||
sha256 = "16112ahil100anfwggj64nyrj3pf7mngwrjyqyhf2ggxx9ir24cc";
|
||||
rev = "a35d870a994c2919116b2c06166dc127febb1512";
|
||||
sha256 = "1flbcyb2xz174dgqv2964qra80xj2vbzbqwjb27shvxm6knj9ikf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools_scm ];
|
||||
|
@ -8,15 +8,15 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "nmigen-soc";
|
||||
version = "unstable-2020-02-08";
|
||||
version = "unstable-2021-02-09";
|
||||
# python setup.py --version
|
||||
realVersion = "0.1.dev24+g${lib.substring 0 7 src.rev}";
|
||||
realVersion = "0.1.dev43+g${lib.substring 0 7 src.rev}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nmigen";
|
||||
repo = "nmigen-soc";
|
||||
rev = "f5b5cd563e8e8d081b0535c4554c02b5456ee8b4";
|
||||
sha256 = "04kjaq9qp6ac3h0r1wlb4jyz56bb52l1rikmz1x7azvnr10xhrad";
|
||||
rev = "ecfad4d9abacf903a525f0a252c38844eda0d2dd";
|
||||
sha256 = "0afmnfs1ms7p1r4c1nc0sfvlcq36zjwaim7775v5i2vajcn3020c";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools_scm ];
|
||||
|
@ -6,6 +6,8 @@
|
||||
, setuptools_scm
|
||||
, pyvcd
|
||||
, jinja2
|
||||
, importlib-resources
|
||||
, importlib-metadata
|
||||
|
||||
# for tests
|
||||
, pytestCheckHook
|
||||
@ -16,21 +18,27 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "nmigen";
|
||||
version = "unstable-2020-04-02";
|
||||
version = "unstable-2021-02-09";
|
||||
# python setup.py --version
|
||||
realVersion = "0.2.dev49+g${lib.substring 0 7 src.rev}";
|
||||
realVersion = "0.3.dev243+g${lib.substring 0 7 src.rev}";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nmigen";
|
||||
repo = "nmigen";
|
||||
rev = "c79caead33fff14e2dec42b7e21d571a02526876";
|
||||
sha256 = "sha256-3+mxHyg0a92/BfyePtKT5Hsk+ra+fQzTjCJ2Ech44/s=";
|
||||
rev = "f7c2b9419f9de450be76a0e9cf681931295df65f";
|
||||
sha256 = "0cjs9wgmxa76xqmjhsw4fsb2mhgvd85jgs2mrjxqp6fwp8rlgnl1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools_scm ];
|
||||
|
||||
propagatedBuildInputs = [ setuptools pyvcd jinja2 ];
|
||||
propagatedBuildInputs = [
|
||||
setuptools
|
||||
pyvcd
|
||||
jinja2
|
||||
] ++
|
||||
lib.optional (pythonOlder "3.9") importlib-resources ++
|
||||
lib.optional (pythonOlder "3.8") importlib-metadata;
|
||||
|
||||
checkInputs = [ pytestCheckHook yosys symbiyosys yices ];
|
||||
|
||||
@ -38,13 +46,6 @@ buildPythonPackage rec {
|
||||
export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
|
||||
'';
|
||||
|
||||
# Fail b/c can't find sby (symbiyosys) executable, which should be on path.
|
||||
disabledTests = [
|
||||
"test_distance"
|
||||
"test_reversible"
|
||||
"FIFOFormalCase"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A refreshed Python toolbox for building complex digital hardware";
|
||||
homepage = "https://nmigen.info/nmigen";
|
||||
|
@ -71,7 +71,7 @@ in
|
||||
lib.makeScope pkgs.newScope (self: {
|
||||
|
||||
# Poetry2nix version
|
||||
version = "1.15.2";
|
||||
version = "1.15.3";
|
||||
|
||||
/* Returns a package of editable sources whose changes will be available without needing to restart the
|
||||
nix-shell.
|
||||
|
@ -39,7 +39,7 @@ self: super:
|
||||
|
||||
ansible-lint = super.ansible-lint.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.setuptools-scm-git-archive ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
|
||||
preBuild = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
@ -48,42 +48,42 @@ self: super:
|
||||
|
||||
astroid = super.astroid.overridePythonAttrs (
|
||||
old: rec {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
doCheck = false;
|
||||
}
|
||||
);
|
||||
|
||||
av = super.av.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
|
||||
pkgs.pkg-config
|
||||
];
|
||||
buildInputs = old.buildInputs ++ [ pkgs.ffmpeg_4 ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ffmpeg_4 ];
|
||||
}
|
||||
);
|
||||
|
||||
bcrypt = super.bcrypt.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.libffi ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
|
||||
}
|
||||
);
|
||||
|
||||
cairocffi = super.cairocffi.overridePythonAttrs (
|
||||
old: {
|
||||
inherit (pkgs.python3.pkgs.cairocffi) patches;
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
|
||||
cairosvg = super.cairosvg.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
|
||||
cssselect2 = super.cssselect2.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -93,14 +93,14 @@ self: super:
|
||||
(
|
||||
super.cffi.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs or [ ] ++ [ pkgs.libffi ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
cftime = super.cftime.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
self.cython
|
||||
];
|
||||
}
|
||||
@ -108,13 +108,13 @@ self: super:
|
||||
|
||||
colour = super.colour.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.d2to1 ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.d2to1 ];
|
||||
}
|
||||
);
|
||||
|
||||
configparser = super.configparser.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
self.toml
|
||||
];
|
||||
|
||||
@ -126,9 +126,12 @@ self: super:
|
||||
|
||||
cryptography = super.cryptography.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs or [ ]
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ])
|
||||
++ lib.optional (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ]
|
||||
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) self.python.pythonForBuild.pkgs.cffi;
|
||||
buildInputs = old.buildInputs ++ [ pkgs.openssl ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ];
|
||||
} // lib.optionalAttrs (lib.versionAtLeast old.version "3.4" && lib.versionOlder old.version "3.5") {
|
||||
CRYPTOGRAPHY_DONT_BUILD_RUST = "1";
|
||||
}
|
||||
);
|
||||
|
||||
@ -136,17 +139,17 @@ self: super:
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py --replace "setuptools==" "setuptools>="
|
||||
'';
|
||||
buildInputs = old.buildInputs ++ [ self.setuptools ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
|
||||
});
|
||||
|
||||
ddtrace = super.ddtrace.overridePythonAttrs (old: {
|
||||
buildInputs = old.buildInputs ++
|
||||
buildInputs = (old.buildInputs or [ ]) ++
|
||||
(pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.darwin.IOKit ]) ++ [ self.cython ];
|
||||
});
|
||||
|
||||
dictdiffer = super.dictdiffer.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.setuptools ];
|
||||
}
|
||||
);
|
||||
@ -178,8 +181,8 @@ self: super:
|
||||
enableParallelBuilding = true;
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ pkgs.dlib.nativeBuildInputs;
|
||||
buildInputs = old.buildInputs ++ pkgs.dlib.buildInputs;
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ pkgs.dlib.nativeBuildInputs;
|
||||
buildInputs = (old.buildInputs or [ ]) ++ pkgs.dlib.buildInputs;
|
||||
}
|
||||
);
|
||||
|
||||
@ -206,7 +209,7 @@ self: super:
|
||||
|
||||
faker = super.faker.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
doCheck = false;
|
||||
}
|
||||
);
|
||||
@ -223,13 +226,13 @@ self: super:
|
||||
|
||||
fastparquet = super.fastparquet.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
|
||||
grandalf = super.grandalf.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
doCheck = false;
|
||||
}
|
||||
);
|
||||
@ -246,8 +249,8 @@ self: super:
|
||||
h5py = super.h5py.overridePythonAttrs (
|
||||
old:
|
||||
if old.format != "wheel" then rec {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
|
||||
buildInputs = old.buildInputs ++ [ pkgs.hdf5 self.pkgconfig self.cython ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.hdf5 self.pkgconfig self.cython ];
|
||||
configure_flags = "--hdf5=${pkgs.hdf5}";
|
||||
postConfigure = ''
|
||||
${self.python.executable} setup.py configure ${configure_flags}
|
||||
@ -287,7 +290,7 @@ self: super:
|
||||
|
||||
'';
|
||||
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
# Commented out packages are declared required, but not actually
|
||||
# needed to build. They are not yet packaged for nixpkgs.
|
||||
# bitshuffle
|
||||
@ -347,7 +350,7 @@ self: super:
|
||||
jira = super.jira.overridePythonAttrs (
|
||||
old: {
|
||||
inherit (pkgs.python3Packages.jira) patches;
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
self.pytestrunner
|
||||
self.cryptography
|
||||
self.pyjwt
|
||||
@ -372,7 +375,7 @@ self: super:
|
||||
|
||||
keyring = super.keyring.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
self.toml
|
||||
];
|
||||
postPatch = ''
|
||||
@ -383,7 +386,7 @@ self: super:
|
||||
|
||||
kiwisolver = super.kiwisolver.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
self.cppy
|
||||
];
|
||||
}
|
||||
@ -404,7 +407,7 @@ self: super:
|
||||
|
||||
llvmlite = super.llvmlite.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.llvm ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.llvm ];
|
||||
|
||||
# Disable static linking
|
||||
# https://github.com/numba/llvmlite/issues/93
|
||||
@ -433,8 +436,8 @@ self: super:
|
||||
|
||||
lxml = super.lxml.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = with pkgs; old.nativeBuildInputs ++ [ pkg-config libxml2.dev libxslt.dev ];
|
||||
buildInputs = with pkgs; old.buildInputs ++ [ libxml2 libxslt ];
|
||||
nativeBuildInputs = with pkgs; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ];
|
||||
buildInputs = with pkgs; (old.buildInputs or [ ]) ++ [ libxml2 libxslt ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -459,11 +462,11 @@ self: super:
|
||||
|
||||
XDG_RUNTIME_DIR = "/tmp";
|
||||
|
||||
buildInputs = old.buildInputs
|
||||
buildInputs = (old.buildInputs or [ ])
|
||||
++ lib.optional enableGhostscript pkgs.ghostscript
|
||||
++ lib.optional stdenv.isDarwin [ Cocoa ];
|
||||
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
|
||||
pkgs.pkg-config
|
||||
];
|
||||
|
||||
@ -494,16 +497,16 @@ self: super:
|
||||
|
||||
mccabe = super.mccabe.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
doCheck = false;
|
||||
}
|
||||
);
|
||||
|
||||
mip = super.mip.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.autoPatchelfHook ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.autoPatchelfHook ];
|
||||
|
||||
buildInputs = old.buildInputs ++ [ pkgs.zlib self.cppy ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.zlib self.cppy ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -519,11 +522,11 @@ self: super:
|
||||
excludes = [ "pyproject.toml" ];
|
||||
})
|
||||
];
|
||||
buildInputs = old.buildInputs ++ [ self.setuptools-scm-git-archive ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
|
||||
}
|
||||
)) else
|
||||
super.molecule.overridePythonAttrs (old: {
|
||||
buildInputs = old.buildInputs ++ [ self.setuptools-scm-git-archive ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
|
||||
});
|
||||
|
||||
mongomock = super.mongomock.overridePythonAttrs (oa: {
|
||||
@ -557,19 +560,19 @@ self: super:
|
||||
|
||||
multiaddr = super.multiaddr.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
|
||||
mysqlclient = super.mysqlclient.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.libmysqlclient ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
|
||||
}
|
||||
);
|
||||
|
||||
netcdf4 = super.netcdf4.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
self.cython
|
||||
];
|
||||
|
||||
@ -613,8 +616,8 @@ self: super:
|
||||
};
|
||||
in
|
||||
{
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
|
||||
buildInputs = old.buildInputs ++ [ blas self.cython ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ blas self.cython ];
|
||||
enableParallelBuilding = true;
|
||||
preBuild = ''
|
||||
ln -s ${cfg} site.cfg
|
||||
@ -628,21 +631,21 @@ self: super:
|
||||
|
||||
openexr = super.openexr.overridePythonAttrs (
|
||||
old: rec {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.openexr pkgs.ilmbase ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openexr pkgs.ilmbase ];
|
||||
NIX_CFLAGS_COMPILE = [ "-I${pkgs.openexr.dev}/include/OpenEXR" "-I${pkgs.ilmbase.dev}/include/OpenEXR" ];
|
||||
}
|
||||
);
|
||||
|
||||
osqp = super.osqp.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.cmake ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cmake ];
|
||||
dontUseCmakeConfigure = true;
|
||||
}
|
||||
);
|
||||
|
||||
parsel = super.parsel.overridePythonAttrs (
|
||||
old: rec {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ self.pytest-runner ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -653,7 +656,7 @@ self: super:
|
||||
withMysql = old.passthru.withMysql or false;
|
||||
in
|
||||
{
|
||||
buildInputs = old.buildInputs or [ ] ++ [ pkgs.sqlite ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ];
|
||||
propagatedBuildInputs = old.propagatedBuildInputs or [ ]
|
||||
++ lib.optional withPostgres self.psycopg2
|
||||
++ lib.optional withMysql self.mysql-connector;
|
||||
@ -662,8 +665,8 @@ self: super:
|
||||
|
||||
pillow = super.pillow.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = [ pkgs.pkg-config ] ++ old.nativeBuildInputs;
|
||||
buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ old.buildInputs;
|
||||
nativeBuildInputs = [ pkgs.pkg-config ] ++ (old.nativeBuildInputs or [ ]);
|
||||
buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ (old.buildInputs or [ ]);
|
||||
}
|
||||
);
|
||||
|
||||
@ -714,17 +717,17 @@ self: super:
|
||||
|
||||
psycopg2 = super.psycopg2.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs
|
||||
buildInputs = (old.buildInputs or [ ])
|
||||
++ lib.optional stdenv.isDarwin pkgs.openssl;
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.postgresql ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
|
||||
}
|
||||
);
|
||||
|
||||
psycopg2-binary = super.psycopg2-binary.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs
|
||||
buildInputs = (old.buildInputs or [ ])
|
||||
++ lib.optional stdenv.isDarwin pkgs.openssl;
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.postgresql ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -751,7 +754,7 @@ self: super:
|
||||
in
|
||||
if arrowCppVersion != pyArrowVersion then throw errorMessage else {
|
||||
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
|
||||
self.cython
|
||||
pkgs.pkg-config
|
||||
pkgs.cmake
|
||||
@ -764,7 +767,7 @@ self: super:
|
||||
PARQUET_HOME = _arrow-cpp;
|
||||
inherit ARROW_HOME;
|
||||
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
pkgs.arrow-cpp
|
||||
];
|
||||
|
||||
@ -783,7 +786,7 @@ self: super:
|
||||
) else
|
||||
super.pyarrow.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
|
||||
self.cython
|
||||
];
|
||||
}
|
||||
@ -799,7 +802,7 @@ self: super:
|
||||
).overridePythonAttrs (
|
||||
old: {
|
||||
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
|
||||
pkgs.meson
|
||||
pkgs.ninja
|
||||
pkgs.pkg-config
|
||||
@ -818,7 +821,7 @@ self: super:
|
||||
|
||||
pycocotools = super.pycocotools.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
self.cython
|
||||
self.numpy
|
||||
];
|
||||
@ -869,27 +872,27 @@ self: super:
|
||||
|
||||
pygobject = super.pygobject.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
|
||||
buildInputs = old.buildInputs ++ [ pkgs.glib pkgs.gobject-introspection ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.glib pkgs.gobject-introspection ];
|
||||
}
|
||||
);
|
||||
|
||||
pylint = super.pylint.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
doCheck = false;
|
||||
}
|
||||
);
|
||||
|
||||
pyopenssl = super.pyopenssl.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.openssl ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ];
|
||||
}
|
||||
);
|
||||
|
||||
python-bugzilla = super.python-bugzilla.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
|
||||
self.docutils
|
||||
];
|
||||
}
|
||||
@ -897,7 +900,7 @@ self: super:
|
||||
|
||||
python-ldap = super.python-ldap.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.openldap pkgs.cyrus_sasl ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openldap pkgs.cyrus_sasl ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -919,7 +922,7 @@ self: super:
|
||||
old: {
|
||||
format = "other";
|
||||
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
|
||||
pkgs.pkg-config
|
||||
pkgs.qt5.qmake
|
||||
pkgs.xorg.lndir
|
||||
@ -936,7 +939,7 @@ self: super:
|
||||
++ lib.optional withWebSockets pkgs.qt5.qtwebsockets
|
||||
;
|
||||
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
pkgs.dbus
|
||||
pkgs.qt5.qtbase
|
||||
pkgs.qt5.qtsvg
|
||||
@ -1071,13 +1074,13 @@ self: super:
|
||||
|
||||
ffmpeg-python = super.ffmpeg-python.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
|
||||
python-prctl = super.python-prctl.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
pkgs.libcap
|
||||
];
|
||||
}
|
||||
@ -1085,7 +1088,7 @@ self: super:
|
||||
|
||||
pyzmq = super.pyzmq.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
|
||||
propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.zeromq ];
|
||||
}
|
||||
);
|
||||
@ -1108,13 +1111,13 @@ self: super:
|
||||
|
||||
pandas = super.pandas.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ self.cython ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.cython ];
|
||||
}
|
||||
);
|
||||
|
||||
panel = super.panel.overridePythonAttrs (
|
||||
old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.nodejs ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.nodejs ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -1138,11 +1141,11 @@ self: super:
|
||||
scipy = super.scipy.overridePythonAttrs (
|
||||
old:
|
||||
if old.format != "wheel" then {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ];
|
||||
propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.pybind11 ];
|
||||
setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
|
||||
enableParallelBuilding = true;
|
||||
buildInputs = old.buildInputs ++ [ self.numpy.blas ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.numpy.blas ];
|
||||
preConfigure = ''
|
||||
sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
|
||||
export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
|
||||
@ -1155,14 +1158,14 @@ self: super:
|
||||
|
||||
scikit-learn = super.scikit-learn.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
||||
pkgs.gfortran
|
||||
pkgs.glibcLocales
|
||||
] ++ lib.optionals stdenv.cc.isClang [
|
||||
pkgs.llvmPackages.openmp
|
||||
];
|
||||
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
|
||||
self.cython
|
||||
];
|
||||
|
||||
@ -1172,7 +1175,7 @@ self: super:
|
||||
|
||||
shapely = super.shapely.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ pkgs.geos self.cython ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos self.cython ];
|
||||
inherit (pkgs.python3.pkgs.shapely) patches GEOS_LIBRARY_PATH;
|
||||
}
|
||||
);
|
||||
@ -1190,8 +1193,8 @@ self: super:
|
||||
tables = super.tables.overridePythonAttrs (
|
||||
old: {
|
||||
HDF5_DIR = "${pkgs.hdf5}";
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
|
||||
propagatedBuildInputs = old.nativeBuildInputs ++ [ pkgs.hdf5 self.numpy self.numexpr ];
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
|
||||
propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.hdf5 self.numpy self.numexpr ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -1220,7 +1223,7 @@ self: super:
|
||||
|
||||
tinycss2 = super.tinycss2.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -1241,13 +1244,14 @@ self: super:
|
||||
# is explicitly disabled with USE_CUDA=0.
|
||||
find $out -name "*.so" -exec ${pkgs.patchelf}/bin/patchelf --remove-needed libcuda.so.1 {} \;
|
||||
'';
|
||||
buildInputs = (old.buildInputs or [ ])
|
||||
buildInputs =
|
||||
(old.buildInputs or [ ])
|
||||
++ [ self.typing-extensions ]
|
||||
++ lib.optionals enableCuda [
|
||||
pkgs.linuxPackages.nvidia_x11
|
||||
pkgs.nccl.dev
|
||||
pkgs.nccl.out
|
||||
];
|
||||
pkgs.linuxPackages.nvidia_x11
|
||||
pkgs.nccl.dev
|
||||
pkgs.nccl.out
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
self.numpy
|
||||
self.future
|
||||
@ -1285,7 +1289,7 @@ self: super:
|
||||
vispy = super.vispy.overrideAttrs (
|
||||
old: {
|
||||
inherit (pkgs.python3.pkgs.vispy) patches;
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
|
||||
self.cython
|
||||
self.setuptools-scm-git-archive
|
||||
];
|
||||
@ -1294,7 +1298,7 @@ self: super:
|
||||
|
||||
uvloop = super.uvloop.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ lib.optionals stdenv.isDarwin [
|
||||
buildInputs = (old.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [
|
||||
pkgs.darwin.apple_sdk.frameworks.ApplicationServices
|
||||
pkgs.darwin.apple_sdk.frameworks.CoreServices
|
||||
];
|
||||
@ -1312,7 +1316,7 @@ self: super:
|
||||
weasyprint = super.weasyprint.overridePythonAttrs (
|
||||
old: {
|
||||
inherit (pkgs.python3.pkgs.weasyprint) patches;
|
||||
buildInputs = old.buildInputs ++ [ self.pytest-runner ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
|
||||
}
|
||||
);
|
||||
|
||||
@ -1368,19 +1372,19 @@ self: super:
|
||||
|
||||
credis = super.credis.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.cython ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.cython ];
|
||||
}
|
||||
);
|
||||
|
||||
hashids = super.hashids.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++ [ self.flit-core ];
|
||||
buildInputs = (old.buildInputs or [ ]) ++ [ self.flit-core ];
|
||||
}
|
||||
);
|
||||
|
||||
packaging = super.packaging.overridePythonAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs ++
|
||||
buildInputs = (old.buildInputs or [ ]) ++
|
||||
# From 20.5 until 20.7, packaging used flit for packaging (heh)
|
||||
# See https://github.com/pypa/packaging/pull/352 and https://github.com/pypa/packaging/pull/367
|
||||
lib.optional (lib.versionAtLeast old.version "20.5" && lib.versionOlder old.version "20.8") [ self.flit-core ];
|
||||
@ -1407,13 +1411,13 @@ self: super:
|
||||
# is not translated correctly to a nix dependency.
|
||||
tqdm = super.tqdm.overrideAttrs (
|
||||
old: {
|
||||
buildInputs = [ super.toml ] ++ old.buildInputs;
|
||||
buildInputs = [ super.toml ] ++ (old.buildInputs or [ ]);
|
||||
}
|
||||
);
|
||||
|
||||
watchdog = super.watchdog.overrideAttrs (
|
||||
old: {
|
||||
buildInputs = old.buildInputs or [ ]
|
||||
buildInputs = (old.buildInputs or [ ])
|
||||
++ pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.CoreServices;
|
||||
}
|
||||
);
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "vultr-cli";
|
||||
version = "2.0.1";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vultr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "14cl0rgkk2kw0qyanlm57nbcrnsnnx02ikd6b1mrsviamb6r1lz6";
|
||||
sha256 = "sha256-zt12LUKcsu/t2wNunIQhrNOqOABjyfL0MkSEPOQswFM=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ rustPlatform, lib, fetchFromGitHub, lzma, pkg-config, openssl, dbus, glib, udev, cairo, pango, atk, gdk-pixbuf, gtk3, wrapGAppsHook }:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "firmware-manager";
|
||||
version = "0.1.1";
|
||||
version = "0.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0x9604jsflqxvbkfp139mzjicpyx8v21139jj8bp88c14ngvmdlw";
|
||||
sha256 = "sha256-aKatdjHa/k7j48upkR1O6PFxCUfJYE3KhhzZ9Ohe0Jc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
|
||||
@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
installPhase = "make prefix='$(out)' install";
|
||||
|
||||
cargoSha256 = "0byc0pqa1w2qnfrx3psrzdq1c8qjslbmzxg872b9v6fr5d4c9cvg";
|
||||
cargoSha256 = "sha256-TISYaSOu8c+74ie4QHLqflXfLWwcLHEOch/hAx3iu60=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -1,10 +1,8 @@
|
||||
{ lib, stdenv, fetchFromGitHub }:
|
||||
|
||||
# Don't use this for anything important yet!
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fscryptctl";
|
||||
version = "0.1.0";
|
||||
version = "1.0.0";
|
||||
|
||||
goPackagePath = "github.com/google/fscrypt";
|
||||
|
||||
@ -12,10 +10,10 @@ stdenv.mkDerivation rec {
|
||||
owner = "google";
|
||||
repo = "fscryptctl";
|
||||
rev = "v${version}";
|
||||
sha256 = "1853hlpklisbqnkb7a921dsf0vp2nr2im26zpmrs592cnpsvk3hb";
|
||||
sha256 = "1hwj726mm0yhlcf6523n07h0yq1rvkv4km64h3ydpjcrcxklhw6l";
|
||||
};
|
||||
|
||||
makeFlags = [ "DESTDIR=$(out)/bin" ];
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Small C tool for Linux filesystem encryption";
|
||||
@ -34,6 +32,7 @@ stdenv.mkDerivation rec {
|
||||
documentation for filesystem encryption before using fscryptctl.
|
||||
'';
|
||||
inherit (src.meta) homepage;
|
||||
changelog = "https://github.com/google/fscryptctl/releases/tag/v{version}";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ primeos ];
|
||||
|
51
pkgs/os-specific/linux/fscryptctl/legacy.nix
Normal file
51
pkgs/os-specific/linux/fscryptctl/legacy.nix
Normal file
@ -0,0 +1,51 @@
|
||||
{ lib, stdenv, fetchFromGitHub }:
|
||||
|
||||
# Don't use this for anything important!
|
||||
# TODO: Drop fscryptctl-experimental after the NixOS 21.03/21.05 release.
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fscryptctl";
|
||||
version = "0.1.0";
|
||||
|
||||
goPackagePath = "github.com/google/fscrypt";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "fscryptctl";
|
||||
rev = "v${version}";
|
||||
sha256 = "1853hlpklisbqnkb7a921dsf0vp2nr2im26zpmrs592cnpsvk3hb";
|
||||
};
|
||||
|
||||
makeFlags = [ "DESTDIR=$(out)/bin" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Small C tool for Linux filesystem encryption";
|
||||
longDescription = ''
|
||||
fscryptctl is a low-level tool written in C that handles raw keys and
|
||||
manages policies for Linux filesystem encryption, specifically the
|
||||
"fscrypt" kernel interface which is supported by the ext4, f2fs, and
|
||||
UBIFS filesystems.
|
||||
fscryptctl is mainly intended for embedded systems which can't use the
|
||||
full-featured fscrypt tool, or for testing or experimenting with the
|
||||
kernel interface to Linux filesystem encryption. fscryptctl does not
|
||||
handle key generation, key stretching, key wrapping, or PAM integration.
|
||||
Most users should use the fscrypt tool instead, which supports these
|
||||
features and generally is much easier to use.
|
||||
As fscryptctl is intended for advanced users, you should read the kernel
|
||||
documentation for filesystem encryption before using fscryptctl.
|
||||
'';
|
||||
inherit (src.meta) homepage;
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ primeos ];
|
||||
knownVulnerabilities = [ ''
|
||||
fscryptctl version 1.0.0 was released and now uses v2 encryption
|
||||
policies. fscryptctl-experimental will remain at version 0.1.0 which
|
||||
still supports the v1 encryption policies. Please try to switch from the
|
||||
"fscryptctl-experimental" package to "fscryptctl". The v1 encryption
|
||||
policies can be insecure, are hard to use correctly, and have different
|
||||
semantics from v2 policies (which is why they are no longer supported in
|
||||
fscryptctl 1.0.0+).
|
||||
'' ];
|
||||
};
|
||||
}
|
@ -145,7 +145,7 @@ buildHostCmd() {
|
||||
if [ -z "$buildHost" ]; then
|
||||
"$@"
|
||||
elif [ -n "$remoteNix" ]; then
|
||||
ssh $SSHOPTS "$buildHost" env PATH="$remoteNix:$PATH" "${maybeSudo[@]}" "$@"
|
||||
ssh $SSHOPTS "$buildHost" env PATH="$remoteNix":'$PATH' "${maybeSudo[@]}" "$@"
|
||||
else
|
||||
ssh $SSHOPTS "$buildHost" "${maybeSudo[@]}" "$@"
|
||||
fi
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vips";
|
||||
version = "8.10.2";
|
||||
version = "8.10.5";
|
||||
|
||||
outputs = [ "bin" "out" "man" "dev" ];
|
||||
|
||||
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "libvips";
|
||||
repo = "libvips";
|
||||
rev = "v${version}";
|
||||
sha256 = "1psi39a4h0awwbyizbsk467z0djwq0rh8hvkklbsd5b92m7768sp";
|
||||
sha256 = "sha256-h21Ep6f4/y+m0kdrCA5dcULFeOOyLtMx2etAziG6f9Y=";
|
||||
# Remove unicode file names which leads to different checksums on HFS+
|
||||
# vs. other filesystems because of unicode normalisation.
|
||||
extraPostFetch = ''
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ibus-libpinyin";
|
||||
version = "1.11.1";
|
||||
version = "1.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libpinyin";
|
||||
repo = "ibus-libpinyin";
|
||||
rev = version;
|
||||
sha256 = "0b8rilk9zil9gvfhlk3rphcby6ph11dw66j175wp0na6h6hjlaf2";
|
||||
sha256 = "sha256-fEEiwRoGGFAki1DMQvGuzjz2NAjhExyH11l8KTwjjsI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
isIbusEngine = true;
|
||||
description = "IBus interface to the libpinyin input method";
|
||||
license = licenses.gpl2;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ericsagnes ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ibus-m17n";
|
||||
version = "1.4.3";
|
||||
version = "1.4.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ibus";
|
||||
repo = "ibus-m17n";
|
||||
rev = version;
|
||||
sha256 = "0lb2vcnkzy64474j7306ydyw1ali0qbx07sxfms2fqv1nmh161i2";
|
||||
sha256 = "sha256-kPTysHTC+j8BMnzsddRa4Tg54idejApTqmLrP20pu5M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ibus-table";
|
||||
version = "1.9.25";
|
||||
version = "1.12.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kaio";
|
||||
repo = "ibus-table";
|
||||
rev = version;
|
||||
sha256 = "0v570qpnb2q79aqr9f0xnska34y7hw34ibiwsf7ybcw69fhi1zkg";
|
||||
sha256 = "sha256-iVbct7p+i8ifSQzOFUUnJU0RHX36cFiTlv7p79iawj8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
|
||||
-e "/export IBUS_LOCALEDIR=/ s/^.$//" \
|
||||
-i "setup/ibus-setup-table.in"
|
||||
substituteInPlace engine/tabcreatedb.py --replace '/usr/share/ibus-table' $out/share/ibus-table
|
||||
substituteInPlace engine/ibus_table_location.py \
|
||||
--replace '/usr/libexec' $out/libexec \
|
||||
--replace '/usr/share/ibus-table/' $out/share/ibus-table/
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
@ -34,6 +37,7 @@ stdenv.mkDerivation rec {
|
||||
gtk3
|
||||
ibus
|
||||
(python3.withPackages (pypkgs: with pypkgs; [
|
||||
dbus-python
|
||||
pygobject3
|
||||
(toPythonModule ibus)
|
||||
]))
|
||||
|
@ -1,21 +1,31 @@
|
||||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, libxml2
|
||||
, pciutils, pkg-config, gtk2, ddccontrol-db
|
||||
, makeDesktopItem
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, intltool
|
||||
, libxml2
|
||||
, pciutils
|
||||
, pkg-config
|
||||
, gtk2
|
||||
, ddccontrol-db
|
||||
}:
|
||||
|
||||
let version = "0.4.4"; in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ddccontrol";
|
||||
inherit version;
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ddccontrol";
|
||||
repo = "ddccontrol";
|
||||
rev = "0.4.4";
|
||||
sha256 = "09npy6z2j3jrvpvlr46vih31y2mbrh7wsqlbrjprxjv1j0kkz5q2";
|
||||
rev = "0.5.1";
|
||||
sha256 = "sha256-e6Rzzz5S+Um2ZBuUkfAJQA4V+zqCqsUHB0f1t/dTU2w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook intltool pkg-config ];
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
intltool
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libxml2
|
||||
@ -24,8 +34,6 @@ stdenv.mkDerivation rec {
|
||||
ddccontrol-db
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" "bindnow" ];
|
||||
|
||||
prePatch = ''
|
||||
oldPath="\$""{datadir}/ddccontrol-db"
|
||||
newPath="${ddccontrol-db}/share/ddccontrol-db"
|
||||
@ -37,29 +45,11 @@ stdenv.mkDerivation rec {
|
||||
intltoolize --force
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/applications/
|
||||
cp $desktopItem/share/applications/* $out/share/applications/
|
||||
for entry in $out/share/applications/*.desktop; do
|
||||
substituteAllInPlace $entry
|
||||
done
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "gddccontrol";
|
||||
desktopName = "gddccontrol";
|
||||
genericName = "DDC/CI control";
|
||||
comment = meta.description;
|
||||
exec = "@out@/bin/gddccontrol";
|
||||
icon = "gddccontrol";
|
||||
categories = "Settings;HardwareSettings;";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A program used to control monitor parameters by software";
|
||||
homepage = "https://github.com/ddccontrol/ddccontrol";
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = [ lib.maintainers.pakhfn ];
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with lib.maintainers; [ pakhfn ];
|
||||
};
|
||||
}
|
||||
|
@ -40,13 +40,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rpm-ostree";
|
||||
version = "2020.8";
|
||||
version = "2021.1";
|
||||
|
||||
outputs = [ "out" "dev" "man" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1iyl6bjkj3drlwds579bh25xcmlwj9lkkbdmcdanq5b3shbmpyhi";
|
||||
sha256 = "sha256-1GpM7IW27MgbXG6iVo5qnWaotwN1GgcXf7dFGRF8s0w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -8420,6 +8420,8 @@ in
|
||||
|
||||
trezor-udev-rules = callPackage ../os-specific/linux/trezor-udev-rules {};
|
||||
|
||||
trezorctl = with python3Packages; toPythonApplication trezor;
|
||||
|
||||
trezord = callPackage ../servers/trezord { };
|
||||
|
||||
trezor_agent = with python3Packages; toPythonApplication trezor_agent;
|
||||
@ -18790,9 +18792,10 @@ in
|
||||
|
||||
erofs-utils = callPackage ../os-specific/linux/erofs-utils { };
|
||||
|
||||
fscryptctl = callPackage ../os-specific/linux/fscryptctl { };
|
||||
# unstable until the first 1.x release
|
||||
fscrypt-experimental = callPackage ../os-specific/linux/fscrypt { };
|
||||
fscryptctl-experimental = callPackage ../os-specific/linux/fscryptctl { };
|
||||
fscryptctl-experimental = callPackage ../os-specific/linux/fscryptctl/legacy.nix { };
|
||||
|
||||
fwupd = callPackage ../os-specific/linux/firmware/fwupd { };
|
||||
|
||||
@ -20899,9 +20902,7 @@ in
|
||||
|
||||
ttf-tw-moe = callPackage ../data/fonts/ttf-tw-moe { };
|
||||
|
||||
twemoji-color-font = callPackage ../data/fonts/twemoji-color-font {
|
||||
inherit (nodePackages) svgo;
|
||||
};
|
||||
twemoji-color-font = callPackage ../data/fonts/twemoji-color-font { };
|
||||
|
||||
twitter-color-emoji = callPackage ../data/fonts/twitter-color-emoji { };
|
||||
|
||||
@ -26010,6 +26011,8 @@ in
|
||||
|
||||
xineUI = callPackage ../applications/video/xine-ui { };
|
||||
|
||||
xlsxgrep = callPackage ../applications/search/xlsxgrep { };
|
||||
|
||||
xmind = callPackage ../applications/misc/xmind { };
|
||||
|
||||
xneur = callPackage ../applications/misc/xneur {
|
||||
|
Loading…
Reference in New Issue
Block a user