Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-02-11 12:20:09 +00:00 committed by GitHub
commit 9185e731d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
49 changed files with 1996 additions and 2564 deletions

View file

@ -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;
};
}

View file

@ -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 ];

View file

@ -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 = [

View file

@ -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"

View 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 )

View file

@ -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",

View file

@ -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";

View 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;
};
}

View file

@ -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; {

View file

@ -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 = ''

View file

@ -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";

View 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;
}

View 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;
}

View 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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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

View file

@ -1,4 +1,4 @@
{ mkDerivation, base, concatenative, mtl, parsec, lib }:
{ mkDerivation, base, concatenative, lib, mtl, parsec }:
mkDerivation {
pname = "indents";
version = "0.3.3";

View file

@ -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;
}

View file

@ -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;
}

File diff suppressed because it is too large Load diff

View file

@ -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")

View file

@ -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 ];

View file

@ -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"

View 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

View file

@ -4,7 +4,7 @@
mkDerivation {
pname = "appstream-qt";
inherit (appstream) version src prePatch;
inherit (appstream) version src patches;
outputs = [ "out" "dev" ];

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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" ];

View file

@ -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 ];

View file

@ -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 ];

View file

@ -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";

View file

@ -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.

View file

@ -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;
}
);

View file

@ -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;

View file

@ -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;

View file

@ -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 ];

View 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+).
'' ];
};
}

View file

@ -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

View file

@ -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 = ''

View file

@ -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;
};

View file

@ -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 = [

View file

@ -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)
]))

View file

@ -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 ];
};
}

View file

@ -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 = [

View file

@ -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 {