Merge pull request #335232 from philiptaron/issue-208242/follow-up-on-pr-334470

This commit is contained in:
Philip Taron
2024-08-18 06:59:06 -07:00
committed by GitHub
123 changed files with 883 additions and 924 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ python311Packages.buildPythonApplication rec {
./disable-autoupdate.patch
];
postPatch = with lib; ''
postPatch = ''
sed -i -re 's,^( *gpodder_dir *= *).*,\1"'"$out"'",' bin/gpodder
'';
+6 -8
View File
@@ -10,8 +10,6 @@
name ? "zig-packages",
}:
with lib;
let
unpackZigArtifact =
{ name, artifact }:
@@ -39,9 +37,9 @@ let
hash,
}:
let
parts = splitString "#" url;
base = elemAt parts 0;
rev = elemAt parts 1;
parts = lib.splitString "#" url;
base = lib.elemAt parts 0;
rev = lib.elemAt parts 1;
in
fetchgit {
inherit name rev hash;
@@ -56,9 +54,9 @@ let
hash,
}:
let
parts = splitString "://" url;
proto = elemAt parts 0;
path = elemAt parts 1;
parts = lib.splitString "://" url;
proto = lib.elemAt parts 0;
path = lib.elemAt parts 1;
fetcher = {
"git+http" = fetchGitZig {
inherit name hash;
@@ -210,9 +210,7 @@ in rec {
# Gather up the desired plugins.
pluginEnv = buildEnv {
name = "eclipse-plugins";
paths =
with lib;
filter (x: x ? isEclipsePlugin) (closePropagation plugins);
paths = lib.filter (x: x ? isEclipsePlugin) (lib.closePropagation plugins);
};
# Prepare the JVM arguments to add to the ini file. We here also
+5 -5
View File
@@ -26,7 +26,7 @@ in
# Definitions is an attribute set.
create = { definitions ? default }: with lib; stdenv.mkDerivation {
create = { definitions ? default }: stdenv.mkDerivation {
name = "jupyter-kernels";
@@ -37,14 +37,14 @@ in
installPhase = ''
mkdir kernels
${concatStringsSep "\n" (mapAttrsToList (kernelName: unfilteredKernel:
${lib.concatStringsSep "\n" (lib.mapAttrsToList (kernelName: unfilteredKernel:
let
allowedKernelKeys = ["argv" "displayName" "language" "interruptMode" "env" "metadata" "logo32" "logo64" "extraPaths"];
kernel = filterAttrs (n: v: (any (x: x == n) allowedKernelKeys)) unfilteredKernel;
kernel = lib.filterAttrs (n: v: (lib.any (x: x == n) allowedKernelKeys)) unfilteredKernel;
config = builtins.toJSON (
kernel
// {display_name = if (kernel.displayName != "") then kernel.displayName else kernelName;}
// (optionalAttrs (kernel ? interruptMode) { interrupt_mode = kernel.interruptMode; })
// (lib.optionalAttrs (kernel ? interruptMode) { interrupt_mode = kernel.interruptMode; })
);
extraPaths = kernel.extraPaths or {}
// lib.optionalAttrs (kernel.logo32 != null) { "logo-32x32.png" = kernel.logo32; }
@@ -64,7 +64,7 @@ in
meta = {
description = "Wrapper to create jupyter notebook kernel definitions";
homepage = "https://jupyter.org/";
maintainers = with maintainers; [ aborsu ];
maintainers = with lib.maintainers; [ aborsu ];
};
};
}
@@ -2,21 +2,19 @@
lib: overridden:
with overridden;
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations = alias: with lib;
removeRecurseForDerivations = alias:
if alias.recurseForDerivations or false then
removeAttrs alias ["recurseForDerivations"]
lib.removeAttrs alias ["recurseForDerivations"]
else alias;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: with lib;
if isDerivation alias then
dontDistribute alias
removeDistribute = alias:
if lib.isDerivation alias then
lib.dontDistribute alias
else alias;
# Make sure that we are not shadowing something from
@@ -37,11 +35,11 @@ let
in
mapAliases ({
kak-auto-pairs = auto-pairs-kak; # backwards compat, added 2021-01-04
kak-buffers = kakoune-buffers; # backwards compat, added 2021-01-04
kak-byline = byline-kak; # backwards compat, added 2023-10-22
kak-fzf = fzf-kak; # backwards compat, added 2021-01-04
kak-powerline = powerline-kak; # backwards compat, added 2021-01-04
kak-prelude = prelude-kak; # backwards compat, added 2021-01-04
kak-vertical-selection = kakoune-vertical-selection; # backwards compat, added 2021-01-04
kak-auto-pairs = overridden.auto-pairs-kak; # backwards compat, added 2021-01-04
kak-buffers = overridden.kakoune-buffers; # backwards compat, added 2021-01-04
kak-byline = overridden.byline-kak; # backwards compat, added 2023-10-22
kak-fzf = overridden.fzf-kak; # backwards compat, added 2021-01-04
kak-powerline = overridden.powerline-kak; # backwards compat, added 2021-01-04
kak-prelude = overridden.prelude-kak; # backwards compat, added 2021-01-04
kak-vertical-selection = overridden.kakoune-vertical-selection; # backwards compat, added 2021-01-04
} // deprecations)
@@ -158,13 +158,13 @@ in
--replace-fail '@quarto@' ${quarto}
'';
hunspellDictionaries = with lib; filter isDerivation (unique (attrValues hunspellDicts));
hunspellDictionaries = lib.filter lib.isDerivation (lib.unique (lib.attrValues hunspellDicts));
# These dicts contain identically-named dict files, so we only keep the
# -large versions in case of clashes
largeDicts = with lib; filter (d: hasInfix "-large-wordlist" d.name) hunspellDictionaries;
otherDicts = with lib; filter
(d: !(hasAttr "dictFileName" d &&
elem d.dictFileName (map (d: d.dictFileName) largeDicts)))
largeDicts = lib.filter (d: lib.hasInfix "-large-wordlist" d.name) hunspellDictionaries;
otherDicts = lib.filter
(d: !(lib.hasAttr "dictFileName" d &&
lib.elem d.dictFileName (map (d: d.dictFileName) largeDicts)))
hunspellDictionaries;
dictionaries = largeDicts ++ otherDicts;
@@ -6,16 +6,16 @@ final: prev:
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations = alias: with lib;
removeRecurseForDerivations = alias:
if alias.recurseForDerivations or false then
removeAttrs alias ["recurseForDerivations"]
lib.removeAttrs alias ["recurseForDerivations"]
else alias;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: with lib;
if isDerivation alias then
dontDistribute alias
removeDistribute = alias:
if lib.isDerivation alias then
lib.dontDistribute alias
else alias;
# Make sure that we are not shadowing something from
@@ -1,8 +1,8 @@
{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, libusb-compat-0_1 }:
let
myPatchElf = file: with lib; ''
myPatchElf = file: ''
patchelf --set-interpreter \
${stdenv.cc.libc}/lib/ld-linux${optionalString stdenv.is64bit "-x86-64"}.so.2 \
${stdenv.cc.libc}/lib/ld-linux${lib.optionalString stdenv.is64bit "-x86-64"}.so.2 \
${file}
'';
@@ -43,13 +43,13 @@ stdenv.mkDerivation rec {
done
'';
installPhase = with lib; ''
installPhase = ''
runHook preInstall
PATH_TO_BRSCAN4="opt/brother/scanner/brscan4"
mkdir -p $out/$PATH_TO_BRSCAN4
cp -rp $PATH_TO_BRSCAN4/* $out/$PATH_TO_BRSCAN4
mkdir -p $out/lib/sane
cp -rp usr/lib${optionalString stdenv.is64bit "64"}/sane/* $out/lib/sane
cp -rp usr/lib${lib.optionalString stdenv.is64bit "64"}/sane/* $out/lib/sane
# Symbolic links were absolute. Fix them so that they point to $out.
pushd "$out/lib/sane" > /dev/null
@@ -1,8 +1,8 @@
{ stdenv, lib, fetchurl, patchelf, makeWrapper, libusb1, avahi-compat, glib, libredirect, nixosTests }:
let
myPatchElf = file: with lib; ''
myPatchElf = file: ''
patchelf --set-interpreter \
${stdenv.cc.libc}/lib/ld-linux${optionalString stdenv.is64bit "-x86-64"}.so.2 \
${stdenv.cc.libc}/lib/ld-linux${lib.optionalString stdenv.is64bit "-x86-64"}.so.2 \
${file}
'';
system = stdenv.hostPlatform.system;
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
printf '/etc/opt/brother/scanner/models\x00' | dd of=opt/brother/scanner/brscan5/libsane-brother5.so.1.0.7 bs=1 seek=${toString patchOffsetBytes} conv=notrunc
'';
installPhase = with lib; ''
installPhase = ''
runHook preInstall
PATH_TO_BRSCAN5="opt/brother/scanner/brscan5"
mkdir -p $out/$PATH_TO_BRSCAN5
+1 -1
View File
@@ -4,5 +4,5 @@ callPackage ./. {
pname = "ape-clex";
lexiconPath = "${attemptoClex}/clex_lexicon.pl";
description = "Parser for Attempto Controlled English (ACE) with a large lexicon (~100,000 entries)";
license = with lib; [ licenses.lgpl3 licenses.gpl3 ];
license = with lib.licenses; [ lgpl3 gpl3 ];
}
+1 -1
View File
@@ -3,7 +3,7 @@
lexiconPath ? "prolog/lexicon/clex_lexicon.pl",
pname ? "ape",
description ? "Parser for Attempto Controlled English (ACE)",
license ? with lib; licenses.lgpl3
license ? lib.licenses.lgpl3
}:
stdenv.mkDerivation rec {
+4 -4
View File
@@ -20,15 +20,15 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ pkg-config scdoc ]
++ lib.optionals waylandSupport [ wayland-scanner ];
buildInputs = with lib; [
buildInputs = [
cairo
fribidi
harfbuzz
libxkbcommon
pango
] ++ optional ncursesSupport ncurses
++ optionals waylandSupport [ wayland wayland-protocols ]
++ optionals x11Support [
] ++ lib.optional ncursesSupport ncurses
++ lib.optionals waylandSupport [ wayland wayland-protocols ]
++ lib.optionals x11Support [
xorg.libX11 xorg.libXinerama xorg.libXft
xorg.libXdmcp xorg.libpthreadstubs xorg.libxcb
];
+11 -11
View File
@@ -29,16 +29,16 @@ stdenv.mkDerivation rec {
sed -i "s@pkg_get_variable(POLKIT_ACTION_DIR.*@set(POLKIT_ACTION_DIR $POLKIT_ACTION_DIR)@" CMakeLists.txt
'';
cmakeFlags = with lib;
cmakeFlags =
[ "-DSYSTEMD_SERVICE_DIR=${placeholder "out"}/lib/systemd/system"
"-DDBUS_CONFIG_DIR=${placeholder "out"}/etc/dbus-1/system.d"
# systemd.pc has prefix=${systemd.out}
"-DMODULE_LOAD_DIR=${placeholder "out"}/lib/modules-load.d"
] ++ optional enableDdc "-DENABLE_DDC=1"
++ optional enableDpms "-DENABLE_DPMS=1"
++ optional enableGamma "-DENABLE_GAMMA=1"
++ optional enableScreen "-DENABLE_SCREEN=1"
++ optional enableYoctolight "-DENABLE_YOCTOLIGHT=1";
] ++ lib.optional enableDdc "-DENABLE_DDC=1"
++ lib.optional enableDpms "-DENABLE_DPMS=1"
++ lib.optional enableGamma "-DENABLE_GAMMA=1"
++ lib.optional enableScreen "-DENABLE_SCREEN=1"
++ lib.optional enableYoctolight "-DENABLE_YOCTOLIGHT=1";
nativeBuildInputs = [
dbus
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
pkg-config
];
buildInputs = with lib; [
buildInputs = [
glib
udev
polkit
@@ -58,10 +58,10 @@ stdenv.mkDerivation rec {
libXdmcp
util-linux
libpthreadstubs
] ++ optionals enableDdc [ ddcutil ]
++ optionals enableDpms [ libXext ]
++ optionals enableGamma [ libXrandr ]
++ optionals (enableDpms || enableGamma || enableScreen) [ libdrm wayland ];
] ++ lib.optionals enableDdc [ ddcutil ]
++ lib.optionals enableDpms [ libXext ]
++ lib.optionals enableGamma [ libXrandr ]
++ lib.optionals (enableDpms || enableGamma || enableScreen) [ libdrm wayland ];
postInstall = ''
mkdir -p $out/bin
+3 -3
View File
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
bash-completion
];
buildInputs = with lib; [
buildInputs = [
gsl
popt
upower
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
geoclue2
libconfig
libmodule
] ++ optional withGeoclue geoclue2
++ optional withUpower upower;
] ++ lib.optional withGeoclue geoclue2
++ lib.optional withUpower upower;
cmakeFlags = [
"-DSESSION_BUS_DIR=${placeholder "out"}/share/dbus-1/services"
@@ -58,7 +58,7 @@ in mkDerivation rec {
sha256 = "ig3+TdYv277D9GVnkRSX6nc6D6qruUOw/IQdQCK6FoA=";
};
nativeBuildInputs = with lib; [
nativeBuildInputs = [
autoreconfHook
curl
git
@@ -44,15 +44,15 @@ stdenv.mkDerivation rec {
++ lib.optionals withFFmpeg [ libao ffmpeg ]
++ lib.optional withZim zstd;
qmakeFlags = with lib; [
qmakeFlags = [
"goldendict.pro"
(optional withCC "CONFIG+=chinese_conversion_support")
(optional (!withCC) "CONFIG+=no_chinese_conversion_support")
(optional (!withEpwing) "CONFIG+=no_epwing_support")
(optional (!withExtraTiff) "CONFIG+=no_extra_tiff_handler")
(optional (!withFFmpeg) "CONFIG+=no_ffmpeg_player")
(optional (!withMultimedia)"CONFIG+=no_qtmultimedia_player")
(optional withZim "CONFIG+=zim_support")
(lib.optional withCC "CONFIG+=chinese_conversion_support")
(lib.optional (!withCC) "CONFIG+=no_chinese_conversion_support")
(lib.optional (!withEpwing) "CONFIG+=no_epwing_support")
(lib.optional (!withExtraTiff) "CONFIG+=no_extra_tiff_handler")
(lib.optional (!withFFmpeg) "CONFIG+=no_ffmpeg_player")
(lib.optional (!withMultimedia)"CONFIG+=no_qtmultimedia_player")
(lib.optional withZim "CONFIG+=zim_support")
];
postInstall = lib.optionalString stdenv.isDarwin ''
@@ -14,10 +14,7 @@
let
sweetExec = with lib;
m: "sweethome3d-"
+ removeSuffix "libraryeditor" (toLower m)
+ "-editor";
sweetExec = m: "sweethome3d-" + lib.removeSuffix "libraryeditor" (lib.toLower m) + "-editor";
mkEditorProject =
{ pname, module, version, src, license, description, desktopName }:
+1 -2
View File
@@ -40,8 +40,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
repo = "workrave";
owner = "rcaelers";
rev = with lib;
"v" + concatStringsSep "_" (splitVersion version);
rev = "v" + lib.concatStringsSep "_" (lib.splitVersion version);
sha256 = "sha256-U39zr8XGIDbyY480bla2yTaRQLP3wMrL8RLWjlTa5uY=";
};
@@ -21,16 +21,16 @@ buildGoModule rec {
subPackages = [ "." ];
ldflags = [ "-s" "-w" ] ++ (with lib;
mapAttrsToList (n: v: "-X github.com/sahib/brig/version.${n}=${v}")
(with versions; {
Major = major version;
Minor = minor version;
Patch = patch version;
ldflags = [ "-s" "-w" ] ++
lib.mapAttrsToList (n: v: "-X github.com/sahib/brig/version.${n}=${v}")
{
Major = lib.versions.major version;
Minor = lib.versions.minor version;
Patch = lib.versions.patch version;
ReleaseType = "";
BuildTime = "1970-01-01T00:00:00+0000";
GitRev = src.rev;
}));
};
postInstall = ''
installShellCompletion --cmd brig \
@@ -117,12 +117,12 @@ in stdenv.mkDerivation {
browserBinary = "${chromiumWV}/libexec/chromium/chromium";
libPath = lib.makeLibraryPath [ libva pipewire wayland gtk3 gtk4 libkrb5 ];
in with lib; ''
in ''
mkdir -p "$out/bin"
makeWrapper "${browserBinary}" "$out/bin/chromium" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--add-flags ${escapeShellArg commandLineArgs}
--add-flags ${lib.escapeShellArg commandLineArgs}
ed -v -s "$out/bin/chromium" << EOF
2i
@@ -16,11 +16,11 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-IqqWwLOOGm+PftnXpBZ6R/w3JGCXdZ72BZ7Pj56teZg=";
};
buildInputs = with lib;
buildInputs =
[ libev librsvg libpng libjpeg libtiff libavif openssl xz bzip2 zlib ]
++ optionals stdenv.isLinux [ gpm ]
++ optionals enableX11 [ libX11 libXau libXt ]
++ optionals enableDirectFB [ directfb ];
++ lib.optionals stdenv.isLinux [ gpm ]
++ lib.optionals enableX11 [ libX11 libXau libXt ]
++ lib.optionals enableDirectFB [ directfb ];
nativeBuildInputs = [ pkg-config bzip2 ];
@@ -51,30 +51,28 @@ let
outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
cmakeFlags = with lib; [
cmakeFlags = [
"-DENABLE_MAN=ON"
"-DENABLE_DOC=ON"
"-DENABLE_DOC_INCOMPLETE=ON"
"-DENABLE_TESTS=${if enableTests then "ON" else "OFF"}"
]
++ optionals stdenv.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib"]
++ lib.optionals stdenv.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib"]
++ map (p: "-D${p.cmakeFlag}=" + (if p.enabled then "ON" else "OFF")) plugins
;
nativeBuildInputs = [ cmake pkg-config asciidoctor ] ++ lib.optional enableTests cpputest;
buildInputs = with lib; [
ncurses openssl aspell cjson gnutls gettext zlib curl
libgcrypt ]
++ optionals stdenv.isDarwin [ libobjc libresolv ]
++ concatMap (p: p.buildInputs) enabledPlugins
buildInputs = [ ncurses openssl aspell cjson gnutls gettext zlib curl libgcrypt ]
++ lib.optionals stdenv.isDarwin [ libobjc libresolv ]
++ lib.concatMap (p: p.buildInputs) enabledPlugins
++ extraBuildInputs;
env.NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}"
# Fix '_res_9_init: undefined symbol' error
+ (lib.optionalString stdenv.isDarwin "-DBIND_8_COMPAT=1 -lresolv");
postInstall = with lib; ''
for p in ${concatMapStringsSep " " (p: p.name) enabledPlugins}; do
postInstall = ''
for p in ${lib.concatMapStringsSep " " (p: p.name) enabledPlugins}; do
from=$out/lib/weechat/plugins/$p.so
to=''${!p}/lib/weechat/plugins/$p.so
mkdir -p $(dirname $to)
@@ -19,10 +19,10 @@ stdenv.mkDerivation {
[ autoreconfHook ]
++ lib.optional withReadline readline;
enableParallelBuilding = true;
configureFlags = with lib;
optional (!withReadline) "--without-readline"
++ optional enableEmu "--enable-emu"
++ optional enableSpy "--enable-spy";
configureFlags =
lib.optional (!withReadline) "--without-readline"
++ lib.optional enableEmu "--enable-emu"
++ lib.optional enableSpy "--enable-spy";
meta = with lib; {
description = "Netgear switch (NSDP) administration tool";
@@ -5,9 +5,9 @@
, useGeoIP ? false # Require /var/lib/geoip-databases/GeoIP.dat
}:
let
wrapperPath = with lib; makeBinPath (
optional x11Support xclip ++
optional stdenv.isDarwin pbcopy
wrapperPath = lib.makeBinPath (
lib.optional x11Support xclip ++
lib.optional stdenv.isDarwin pbcopy
);
in
python3Packages.buildPythonApplication rec {
@@ -3,7 +3,7 @@ let
pname = "synology-drive-client";
baseUrl = "https://global.synologydownload.com/download/Utility/SynologyDriveClient";
version = "3.5.0-16084";
buildNumber = with lib; last (splitString "-" version);
buildNumber = lib.last (lib.splitString "-" version);
meta = with lib; {
description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server";
homepage = "https://www.synology.com/en-global/dsm/feature/drive";
@@ -24,19 +24,18 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config file ];
buildInputs = with lib;
[ gtk2 fftw ] ++
optionals openglSupport [ gnome2.gtkglext libGL ] ++
optional openexrSupport openexr ++
optional libXmuSupport xorg.libXmu ++
optional fitsSupport cfitsio ++
optional libpngSupport libpng ++
optional libxsltSupport libxslt ++
optional libxml2Support libxml2 ++
optional libwebpSupport libwebp ++
optional zlibSupport zlib ++
optional libuniqueSupport libunique ++
optional libzipSupport libzip;
buildInputs = [ gtk2 fftw ] ++
lib.optionals openglSupport [ gnome2.gtkglext libGL ] ++
lib.optional openexrSupport openexr ++
lib.optional libXmuSupport xorg.libXmu ++
lib.optional fitsSupport cfitsio ++
lib.optional libpngSupport libpng ++
lib.optional libxsltSupport libxslt ++
lib.optional libxml2Support libxml2 ++
lib.optional libwebpSupport libwebp ++
lib.optional zlibSupport zlib ++
lib.optional libuniqueSupport libunique ++
lib.optional libzipSupport libzip;
# This patch corrects problems with python support, but should apply cleanly
# regardless of whether python support is enabled, and have no effects if
@@ -15,13 +15,12 @@
] }:
let
shared_meta = lib:
with lib; {
homepage = "https://www.picotech.com/downloads/linux";
maintainers = with maintainers; [ expipiplus1 wirew0rm ] ++ teams.lumiguide.members;
platforms = [ "x86_64-linux" ];
license = licenses.unfree;
};
shared_meta = lib: {
homepage = "https://www.picotech.com/downloads/linux";
maintainers = with lib.maintainers; [ expipiplus1 wirew0rm ] ++ lib.teams.lumiguide.members;
platforms = [ "x86_64-linux" ];
license = lib.licenses.unfree;
};
libpicoipp = callPackage ({ stdenv, lib, fetchurl, autoPatchelfHook, dpkg }:
stdenv.mkDerivation rec {
@@ -39,11 +38,10 @@ let
install -Dt $out/usr/share/doc/libpicoipp usr/share/doc/libpicoipp/copyright
runHook postInstall
'';
meta = with lib;
shared_meta lib // {
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
description = "library for picotech oscilloscope software";
};
meta = shared_meta lib // {
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
description = "library for picotech oscilloscope software";
};
}) { };
# If we don't have a platform available, put a dummy version here, so at
+27 -28
View File
@@ -15,10 +15,9 @@
, csdp ? null
, version, coq-version ? null
}@args:
let lib' = lib; in
let lib = import ../../../../build-support/coq/extra-lib.nix {lib = lib';}; in
with builtins; with lib;
let
lib = import ../../../../build-support/coq/extra-lib.nix { inherit (args) lib; };
release = {
"8.5pl1".sha256 = "1976ki5xjg2r907xj9p7gs0kpdinywbwcqlgxqw75dgp0hkgi00n";
"8.5pl2".sha256 = "109rrcrx7mz0fj7725kjjghfg5ydwb24hjsa5hspa27b4caah7rh";
@@ -67,29 +66,29 @@ let
{ inherit release releaseRev; location = { owner = "coq"; repo = "coq";}; }
args.version;
version = fetched.version;
coq-version = args.coq-version or (if version != "dev" then versions.majorMinor version else "dev");
coqAtLeast = v: coq-version == "dev" || versionAtLeast coq-version v;
coq-version = args.coq-version or (if version != "dev" then lib.versions.majorMinor version else "dev");
coqAtLeast = v: coq-version == "dev" || lib.versionAtLeast coq-version v;
buildIde = args.buildIde or (!coqAtLeast "8.14");
ideFlags = optionalString (buildIde && !coqAtLeast "8.10")
ideFlags = lib.optionalString (buildIde && !coqAtLeast "8.10")
"-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt";
csdpPatch = lib.optionalString (csdp != null) ''
substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp"
substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true"
'';
ocamlPackages = if customOCamlPackages != null then customOCamlPackages
else with versions; switch coq-version [
{ case = range "8.16" "8.18"; out = ocamlPackages_4_14; }
{ case = range "8.14" "8.15"; out = ocamlPackages_4_12; }
{ case = range "8.11" "8.13"; out = ocamlPackages_4_10; }
{ case = range "8.7" "8.10"; out = ocamlPackages_4_09; }
{ case = range "8.5" "8.6"; out = ocamlPackages_4_05; }
else lib.switch coq-version [
{ case = lib.versions.range "8.16" "8.18"; out = ocamlPackages_4_14; }
{ case = lib.versions.range "8.14" "8.15"; out = ocamlPackages_4_12; }
{ case = lib.versions.range "8.11" "8.13"; out = ocamlPackages_4_10; }
{ case = lib.versions.range "8.7" "8.10"; out = ocamlPackages_4_09; }
{ case = lib.versions.range "8.5" "8.6"; out = ocamlPackages_4_05; }
] ocamlPackages_4_14;
ocamlNativeBuildInputs = with ocamlPackages; [ ocaml findlib ]
++ optional (coqAtLeast "8.14") dune_3;
ocamlNativeBuildInputs = [ ocamlPackages.ocaml ocamlPackages.findlib ]
++ lib.optional (coqAtLeast "8.14") ocamlPackages.dune_3;
ocamlPropagatedBuildInputs = [ ]
++ optional (!coqAtLeast "8.10") ocamlPackages.camlp5
++ optional (!coqAtLeast "8.13") ocamlPackages.num
++ optional (coqAtLeast "8.13") ocamlPackages.zarith;
++ lib.optional (!coqAtLeast "8.10") ocamlPackages.camlp5
++ lib.optional (!coqAtLeast "8.13") ocamlPackages.num
++ lib.optional (coqAtLeast "8.13") ocamlPackages.zarith;
self = stdenv.mkDerivation {
pname = "coq";
inherit (fetched) version src;
@@ -111,7 +110,7 @@ self = stdenv.mkDerivation {
(coq-prog-args))
(mapc (lambda (arg)
(when (file-directory-p (concat arg "/lib/coq/${coq-version}/user-contrib"))
(setenv "COQPATH" (concat (getenv "COQPATH") ":" arg "/lib/coq/${coq-version}/user-contrib")))) '(${concatStringsSep " " (map (pkg: "\"${pkg}\"") pkgs)}))
(setenv "COQPATH" (concat (getenv "COQPATH") ":" arg "/lib/coq/${coq-version}/user-contrib")))) '(${lib.concatStringsSep " " (map (pkg: "\"${pkg}\"") pkgs)}))
; TODO Abstract this pattern from here and nixBufferBuilders.withPackages!
(defvar nixpkgs--coq-buffer-count 0)
(when (eq nixpkgs--coq-buffer-count 0)
@@ -148,11 +147,11 @@ self = stdenv.mkDerivation {
nativeBuildInputs = [ pkg-config ]
++ ocamlNativeBuildInputs
++ optional buildIde copyDesktopItems
++ optional (buildIde && coqAtLeast "8.10") wrapGAppsHook3
++ optional (!coqAtLeast "8.6") gnumake42;
++ lib.optional buildIde copyDesktopItems
++ lib.optional (buildIde && coqAtLeast "8.10") wrapGAppsHook3
++ lib.optional (!coqAtLeast "8.6") gnumake42;
buildInputs = [ ncurses ]
++ optionals buildIde
++ lib.optionals buildIde
(if coqAtLeast "8.10"
then [ ocamlPackages.lablgtk3-sourceview3 glib adwaita-icon-theme ]
else [ ocamlPackages.lablgtk ])
@@ -188,12 +187,12 @@ self = stdenv.mkDerivation {
prefixKey = "-prefix ";
buildFlags = [ "revision" "coq" ] ++ optional buildIde "coqide" ++ optional (!coqAtLeast "8.14") "bin/votour";
buildFlags = [ "revision" "coq" ] ++ lib.optional buildIde "coqide" ++ lib.optional (!coqAtLeast "8.14") "bin/votour";
enableParallelBuilding = true;
createFindlibDestdir = true;
desktopItems = optional buildIde (makeDesktopItem {
desktopItems = lib.optional buildIde (makeDesktopItem {
name = "coqide";
exec = "coqide";
icon = "coq";
@@ -202,18 +201,18 @@ self = stdenv.mkDerivation {
categories = [ "Development" "Science" "Math" "IDE" "GTK" ];
});
postInstall = let suffix = optionalString (coqAtLeast "8.14") "-core"; in optionalString (!coqAtLeast "8.17") ''
postInstall = let suffix = lib.optionalString (coqAtLeast "8.14") "-core"; in lib.optionalString (!coqAtLeast "8.17") ''
cp bin/votour $out/bin/
'' + ''
ln -s $out/lib/coq${suffix} $OCAMLFIND_DESTDIR/coq${suffix}
'' + optionalString (coqAtLeast "8.14") ''
'' + lib.optionalString (coqAtLeast "8.14") ''
ln -s $out/lib/coqide-server $OCAMLFIND_DESTDIR/coqide-server
'' + optionalString buildIde ''
'' + lib.optionalString buildIde ''
mkdir -p "$out/share/pixmaps"
ln -s "$out/share/coq/coq.png" "$out/share/pixmaps/"
'';
meta = {
meta = with lib; {
description = "Coq proof assistant";
longDescription = ''
Coq is a formal proof management system. It provides a formal language
@@ -4,7 +4,7 @@
, majorVersion ? null
}:
let allVersions = with lib; flip map
let allVersions = lib.flip map
# N.B. Versions in this list should be ordered from newest to oldest.
[
{
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
cp -a contrib/git-* $out/bin/
'';
wrapperPath = with lib; makeBinPath ([
wrapperPath = lib.makeBinPath ([
coreutils
git
gnugrep
+40 -45
View File
@@ -86,38 +86,37 @@ stdenv.mkDerivation rec {
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ pkg-config yasm ];
buildInputs = with lib;
[ freetype ffmpeg_6 ]
++ optional aalibSupport aalib
++ optional fontconfigSupport fontconfig
++ optional fribidiSupport fribidi
++ optionals x11Support [ libX11 libXext libGLU libGL ]
++ optional alsaSupport alsa-lib
++ optional xvSupport libXv
++ optional theoraSupport libtheora
++ optional cacaSupport libcaca
++ optional xineramaSupport libXinerama
++ optional dvdnavSupport libdvdnav
++ optional dvdreadSupport libdvdread
++ optional bluraySupport libbluray
++ optional cddaSupport cdparanoia
++ optional jackaudioSupport libjack2
++ optionals amrSupport [ amrnb amrwb ]
++ optional x264Support x264
++ optional pulseSupport libpulseaudio
++ optional screenSaverSupport libXScrnSaver
++ optional lameSupport lame
++ optional vdpauSupport libvdpau
++ optional speexSupport speex
++ optional libpngSupport libpng
++ optional libjpegSupport libjpeg
++ optional bs2bSupport libbs2b
++ optional v4lSupport libv4l
++ (with darwin.apple_sdk.frameworks; optionals stdenv.isDarwin [ Cocoa OpenGL ])
buildInputs = [ freetype ffmpeg_6 ]
++ lib.optional aalibSupport aalib
++ lib.optional fontconfigSupport fontconfig
++ lib.optional fribidiSupport fribidi
++ lib.optionals x11Support [ libX11 libXext libGLU libGL ]
++ lib.optional alsaSupport alsa-lib
++ lib.optional xvSupport libXv
++ lib.optional theoraSupport libtheora
++ lib.optional cacaSupport libcaca
++ lib.optional xineramaSupport libXinerama
++ lib.optional dvdnavSupport libdvdnav
++ lib.optional dvdreadSupport libdvdread
++ lib.optional bluraySupport libbluray
++ lib.optional cddaSupport cdparanoia
++ lib.optional jackaudioSupport libjack2
++ lib.optionals amrSupport [ amrnb amrwb ]
++ lib.optional x264Support x264
++ lib.optional pulseSupport libpulseaudio
++ lib.optional screenSaverSupport libXScrnSaver
++ lib.optional lameSupport lame
++ lib.optional vdpauSupport libvdpau
++ lib.optional speexSupport speex
++ lib.optional libpngSupport libpng
++ lib.optional libjpegSupport libjpeg
++ lib.optional bs2bSupport libbs2b
++ lib.optional v4lSupport libv4l
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa darwin.apple_sdk.frameworks.OpenGL ]
;
configurePlatforms = [ ];
configureFlags = with lib; [
configureFlags = [
"--enable-freetype"
(if fontconfigSupport then "--enable-fontconfig" else "--disable-fontconfig")
(if x11Support then "--enable-x11 --enable-gl" else "--disable-x11 --disable-gl")
@@ -143,18 +142,14 @@ stdenv.mkDerivation rec {
"--disable-ossaudio"
"--disable-ffmpeg_a"
"--yasm=${buildPackages.yasm}/bin/yasm"
# Note, the `target` vs `host` confusion is intensional.
# Note, the `target` vs `host` confusion is intentional.
"--target=${stdenv.hostPlatform.config}"
] ++ optional
(useUnfreeCodecs && codecs != null && !crossBuild)
"--codecsdir=${codecs}"
++ optional
(stdenv.hostPlatform.isx86 && !crossBuild)
"--enable-runtime-cpudetection"
++ optional fribidiSupport "--enable-fribidi"
++ optional (stdenv.isLinux && !stdenv.isAarch64) "--enable-vidix"
++ optional stdenv.isLinux "--enable-fbdev"
++ optionals (crossBuild) [
] ++ lib.optional (useUnfreeCodecs && codecs != null && !crossBuild) "--codecsdir=${codecs}"
++ lib.optional (stdenv.hostPlatform.isx86 && !crossBuild) "--enable-runtime-cpudetection"
++ lib.optional fribidiSupport "--enable-fribidi"
++ lib.optional (stdenv.isLinux && !stdenv.isAarch64) "--enable-vidix"
++ lib.optional stdenv.isLinux "--enable-fbdev"
++ lib.optionals (crossBuild) [
"--enable-cross-compile"
"--disable-vidix-pcidb"
"--with-vidix-drivers=no"
@@ -179,11 +174,11 @@ stdenv.mkDerivation rec {
# Fixes compilation with newer versions of clang that make these warnings errors by default.
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-int-conversion -Wno-incompatible-function-pointer-types";
NIX_LDFLAGS = with lib; toString (
optional fontconfigSupport "-lfontconfig"
++ optional fribidiSupport "-lfribidi"
++ optionals x11Support [ "-lX11" "-lXext" ]
++ optional x264Support "-lx264"
NIX_LDFLAGS = toString (
lib.optional fontconfigSupport "-lfontconfig"
++ lib.optional fribidiSupport "-lfribidi"
++ lib.optionals x11Support [ "-lX11" "-lXext" ]
++ lib.optional x264Support "-lx264"
++ [ "-lfreetype" ]
);
+30 -32
View File
@@ -41,40 +41,38 @@ let
}
# can't check whether `fullScriptPath` is a directory, in pure-evaluation mode
(
with lib;
optionalAttrs
(
!any (s: hasSuffix s drv.passthru.scriptName) [
".js"
".lua"
".so"
]
)
{
single-main-in-script-dir =
runCommand "mpvScripts.${name}.passthru.tests.single-main-in-script-dir"
{
meta.maintainers = with lib.maintainers; [ nicoo ];
preferLocalBuild = true;
(lib.optionalAttrs
(
!lib.any (s: lib.hasSuffix s drv.passthru.scriptName) [
".js"
".lua"
".so"
]
)
{
single-main-in-script-dir =
runCommand "mpvScripts.${name}.passthru.tests.single-main-in-script-dir"
{
meta.maintainers = with lib.maintainers; [ nicoo ];
preferLocalBuild = true;
}
''
die() {
echo "$@" >&2
exit 1
}
''
die() {
echo "$@" >&2
exit 1
}
cd "${drv}/${scriptPath}" # so the glob expands to filenames only
mains=( main.* )
if [ "''${#mains[*]}" -eq 1 ]; then
touch $out
elif [ "''${#mains[*]}" -eq 0 ]; then
die "'${scriptPath}' contains no 'main.*' file"
else
die "'${scriptPath}' contains multiple 'main.*' files:" "''${mains[*]}"
fi
'';
}
cd "${drv}/${scriptPath}" # so the glob expands to filenames only
mains=( main.* )
if [ "''${#mains[*]}" -eq 1 ]; then
touch $out
elif [ "''${#mains[*]}" -eq 0 ]; then
die "'${scriptPath}' contains no 'main.*' file"
else
die "'${scriptPath}' contains multiple 'main.*' files:" "''${mains[*]}"
fi
'';
}
)
];
};
@@ -8,11 +8,11 @@ symlinkJoin {
nativeBuildInputs = [ makeWrapper ];
paths = [ obs-studio ] ++ plugins;
postBuild = with lib;
postBuild =
let
# Some plugins needs extra environment, see obs-gstreamer for an example.
pluginArguments =
lists.concatMap (plugin: plugin.obsWrapperArguments or []) plugins;
lib.lists.concatMap (plugin: plugin.obsWrapperArguments or []) plugins;
pluginsJoined = symlinkJoin {
name = "obs-studio-plugins";
@@ -24,9 +24,9 @@ symlinkJoin {
"$out/bin/obs"
''--set OBS_PLUGINS_PATH "${pluginsJoined}/lib/obs-plugins"''
''--set OBS_PLUGINS_DATA_PATH "${pluginsJoined}/share/obs/obs-plugins"''
] ++ lists.unique pluginArguments;
] ++ lib.lists.unique pluginArguments;
in ''
${concatStringsSep " " wrapCommandLine}
${lib.concatStringsSep " " wrapCommandLine}
# Remove unused obs-plugins dir to not cause confusion
rm -r $out/share/obs/obs-plugins
@@ -326,26 +326,23 @@ in
''}
'';
meta =
with lib;
{
description = "Application containers for linux" + extraDescription;
longDescription = ''
Singularity (the upstream) renamed themselves to Apptainer
to distinguish themselves from a fork made by Sylabs Inc.. See
meta = {
description = "Application containers for linux" + extraDescription;
longDescription = ''
Singularity (the upstream) renamed themselves to Apptainer
to distinguish themselves from a fork made by Sylabs Inc.. See
https://sylabs.io/2021/05/singularity-community-edition
https://apptainer.org/news/community-announcement-20211130
'';
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = with maintainers; [
jbedo
ShamrockLee
];
mainProgram = projectName;
}
// extraMeta;
https://sylabs.io/2021/05/singularity-community-edition
https://apptainer.org/news/community-announcement-20211130
'';
license = lib.licenses.bsd3;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
jbedo
ShamrockLee
];
mainProgram = projectName;
} // extraMeta;
}).overrideAttrs
(
finalAttrs: prevAttrs: {
+7 -7
View File
@@ -10,15 +10,15 @@
assert sshSupport -> openssh != null;
let
repoName = with lib;
repoName =
let
fst = head;
snd = l: head (tail l);
trd = l: head (tail (tail l));
fst = lib.head;
snd = l: lib.head (lib.tail l);
trd = l: lib.head (lib.tail (lib.tail l));
path_ =
(p: if head p == "" then tail p else p) # ~ drop final slash if any
(reverseList (splitString "/" url));
path = [ (removeSuffix "/" (head path_)) ] ++ (tail path_);
(p: if lib.head p == "" then lib.tail p else p) # ~ drop final slash if any
(lib.reverseList (lib.splitString "/" url));
path = [ (lib.removeSuffix "/" (lib.head path_)) ] ++ (lib.tail path_);
in
# ../repo/trunk -> repo
if fst path == "trunk" then snd path
+5 -5
View File
@@ -3,16 +3,16 @@ lib: prev:
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations = alias: with lib;
removeRecurseForDerivations = alias:
if alias.recurseForDerivations or false then
removeAttrs alias ["recurseForDerivations"]
lib.removeAttrs alias ["recurseForDerivations"]
else alias;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: with lib;
if isDerivation alias then
dontDistribute alias
removeDistribute = alias:
if lib.isDerivation alias then
lib.dontDistribute alias
else alias;
# Make sure that we are not shadowing something from
+11 -13
View File
@@ -32,19 +32,17 @@ stdenv.mkDerivation rec {
install -Dm755 btrfs-auto-snapshot $out/bin/btrfs-auto-snapshot
'';
wrapperPath =
with lib;
makeBinPath (
[
coreutils
getopt
gnugrep
gnused
gawk
btrfs-progs
]
++ optional syslogSupport util-linux
);
wrapperPath = lib.makeBinPath (
[
coreutils
getopt
gnugrep
gnused
gawk
btrfs-progs
]
++ lib.optional syslogSupport util-linux
);
postFixup = ''
wrapProgram $out/bin/btrfs-auto-snapshot \
@@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
- Aimo
'';
maintainers = with lib.maintainers; [ daniel-fahey ];
platforms = with lib; [ "i686-linux" "x86_64-linux" ];
platforms = [ "i686-linux" "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})
+7 -7
View File
@@ -46,13 +46,13 @@ stdenv.mkDerivation rec {
libdovi
];
mesonFlags = with lib; [
(mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml")
(mesonBool "demos" false) # Don't build and install the demo programs
(mesonEnable "d3d11" false) # Disable the Direct3D 11 based renderer
(mesonEnable "glslang" false) # rely on shaderc for GLSL compilation instead
] ++ optionals stdenv.isDarwin [
(mesonEnable "unwind" false) # libplacebo doesnt build with `darwin.libunwind`
mesonFlags = [
(lib.mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml")
(lib.mesonBool "demos" false) # Don't build and install the demo programs
(lib.mesonEnable "d3d11" false) # Disable the Direct3D 11 based renderer
(lib.mesonEnable "glslang" false) # rely on shaderc for GLSL compilation instead
] ++ lib.optionals stdenv.isDarwin [
(lib.mesonEnable "unwind" false) # libplacebo doesnt build with `darwin.libunwind`
];
postPatch = ''
@@ -187,7 +187,7 @@ rustPlatform.buildRustPackage {
unfreeRedistributable
];
maintainers = with lib.maintainers; [ getchoo ];
platforms = with lib; platforms.linux ++ platforms.darwin;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
# this builds on architectures like aarch64, but the launcher itself does not support them yet
broken = !stdenv.isx86_64;
};
+4 -4
View File
@@ -24,10 +24,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
meta = {
description = "Cursor manager for macOS built using private, nonintrusive CoreGraphics APIs";
homepage = "https://github.com/alexzielenski/Mousecape";
license = with lib; licenses.free;
maintainers = with lib; with maintainers; [ donteatoreo ];
platforms = with lib; platforms.darwin;
sourceProvenance = with lib; with sourceTypes; [ binaryNativeCode ];
license = lib.licenses.free;
maintainers = with lib.maintainers; [ donteatoreo ];
platforms = lib.platforms.darwin;
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
})
+4 -4
View File
@@ -26,10 +26,10 @@ stdenv.mkDerivation rec {
buildInputs = [ jre adwaita-icon-theme gtk3 ];
preFixup = with lib; ''
preFixup = ''
gappsWrapperArgs+=( \
--prefix PATH : ${makeBinPath [ jre which ]} \
--prefix LD_LIBRARY_PATH : ${makeLibraryPath [
--prefix PATH : ${lib.makeBinPath [ jre which ]} \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
gtk3
glib
libXtst
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
desktopItem = with lib; makeDesktopItem rec {
desktopItem = makeDesktopItem rec {
name = "smartgit";
exec = "smartgit";
comment = meta.description;
+3 -5
View File
@@ -49,14 +49,12 @@ stdenv.mkDerivation rec {
"CCOMP=${stdenv.cc.targetPrefix}cc"
];
setupHook = with lib;
setupHook =
let
hookFiles =
[ ./setup-hook.sh ]
++ optional withContrib ./setup-contrib-hook.sh;
hookFiles = [ ./setup-hook.sh ] ++ lib.optional withContrib ./setup-contrib-hook.sh;
in
builtins.toFile "setupHook.sh"
(concatMapStringsSep "\n" builtins.readFile hookFiles);
(lib.concatMapStringsSep "\n" builtins.readFile hookFiles);
postInstall = postInstallContrib + postInstallEmacs;
@@ -161,9 +161,7 @@ mkCommon type rec {
updateScript =
let
majorVersion =
with lib;
concatStringsSep "." (take 2 (splitVersion version));
majorVersion = lib.concatStringsSep "." (lib.take 2 (lib.splitVersion version));
in
writeShellScript "update-dotnet-${majorVersion}" ''
pushd pkgs/development/compilers/dotnet
@@ -1,8 +1,9 @@
{ pkgs, lib }:
self: pkgs.haskell.packages.ghc810.override {
overrides = self: super: with pkgs.haskell.lib.compose; with lib;
overrides = self: super:
let
inherit (pkgs.haskell.lib.compose) justStaticExecutables overrideCabal doJailbreak;
elmPkgs = rec {
elmi-to-json = justStaticExecutables (overrideCabal
(drv: {
@@ -22,8 +23,8 @@ self: pkgs.haskell.packages.ghc810.override {
description = "Tool that reads .elmi files (Elm interface file) generated by the elm compiler";
homepage = "https://github.com/stoeffel/elmi-to-json";
license = licenses.bsd3;
maintainers = [ maintainers.turbomack ];
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.turbomack ];
})
(self.callPackage ./elmi-to-json { }));
@@ -55,8 +56,8 @@ self: pkgs.haskell.packages.ghc810.override {
description = "Instrument Elm code as a preprocessing step for elm-coverage";
homepage = "https://github.com/zwilias/elm-instrument";
license = licenses.bsd3;
maintainers = [ maintainers.turbomack ];
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.turbomack ];
})
(self.callPackage ./elm-instrument { }));
};
@@ -1,8 +1,9 @@
{ pkgs, lib }:
self: pkgs.haskell.packages.ghc92.override {
overrides = self: super: with pkgs.haskell.lib.compose; with lib;
overrides = self: super:
let
inherit (pkgs.haskell.lib.compose) justStaticExecutables overrideCabal doJailbreak;
elmPkgs = rec {
/*
The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo:
@@ -23,8 +24,8 @@ self: pkgs.haskell.packages.ghc92.override {
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; [ avh4 turbomack ];
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ avh4 turbomack ];
})
(self.callPackage ./elm-format/elm-format.nix { }));
};
@@ -1,8 +1,9 @@
{ pkgs, lib, makeWrapper, nodejs, fetchElmDeps }:
self: pkgs.haskell.packages.ghc96.override {
overrides = self: super: with pkgs.haskell.lib.compose; with lib;
overrides = self: super:
let
inherit (pkgs.haskell.lib.compose) overrideCabal;
elmPkgs = rec {
elm = overrideCabal
(drv: {
@@ -21,8 +22,8 @@ self: pkgs.haskell.packages.ghc96.override {
description = "Delightful language for reliable webapps";
homepage = "https://elm-lang.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ domenkozar turbomack ];
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ domenkozar turbomack ];
})
(self.callPackage ./elm { });
@@ -46,8 +46,7 @@ let
inherit (lib) optional optionals optionalString;
# Used when creating a version-suffixed symlink of libLLVM.dylib
shortVersion = with lib;
concatStringsSep "." (take 1 (splitString "." release_version));
shortVersion = lib.concatStringsSep "." (lib.take 1 (lib.splitString "." release_version));
# Ordinarily we would just the `doCheck` and `checkDeps` functionality
# `mkDerivation` gives us to manage our test dependencies (instead of breaking
@@ -71,7 +70,7 @@ let
# platform here; the splicing that would ordinarily take care of this for
# us does not seem to work once we use `withPackages`.
let
checkDeps = ps: with ps; [ psutil ];
checkDeps = ps: [ ps.psutil ];
in pkgsBuildBuild.targetPackages.python3.withPackages checkDeps
else python3;
@@ -323,7 +322,7 @@ stdenv.mkDerivation (rec {
cmakeBuildType = if debugVersion then "Debug" else "Release";
cmakeFlags = with stdenv; let
cmakeFlags = let
# These flags influence llvm-config's BuildVariables.inc in addition to the
# general build. We need to make sure these are also passed via
# CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
@@ -367,7 +366,7 @@ stdenv.mkDerivation (rec {
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
] ++ optionals (enableGoldPlugin) [
"-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
] ++ optionals isDarwin [
] ++ optionals stdenv.isDarwin [
"-DLLVM_ENABLE_LIBCXX=ON"
"-DCAN_TARGET_i386=false"
] ++ optionals ((stdenv.hostPlatform != stdenv.buildPlatform) && !(stdenv.buildPlatform.canExecute stdenv.hostPlatform)) [
+1 -1
View File
@@ -7,7 +7,7 @@ then throw "mezzo is not available for OCaml ${ocaml.version}"
else
let
check-ocaml-version = with lib; versionAtLeast (getVersion ocaml);
check-ocaml-version = lib.versionAtLeast (lib.getVersion ocaml);
in
assert check-ocaml-version "4";
+10 -10
View File
@@ -159,17 +159,17 @@ stdenv.mkDerivation (self: {
export HOME=$PWD/test-home
'';
enableFeatures = with lib;
assert assertMsg (self.markRegionGC -> self.threadSupport) "SBCL mark region GC requires thread support";
optional self.threadSupport "sb-thread" ++
optional self.linkableRuntime "sb-linkable-runtime" ++
optional self.coreCompression "sb-core-compression" ++
optional stdenv.isAarch32 "arm" ++
optional self.markRegionGC "mark-region-gc";
enableFeatures =
assert lib.assertMsg (self.markRegionGC -> self.threadSupport) "SBCL mark region GC requires thread support";
lib.optional self.threadSupport "sb-thread" ++
lib.optional self.linkableRuntime "sb-linkable-runtime" ++
lib.optional self.coreCompression "sb-core-compression" ++
lib.optional stdenv.isAarch32 "arm" ++
lib.optional self.markRegionGC "mark-region-gc";
disableFeatures = with lib;
optional (!self.threadSupport) "sb-thread" ++
optionals self.disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
disableFeatures =
lib.optional (!self.threadSupport) "sb-thread" ++
lib.optionals self.disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
buildArgs = [
"--prefix=$out"
@@ -5,18 +5,18 @@ let recent = lib.versions.isGe "8.7" coq.coq-version || coq.coq-version == "dev"
pname = "QuickChick";
owner = "QuickChick";
inherit version;
defaultVersion = with lib; with versions; lib.switch [ coq.coq-version ssreflect.version ] [
{ cases = [ (range "8.15" "8.19") pred.true ]; out = "2.0.2"; }
{ cases = [ (range "8.13" "8.17") pred.true ]; out = "1.6.5"; }
{ cases = [ "8.13" pred.true ]; out = "1.5.0"; }
{ cases = [ "8.12" pred.true ]; out = "1.4.0"; }
{ cases = [ "8.11" pred.true ]; out = "1.3.2"; }
{ cases = [ "8.10" pred.true ]; out = "1.2.1"; }
{ cases = [ "8.9" pred.true ]; out = "1.1.0"; }
{ cases = [ "8.8" pred.true ]; out = "20190311"; }
{ cases = [ "8.7" isLe "1.8" ]; out = "1.0.0"; }
{ cases = [ "8.6" pred.true ]; out = "20171102"; }
{ cases = [ "8.5" pred.true ]; out = "20170512"; }
defaultVersion = lib.switch [ coq.coq-version ssreflect.version ] [
{ cases = [ (lib.versions.range "8.15" "8.19") lib.pred.true ]; out = "2.0.2"; }
{ cases = [ (lib.versions.range "8.13" "8.17") lib.pred.true ]; out = "1.6.5"; }
{ cases = [ "8.13" lib.pred.true ]; out = "1.5.0"; }
{ cases = [ "8.12" lib.pred.true ]; out = "1.4.0"; }
{ cases = [ "8.11" lib.pred.true ]; out = "1.3.2"; }
{ cases = [ "8.10" lib.pred.true ]; out = "1.2.1"; }
{ cases = [ "8.9" lib.pred.true ]; out = "1.1.0"; }
{ cases = [ "8.8" lib.pred.true ]; out = "20190311"; }
{ cases = [ "8.7" lib.versions.isLe "1.8" ]; out = "1.0.0"; }
{ cases = [ "8.6" lib.pred.true ]; out = "20171102"; }
{ cases = [ "8.5" lib.pred.true ]; out = "20170512"; }
] null;
release."2.0.2".sha256 = "sha256-xxKkwDRjB8nUiXNhein1Ppn0DP5FZ13J90xUPAnQBbs=";
release."2.0.1".sha256 = "sha256-gJc+9Or6tbqE00920Il4pnEvokRoiADX6CxP/Q0QZaY=";
@@ -7,10 +7,10 @@ mkCoqDerivation {
owner = "math-comp";
inherit version;
defaultVersion = with lib; with versions; lib.switch [ coq.version mathcomp.version ] [
{ cases = [ (range "8.10" "8.16") (range "1.12.0" "1.15.0") ]; out = "1.2.1"; }
{ cases = [ (range "8.10" "8.15") (range "1.12.0" "1.14.0") ]; out = "1.2.0"; }
{ cases = [ (range "8.10" "8.14") (range "1.11.0" "1.12.0") ]; out = "1.1.2"; }
defaultVersion = lib.switch [ coq.version mathcomp.version ] [
{ cases = [ (lib.versions.range "8.10" "8.16") (lib.versions.range "1.12.0" "1.15.0") ]; out = "1.2.1"; }
{ cases = [ (lib.versions.range "8.10" "8.15") (lib.versions.range "1.12.0" "1.14.0") ]; out = "1.2.0"; }
{ cases = [ (lib.versions.range "8.10" "8.14") (lib.versions.range "1.11.0" "1.12.0") ]; out = "1.1.2"; }
] null;
release."1.2.1".sha256 = "sha256-M1q6WIPBsayHde2hwlTxylH169hcTs3OuFsEkM0e3yc=";
+12 -13
View File
@@ -15,23 +15,22 @@ let
};
in
(with lib; mkCoqDerivation {
(mkCoqDerivation {
pname = "serapi";
repo = "coq-serapi";
inherit version release;
defaultVersion = with versions;
lib.switch coq.version [
{ case = isEq "8.19"; out = "8.19.0+0.19.3"; }
{ case = isEq "8.18"; out = "8.18.0+0.18.3"; }
{ case = isEq "8.17"; out = "8.17.0+0.17.3"; }
{ case = isEq "8.16"; out = "8.16.0+0.16.3"; }
{ case = isEq "8.15"; out = "8.15.0+0.15.0"; }
{ case = isEq "8.14"; out = "8.14.0+0.14.0"; }
{ case = isEq "8.13"; out = "8.13.0+0.13.0"; }
{ case = isEq "8.12"; out = "8.12.0+0.12.1"; }
{ case = isEq "8.11"; out = "8.11.0+0.11.1"; }
{ case = isEq "8.10"; out = "8.10.0+0.7.2"; }
defaultVersion = lib.switch coq.version [
{ case = lib.versions.isEq "8.19"; out = "8.19.0+0.19.3"; }
{ case = lib.versions.isEq "8.18"; out = "8.18.0+0.18.3"; }
{ case = lib.versions.isEq "8.17"; out = "8.17.0+0.17.3"; }
{ case = lib.versions.isEq "8.16"; out = "8.16.0+0.16.3"; }
{ case = lib.versions.isEq "8.15"; out = "8.15.0+0.15.0"; }
{ case = lib.versions.isEq "8.14"; out = "8.14.0+0.14.0"; }
{ case = lib.versions.isEq "8.13"; out = "8.13.0+0.13.0"; }
{ case = lib.versions.isEq "8.12"; out = "8.12.0+0.12.1"; }
{ case = lib.versions.isEq "8.11"; out = "8.11.0+0.11.1"; }
{ case = lib.versions.isEq "8.10"; out = "8.10.0+0.7.2"; }
] null;
useDune = true;
@@ -345,14 +345,14 @@ rec {
, ignorePackages ? []
} : drv :
overrideCabal (_drv: {
postBuild = with lib;
let args = concatStringsSep " " (
optional ignoreEmptyImports "--ignore-empty-imports" ++
optional ignoreMainModule "--ignore-main-module" ++
postBuild =
let args = lib.concatStringsSep " " (
lib.optional ignoreEmptyImports "--ignore-empty-imports" ++
lib.optional ignoreMainModule "--ignore-main-module" ++
map (pkg: "--ignore-package ${pkg}") ignorePackages
);
in "${pkgs.haskellPackages.packunused}/bin/packunused" +
optionalString (args != "") " ${args}";
lib.optionalString (args != "") " ${args}";
}) (appendConfigureFlag "--ghc-option=-ddump-minimal-imports" drv);
buildStackProject = pkgs.callPackage ../generic-stack-builder.nix { };
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
buildInputs = [ readline gettext ncurses ];
env.NIX_CFLAGS_COMPILE = with lib; toString ((optionals stdenv.cc.isGNU [
env.NIX_CFLAGS_COMPILE = toString ((lib.optionals stdenv.cc.isGNU [
# Needed with GCC 8
"-Wno-error=int-in-bool-context"
"-Wno-error=class-memaccess"
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
"-Wno-error=nonnull"
"-Wno-error=stringop-overflow"
"-Wno-error=use-after-free"
]) ++ optional stdenv.cc.isClang "-Wno-error=null-dereference");
]) ++ lib.optional stdenv.cc.isClang "-Wno-error=null-dereference");
patchPhase = lib.optionalString stdenv.isDarwin ''
substituteInPlace src/LApack.cc --replace "malloc.h" "malloc/malloc.h"
+2 -2
View File
@@ -14,8 +14,8 @@ callPackage ./default.nix {
extraMeta = {
# this isn't precise but it at least stops the useless Hydra build
platforms = with lib; filter (p: !hasPrefix "aarch64-" p)
(platforms.linux ++ platforms.darwin);
platforms = lib.filter (p: !lib.hasPrefix "aarch64-" p)
(lib.platforms.linux ++ lib.platforms.darwin);
};
inherit self passthruFun;
}
@@ -40,18 +40,18 @@ let
luaPackages = self.pkgs;
XCFLAGS = with lib;
optional (!enableFFI) "-DLUAJIT_DISABLE_FFI"
++ optional (!enableJIT) "-DLUAJIT_DISABLE_JIT"
++ optional enable52Compat "-DLUAJIT_ENABLE_LUA52COMPAT"
++ optional (!enableGC64) "-DLUAJIT_DISABLE_GC64"
++ optional useSystemMalloc "-DLUAJIT_USE_SYSMALLOC"
++ optional enableValgrindSupport "-DLUAJIT_USE_VALGRIND"
++ optional enableGDBJITSupport "-DLUAJIT_USE_GDBJIT"
++ optional enableAPICheck "-DLUAJIT_USE_APICHECK"
++ optional enableVMAssertions "-DLUAJIT_USE_ASSERT"
++ optional enableRegisterAllocationRandomization "-DLUAJIT_RANDOM_RA"
++ optional deterministicStringIds "-DLUAJIT_SECURITY_STRID=0"
XCFLAGS =
lib.optional (!enableFFI) "-DLUAJIT_DISABLE_FFI"
++ lib.optional (!enableJIT) "-DLUAJIT_DISABLE_JIT"
++ lib.optional enable52Compat "-DLUAJIT_ENABLE_LUA52COMPAT"
++ lib.optional (!enableGC64) "-DLUAJIT_DISABLE_GC64"
++ lib.optional useSystemMalloc "-DLUAJIT_USE_SYSMALLOC"
++ lib.optional enableValgrindSupport "-DLUAJIT_USE_VALGRIND"
++ lib.optional enableGDBJITSupport "-DLUAJIT_USE_GDBJIT"
++ lib.optional enableAPICheck "-DLUAJIT_USE_APICHECK"
++ lib.optional enableVMAssertions "-DLUAJIT_USE_ASSERT"
++ lib.optional enableRegisterAllocationRandomization "-DLUAJIT_RANDOM_RA"
++ lib.optional deterministicStringIds "-DLUAJIT_SECURITY_STRID=0"
;
# LuaJIT requires build for 32bit architectures to be build on x86 not x86_64
+33 -36
View File
@@ -3,10 +3,10 @@
{ lib, stdenv, fetchurl, cmake, darwin, doxygen, libidn2, libyaml, openssl
, systemd, unbound, yq }:
let
metaCommon = with lib; {
maintainers = with maintainers; [ leenaars ehmry ];
license = licenses.bsd3;
platforms = platforms.all;
metaCommon = {
maintainers = with lib.maintainers; [ leenaars ehmry ];
license = lib.licenses.bsd3;
platforms = lib.platforms.all;
};
in rec {
@@ -16,7 +16,7 @@ in rec {
outputs = [ "out" "dev" "lib" "man" ];
src = fetchurl {
url = with lib; "https://getdnsapi.net/releases/${pname}-${concatStringsSep "-" (splitVersion version)}/${pname}-${version}.tar.gz";
url = "https://getdnsapi.net/releases/${pname}-${lib.concatStringsSep "-" (lib.splitVersion version)}/${pname}-${version}.tar.gz";
# upstream publishes hashes in hex format
sha256 = "f1404ca250f02e37a118aa00cf0ec2cbe11896e060c6d369c6761baea7d55a2c";
};
@@ -34,22 +34,21 @@ in rec {
postInstall = "rm -r $out/share/doc";
meta = with lib;
metaCommon // {
description = "Modern asynchronous DNS API";
longDescription = ''
getdns is an implementation of a modern asynchronous DNS API; the
specification was originally edited by Paul Hoffman. It is intended to make all
types of DNS information easily available to application developers and non-DNS
experts. DNSSEC offers a unique global infrastructure for establishing and
enhancing cryptographic trust relations. With the development of this API the
developers intend to offer application developers a modern and flexible
interface that enables end-to-end trust in the DNS architecture, and which will
inspire application developers to implement innovative security solutions in
their applications.
'';
homepage = "https://getdnsapi.net";
};
meta = metaCommon // {
description = "Modern asynchronous DNS API";
longDescription = ''
getdns is an implementation of a modern asynchronous DNS API; the
specification was originally edited by Paul Hoffman. It is intended to make all
types of DNS information easily available to application developers and non-DNS
experts. DNSSEC offers a unique global infrastructure for establishing and
enhancing cryptographic trust relations. With the development of this API the
developers intend to offer application developers a modern and flexible
interface that enables end-to-end trust in the DNS architecture, and which will
inspire application developers to implement innovative security solutions in
their applications.
'';
homepage = "https://getdnsapi.net";
};
};
stubby = stdenv.mkDerivation rec {
@@ -72,22 +71,20 @@ in rec {
> $stubbyExampleJson
'';
passthru.settingsExample = with builtins;
fromJSON (readFile stubby.stubbyExampleJson);
passthru.settingsExample = builtins.fromJSON (builtins.readFile stubby.stubbyExampleJson);
meta = with lib;
metaCommon // {
description = "Local DNS Privacy stub resolver (using DNS-over-TLS)";
mainProgram = "stubby";
longDescription = ''
Stubby is an application that acts as a local DNS Privacy stub
resolver (using RFC 7858, aka DNS-over-TLS). Stubby encrypts DNS
queries sent from a client machine (desktop or laptop) to a DNS
Privacy resolver increasing end user privacy. Stubby is developed by
the getdns team.
'';
homepage = "https://dnsprivacy.org/dns_privacy_daemon_-_stubby/";
};
meta = metaCommon // {
description = "Local DNS Privacy stub resolver (using DNS-over-TLS)";
mainProgram = "stubby";
longDescription = ''
Stubby is an application that acts as a local DNS Privacy stub
resolver (using RFC 7858, aka DNS-over-TLS). Stubby encrypts DNS
queries sent from a client machine (desktop or laptop) to a DNS
Privacy resolver increasing end user privacy. Stubby is developed by
the getdns team.
'';
homepage = "https://dnsprivacy.org/dns_privacy_daemon_-_stubby/";
};
};
}
+20 -20
View File
@@ -111,11 +111,11 @@ let
pname = "libint";
version = "2.9.0";
meta = with lib; {
meta = {
description = "Library for the evaluation of molecular integrals of many-body operators over Gaussian functions";
homepage = "https://github.com/evaleev/libint";
license = with licenses; [ lgpl3Only gpl3Only ];
maintainers = with maintainers; [ markuskowa sheepforce ];
license = with lib.licenses; [ lgpl3Only gpl3Only ];
maintainers = with lib.maintainers; [ markuskowa sheepforce ];
platforms = [ "x86_64-linux" ];
};
@@ -155,31 +155,31 @@ let
buildInputs = [ boost eigen ];
configureFlags = with lib; [
configureFlags = [
"--with-max-am=${builtins.toString maxAm}"
"--with-eri-max-am=${concatStringsSep "," (builtins.map builtins.toString eriAm)}"
"--with-eri3-max-am=${concatStringsSep "," (builtins.map builtins.toString eri3Am)}"
"--with-eri2-max-am=${concatStringsSep "," (builtins.map builtins.toString eri2Am)}"
"--with-eri-opt-am=${concatStringsSep "," (builtins.map builtins.toString eriOptAm)}"
"--with-eri3-opt-am=${concatStringsSep "," (builtins.map builtins.toString eri3OptAm)}"
"--with-eri2-opt-am=${concatStringsSep "," (builtins.map builtins.toString eri2OptAm)}"
"--with-eri-max-am=${lib.concatStringsSep "," (builtins.map builtins.toString eriAm)}"
"--with-eri3-max-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri3Am)}"
"--with-eri2-max-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri2Am)}"
"--with-eri-opt-am=${lib.concatStringsSep "," (builtins.map builtins.toString eriOptAm)}"
"--with-eri3-opt-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri3OptAm)}"
"--with-eri2-opt-am=${lib.concatStringsSep "," (builtins.map builtins.toString eri2OptAm)}"
"--with-cartgauss-ordering=${cartGaussOrd}"
"--with-shgauss-ordering=${shGaussOrd}"
"--with-shell-set=${shellSet}"
]
++ optional enableFMA "--enable-fma"
++ optional (eriDeriv > 0) "--enable-eri=${builtins.toString eriDeriv}"
++ optional (eri2Deriv > 0) "--enable-eri2=${builtins.toString eri2Deriv}"
++ optional (eri3Deriv > 0) "--enable-eri3=${builtins.toString eri3Deriv}"
++ lists.optionals enableOneBody [
++ lib.optional enableFMA "--enable-fma"
++ lib.optional (eriDeriv > 0) "--enable-eri=${builtins.toString eriDeriv}"
++ lib.optional (eri2Deriv > 0) "--enable-eri2=${builtins.toString eri2Deriv}"
++ lib.optional (eri3Deriv > 0) "--enable-eri3=${builtins.toString eri3Deriv}"
++ lib.optionals enableOneBody [
"--enable-1body=${builtins.toString oneBodyDerivOrd}"
"--enable-1body-property-derivs"
]
++ optional (multipoleOrd > 0) "--with-multipole-max-order=${builtins.toString multipoleOrd}"
++ optional enableGeneric "--enable-generic"
++ optional enableContracted "--enable-contracted-ints"
++ optional eri3PureSh "--enable-eri3-pure-sh"
++ optional eri2PureSh "--enable-eri2-pure-sh"
++ lib.optional (multipoleOrd > 0) "--with-multipole-max-order=${builtins.toString multipoleOrd}"
++ lib.optional enableGeneric "--enable-generic"
++ lib.optional enableContracted "--enable-contracted-ints"
++ lib.optional eri3PureSh "--enable-eri3-pure-sh"
++ lib.optional eri2PureSh "--enable-eri2-pure-sh"
;
preConfigure = ''
@@ -53,14 +53,14 @@ stdenv.mkDerivation rec {
fast-float
];
mesonFlags = with lib; [
(mesonBool "demos" false) # Don't build and install the demo programs
(mesonEnable "d3d11" false) # Disable the Direct3D 11 based renderer
(mesonEnable "glslang" false) # rely on shaderc for GLSL compilation instead
(mesonEnable "vk-proc-addr" vulkanSupport)
(mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml")
] ++ optionals stdenv.isDarwin [
(mesonEnable "unwind" false) # libplacebo doesnt build with `darwin.libunwind`
mesonFlags = [
(lib.mesonBool "demos" false) # Don't build and install the demo programs
(lib.mesonEnable "d3d11" false) # Disable the Direct3D 11 based renderer
(lib.mesonEnable "glslang" false) # rely on shaderc for GLSL compilation instead
(lib.mesonEnable "vk-proc-addr" vulkanSupport)
(lib.mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml")
] ++ lib.optionals stdenv.isDarwin [
(lib.mesonEnable "unwind" false) # libplacebo doesnt build with `darwin.libunwind`
];
postPatch = ''
@@ -36,17 +36,15 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = with lib;
concatLists (
mapAttrsToList (feat: enabled:
optionals enabled (featureDeps."${feat}" or [])
buildInputs = lib.concatLists (
lib.mapAttrsToList (feat: enabled:
lib.optionals enabled (featureDeps."${feat}" or [])
) features
);
enableParallelBuilding = true;
configureFlags = with lib;
mapAttrsToList (feat: enabled: strings.enableFeature enabled feat) features;
configureFlags = lib.mapAttrsToList (feat: enabled: lib.strings.enableFeature enabled feat) features;
meta = with lib; {
description = "Universal configuration library parser";
@@ -25,17 +25,17 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config bison makeWrapper gfortran ];
propagatedBuildInputs = [ numactl rdma-core zlib opensm ];
buildInputs = with lib; [
buildInputs = [
numactl
libxml2
perl
openssh
hwloc
] ++ optionals (network == "infiniband") [ rdma-core opensm ]
++ optionals (network == "omnipath") [ libpsm2 libfabric ]
++ optional useSlurm slurm;
] ++ lib.optionals (network == "infiniband") [ rdma-core opensm ]
++ lib.optionals (network == "omnipath") [ libpsm2 libfabric ]
++ lib.optional useSlurm slurm;
configureFlags = with lib; [
configureFlags = [
"--with-pm=hydra"
"--enable-fortran=all"
"--enable-cxx"
@@ -43,10 +43,10 @@ stdenv.mkDerivation rec {
"--enable-hybrid"
"--enable-shared"
"FFLAGS=-fallow-argument-mismatch" # fix build with gfortran 10
] ++ optional useSlurm "--with-pm=slurm"
++ optional (network == "ethernet") "--with-device=ch3:sock"
++ optionals (network == "infiniband") [ "--with-device=ch3:mrail" "--with-rdma=gen2" "--disable-ibv-dlopen" ]
++ optionals (network == "omnipath") ["--with-device=ch3:psm" "--with-psm2=${libpsm2}"];
] ++ lib.optional useSlurm "--with-pm=slurm"
++ lib.optional (network == "ethernet") "--with-device=ch3:sock"
++ lib.optionals (network == "infiniband") [ "--with-device=ch3:mrail" "--with-rdma=gen2" "--disable-ibv-dlopen" ]
++ lib.optionals (network == "omnipath") ["--with-device=ch3:psm" "--with-psm2=${libpsm2}"];
doCheck = true;
+7 -7
View File
@@ -134,9 +134,9 @@ let
};
# See opencv/cmake/OpenCVDownload.cmake
installExtraFiles = extra : with lib; ''
installExtraFiles = extra : ''
mkdir -p "${extra.dst}"
'' + concatStrings (mapAttrsToList (name : md5 : ''
'' + lib.concatStrings (lib.mapAttrsToList (name : md5 : ''
ln -s "${extra.src}/${name}" "${extra.dst}/${md5}-${name}"
'') extra.files);
@@ -197,7 +197,7 @@ stdenv.mkDerivation {
++ lib.optional enableFfmpeg ffmpeg
++ lib.optionals (enableFfmpeg && stdenv.isDarwin)
[ VideoDecodeAcceleration bzip2 ]
++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
++ lib.optionals enableGStreamer [ gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
++ lib.optional enableOvis ogre
++ lib.optional enableGPhoto2 libgphoto2
++ lib.optional enableDC1394 libdc1394
@@ -292,13 +292,13 @@ stdenv.mkDerivation {
};
};
meta = with lib; {
meta = {
description = "Open Computer Vision Library with more than 500 algorithms";
homepage = "https://opencv.org/";
# OpenCV 3 won't build with CUDA 12+
broken = enableCuda && cudaPackages.cudaAtLeast "12";
license = with licenses; if enableUnfree then unfree else bsd3;
maintainers = with maintainers; [mdaiter basvandijk];
platforms = with platforms; linux ++ darwin;
license = if enableUnfree then lib.licenses.unfree else lib.licenses.bsd3;
maintainers = with lib.maintainers; [mdaiter basvandijk];
platforms = with lib.platforms; linux ++ darwin;
};
}
+20 -20
View File
@@ -228,9 +228,9 @@ let
};
# See opencv/cmake/OpenCVDownload.cmake
installExtraFiles = extra: with lib; ''
installExtraFiles = extra: ''
mkdir -p "${extra.dst}"
'' + concatStrings (flip mapAttrsToList extra.files (name: md5: ''
'' + lib.concatStrings (lib.flip lib.mapAttrsToList extra.files (name: md5: ''
ln -s "${extra.src}/${name}" "${extra.dst}/${md5}-${name}"
''));
installExtraFile = extra: ''
@@ -332,15 +332,15 @@ effectiveStdenv.mkDerivation {
] ++ lib.optionals (enableFfmpeg && effectiveStdenv.isDarwin) [
bzip2
VideoDecodeAcceleration
] ++ lib.optionals (enableGStreamer && effectiveStdenv.isLinux) (with gst_all_1; [
] ++ lib.optionals (enableGStreamer && effectiveStdenv.isLinux) [
elfutils
gst-plugins-base
gst-plugins-good
gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gstreamer
libunwind
orc
zstd
]) ++ lib.optionals enableOvis [
] ++ lib.optionals enableOvis [
ogre
] ++ lib.optionals enableGPhoto2 [
libgphoto2
@@ -371,21 +371,21 @@ effectiveStdenv.mkDerivation {
] ++ lib.optionals enableDocs [
doxygen
graphviz-nox
] ++ lib.optionals enableCuda (with cudaPackages; [
cuda_cudart
cuda_cccl # <thrust/*>
libnpp # npp.h
nvidia-optical-flow-sdk
] ++ lib.optionals enableCuda [
cudaPackages.cuda_cudart
cudaPackages.cuda_cccl # <thrust/*>
cudaPackages.libnpp # npp.h
cudaPackages.nvidia-optical-flow-sdk
] ++ lib.optionals enableCublas [
# May start using the default $out instead once
# https://github.com/NixOS/nixpkgs/issues/271792
# has been addressed
libcublas # cublas_v2.h
cudaPackages.libcublas # cublas_v2.h
] ++ lib.optionals enableCudnn [
cudnn # cudnn.h
cudaPackages.cudnn # cudnn.h
] ++ lib.optionals enableCufft [
libcufft # cufft.h
]);
cudaPackages.libcufft # cufft.h
];
propagatedBuildInputs = lib.optionals enablePython [ pythonPackages.numpy ];
@@ -549,11 +549,11 @@ effectiveStdenv.mkDerivation {
};
} // lib.optionalAttrs enablePython { pythonPath = [ ]; };
meta = with lib; {
meta = {
description = "Open Computer Vision Library with more than 500 algorithms";
homepage = "https://opencv.org/";
license = with licenses; if enableUnfree then unfree else bsd3;
maintainers = with maintainers; [ basvandijk ];
platforms = with platforms; linux ++ darwin;
license = if enableUnfree then lib.licenses.unfree else lib.licenses.bsd3;
maintainers = with lib.maintainers; [ basvandijk ];
platforms = with lib.platforms; linux ++ darwin;
};
}
+10 -10
View File
@@ -227,19 +227,19 @@ let
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
meta = {
homepage = "https://www.openssl.org/";
changelog = "https://github.com/openssl/openssl/blob/openssl-${version}/CHANGES.md";
description = "Cryptographic library that implements the SSL and TLS protocols";
license = licenses.openssl;
license = lib.licenses.openssl;
mainProgram = "openssl";
maintainers = with maintainers; [ thillux ] ++ lib.teams.stridtech.members;
maintainers = with lib.maintainers; [ thillux ] ++ lib.teams.stridtech.members;
pkgConfigModules = [
"libcrypto"
"libssl"
"openssl"
];
platforms = platforms.all;
platforms = lib.platforms.all;
} // extraMeta;
});
@@ -295,8 +295,8 @@ in {
withDocs = true;
extraMeta = with lib; {
license = licenses.asl20;
extraMeta = {
license = lib.licenses.asl20;
};
};
@@ -320,8 +320,8 @@ in {
withDocs = true;
extraMeta = with lib; {
license = licenses.asl20;
extraMeta = {
license = lib.licenses.asl20;
};
};
@@ -345,8 +345,8 @@ in {
withDocs = true;
extraMeta = with lib; {
license = licenses.asl20;
extraMeta = {
license = lib.licenses.asl20;
};
};
}
@@ -12,11 +12,11 @@ final: prev: let
majorMinorPatch = str: lib.concatStringsSep "." (lib.take 3 (lib.splitVersion str));
tensorRTPackages = with lib; let
tensorRTPackages = let
# Check whether a file is supported for our cuda version
isSupported = fileData: elem cudaVersion fileData.supportedCudaVersions;
isSupported = fileData: lib.elem cudaVersion fileData.supportedCudaVersions;
# Return the first file that is supported. In practice there should only ever be one anyway.
supportedFile = files: findFirst isSupported null files;
supportedFile = files: lib.findFirst isSupported null files;
# Compute versioned attribute name to be used in this package set
computeName = version: "tensorrt_${toUnderscore version}";
@@ -34,11 +34,11 @@ final: prev: let
supportedCudaVersions = [ ];
};
}
(mapAttrs' (version: attrs: nameValuePair (computeName version) attrs)
(filterAttrs (version: file: file != null) (mapAttrs (version: files: supportedFile files) tensorRTVersions)));
(lib.mapAttrs' (version: attrs: lib.nameValuePair (computeName version) attrs)
(lib.filterAttrs (version: file: file != null) (lib.mapAttrs (version: files: supportedFile files) tensorRTVersions)));
# Add all supported builds as attributes
allBuilds = mapAttrs (name: file: buildTensorRTPackage (removeAttrs file ["fileVersionCuda"])) supportedVersions;
allBuilds = lib.mapAttrs (name: file: buildTensorRTPackage (lib.removeAttrs file ["fileVersionCuda"])) supportedVersions;
# Set the default attributes, e.g. tensorrt = tensorrt_8_4;
defaultName = computeName tensorRTDefaultVersion;
@@ -50,19 +50,19 @@ in stdenv.mkDerivation rec {
doCheck = true;
nativeCheckInputs = with python3.pkgs; [ passlib ];
checkPhase = with lib; let
checkPhase = let
# these tests require network access so we need to skip them.
brokenTests = map escapeRegex [
brokenTests = map lib.escapeRegex [
"Ice/udp" "Glacier2" "IceGrid/simple" "IceStorm" "IceDiscovery/simple"
# FIXME: certificate expired, remove for next release?
"IceSSL/configuration"
];
# matches CONFIGS flag in makeFlagsArray
configFlag = optionalString cpp11 "--config=cpp11-shared";
configFlag = lib.optionalString cpp11 "--config=cpp11-shared";
in ''
runHook preCheck
${python3.interpreter} ./cpp/allTests.py ${configFlag} --rfilter='${concatStringsSep "|" brokenTests}'
${python3.interpreter} ./cpp/allTests.py ${configFlag} --rfilter='${lib.concatStringsSep "|" brokenTests}'
runHook postCheck
'';
+3 -3
View File
@@ -1,9 +1,9 @@
{ pkgs, lib, lua }:
let
inherit (lib.generators) toLua;
requiredLuaModules = drvs: with lib; let
modules = filter hasLuaModule drvs;
in unique ([lua] ++ modules ++ concatLists (catAttrs "requiredLuaModules" modules));
requiredLuaModules = drvs: let
modules = lib.filter hasLuaModule drvs;
in lib.unique ([lua] ++ modules ++ lib.concatLists (lib.catAttrs "requiredLuaModules" modules));
# Check whether a derivation provides a lua module.
hasLuaModule = drv: drv ? luaModule;
+5 -5
View File
@@ -108,11 +108,11 @@ in
cqueues = prev.cqueues.overrideAttrs (oa: rec {
# Parse out a version number without the Lua version inserted
version = with lib; let
version = let
version' = prev.cqueues.version;
rel = splitVersion version';
date = head rel;
rev = last (splitString "-" (last rel));
rel = lib.splitVersion version';
date = lib.head rel;
rev = lib.last (lib.splitString "-" (lib.last rel));
in
"${date}-${rev}";
@@ -203,7 +203,7 @@ in
'';
meta.broken = luaOlder "5.1" || luaAtLeast "5.3";
propagatedBuildInputs = with lib; oa.propagatedBuildInputs ++ optional (!isLuaJIT) final.luaffi;
propagatedBuildInputs = oa.propagatedBuildInputs ++ lib.optional (!isLuaJIT) final.luaffi;
});
lgi = prev.lgi.overrideAttrs (oa: {
+5 -5
View File
@@ -9,16 +9,16 @@ pkgs: lib: self: super:
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations = alias: with lib;
removeRecurseForDerivations = alias:
if alias.recurseForDerivations or false
then removeAttrs alias ["recurseForDerivations"]
then lib.removeAttrs alias ["recurseForDerivations"]
else alias;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: with lib;
if isDerivation alias then
dontDistribute alias
removeDistribute = alias:
if lib.isDerivation alias then
lib.dontDistribute alias
else alias;
# Make sure that we are not shadowing something from node-packages.nix.
@@ -32,25 +32,25 @@ buildPecl {
--replace 'SEARCH_PATH="/usr/local /usr /opt"' 'SEARCH_PATH="${gpgme.dev}"'
'';
postConfigure = with lib; ''
postConfigure = ''
substituteInPlace Makefile \
--replace 'run-tests.php' 'run-tests.php -q --offline'
substituteInPlace tests/gnupg_res_init_file_name.phpt \
--replace '/usr/bin/gpg' '${gnupg}/bin/gpg' \
--replace 'string(12)' 'string(${toString (stringLength "${gnupg}/bin/gpg")})'
--replace 'string(12)' 'string(${toString (lib.stringLength "${gnupg}/bin/gpg")})'
substituteInPlace tests/gnupg_oo_init_file_name.phpt \
--replace '/usr/bin/gpg' '${gnupg}/bin/gpg' \
--replace 'string(12)' 'string(${toString (stringLength "${gnupg}/bin/gpg")})'
--replace 'string(12)' 'string(${toString (lib.stringLength "${gnupg}/bin/gpg")})'
'';
doCheck = true;
meta = with lib; {
meta = {
changelog = "https://github.com/php-gnupg/php-gnupg/releases/tag/gnupg-${version}";
broken = lib.versionOlder php.version "8.1"; # Broken on PHP older than 8.1.
description = "PHP wrapper for GpgME library that provides access to GnuPG";
license = licenses.bsd3;
license = lib.licenses.bsd3;
homepage = "https://pecl.php.net/package/gnupg";
maintainers = with maintainers; [ taikx4 ] ++ teams.php.members;
maintainers = with lib.maintainers; [ taikx4 ] ++ lib.teams.php.members;
};
}
@@ -36,11 +36,11 @@ buildPythonPackage rec {
includes a series of patches fixing tests not yet released as 2.0.1+ version
they are meant to keep up to date with black releases
*/
lib.optional (with lib; versionAtLeast black.version "24.2.0") (fetchpatch {
lib.optional (lib.versionAtLeast black.version "24.2.0") (fetchpatch {
url = "https://github.com/python-lsp/python-lsp-black/commit/d43b41431379f9c9bb05fab158c4d97e6d515f8f.patch";
hash = "sha256-38bYU27+xtA8Kq3appXTkNnkG5/XgrUJ2nQ5+yuSU2U=";
})
++ lib.optional (with lib; versionAtLeast black.version "24.3.0") (fetchpatch {
++ lib.optional (lib.versionAtLeast black.version "24.3.0") (fetchpatch {
url = "https://github.com/python-lsp/python-lsp-black/commit/9298585a9d14d25920c33b188d79e820dc98d4a9.patch";
hash = "sha256-4u0VIS7eidVEiKRW2wc8lJVkJwhzJD/M+uuqmTtiZ7E=";
});
@@ -88,14 +88,14 @@ let
popd || exit
'';
meta = with lib; {
meta = {
description = "Models for the spaCy NLP library";
homepage = "https://github.com/explosion/spacy-models";
license = licenses.${license};
license = lib.licenses.${license};
};
};
makeModelSet =
models: with lib; listToAttrs (map (m: nameValuePair m.pname (buildModelPackage m)) models);
models: lib.listToAttrs (map (m: lib.nameValuePair m.pname (buildModelPackage m)) models);
in
makeModelSet (lib.importJSON ./models.json)
@@ -589,15 +589,14 @@ let
};
meta =
with lib;
{
badPlatforms = lib.optionals cudaSupport lib.platforms.darwin;
changelog = "https://github.com/tensorflow/tensorflow/releases/tag/v${version}";
description = "Computation using data flow graphs for scalable machine learning";
homepage = "http://tensorflow.org";
license = licenses.asl20;
maintainers = with maintainers; [ abbradar ];
platforms = with platforms; linux ++ darwin;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ abbradar ];
platforms = with lib.platforms; linux ++ darwin;
broken =
stdenv.isDarwin
|| !(xlaSupport -> cudaSupport)
@@ -21,10 +21,7 @@ buildPythonPackage rec {
doCheck = false;
pythonImportsCheck = [ "tinyobjloader" ];
meta =
with lib;
tinyobjloader.meta
// {
description = "Python wrapper for the C++ wavefront .obj loader tinyobjloader";
};
meta = tinyobjloader.meta // {
description = "Python wrapper for the C++ wavefront .obj loader tinyobjloader";
};
}
@@ -29,14 +29,13 @@ buildPythonPackage rec {
pythonImportsCheck = [ "vega_datasets" ];
meta =
with lib;
let
tag = removeSuffix ".0" "v${version}";
tag = lib.removeSuffix ".0" "v${version}";
in
{
description = "Python package for offline access to vega datasets";
homepage = "https://github.com/altair-viz/vega_datasets";
changelog = "https://github.com/altair-viz/vega_datasets/blob/${tag}/CHANGES.md";
license = licenses.mit;
license = lib.licenses.mit;
};
}
@@ -14,7 +14,7 @@
}:
let
versions = lib.importJSON ./versions.json;
flavor = with lib; head (filter (x: x.version == versionFlavor) versions);
flavor = lib.head (lib.filter (x: x.version == versionFlavor) versions);
fetchBinary = runtimeId: fetchurl {
url = flavor.files.${runtimeId}.url;
sha256 = flavor.files.${runtimeId}.sha;
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
install -m755 "$src" -D "$out/bin/StaticSitesClient"
for icu_lib in 'icui18n' 'icuuc' 'icudata'; do
patchelf --add-needed "lib''${icu_lib}.so.${with lib; head (splitVersion (getVersion icu70.name))}" "$out/bin/StaticSitesClient"
patchelf --add-needed "lib''${icu_lib}.so.${lib.head (lib.splitVersion (lib.getVersion icu70.name))}" "$out/bin/StaticSitesClient"
done
patchelf --add-needed 'libgssapi_krb5.so' \
@@ -79,19 +79,19 @@ stdenv.mkDerivation {
passthru = {
# Create tests for all flavors
tests = with lib; genAttrs (map (x: x.version) versions) (versionFlavor:
tests = lib.genAttrs (map (x: x.version) versions) (versionFlavor:
azure-static-sites-client.override { inherit versionFlavor; }
);
updateScript = ./update.sh;
};
meta = with lib; {
meta = {
description = "Azure static sites client";
homepage = "https://github.com/Azure/static-web-apps-cli";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
license = lib.licenses.unfree;
mainProgram = "StaticSitesClient";
maintainers = with maintainers; [ veehaitch ];
maintainers = with lib.maintainers; [ veehaitch ];
platforms = [ "x86_64-linux" ];
};
}
+4 -4
View File
@@ -88,7 +88,7 @@ stdenv.mkDerivation rec {
'';
configureScript = "../configure";
configureFlags = with lib; [
configureFlags = [
# Set the program prefix to the current targetPrefix.
# This ensures that the prefix always conforms to
# nixpkgs' expectations instead of relying on the build
@@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
'';
};
meta = with lib; {
meta = {
mainProgram = "gdb";
description = "GNU Project debugger";
@@ -155,7 +155,7 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3Plus;
# GDB upstream does not support ARM darwin
platforms = with platforms; linux ++ cygwin ++ freebsd ++ ["x86_64-darwin"];
maintainers = with maintainers; [ pierron globin lsix ];
platforms = with lib.platforms; linux ++ cygwin ++ freebsd ++ ["x86_64-darwin"];
maintainers = with lib.maintainers; [ pierron globin lsix ];
};
}
+5 -5
View File
@@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, buildPackages, perl, which, ncurses, nukeReferences }:
let
dialect = with lib; last (splitString "-" stdenv.hostPlatform.system);
dialect = lib.last (lib.splitString "-" stdenv.hostPlatform.system);
in
stdenv.mkDerivation rec {
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
cp lsof $out/bin
'';
meta = with lib; {
meta = {
homepage = "https://github.com/lsof-org/lsof";
description = "Tool to list open files";
mainProgram = "lsof";
@@ -62,8 +62,8 @@ stdenv.mkDerivation rec {
socket (IPv6/IPv4/UNIX local), or partition (by opening a file
from it).
'';
license = licenses.purdueBsd;
maintainers = with maintainers; [ dezgeg ];
platforms = platforms.unix;
license = lib.licenses.purdueBsd;
maintainers = with lib.maintainers; [ dezgeg ];
platforms = lib.platforms.unix;
};
}
+7 -7
View File
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
expat curl jansson libpng libjpeg libGLU libGL libsndfile libXxf86vm pcre SDL2 vim speex
];
installPhase = with lib; let
sys = last (splitString "-" stdenv.hostPlatform.system);
arch = head (splitString "-" stdenv.hostPlatform.system);
installPhase = let
sys = lib.last (lib.splitString "-" stdenv.hostPlatform.system);
arch = lib.head (lib.splitString "-" stdenv.hostPlatform.system);
in ''
mkdir -p $out/bin
find .
@@ -31,12 +31,12 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = with lib; {
meta = {
homepage = "https://ezquake.com/";
description = "Modern QuakeWorld client focused on competitive online play";
mainProgram = "ezquake";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ edwtjo ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ edwtjo ];
};
}
+11 -11
View File
@@ -162,9 +162,9 @@ stdenv.mkDerivation {
gradleFlags = [ "-Pbuildversion=${buildVersion}" "-Dorg.gradle.java.home=${jdk}" ];
buildPhase = with lib; optionalString enableServer ''
buildPhase = lib.optionalString enableServer ''
gradle server:dist
'' + optionalString enableClient ''
'' + lib.optionalString enableClient ''
pushd ../Arc
gradle jnigenBuild
gradle jnigenJarNativesDesktop
@@ -181,7 +181,7 @@ stdenv.mkDerivation {
gradle desktop:dist
'';
installPhase = with lib; let
installPhase = let
installClient = ''
install -Dm644 desktop/build/libs/Mindustry.jar $out/share/mindustry.jar
mkdir -p $out/bin
@@ -189,7 +189,7 @@ stdenv.mkDerivation {
--add-flags "-jar $out/share/mindustry.jar" \
${lib.optionalString stdenv.isLinux "--suffix PATH : ${lib.makeBinPath [zenity]}"} \
--suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [libpulseaudio alsa-lib libjack2]} \
--set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/'' + optionalString enableWayland '' \
--set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/'' + lib.optionalString enableWayland '' \
--set SDL_VIDEODRIVER wayland \
--set SDL_VIDEO_WAYLAND_WMCLASS Mindustry
'' + ''
@@ -214,8 +214,8 @@ stdenv.mkDerivation {
'';
in ''
runHook preInstall
'' + optionalString enableClient installClient
+ optionalString enableServer installServer
'' + lib.optionalString enableClient installClient
+ lib.optionalString enableServer installServer
+ ''
runHook postInstall
'';
@@ -228,17 +228,17 @@ stdenv.mkDerivation {
passthru.tests.nixosTest = nixosTests.mindustry;
meta = with lib; {
meta = {
homepage = "https://mindustrygame.github.io/";
downloadPage = "https://github.com/Anuken/Mindustry/releases";
description = "Sandbox tower defense game";
sourceProvenance = with sourceTypes; [
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # deps
];
license = licenses.gpl3Plus;
maintainers = with maintainers; [ chkno fgaz thekostins ];
platforms = platforms.all;
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ chkno fgaz thekostins ];
platforms = lib.platforms.all;
# TODO alsa-lib is linux-only, figure out what dependencies are required on Darwin
broken = enableClient && stdenv.isDarwin;
};
+6 -6
View File
@@ -6,9 +6,9 @@ let
# Choose your "paksets" of objects, images, text, music, etc.
paksets = config.simutrans.paksets or "pak64 pak64.japan pak128 pak128.britain pak128.german";
result = with lib; withPaks (
if paksets == "*" then attrValues pakSpec # taking all
else map (name: pakSpec.${name}) (splitString " " paksets)
result = withPaks (
if paksets == "*" then lib.attrValues pakSpec # taking all
else map (name: pakSpec.${name}) (lib.splitString " " paksets)
);
ver1 = "121";
@@ -152,7 +152,7 @@ let
mv build/default/sim $out/bin/simutrans
'';
meta = with lib; {
meta = {
description = "Simulation game in which the player strives to run a successful transport system";
mainProgram = "simutrans";
longDescription = ''
@@ -163,9 +163,9 @@ let
'';
homepage = "http://www.simutrans.com/";
license = with licenses; [ artistic1 gpl1Plus ];
license = with lib.licenses; [ artistic1 gpl1Plus ];
maintainers = [ ];
platforms = with platforms; linux; # TODO: ++ darwin;
platforms = lib.platforms.linux; # TODO: ++ darwin;
};
};
+2 -2
View File
@@ -67,8 +67,8 @@ in stdenv.mkDerivation rec {
-i src/lib/ffmpeg-4.0/swscale.pas
'';
preBuild = with lib;
let items = concatMapStringsSep " " (x: "-rpath ${getLib x}/lib") sharedLibs;
preBuild =
let items = lib.concatMapStringsSep " " (x: "-rpath ${lib.getLib x}/lib") sharedLibs;
in ''
export NIX_LDFLAGS="$NIX_LDFLAGS ${items}"
'';
@@ -28,9 +28,9 @@
*/
let
myPatchElf = file: with lib; ''
myPatchElf = file: ''
patchelf --set-interpreter \
${stdenv.cc.libc}/lib/ld-linux${optionalString stdenv.is64bit "-x86-64"}.so.2 \
${stdenv.cc.libc}/lib/ld-linux${lib.optionalString stdenv.is64bit "-x86-64"}.so.2 \
${file}
'';
in
@@ -73,17 +73,14 @@ lib.makeOverridable (
strictDeps = true;
meta =
with lib;
{
maintainers = with maintainers; [
rhelmot
artemist
];
platforms = platforms.unix;
license = licenses.bsd2;
}
// attrs.meta or { };
meta = {
maintainers = with lib.maintainers; [
rhelmot
artemist
];
platforms = lib.platforms.unix;
license = lib.licenses.bsd2;
} // attrs.meta or { };
}
// lib.optionalAttrs stdenv'.hasCC {
# TODO should CC wrapper set this?
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
# support, because the path still gets included in the binary even
# though it isn't used.
"--with-luks2-external-tokens-path=/"
] ++ (with lib; mapAttrsToList (flip enableFeature)) programs;
] ++ (lib.mapAttrsToList (lib.flip lib.enableFeature)) programs;
nativeBuildInputs = [ pkg-config ] ++ lib.optionals rebuildMan [ asciidoctor ];
buildInputs = [ lvm2 json_c openssl libuuid popt ] ++ lib.optional (!withInternalArgon2) libargon2;
@@ -1,6 +1,6 @@
{ lib, stdenv, stdenvNoCC, dtc }:
with lib; {
{
# Compile single Device Tree overlay source
# file (.dts) into its compiled variant (.dtb)
compileDTS = ({
@@ -28,7 +28,7 @@ with lib; {
name = "device-tree-overlays";
nativeBuildInputs = [ dtc ];
buildCommand = let
overlays = toList overlays';
overlays = lib.toList overlays';
in ''
mkdir -p $out
cd "${base}"
@@ -40,7 +40,7 @@ with lib; {
# skip files without `compatible` string
test -z "$dtbCompat" && continue
${flip (concatMapStringsSep "\n") overlays (o: ''
${lib.flip (lib.concatMapStringsSep "\n") overlays (o: ''
overlayCompat="$(fdtget -t s "${o.dtboFile}" / compatible)"
# skip incompatible and non-matching overlays
@@ -3,7 +3,7 @@ nvidia_x11: sha256:
{ stdenv, lib, fetchurl, patchelf }:
let
sys = with lib; concatStringsSep "-" (reverseList (splitString "-" stdenv.system));
sys = lib.concatStringsSep "-" (lib.reverseList (lib.splitString "-" stdenv.system));
bsys = builtins.replaceStrings ["_"] ["-"] sys;
fmver = nvidia_x11.version;
in
@@ -35,12 +35,12 @@ stdenv.mkDerivation rec {
done
'';
meta = with lib; {
meta = {
homepage = "https://www.nvidia.com/object/unix.html";
description = "Fabricmanager daemon for NVLink intialization and control";
license = licenses.unfreeRedistributable;
license = lib.licenses.unfreeRedistributable;
platforms = nvidia_x11.meta.platforms;
mainProgram = "nv-fabricmanager";
maintainers = with maintainers; [ edwtjo ];
maintainers = with lib.maintainers; [ edwtjo ];
};
}
+28 -24
View File
@@ -45,9 +45,13 @@ rec {
php = (import ./formats/php/default.nix { inherit lib pkgs; }).format;
inherit (lib) mkOptionType;
inherit (lib.types) nullOr oneOf coercedTo listOf nonEmptyListOf attrsOf either;
inherit (lib.types) bool int float str path;
json = {}: {
type = with lib.types; let
type = let
valueType = nullOr (oneOf [
bool
int
@@ -83,7 +87,7 @@ rec {
json2yaml "$valuePath" "$out"
'') {};
type = with lib.types; let
type = let
valueType = nullOr (oneOf [
bool
int
@@ -102,10 +106,10 @@ rec {
# the ini formats share a lot of code
inherit (
let
singleIniAtom = with lib.types; nullOr (oneOf [ bool int float str ]) // {
singleIniAtom = nullOr (oneOf [ bool int float str ]) // {
description = "INI atom (null, bool, int, float or string)";
};
iniAtom = with lib.types; { listsAsDuplicateKeys, listToValue }:
iniAtom = { listsAsDuplicateKeys, listToValue }:
if listsAsDuplicateKeys then
coercedTo singleIniAtom lib.singleton (listOf singleIniAtom) // {
description = singleIniAtom.description + " or a list of them for duplicate keys";
@@ -116,7 +120,7 @@ rec {
}
else
singleIniAtom;
iniSection = with lib.types; { listsAsDuplicateKeys, listToValue }@args:
iniSection = { listsAsDuplicateKeys, listToValue }@args:
attrsOf (iniAtom args) // {
description = "section of an INI file (attrs of " + (iniAtom args).description + ")";
};
@@ -183,7 +187,7 @@ rec {
listsAsDuplicateKeys = listsAsDuplicateKeys;
listToValue = null;
};
in with lib.types; attrsOf (attrsOf (either atom (attrsOf atom)));
in attrsOf (attrsOf (either atom (attrsOf atom)));
generate = name: value: pkgs.writeText name (lib.generators.toGitINI value);
};
@@ -215,7 +219,7 @@ rec {
assert listsAsDuplicateKeys -> listToValue == null;
{
type = with lib.types; let
type = let
singleAtom = nullOr (oneOf [
bool
@@ -254,7 +258,7 @@ rec {
};
toml = {}: json {} // {
type = with lib.types; let
type = let
valueType = oneOf [
bool
int
@@ -312,18 +316,18 @@ rec {
[Tuple]: <https://hexdocs.pm/elixir/Tuple.html>
*/
elixirConf = { elixir ? pkgs.elixir }:
with lib; let
toElixir = value: with builtins;
let
toElixir = value:
if value == null then "nil" else
if value == true then "true" else
if value == false then "false" else
if isInt value || isFloat value then toString value else
if isString value then string value else
if isAttrs value then attrs value else
if isList value then list value else
if lib.isInt value || lib.isFloat value then toString value else
if lib.isString value then string value else
if lib.isAttrs value then attrs value else
if lib.isList value then list value else
abort "formats.elixirConf: should never happen (value = ${value})";
escapeElixir = escape [ "\\" "#" "\"" ];
escapeElixir = lib.escape [ "\\" "#" "\"" ];
string = value: "\"${escapeElixir value}\"";
attrs = set:
@@ -331,11 +335,11 @@ rec {
else
let
toKeyword = name: value: "${name}: ${toElixir value}";
keywordList = concatStringsSep ", " (mapAttrsToList toKeyword set);
keywordList = lib.concatStringsSep ", " (lib.mapAttrsToList toKeyword set);
in
"[" + keywordList + "]";
listContent = values: concatStringsSep ", " (map toElixir values);
listContent = values: lib.concatStringsSep ", " (map toElixir values);
list = values: "[" + (listContent values) + "]";
@@ -349,7 +353,7 @@ rec {
elixirMap = set:
let
toEntry = name: value: "${toElixir name} => ${toElixir value}";
entries = concatStringsSep ", " (mapAttrsToList toEntry set);
entries = lib.concatStringsSep ", " (lib.mapAttrsToList toEntry set);
in
"%{${entries}}";
@@ -359,17 +363,17 @@ rec {
let
keyConfig = rootKey: key: value:
"config ${rootKey}, ${key}, ${toElixir value}";
keyConfigs = rootKey: values: mapAttrsToList (keyConfig rootKey) values;
rootConfigs = flatten (mapAttrsToList keyConfigs values);
keyConfigs = rootKey: values: lib.mapAttrsToList (keyConfig rootKey) values;
rootConfigs = lib.flatten (lib.mapAttrsToList keyConfigs values);
in
''
import Config
${concatStringsSep "\n" rootConfigs}
${lib.concatStringsSep "\n" rootConfigs}
'';
in
{
type = with lib.types; let
type = let
valueType = nullOr
(oneOf [
bool
@@ -429,7 +433,7 @@ rec {
It also reexports standard types, wrapping them so that they can
also be raw Elixir.
*/
types = with lib.types; let
types = let
isElixirType = type: x: (x._elixirType or "") == type;
rawElixir = mkOptionType {
@@ -480,7 +484,7 @@ rec {
# Outputs a succession of Python variable assignments
# Useful for many Django-based services
pythonVars = {}: {
type = with lib.types; let
type = let
valueType = nullOr(oneOf [
bool
float
+14 -14
View File
@@ -18,17 +18,17 @@ let
};
};
build = versionInfo: with versionInfo; stdenv.mkDerivation rec {
version = "${scalaVersion}-${kafkaVersion}";
build = versionInfo: stdenv.mkDerivation rec {
version = "${versionInfo.scalaVersion}-${versionInfo.kafkaVersion}";
pname = "apache-kafka";
src = fetchurl {
url = "mirror://apache/kafka/${kafkaVersion}/kafka_${version}.tgz";
inherit sha256;
url = "mirror://apache/kafka/${versionInfo.kafkaVersion}/kafka_${version}.tgz";
inherit (versionInfo) sha256;
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre bash gnugrep gnused coreutils ps ];
buildInputs = [ versionInfo.jre bash gnugrep gnused coreutils ps ];
installPhase = ''
mkdir -p $out
@@ -47,7 +47,7 @@ let
for p in $out/bin\/*.sh; do
wrapProgram $p \
--set JAVA_HOME "${jre}" \
--set JAVA_HOME "${versionInfo.jre}" \
--set KAFKA_LOG_DIR "/tmp/apache-kafka-logs" \
--prefix PATH : "${bash}/bin:${coreutils}/bin:${gnugrep}/bin:${gnused}/bin"
done
@@ -55,19 +55,19 @@ let
'';
passthru = {
inherit jre; # Used by the NixOS module to select the supported jre
inherit (versionInfo) jre; # Used by the NixOS module to select the supported JRE
tests.nixos = versionInfo.nixosTest;
};
meta = with lib; {
meta = {
homepage = "https://kafka.apache.org";
description = "High-throughput distributed messaging system";
license = licenses.asl20;
sourceProvenance = with sourceTypes; [ binaryBytecode ];
maintainers = [ maintainers.ragge ];
platforms = platforms.unix;
license = lib.licenses.asl20;
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
maintainers = [ lib.maintainers.ragge ];
platforms = lib.platforms.unix;
};
};
in with lib; mapAttrs'
(majorVersion: versionInfo: nameValuePair "apacheKafka_${majorVersion}" (build versionInfo))
in lib.mapAttrs'
(majorVersion: versionInfo: lib.nameValuePair "apacheKafka_${majorVersion}" (build versionInfo))
versionMap
+4 -4
View File
@@ -64,8 +64,8 @@ stdenv.mkDerivation rec {
] ++ lib.optionals enableX11 [ xorg.xauth ]
++ lib.optionals enableGtk2 [ gtk2 ];
configureFlags = with lib;
[ "--with-freeipmi=${freeipmi}"
configureFlags = [
"--with-freeipmi=${freeipmi}"
"--with-http-parser=${http-parser}"
"--with-hwloc=${lib.getDev hwloc}"
"--with-json=${lib.getDev json_c}"
@@ -78,8 +78,8 @@ stdenv.mkDerivation rec {
"--with-pmix=${lib.getDev pmix}"
"--with-bpf=${libbpf}"
"--without-rpath" # Required for configure to pick up the right dlopen path
] ++ (optional enableGtk2 "--disable-gtktest")
++ (optional (!enableX11) "--disable-x11");
] ++ (lib.optional enableGtk2 "--disable-gtktest")
++ (lib.optional (!enableX11) "--disable-x11");
preConfigure = ''
+1 -2
View File
@@ -78,8 +78,7 @@ let
"v2mirror"
];
testConditions = with lib;
concatMapStringsSep " " (n: "! -name ${escapeShellArg n}.t") skippedTests;
testConditions = lib.concatMapStringsSep " " (n: "! -name ${lib.escapeShellArg n}.t") skippedTests;
in
@@ -22,14 +22,14 @@ let
nativeBuildInputs = [ autoreconfHook makeWrapper ];
prePatch = with lib; ''
prePatch = ''
rm -rf GLPlugin
ln -s ${glplugin} GLPlugin
substituteInPlace plugins-scripts/Makefile.am \
--replace /bin/cat ${getBin coreutils}/bin/cat \
--replace /bin/echo ${getBin coreutils}/bin/echo \
--replace /bin/grep ${getBin gnugrep}/bin/grep \
--replace /bin/sed ${getBin gnused}/bin/sed
--replace /bin/cat ${lib.getBin coreutils}/bin/cat \
--replace /bin/echo ${lib.getBin coreutils}/bin/echo \
--replace /bin/grep ${lib.getBin gnugrep}/bin/grep \
--replace /bin/sed ${lib.getBin gnused}/bin/sed
'';
postInstall = ''
@@ -42,10 +42,10 @@ let
done
'';
meta = with lib; {
meta = {
homepage = "https://labs.consol.de/";
license = licenses.gpl2Only;
maintainers = with maintainers; [ peterhoeg ];
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ peterhoeg ];
inherit description;
};
};
+1 -1
View File
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
expat
];
CXXFLAGS = with lib; concatStringsSep " " (optionals stdenv.isDarwin [
CXXFLAGS = lib.concatStringsSep " " (lib.optionals stdenv.isDarwin [
# see upstream bug: http://sphinxsearch.com/bugs/view.php?id=2578
# workaround for "error: invalid suffix on literal
"-Wno-reserved-user-defined-literal"
+2 -2
View File
@@ -21,9 +21,9 @@ buildGoModule rec {
subPackages = [ "cmd/trickster" ];
ldflags = with lib;
ldflags =
[ "-extldflags '-static'" "-s" "-w" ] ++
(mapAttrsToList (n: v: "-X main.application${n}=${v}") {
(lib.mapAttrsToList (n: v: "-X main.application${n}=${v}") {
BuildTime = "1970-01-01T00:00:00+0000";
GitCommitID = rev;
GoVersion = "go${go.version}}";
+25 -28
View File
@@ -365,13 +365,13 @@ self: super:
libXres = super.libXres.overrideAttrs (attrs: {
outputs = [ "out" "dev" "devdoc" ];
buildInputs = with xorg; attrs.buildInputs ++ [ utilmacros ];
buildInputs = attrs.buildInputs ++ [ xorg.utilmacros ];
configureFlags = attrs.configureFlags or []
++ malloc0ReturnsNullCrossFlag;
});
libXScrnSaver = super.libXScrnSaver.overrideAttrs (attrs: {
buildInputs = with xorg; attrs.buildInputs ++ [ utilmacros ];
buildInputs = attrs.buildInputs ++ [ xorg.utilmacros ];
configureFlags = attrs.configureFlags or []
++ malloc0ReturnsNullCrossFlag;
});
@@ -401,7 +401,7 @@ self: super:
});
libXpresent = super.libXpresent.overrideAttrs (attrs: {
buildInputs = with xorg; attrs.buildInputs ++ [ libXext libXfixes libXrandr ];
buildInputs = attrs.buildInputs ++ [ xorg.libXext xorg.libXfixes xorg.libXrandr ];
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ xorg.libXfixes ];
});
@@ -417,7 +417,7 @@ self: super:
nativeBuildInputs = attrs.nativeBuildInputs ++ [ meson ninja ];
buildInputs = attrs.buildInputs ++ [ zlib ]
++ lib.optionals stdenv.hostPlatform.isNetBSD (with netbsd; [ libarch libpci ]);
++ lib.optionals stdenv.hostPlatform.isNetBSD [ netbsd.libarch netbsd.libpci ];
mesonFlags = [
(lib.mesonOption "pci-ids" "${hwdata}/share/hwdata")
@@ -668,15 +668,13 @@ self: super:
xkeyboardconfig_custom = { layouts ? { } }:
let
patchIn = name: layout:
with layout;
with lib;
''
# install layout files
${optionalString (compatFile != null) "cp '${compatFile}' 'compat/${name}'"}
${optionalString (geometryFile != null) "cp '${geometryFile}' 'geometry/${name}'"}
${optionalString (keycodesFile != null) "cp '${keycodesFile}' 'keycodes/${name}'"}
${optionalString (symbolsFile != null) "cp '${symbolsFile}' 'symbols/${name}'"}
${optionalString (typesFile != null) "cp '${typesFile}' 'types/${name}'"}
${lib.optionalString (layout.compatFile != null) "cp '${layout.compatFile}' 'compat/${name}'"}
${lib.optionalString (layout.geometryFile != null) "cp '${layout.geometryFile}' 'geometry/${name}'"}
${lib.optionalString (layout.keycodesFile != null) "cp '${layout.keycodesFile}' 'keycodes/${name}'"}
${lib.optionalString (layout.symbolsFile != null) "cp '${layout.symbolsFile}' 'symbols/${name}'"}
${lib.optionalString (layout.typesFile != null) "cp '${layout.typesFile}' 'types/${name}'"}
# add model description
${ed}/bin/ed -v rules/base.xml <<EOF
@@ -705,7 +703,7 @@ self: super:
<shortDescription>${name}</shortDescription>
<description>${layout.description}</description>
<languageList>
${concatMapStrings (lang: "<iso639Id>${lang}</iso639Id>\n") layout.languages}
${lib.concatMapStrings (lang: "<iso639Id>${lang}</iso639Id>\n") layout.languages}
</languageList>
</configItem>
<variantList/>
@@ -717,7 +715,7 @@ self: super:
in
xorg.xkeyboardconfig.overrideAttrs (old: {
buildInputs = old.buildInputs ++ [ automake ];
postPatch = with lib; concatStrings (mapAttrsToList patchIn layouts);
postPatch = lib.concatStrings (lib.mapAttrsToList patchIn layouts);
});
xlsfonts = super.xlsfonts.overrideAttrs (attrs: {
@@ -743,7 +741,7 @@ self: super:
meta = attrs.meta // { platforms = lib.platforms.unix ++ lib.platforms.windows; };
});
xorgserver = with xorg; super.xorgserver.overrideAttrs (attrs_passed:
xorgserver = super.xorgserver.overrideAttrs (attrs_passed:
let
attrs = attrs_passed // {
buildInputs = attrs_passed.buildInputs ++
@@ -759,14 +757,14 @@ self: super:
in attrs //
(let
version = lib.getVersion attrs;
commonBuildInputs = attrs.buildInputs ++ [ xtrans libxcvt ];
commonBuildInputs = attrs.buildInputs ++ [ xorg.xtrans xorg.libxcvt ];
commonPropagatedBuildInputs = [
dbus libGL libGLU libXext libXfont libXfont2 libepoxy libunwind
libxshmfence pixman xorgproto zlib
dbus libGL libGLU xorg.libXext xorg.libXfont xorg.libXfont2 libepoxy libunwind
xorg.libxshmfence xorg.pixman xorg.xorgproto zlib
];
# XQuartz requires two compilations: the first to get X / XQuartz,
# and the second to get Xvfb, Xnest, etc.
darwinOtherX = xorgserver.overrideAttrs (oldAttrs: {
darwinOtherX = xorg.xorgserver.overrideAttrs (oldAttrs: {
configureFlags = oldAttrs.configureFlags ++ [
"--disable-xquartz"
"--enable-xorg"
@@ -796,7 +794,7 @@ self: super:
./dont-create-logdir-during-build.patch
];
buildInputs = commonBuildInputs ++ [ libdrm mesa ];
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ libpciaccess ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ xorg.libpciaccess ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
udev
];
depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -844,7 +842,7 @@ self: super:
mesa
];
propagatedBuildInputs = commonPropagatedBuildInputs ++ [
libAppleWM xorgproto
xorg.libAppleWM xorg.xorgproto
];
patches = [
@@ -932,12 +930,12 @@ self: super:
"--without-dtrace"
];
buildInputs = old.buildInputs ++ (with xorg; [
pixman
libXfont2
xtrans
libxcvt
]) ++ lib.optional stdenv.isDarwin [ Xplugin ];
buildInputs = old.buildInputs ++ [
xorg.pixman
xorg.libXfont2
xorg.xtrans
xorg.libxcvt
] ++ lib.optional stdenv.isDarwin [ Xplugin ];
});
lndir = super.lndir.overrideAttrs (attrs: {
@@ -1182,8 +1180,7 @@ self: super:
super.${name}.overrideAttrs (attrs: {
meta = attrs.meta // { inherit license; };
});
mapNamesToAttrs = f: names: with lib;
listToAttrs (zipListsWith nameValuePair names (map f names));
mapNamesToAttrs = f: names: lib.listToAttrs (lib.zipListsWith lib.nameValuePair names (map f names));
in
mapNamesToAttrs (setLicense lib.licenses.unfreeRedistributable) redist //
+6 -6
View File
@@ -249,7 +249,7 @@ let
make test
'';
postInstall = with lib; ''
postInstall = ''
sed -r "s|command grep|command ${gnugrep}/bin/grep|" \
-i "$out/share/fish/functions/grep.fish"
sed -e "s|\|cut|\|${coreutils}/bin/cut|" \
@@ -262,7 +262,7 @@ let
"$out/share/fish/functions/prompt_pwd.fish"
sed -i "s|nroff|${groff}/bin/nroff|" \
"$out/share/fish/functions/__fish_print_help.fish"
sed -e "s|clear;|${getBin ncurses}/bin/clear;|" \
sed -e "s|clear;|${lib.getBin ncurses}/bin/clear;|" \
-i "$out/share/fish/functions/fish_default_key_bindings.fish"
sed -i "s|/usr/local/sbin /sbin /usr/sbin||" \
$out/share/fish/completions/{sudo.fish,doas.fish}
@@ -270,7 +270,7 @@ let
-i $out/share/fish/functions/{__fish_print_packages.fish,__fish_print_addresses.fish,__fish_describe_command.fish,__fish_complete_man.fish,__fish_complete_convert_options.fish} \
$out/share/fish/completions/{cwebp,adb,ezjail-admin,grunt,helm,heroku,lsusb,make,p4,psql,rmmod,vim-addons}.fish
'' + optionalString usePython ''
'' + lib.optionalString usePython ''
cat > $out/share/fish/functions/__fish_anypython.fish <<EOF
function __fish_anypython
echo ${python3.interpreter}
@@ -278,18 +278,18 @@ let
end
EOF
'' + optionalString stdenv.isLinux ''
'' + lib.optionalString stdenv.isLinux ''
for cur in $out/share/fish/functions/*.fish; do
sed -e "s|/usr/bin/getent|${getent}/bin/getent|" \
-i "$cur"
done
'' + optionalString (!stdenv.isDarwin) ''
'' + lib.optionalString (!stdenv.isDarwin) ''
sed -i "s|Popen(\['manpath'|Popen(\['${man-db}/bin/manpath'|" \
"$out/share/fish/tools/create_manpage_completions.py"
sed -i "s|command manpath|command ${man-db}/bin/manpath|" \
"$out/share/fish/functions/man.fish"
'' + optionalString useOperatingSystemEtc ''
'' + lib.optionalString useOperatingSystemEtc ''
tee -a $out/etc/fish/config.fish < ${etcConfigAppendix}
'' + ''
tee -a $out/share/fish/__fish_build_paths.fish < ${fishPreInitHooks}
+13 -8
View File
@@ -500,7 +500,7 @@ in
assert isFromBootstrapFiles prevStage.coreutils;
assert isFromBootstrapFiles prevStage.gnugrep;
assert isBuiltByNixpkgsCompiler prevStage.patchelf;
assert lib.all isBuiltByNixpkgsCompiler (with prevStage; [ gmp isl_0_20 libmpc mpfr ]);
assert lib.all isBuiltByNixpkgsCompiler [ prevStage.gmp prevStage.isl_0_20 prevStage.libmpc prevStage.mpfr ];
stageFun prevStage {
name = "bootstrap-stage3";
@@ -634,19 +634,24 @@ in
disallowedRequisites = [ bootstrapTools.out ];
# Mainly avoid reference to bootstrap tools
allowedRequisites = with prevStage; with lib;
allowedRequisites = let
inherit (prevStage) gzip bzip2 xz zlib bash binutils coreutils diffutils findutils
gawk gmp gnumake gnused gnutar gnugrep gnupatch patchelf ed file glibc
attr acl libidn2 libunistring linuxHeaders gcc fortify-headers gcc-unwrapped
;
in
# Simple executable tools
concatMap (p: [ (getBin p) (getLib p) ]) [
lib.concatMap (p: [ (lib.getBin p) (lib.getLib p) ]) [
gzip bzip2 xz bash binutils.bintools coreutils diffutils findutils
gawk gmp gnumake gnused gnutar gnugrep gnupatch patchelf ed file
]
# Library dependencies
++ map getLib (
++ map lib.getLib (
[ attr acl zlib gnugrep.pcre2 libidn2 libunistring ]
++ lib.optional (gawk.libsigsegv != null) gawk.libsigsegv
)
# More complicated cases
++ (map (x: getOutput x (getLibc prevStage)) [ "out" "dev" "bin" ] )
++ (map (x: lib.getOutput x (getLibc prevStage)) [ "out" "dev" "bin" ] )
++ [ linuxHeaders # propagated from .dev
binutils gcc gcc.cc gcc.cc.lib
gcc.expand-response-params # != (prevStage.)expand-response-params
@@ -654,9 +659,9 @@ in
]
++ lib.optionals (localSystem.libc == "musl") [ fortify-headers ]
++ [ prevStage.updateAutotoolsGnuConfigScriptsHook prevStage.gnu-config ]
++ (with gcc-unwrapped.passthru; [
gmp libmpc mpfr isl
])
++ [
gcc-unwrapped.gmp gcc-unwrapped.libmpc gcc-unwrapped.mpfr gcc-unwrapped.isl
]
;
overrides = self: super: {
+5 -5
View File
@@ -190,7 +190,7 @@ rec {
texdoc = runCommand "texlive-test-texdoc" {
nativeBuildInputs = [
(texlive.withPackages (ps: with ps; [ luatex ps.texdoc ps.texdoc.texdoc ]))
(texlive.withPackages (ps: [ ps.luatex ps.texdoc ps.texdoc.texdoc ]))
];
} ''
texdoc --version
@@ -668,14 +668,14 @@ rec {
# verify that all fixed hashes are present
# this is effectively an eval-time assertion, converted into a derivation for
# ease of testing
fixedHashes = with lib; let
fixedHashes = let
fods = lib.concatMap
(p: lib.optional (p ? tex && isDerivation p.tex) p.tex
(p: lib.optional (p ? tex && lib.isDerivation p.tex) p.tex
++ lib.optional (p ? texdoc) p.texdoc
++ lib.optional (p ? texsource) p.texsource
++ lib.optional (p ? tlpkg) p.tlpkg)
(attrValues texlive.pkgs);
errorText = concatMapStrings (p: optionalString (! p ? outputHash) "${p.pname}-${p.tlOutputName} does not have a fixed output hash\n") fods;
(lib.attrValues texlive.pkgs);
errorText = lib.concatMapStrings (p: lib.optionalString (! p ? outputHash) "${p.pname}-${p.tlOutputName} does not have a fixed output hash\n") fods;
in runCommand "texlive-test-fixed-hashes" {
inherit errorText;
passAsFile = [ "errorText" ];
+3 -3
View File
@@ -29,13 +29,13 @@ stdenv.mkDerivation rec {
libXinerama
];
postPatch = with lib;
postPatch =
let
configFile =
if isDerivation conf || builtins.isPath conf
if lib.isDerivation conf || builtins.isPath conf
then conf else writeText "config.h" conf;
in
optionalString (conf != null) "cp ${configFile} config.h";
lib.optionalString (conf != null) "cp ${configFile} config.h";
makeFlags = [ "PREFIX=$(out)" ];

Some files were not shown because too many files have changed in this diff Show More