mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 23:03:40 +01:00
Merge master into staging-next
This commit is contained in:
commit
140a35879a
52 changed files with 1278 additions and 159 deletions
|
@ -690,6 +690,7 @@ in {
|
|||
terminal-emulators = handleTest ./terminal-emulators.nix {};
|
||||
tiddlywiki = handleTest ./tiddlywiki.nix {};
|
||||
tigervnc = handleTest ./tigervnc.nix {};
|
||||
timescaledb = handleTest ./timescaledb.nix {};
|
||||
timezone = handleTest ./timezone.nix {};
|
||||
tinc = handleTest ./tinc {};
|
||||
tinydns = handleTest ./tinydns.nix {};
|
||||
|
|
93
nixos/tests/timescaledb.nix
Normal file
93
nixos/tests/timescaledb.nix
Normal file
|
@ -0,0 +1,93 @@
|
|||
# mostly copied from ./postgresql.nix as it seemed unapproriate to
|
||||
# test additional extensions for postgresql there.
|
||||
|
||||
{ system ? builtins.currentSystem
|
||||
, config ? { }
|
||||
, pkgs ? import ../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
postgresql-versions = import ../../pkgs/servers/sql/postgresql pkgs;
|
||||
test-sql = pkgs.writeText "postgresql-test" ''
|
||||
CREATE EXTENSION timescaledb;
|
||||
CREATE EXTENSION timescaledb_toolkit;
|
||||
|
||||
CREATE TABLE sth (
|
||||
time TIMESTAMPTZ NOT NULL,
|
||||
value DOUBLE PRECISION
|
||||
);
|
||||
|
||||
SELECT create_hypertable('sth', 'time');
|
||||
|
||||
INSERT INTO sth (time, value) VALUES
|
||||
('2003-04-12 04:05:06 America/New_York', 1.0),
|
||||
('2003-04-12 04:05:07 America/New_York', 2.0),
|
||||
('2003-04-12 04:05:08 America/New_York', 3.0),
|
||||
('2003-04-12 04:05:09 America/New_York', 4.0),
|
||||
('2003-04-12 04:05:10 America/New_York', 5.0)
|
||||
;
|
||||
|
||||
WITH t AS (
|
||||
SELECT
|
||||
time_bucket('1 day'::interval, time) AS dt,
|
||||
stats_agg(value) AS stats
|
||||
FROM sth
|
||||
GROUP BY time_bucket('1 day'::interval, time)
|
||||
)
|
||||
SELECT
|
||||
average(stats)
|
||||
FROM t;
|
||||
'';
|
||||
make-postgresql-test = postgresql-name: postgresql-package: makeTest {
|
||||
name = postgresql-name;
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ typetetris ];
|
||||
};
|
||||
|
||||
nodes.machine = { ... }:
|
||||
{
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
package = postgresql-package;
|
||||
extraPlugins = with postgresql-package.pkgs; [
|
||||
timescaledb
|
||||
timescaledb_toolkit
|
||||
];
|
||||
settings = { shared_preload_libraries = "timescaledb, timescaledb_toolkit"; };
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
def check_count(statement, lines):
|
||||
return 'test $(sudo -u postgres psql postgres -tAc "{}"|wc -l) -eq {}'.format(
|
||||
statement, lines
|
||||
)
|
||||
|
||||
|
||||
machine.start()
|
||||
machine.wait_for_unit("postgresql")
|
||||
|
||||
with subtest("Postgresql with extensions timescaledb and timescaledb_toolkit is available just after unit start"):
|
||||
machine.succeed(
|
||||
"sudo -u postgres psql -f ${test-sql}"
|
||||
)
|
||||
|
||||
machine.fail(check_count("SELECT * FROM sth;", 3))
|
||||
machine.succeed(check_count("SELECT * FROM sth;", 5))
|
||||
machine.fail(check_count("SELECT * FROM sth;", 4))
|
||||
|
||||
machine.shutdown()
|
||||
'';
|
||||
|
||||
};
|
||||
applicablePostgresqlVersions = filterAttrs (_: value: versionAtLeast value.version "12") postgresql-versions;
|
||||
in
|
||||
mapAttrs'
|
||||
(name: package: {
|
||||
inherit name;
|
||||
value = make-postgresql-test name package;
|
||||
})
|
||||
applicablePostgresqlVersions
|
|
@ -29,13 +29,13 @@
|
|||
|
||||
buildDotnetModule rec {
|
||||
pname = "ryujinx";
|
||||
version = "1.1.650"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||
version = "1.1.651"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Ryujinx";
|
||||
repo = "Ryujinx";
|
||||
rev = "b8556530f2b160db70ff571adf25ae26d4b8f58f";
|
||||
sha256 = "098yx4nwmkbab595a2xq9f5libzvsj01f3wf83nsbgzndy1h85ja";
|
||||
rev = "f0562b9c75308c8cfcaa2458dfd37ac42751a374";
|
||||
sha256 = "1bkfncms8lagxhpnafyahrghzvpklsgxddqq7w1wzjzyxp6pxc51";
|
||||
};
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_7_0;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
, qtlocation ? null # qt5 only
|
||||
, qtpositioning ? null # qt6 only
|
||||
, qtpbfimageplugin
|
||||
, qtserialport
|
||||
, qtsvg
|
||||
, qt5compat ? null # qt6 only
|
||||
, wrapQtAppsHook
|
||||
|
@ -21,13 +22,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gpxsee";
|
||||
version = "11.12";
|
||||
version = "12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tumic0";
|
||||
repo = "GPXSee";
|
||||
rev = version;
|
||||
hash = "sha256-W35KBPYvTKrSi7UnzcUz8MsUwoq8rY5g/+hL1/gVpbI=";
|
||||
hash = "sha256-d+hQNI+eCSMRFMzq09wL+GN9TgOIt245Z8GlPe7nY8E=";
|
||||
};
|
||||
|
||||
patches = (substituteAll {
|
||||
|
@ -36,7 +37,7 @@ stdenv.mkDerivation rec {
|
|||
inherit qttranslations;
|
||||
});
|
||||
|
||||
buildInputs = [ qtpbfimageplugin ]
|
||||
buildInputs = [ qtpbfimageplugin qtserialport ]
|
||||
++ (if isQt6 then [
|
||||
qtbase
|
||||
qtpositioning
|
||||
|
@ -55,6 +56,8 @@ stdenv.mkDerivation rec {
|
|||
postInstall = lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/Applications
|
||||
mv GPXSee.app $out/Applications
|
||||
mkdir -p $out/bin
|
||||
ln -s $out/Applications/GPXSee.app/Contents/MacOS/GPXSee $out/bin/gpxsee
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles, stdenv }:
|
||||
|
||||
let
|
||||
version = "0.41.0";
|
||||
sha256 = "1xqgscmzq96jdlvwmckpz2zh7gsdla77xir6a6nylz509wkv3gid";
|
||||
manifestsSha256 = "03azig0axa6d5yapzr36ziza1jsy549sqnna6ja6xa2zl0ljx33n";
|
||||
version = "0.41.1";
|
||||
sha256 = "0nrwhq336n0aj1c51difgxk9an8d1j4yfkxn9sgzw9dq50rrrinf";
|
||||
manifestsSha256 = "1rrmdbaian8wskcyaa2nifp4mp4bz0nqgwz6ah5r0ywg48cfq2gm";
|
||||
|
||||
manifests = fetchzip {
|
||||
url =
|
||||
|
@ -23,7 +23,7 @@ in buildGoModule rec {
|
|||
inherit sha256;
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-nQzpJX1B1zXpW27YtzkAYK2vL7rnWPgAtlZlZqdV5QI=";
|
||||
vendorSha256 = "sha256-Oh1FBTHkICQZ79qf8XCL7ifi5Wd3jrIDupBKzYo+AEA=";
|
||||
|
||||
postUnpack = ''
|
||||
cp -r ${manifests} source/cmd/flux/manifests
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, buildGo120Module
|
||||
, fetchFromGitHub
|
||||
, gitUpdater
|
||||
, makeWrapper
|
||||
|
@ -7,20 +7,20 @@
|
|||
, libxcrypt
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
buildGo120Module rec {
|
||||
pname = "shellhub-agent";
|
||||
version = "0.10.8";
|
||||
version = "0.11.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "shellhub-io";
|
||||
repo = "shellhub";
|
||||
rev = "v${version}";
|
||||
sha256 = "BtD22Ss5PuVx2RVLQIsUeGBJBl5lh1XHJ0vcM2bOEwk=";
|
||||
sha256 = "eZLQzy3lWwGM6VWFbsJ6JuGC+/dZnoymZgNtM8CPBM4=";
|
||||
};
|
||||
|
||||
modRoot = "./agent";
|
||||
|
||||
vendorSha256 = "sha256-tvKiTQioj999oIUDHUSXTMXOh/LKoykzu8JEUnrelws=";
|
||||
vendorSha256 = "sha256-7kDPo24I58Nh7OiHj6Zy40jAEaXSOmbcczkgJPXBItU=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
|
||||
|
||||
|
|
|
@ -12,15 +12,27 @@
|
|||
, perl
|
||||
}:
|
||||
|
||||
let
|
||||
versionReplace = {
|
||||
easybind = {
|
||||
snapshot = "2.2.1-SNAPSHOT";
|
||||
pin = "2.2.1-20230117.075740-16";
|
||||
};
|
||||
afterburner = {
|
||||
snapshot = "testmoduleinfo-SNAPSHOT";
|
||||
pin = "0e337d8773";
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "5.7";
|
||||
version = "5.9";
|
||||
pname = "jabref";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "JabRef";
|
||||
repo = "jabref";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-wzBaAaxGsMPh64uW+bBOiycYfVCW9H5FCn06r6XdxeE=";
|
||||
hash = "sha256-uACmXas5L1NcxLwllkcbgCCt9bRicpQkiJkhkkVWDDY=";
|
||||
};
|
||||
|
||||
desktopItems = [
|
||||
|
@ -39,28 +51,37 @@ stdenv.mkDerivation rec {
|
|||
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version;
|
||||
inherit src version postPatch;
|
||||
|
||||
nativeBuildInputs = [ gradle perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon downloadDependencies
|
||||
gradle --no-daemon downloadDependencies -Dos.arch=amd64
|
||||
gradle --no-daemon downloadDependencies -Dos.arch=aarch64
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/-jvm//r)}" #e' \
|
||||
| sh
|
||||
mv $out/com/tobiasdiez/easybind/${versionReplace.easybind.pin} \
|
||||
$out/com/tobiasdiez/easybind/${versionReplace.easybind.snapshot}
|
||||
'';
|
||||
# Don't move info to share/
|
||||
forceShare = [ "dummy" ];
|
||||
outputHashMode = "recursive";
|
||||
outputHash = {
|
||||
x86_64-linux = "sha256-OicHJVFxHGPE76bEDoLhkEhVcAJmplqjoh2I3nnVaLA=";
|
||||
aarch64-linux = "sha256-8QWmweptL/+pSO6DhfBLaLcBrfKd4TDsDoXs4TgXvew=";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system ${stdenv.hostPlatform.system}");
|
||||
outputHash = "sha256-s6GA8iT3UEVuELBgpBvzPJlVX+9DpfOQrEd3KIth8eA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# Pin the version
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'com.github.JabRef:afterburner.fx:${versionReplace.afterburner.snapshot}' \
|
||||
'com.github.JabRef:afterburner.fx:${versionReplace.afterburner.pin}' \
|
||||
--replace 'com.tobiasdiez:easybind:${versionReplace.easybind.snapshot}' \
|
||||
'com.tobiasdiez:easybind:${versionReplace.easybind.pin}'
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
# Include CSL styles and locales in our build
|
||||
cp -r buildres/csl/* src/main/resources/
|
||||
|
@ -114,9 +135,13 @@ stdenv.mkDerivation rec {
|
|||
# Resources in the jar can't be found, workaround copied from AUR
|
||||
cp -r build/resources $out/share/java/jabref
|
||||
|
||||
# workaround for https://github.com/NixOS/nixpkgs/issues/162064
|
||||
tar xf build/distributions/JabRef-${version}.tar -C $out --strip-components=1
|
||||
unzip $out/lib/javafx-web-*-linux${lib.optionalString stdenv.isAarch64 "-aarch64"}.jar libjfxwebkit.so -d $out/lib/
|
||||
|
||||
# remove openjfx libs for other platforms
|
||||
rm $out/lib/javafx-*-win.jar ${lib.optionalString stdenv.isAarch64 "$out/lib/javafx-*-linux.jar"}
|
||||
|
||||
# workaround for https://github.com/NixOS/nixpkgs/issues/162064
|
||||
unzip $out/lib/javafx-web-*.jar libjfxwebkit.so -d $out/lib/
|
||||
|
||||
DEFAULT_JVM_OPTS=$(sed -n -E "s/^DEFAULT_JVM_OPTS='(.*)'$/\1/p" $out/bin/JabRef | sed -e "s|\$APP_HOME|$out|g" -e 's/"//g')
|
||||
rm $out/bin/*
|
||||
|
|
|
@ -11,16 +11,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "karlender";
|
||||
version = "0.9.0";
|
||||
version = "0.9.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "floers";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-lmNG9B2uO/zitOY/cNjnLRjCn6mSJ3CIpXIXpChDi9A=";
|
||||
hash = "sha256-mtkVdVxO796hZZJrGohNTeZfC43rdvEUgUZvBG92f8c=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-foxl8pqRqEbVwUWUGHmaTGazrwLQxcDJ/RvJE9wIszg=";
|
||||
cargoHash = "sha256-jbdQ1dwTRJuA4F89YfxsO2PaHVef8bvxAj13veDteNM=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
@ -79,12 +79,6 @@ stdenv.mkDerivation rec {
|
|||
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/undoing_true_false_printing_patch.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
|
||||
sha256 = "0fvi3rcjv6743sqsbgdzazy9jb6r1p1yq63zyj9fx42wd1hgf7yx";
|
||||
})
|
||||
] ++ lib.optionals (lisp-compiler.pname == "ecl") [
|
||||
# build fasl, needed for ECL support
|
||||
(fetchpatch {
|
||||
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/maxima.system.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
|
||||
sha256 = "18zafig8vflhkr80jq2ivk46k92dkszqlyq8cfmj0b2vcfjwwbar";
|
||||
})
|
||||
];
|
||||
|
||||
# The test suite is disabled since 5.42.2 because of the following issues:
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
let
|
||||
pname = "gfold";
|
||||
version = "4.3.1";
|
||||
version = "4.3.2";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit pname version;
|
||||
|
@ -21,10 +21,10 @@ rustPlatform.buildRustPackage {
|
|||
owner = "nickgerace";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-jlUGtTtoJ3DQbs4VEDUbYyl+s9S+bLTQ+GM6OQg6MNo=";
|
||||
sha256 = "sha256-wZokY1KhhO3aztLIeZU/saGibzTYB9loGe003arFWEs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Mrqg0wOG3JHDdGMZMcFsifpazOukZeoMPrQh4vIfQyU=";
|
||||
cargoHash = "sha256-yII5lm0zbP46gUsLrr3/828Tolwg5meRP5TVvEMy8Dg=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "glab";
|
||||
version = "1.25.3";
|
||||
version = "1.26.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-x/VH6cRrJZ2t2iftBPC86FcgIwjRNzV11MwLG2y+Paw=";
|
||||
hash = "sha256-k0wkHw12MyVsAudaihoymGkP4y5y98cR7LKa+hEC1Mc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-FZ1CiR8Rj/sMoCnQm6ArGQfRTlvmD14EZDmufnlTSTk=";
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
, glib
|
||||
, cairo
|
||||
, keybinder3
|
||||
, ffmpeg
|
||||
, ffmpeg-full
|
||||
, python3
|
||||
, libxml2
|
||||
, gst_all_1
|
||||
|
@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ which ffmpeg gifski ]})
|
||||
gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ which ffmpeg-full gifski ]})
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "v2ray-geoip";
|
||||
version = "202303020053";
|
||||
version = "202303090050";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2fly";
|
||||
repo = "geoip";
|
||||
rev = "c002daa9332a673ce2fabe61eb9c45dc6a54f3fa";
|
||||
sha256 = "sha256-Pfny59HitidyXgXaI/1V3UNdM18X0+vVCyKP4qkL1rY=";
|
||||
rev = "e1cd759a93ff7e65cd8099ee628803a83ab8cae0";
|
||||
sha256 = "sha256-m6TYu6cT57MDOXXfI76ufGDWJYmxjtVZg5vSToM8btE=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -234,14 +234,13 @@ stdenv.mkDerivation (rec {
|
|||
sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5";
|
||||
})
|
||||
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||
|
||||
# Prevent the paths module from emitting symbols that we don't use
|
||||
# when building with separate outputs.
|
||||
#
|
||||
# These cause problems as they're not eliminated by GHC's dead code
|
||||
# elimination on aarch64-darwin. (see
|
||||
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
|
||||
./cabal-paths.patch
|
||||
./Cabal-3.2-3.4-paths-fix-cycle-aarch64-darwin.patch
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
|
|
@ -212,14 +212,13 @@ stdenv.mkDerivation (rec {
|
|||
sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI=";
|
||||
})
|
||||
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||
|
||||
# Prevent the paths module from emitting symbols that we don't use
|
||||
# when building with separate outputs.
|
||||
#
|
||||
# These cause problems as they're not eliminated by GHC's dead code
|
||||
# elimination on aarch64-darwin. (see
|
||||
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
|
||||
./cabal-paths.patch
|
||||
./Cabal-3.2-3.4-paths-fix-cycle-aarch64-darwin.patch
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
|
|
@ -210,6 +210,14 @@ stdenv.mkDerivation (rec {
|
|||
extraPrefix = "libraries/Cabal/";
|
||||
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
|
||||
})
|
||||
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||
# Prevent the paths module from emitting symbols that we don't use
|
||||
# when building with separate outputs.
|
||||
#
|
||||
# These cause problems as they're not eliminated by GHC's dead code
|
||||
# elimination on aarch64-darwin. (see
|
||||
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
|
||||
./Cabal-3.6-paths-fix-cycle-aarch64-darwin.patch
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
|
|
@ -210,6 +210,14 @@ stdenv.mkDerivation (rec {
|
|||
extraPrefix = "libraries/Cabal/";
|
||||
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
|
||||
})
|
||||
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||
# Prevent the paths module from emitting symbols that we don't use
|
||||
# when building with separate outputs.
|
||||
#
|
||||
# These cause problems as they're not eliminated by GHC's dead code
|
||||
# elimination on aarch64-darwin. (see
|
||||
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
|
||||
./Cabal-3.6-paths-fix-cycle-aarch64-darwin.patch
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
|
|
@ -210,6 +210,14 @@ stdenv.mkDerivation (rec {
|
|||
extraPrefix = "libraries/Cabal/";
|
||||
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
|
||||
})
|
||||
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||
# Prevent the paths module from emitting symbols that we don't use
|
||||
# when building with separate outputs.
|
||||
#
|
||||
# These cause problems as they're not eliminated by GHC's dead code
|
||||
# elimination on aarch64-darwin. (see
|
||||
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
|
||||
./Cabal-3.6-paths-fix-cycle-aarch64-darwin.patch
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
|
|
@ -210,6 +210,14 @@ stdenv.mkDerivation (rec {
|
|||
extraPrefix = "libraries/Cabal/";
|
||||
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
|
||||
})
|
||||
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||
# Prevent the paths module from emitting symbols that we don't use
|
||||
# when building with separate outputs.
|
||||
#
|
||||
# These cause problems as they're not eliminated by GHC's dead code
|
||||
# elimination on aarch64-darwin. (see
|
||||
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
|
||||
./Cabal-3.6-paths-fix-cycle-aarch64-darwin.patch
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
|
|
@ -0,0 +1,602 @@
|
|||
This patch is based on https://github.com/sternenseemann/cabal/compare/982646d67b95b32813b89ab5d2d2f4d4dc03fb2b..7c49047f253e1f128e2df356400ec5da6f11066b
|
||||
and has been postprocessed with `filterdiff --strip=1 --addoldprefix=a/libraries/Cabal/ --addnewprefix=b/libraries/Cabal/`.
|
||||
Note that the base for the diff is not the Cabal 3.6.3.0 release tag, but
|
||||
982646d67b95b32813b89ab5d2d2f4d4dc03fb2b which is obtained by applying
|
||||
https://github.com/haskell/cabal/commit/6c796218c92f93c95e94d5ec2d077f6956f68e98
|
||||
on top of said release tag. That patch is applied to all our GHCs in the 9.2 series.
|
||||
|
||||
Reasoning and explanation of the patch can be found in the comment in the diff for PathsModule.hs below.
|
||||
|
||||
diffCabal/src/Distribution/Simple/Build/PathsModule.hs b/Cabal/src/Distribution/Simple/Build/PathsModule.hs
|
||||
index b2be7e1a8..9b63e9850 100644
|
||||
--- a/libraries/Cabal/Cabal/src/Distribution/Simple/Build/PathsModule.hs
|
||||
+++ b/libraries/Cabal/Cabal/src/Distribution/Simple/Build/PathsModule.hs
|
||||
@@ -46,6 +46,7 @@ generatePathsModule pkg_descr lbi clbi = Z.render Z.Z
|
||||
, Z.zIsWindows = isWindows
|
||||
, Z.zIsI386 = buildArch == I386
|
||||
, Z.zIsX8664 = buildArch == X86_64
|
||||
+ , Z.zOr = (||)
|
||||
, Z.zNot = not
|
||||
, Z.zManglePkgName = showPkgName
|
||||
|
||||
@@ -56,8 +57,112 @@ generatePathsModule pkg_descr lbi clbi = Z.render Z.Z
|
||||
, Z.zDatadir = zDatadir
|
||||
, Z.zLibexecdir = zLibexecdir
|
||||
, Z.zSysconfdir = zSysconfdir
|
||||
+
|
||||
+ -- Sadly we can't be cleverer about this – we can't have literals in the template
|
||||
+ , Z.zShouldEmitDataDir = shouldEmit "DataDir"
|
||||
+ , Z.zShouldEmitLibDir = shouldEmit "LibDir"
|
||||
+ , Z.zShouldEmitDynLibDir = shouldEmit "DynLibDir"
|
||||
+ , Z.zShouldEmitLibexecDir = shouldEmit "LibexecDir"
|
||||
+ , Z.zShouldEmitSysconfDir = shouldEmit "SysconfDir"
|
||||
+
|
||||
+ , Z.zWarning = zWarning
|
||||
+ , Z.zShouldEmitWarning = zShouldEmitWarning
|
||||
}
|
||||
where
|
||||
+ -- GHC's NCG backend for aarch64-darwin does not support link-time dead code
|
||||
+ -- elimination to the extent that NCG does for other targets. Consequently,
|
||||
+ -- we struggle with unnecessarily retained store path references due to the
|
||||
+ -- use of `Paths_*` modules – even if `getLibDir` is not used, it'll end up
|
||||
+ -- in the final library or executables we build.
|
||||
+ --
|
||||
+ -- When using a different output for the executables and library, this
|
||||
+ -- becomes more sinister: The library will contain a reference to the bin
|
||||
+ -- output and itself due to `getLibDir` and `getBinDir`, but the executables
|
||||
+ -- will do so, too. Either due to linking dynamically or because the library
|
||||
+ -- is linked statically into the executable and retains those references.
|
||||
+ -- Since Nix disallows cyclical references between two outputs, it becomes
|
||||
+ -- impossible to use the `Paths_*` module and a separate `bin` output for
|
||||
+ -- aarch64-darwin.
|
||||
+ --
|
||||
+ -- The solution we have resorted to for now, is to trim the `Paths_*` module
|
||||
+ -- dynamically depending on what references *could* be used without causing
|
||||
+ -- a cyclical reference. That has the effect that any code that would not
|
||||
+ -- cause a cyclical reference with dead code elimination will compile and
|
||||
+ -- work for aarch64-darwin. If the code would use a `get*Dir` function that
|
||||
+ -- has been omitted, this would indicate that the code would have caused a
|
||||
+ -- cyclical reference anyways.
|
||||
+ --
|
||||
+ -- The logic for this makes some pretty big assumptions about installation
|
||||
+ -- prefixes that probably only hold fully in nixpkgs with
|
||||
+ -- `haskellPackages.mkDerivation`. Simple uses outside nixpkgs that have
|
||||
+ -- everything below the same prefix should continue to work as expected,
|
||||
+ -- though.
|
||||
+ --
|
||||
+ -- We assume the following:
|
||||
+ --
|
||||
+ -- - flat_prefix is `$out`.
|
||||
+ -- - flat_libdir etc. are always below `$out`.
|
||||
+ --
|
||||
+ -- Since in the normal case due to static linking `$bin` and `$out` will
|
||||
+ -- have the same references in libraries/executables, we need to either
|
||||
+ -- prevent usage of `getBinDir` or `getLibDir` to break the cycle in case
|
||||
+ -- `flat_bindir` is not below `$out`. We have decided to always allow usage
|
||||
+ -- of `getBinDir`, so `getLibDir` gets dropped if a separate `bin` output is
|
||||
+ -- used. This has the simple reason that `$out` which contains `flat_libdir`
|
||||
+ -- tends to be quite big – we would like to have a `bin` output that doesn't
|
||||
+ -- require keeping that around.
|
||||
+ pathEmittable :: FilePath -> Bool
|
||||
+ pathEmittable p
|
||||
+ -- If the executable installation target is below `$out` the reference
|
||||
+ -- cycle is within a single output (since libs are installed to `$out`)
|
||||
+ -- and thus unproblematic. We can use any and all `get*Dir` functions.
|
||||
+ | flat_prefix `isPrefixOf` flat_bindir = True
|
||||
+ -- Otherwise, we need to disallow all `get*Dir` functions that would cause
|
||||
+ -- a reference to `$out` which contains the libraries that would in turn
|
||||
+ -- reference `$bin`. This always include `flat_libdir` and friends, but
|
||||
+ -- can also include `flat_datadir` if no separate output for data files is
|
||||
+ -- used.
|
||||
+ | otherwise = not (flat_prefix `isPrefixOf` p)
|
||||
+
|
||||
+ -- This list maps the "name" of the directory to whether we want to include
|
||||
+ -- it in the `Paths_*` module or not. `shouldEmit` performs a lookup in this.
|
||||
+ dirs :: [(String, Bool)]
|
||||
+ dirs =
|
||||
+ map
|
||||
+ (\(name, path) -> (name, pathEmittable path))
|
||||
+ [ ("LibDir", flat_libdir)
|
||||
+ , ("DynLibDir", flat_dynlibdir)
|
||||
+ , ("DataDir", flat_datadir)
|
||||
+ , ("LibexecDir", flat_libexecdir)
|
||||
+ , ("SysconfDir", flat_sysconfdir)
|
||||
+ ]
|
||||
+
|
||||
+ shouldEmit :: String -> Bool
|
||||
+ shouldEmit name =
|
||||
+ case lookup name dirs of
|
||||
+ Just b -> b
|
||||
+ Nothing -> error "panic! BUG in Cabal Paths_ patch for aarch64-darwin, report this at https://github.com/nixos/nixpkgs/issues"
|
||||
+
|
||||
+ -- This is a comma separated list of all functions that have been omitted.
|
||||
+ -- This is included in a GHC warning which will be attached to the `Paths_*`
|
||||
+ -- module in case we are dropping any `get*Dir` functions that would
|
||||
+ -- normally exist.
|
||||
+ --
|
||||
+ -- TODO: getDataFileName is not accounted for at the moment.
|
||||
+ omittedFunctions :: String
|
||||
+ omittedFunctions =
|
||||
+ intercalate ", "
|
||||
+ $ map (("get" ++) . fst)
|
||||
+ $ filter (not . snd) dirs
|
||||
+
|
||||
+ zWarning :: String
|
||||
+ zWarning =
|
||||
+ show $
|
||||
+ "The following functions have been omitted by a nixpkgs-specific patch to Cabal: "
|
||||
+ ++ omittedFunctions
|
||||
+ zShouldEmitWarning :: Bool
|
||||
+ zShouldEmitWarning = any (not . snd) dirs
|
||||
+
|
||||
supports_cpp = supports_language_pragma
|
||||
supports_rebindable_syntax = ghc_newer_than (mkVersion [7,0,1])
|
||||
supports_language_pragma = ghc_newer_than (mkVersion [6,6,1])
|
||||
diffCabal/src/Distribution/Simple/Build/PathsModule/Z.hs b/Cabal/src/Distribution/Simple/Build/PathsModule/Z.hs
|
||||
index 6488ea061..a6cdc8e31 100644
|
||||
--- a/libraries/Cabal/Cabal/src/Distribution/Simple/Build/PathsModule/Z.hs
|
||||
+++ b/libraries/Cabal/Cabal/src/Distribution/Simple/Build/PathsModule/Z.hs
|
||||
@@ -18,6 +18,14 @@ data Z
|
||||
zDatadir :: FilePath,
|
||||
zLibexecdir :: FilePath,
|
||||
zSysconfdir :: FilePath,
|
||||
+ zShouldEmitLibDir :: Bool,
|
||||
+ zShouldEmitDynLibDir :: Bool,
|
||||
+ zShouldEmitLibexecDir :: Bool,
|
||||
+ zShouldEmitDataDir :: Bool,
|
||||
+ zShouldEmitSysconfDir :: Bool,
|
||||
+ zShouldEmitWarning :: Bool,
|
||||
+ zWarning :: String,
|
||||
+ zOr :: (Bool -> Bool -> Bool),
|
||||
zNot :: (Bool -> Bool),
|
||||
zManglePkgName :: (PackageName -> String)}
|
||||
deriving Generic
|
||||
@@ -45,10 +53,51 @@ render z_root = execWriter $ do
|
||||
tell "{-# OPTIONS_GHC -w #-}\n"
|
||||
tell "module Paths_"
|
||||
tell (zManglePkgName z_root (zPackageName z_root))
|
||||
- tell " (\n"
|
||||
+ tell "\n"
|
||||
+ tell " "
|
||||
+ if (zShouldEmitWarning z_root)
|
||||
+ then do
|
||||
+ tell "{-# WARNING "
|
||||
+ tell (zWarning z_root)
|
||||
+ tell " #-}"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
+ tell "\n"
|
||||
+ tell " (\n"
|
||||
tell " version,\n"
|
||||
- tell " getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,\n"
|
||||
- tell " getDataFileName, getSysconfDir\n"
|
||||
+ tell " getBinDir,\n"
|
||||
+ if (zOr z_root (zNot z_root (zAbsolute z_root)) (zShouldEmitLibDir z_root))
|
||||
+ then do
|
||||
+ tell " getLibDir,\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
+ if (zOr z_root (zNot z_root (zAbsolute z_root)) (zShouldEmitDynLibDir z_root))
|
||||
+ then do
|
||||
+ tell " getDynLibDir,\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
+ if (zOr z_root (zNot z_root (zAbsolute z_root)) (zShouldEmitLibexecDir z_root))
|
||||
+ then do
|
||||
+ tell " getLibexecDir,\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
+ if (zOr z_root (zNot z_root (zAbsolute z_root)) (zShouldEmitDataDir z_root))
|
||||
+ then do
|
||||
+ tell " getDataFileName,\n"
|
||||
+ tell " getDataDir,\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
+ if (zOr z_root (zNot z_root (zAbsolute z_root)) (zShouldEmitSysconfDir z_root))
|
||||
+ then do
|
||||
+ tell " getSysconfDir\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
tell " ) where\n"
|
||||
tell "\n"
|
||||
if (zNot z_root (zAbsolute z_root))
|
||||
@@ -97,12 +146,15 @@ render z_root = execWriter $ do
|
||||
tell (zVersionDigits z_root)
|
||||
tell " []\n"
|
||||
tell "\n"
|
||||
- tell "getDataFileName :: FilePath -> IO FilePath\n"
|
||||
- tell "getDataFileName name = do\n"
|
||||
- tell " dir <- getDataDir\n"
|
||||
- tell " return (dir `joinFileName` name)\n"
|
||||
- tell "\n"
|
||||
- tell "getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath\n"
|
||||
+ if (zOr z_root (zNot z_root (zAbsolute z_root)) (zShouldEmitDataDir z_root))
|
||||
+ then do
|
||||
+ tell "getDataFileName :: FilePath -> IO FilePath\n"
|
||||
+ tell "getDataFileName name = do\n"
|
||||
+ tell " dir <- getDataDir\n"
|
||||
+ tell " return (dir `joinFileName` name)\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
tell "\n"
|
||||
let
|
||||
z_var0_function_defs = do
|
||||
@@ -130,6 +182,7 @@ render z_root = execWriter $ do
|
||||
tell "\n"
|
||||
if (zRelocatable z_root)
|
||||
then do
|
||||
+ tell "\n"
|
||||
tell "\n"
|
||||
tell "getPrefixDirReloc :: FilePath -> IO FilePath\n"
|
||||
tell "getPrefixDirReloc dirRel = do\n"
|
||||
@@ -139,31 +192,37 @@ render z_root = execWriter $ do
|
||||
tell (zBindir z_root)
|
||||
tell ") `joinFileName` dirRel)\n"
|
||||
tell "\n"
|
||||
+ tell "getBinDir :: IO FilePath\n"
|
||||
tell "getBinDir = catchIO (getEnv \""
|
||||
tell (zManglePkgName z_root (zPackageName z_root))
|
||||
tell "_bindir\") (\\_ -> getPrefixDirReloc $ "
|
||||
tell (zBindir z_root)
|
||||
tell ")\n"
|
||||
+ tell "getLibDir :: IO FilePath\n"
|
||||
tell "getLibDir = catchIO (getEnv \""
|
||||
tell (zManglePkgName z_root (zPackageName z_root))
|
||||
tell "_libdir\") (\\_ -> getPrefixDirReloc $ "
|
||||
tell (zLibdir z_root)
|
||||
tell ")\n"
|
||||
+ tell "getDynLibDir :: IO FilePath\n"
|
||||
tell "getDynLibDir = catchIO (getEnv \""
|
||||
tell (zManglePkgName z_root (zPackageName z_root))
|
||||
tell "_dynlibdir\") (\\_ -> getPrefixDirReloc $ "
|
||||
tell (zDynlibdir z_root)
|
||||
tell ")\n"
|
||||
+ tell "getDataDir :: IO FilePath\n"
|
||||
tell "getDataDir = catchIO (getEnv \""
|
||||
tell (zManglePkgName z_root (zPackageName z_root))
|
||||
tell "_datadir\") (\\_ -> getPrefixDirReloc $ "
|
||||
tell (zDatadir z_root)
|
||||
tell ")\n"
|
||||
+ tell "getLibexecDir :: IO FilePath\n"
|
||||
tell "getLibexecDir = catchIO (getEnv \""
|
||||
tell (zManglePkgName z_root (zPackageName z_root))
|
||||
tell "_libexecdir\") (\\_ -> getPrefixDirReloc $ "
|
||||
tell (zLibexecdir z_root)
|
||||
tell ")\n"
|
||||
+ tell "getSysconfDir :: IO FilePath\n"
|
||||
tell "getSysconfDir = catchIO (getEnv \""
|
||||
tell (zManglePkgName z_root (zPackageName z_root))
|
||||
tell "_sysconfdir\") (\\_ -> getPrefixDirReloc $ "
|
||||
@@ -177,72 +236,119 @@ render z_root = execWriter $ do
|
||||
if (zAbsolute z_root)
|
||||
then do
|
||||
tell "\n"
|
||||
- tell "bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath\n"
|
||||
+ tell "bindir :: FilePath\n"
|
||||
tell "bindir = "
|
||||
tell (zBindir z_root)
|
||||
tell "\n"
|
||||
- tell "libdir = "
|
||||
- tell (zLibdir z_root)
|
||||
- tell "\n"
|
||||
- tell "dynlibdir = "
|
||||
- tell (zDynlibdir z_root)
|
||||
+ tell "getBinDir :: IO FilePath\n"
|
||||
+ tell "getBinDir = catchIO (getEnv \""
|
||||
+ tell (zManglePkgName z_root (zPackageName z_root))
|
||||
+ tell "_bindir\") (\\_ -> return bindir)\n"
|
||||
tell "\n"
|
||||
- tell "datadir = "
|
||||
- tell (zDatadir z_root)
|
||||
+ if (zShouldEmitLibDir z_root)
|
||||
+ then do
|
||||
+ tell "libdir :: FilePath\n"
|
||||
+ tell "libdir = "
|
||||
+ tell (zLibdir z_root)
|
||||
+ tell "\n"
|
||||
+ tell "getLibDir :: IO FilePath\n"
|
||||
+ tell "getLibDir = catchIO (getEnv \""
|
||||
+ tell (zManglePkgName z_root (zPackageName z_root))
|
||||
+ tell "_libdir\") (\\_ -> return libdir)\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
tell "\n"
|
||||
- tell "libexecdir = "
|
||||
- tell (zLibexecdir z_root)
|
||||
+ if (zShouldEmitDynLibDir z_root)
|
||||
+ then do
|
||||
+ tell "dynlibdir :: FilePath\n"
|
||||
+ tell "dynlibdir = "
|
||||
+ tell (zDynlibdir z_root)
|
||||
+ tell "\n"
|
||||
+ tell "getDynLibDir :: IO FilePath\n"
|
||||
+ tell "getDynLibDir = catchIO (getEnv \""
|
||||
+ tell (zManglePkgName z_root (zPackageName z_root))
|
||||
+ tell "_dynlibdir\") (\\_ -> return dynlibdir)\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
tell "\n"
|
||||
- tell "sysconfdir = "
|
||||
- tell (zSysconfdir z_root)
|
||||
+ if (zShouldEmitDataDir z_root)
|
||||
+ then do
|
||||
+ tell "datadir :: FilePath\n"
|
||||
+ tell "datadir = "
|
||||
+ tell (zDatadir z_root)
|
||||
+ tell "\n"
|
||||
+ tell "getDataDir :: IO FilePath\n"
|
||||
+ tell "getDataDir = catchIO (getEnv \""
|
||||
+ tell (zManglePkgName z_root (zPackageName z_root))
|
||||
+ tell "_datadir\") (\\_ -> return datadir)\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
tell "\n"
|
||||
+ if (zShouldEmitLibexecDir z_root)
|
||||
+ then do
|
||||
+ tell "libexecdir :: FilePath\n"
|
||||
+ tell "libexecdir = "
|
||||
+ tell (zLibexecdir z_root)
|
||||
+ tell "\n"
|
||||
+ tell "getLibexecDir :: IO FilePath\n"
|
||||
+ tell "getLibexecDir = catchIO (getEnv \""
|
||||
+ tell (zManglePkgName z_root (zPackageName z_root))
|
||||
+ tell "_libexecdir\") (\\_ -> return libexecdir)\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
tell "\n"
|
||||
- tell "getBinDir = catchIO (getEnv \""
|
||||
- tell (zManglePkgName z_root (zPackageName z_root))
|
||||
- tell "_bindir\") (\\_ -> return bindir)\n"
|
||||
- tell "getLibDir = catchIO (getEnv \""
|
||||
- tell (zManglePkgName z_root (zPackageName z_root))
|
||||
- tell "_libdir\") (\\_ -> return libdir)\n"
|
||||
- tell "getDynLibDir = catchIO (getEnv \""
|
||||
- tell (zManglePkgName z_root (zPackageName z_root))
|
||||
- tell "_dynlibdir\") (\\_ -> return dynlibdir)\n"
|
||||
- tell "getDataDir = catchIO (getEnv \""
|
||||
- tell (zManglePkgName z_root (zPackageName z_root))
|
||||
- tell "_datadir\") (\\_ -> return datadir)\n"
|
||||
- tell "getLibexecDir = catchIO (getEnv \""
|
||||
- tell (zManglePkgName z_root (zPackageName z_root))
|
||||
- tell "_libexecdir\") (\\_ -> return libexecdir)\n"
|
||||
- tell "getSysconfDir = catchIO (getEnv \""
|
||||
- tell (zManglePkgName z_root (zPackageName z_root))
|
||||
- tell "_sysconfdir\") (\\_ -> return sysconfdir)\n"
|
||||
+ if (zShouldEmitSysconfDir z_root)
|
||||
+ then do
|
||||
+ tell "sysconfdir :: FilePath\n"
|
||||
+ tell "sysconfdir = "
|
||||
+ tell (zSysconfdir z_root)
|
||||
+ tell "\n"
|
||||
+ tell "getSysconfDir :: IO FilePath\n"
|
||||
+ tell "getSysconfDir = catchIO (getEnv \""
|
||||
+ tell (zManglePkgName z_root (zPackageName z_root))
|
||||
+ tell "_sysconfdir\") (\\_ -> return sysconfdir)\n"
|
||||
+ return ()
|
||||
+ else do
|
||||
+ return ()
|
||||
tell "\n"
|
||||
return ()
|
||||
else do
|
||||
if (zIsWindows z_root)
|
||||
then do
|
||||
+ tell "\n"
|
||||
tell "\n"
|
||||
tell "prefix :: FilePath\n"
|
||||
tell "prefix = "
|
||||
tell (zPrefix z_root)
|
||||
tell "\n"
|
||||
tell "\n"
|
||||
+ tell "getBinDir :: IO FilePath\n"
|
||||
tell "getBinDir = getPrefixDirRel $ "
|
||||
tell (zBindir z_root)
|
||||
tell "\n"
|
||||
+ tell "getLibDir :: IO FilePath\n"
|
||||
tell "getLibDir = "
|
||||
tell (zLibdir z_root)
|
||||
tell "\n"
|
||||
+ tell "getDynLibDir :: IO FilePath\n"
|
||||
tell "getDynLibDir = "
|
||||
tell (zDynlibdir z_root)
|
||||
tell "\n"
|
||||
+ tell "getDataDir :: IO FilePath\n"
|
||||
tell "getDataDir = catchIO (getEnv \""
|
||||
tell (zManglePkgName z_root (zPackageName z_root))
|
||||
tell "_datadir\") (\\_ -> "
|
||||
tell (zDatadir z_root)
|
||||
tell ")\n"
|
||||
+ tell "getLibexecDir :: IO FilePath\n"
|
||||
tell "getLibexecDir = "
|
||||
tell (zLibexecdir z_root)
|
||||
tell "\n"
|
||||
+ tell "getSysconfDir :: IO FilePath\n"
|
||||
tell "getSysconfDir = "
|
||||
tell (zSysconfdir z_root)
|
||||
tell "\n"
|
||||
diffcabal-dev-scripts/src/GenPathsModule.hs b/cabal-dev-scripts/src/GenPathsModule.hs
|
||||
index e4b930635..9b978f284 100644
|
||||
--- a/libraries/Cabal/cabal-dev-scripts/src/GenPathsModule.hs
|
||||
+++ b/libraries/Cabal/cabal-dev-scripts/src/GenPathsModule.hs
|
||||
@@ -41,6 +41,16 @@ $(capture "decls" [d|
|
||||
, zLibexecdir :: FilePath
|
||||
, zSysconfdir :: FilePath
|
||||
|
||||
+ , zShouldEmitLibDir :: Bool
|
||||
+ , zShouldEmitDynLibDir :: Bool
|
||||
+ , zShouldEmitLibexecDir :: Bool
|
||||
+ , zShouldEmitDataDir :: Bool
|
||||
+ , zShouldEmitSysconfDir :: Bool
|
||||
+
|
||||
+ , zShouldEmitWarning :: Bool
|
||||
+ , zWarning :: String
|
||||
+
|
||||
+ , zOr :: Bool -> Bool -> Bool
|
||||
, zNot :: Bool -> Bool
|
||||
, zManglePkgName :: PackageName -> String
|
||||
}
|
||||
difftemplates/Paths_pkg.template.hs b/templates/Paths_pkg.template.hs
|
||||
index 6bc6b7875..aa90a9382 100644
|
||||
--- a/libraries/Cabal/templates/Paths_pkg.template.hs
|
||||
+++ b/libraries/Cabal/templates/Paths_pkg.template.hs
|
||||
@@ -9,10 +9,31 @@
|
||||
{% endif %}
|
||||
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
|
||||
{-# OPTIONS_GHC -w #-}
|
||||
-module Paths_{{ manglePkgName packageName }} (
|
||||
+module Paths_{{ manglePkgName packageName }}
|
||||
+ {% if shouldEmitWarning %}{-# WARNING {{ warning }} #-}{% endif %}
|
||||
+ (
|
||||
version,
|
||||
- getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
|
||||
- getDataFileName, getSysconfDir
|
||||
+ getBinDir,
|
||||
+{# We only care about the absolute case for our emit logic, since only in this
|
||||
+ case references are incurred. We are not going to hit isWindows and relocatable
|
||||
+ has no absolute references to begin with.
|
||||
+#}
|
||||
+{% if or (not absolute) shouldEmitLibDir %}
|
||||
+ getLibDir,
|
||||
+{% endif %}
|
||||
+{% if or (not absolute) shouldEmitDynLibDir %}
|
||||
+ getDynLibDir,
|
||||
+{% endif %}
|
||||
+{% if or (not absolute) shouldEmitLibexecDir %}
|
||||
+ getLibexecDir,
|
||||
+{% endif %}
|
||||
+{% if or (not absolute) shouldEmitDataDir %}
|
||||
+ getDataFileName,
|
||||
+ getDataDir,
|
||||
+{% endif %}
|
||||
+{% if or (not absolute) shouldEmitSysconfDir %}
|
||||
+ getSysconfDir
|
||||
+{% endif %}
|
||||
) where
|
||||
|
||||
{% if not absolute %}
|
||||
@@ -51,12 +72,12 @@ catchIO = Exception.catch
|
||||
version :: Version
|
||||
version = Version {{ versionDigits }} []
|
||||
|
||||
+{% if or (not absolute) shouldEmitDataDir %}
|
||||
getDataFileName :: FilePath -> IO FilePath
|
||||
getDataFileName name = do
|
||||
dir <- getDataDir
|
||||
return (dir `joinFileName` name)
|
||||
-
|
||||
-getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
|
||||
+{% endif %}
|
||||
|
||||
{% defblock function_defs %}
|
||||
minusFileName :: FilePath -> String -> FilePath
|
||||
@@ -85,48 +106,93 @@ splitFileName p = (reverse (path2++drive), reverse fname)
|
||||
|
||||
{% if relocatable %}
|
||||
|
||||
+{# Relocatable can not incur any absolute references, so we can ignore it.
|
||||
+ Additionally, --enable-relocatable is virtually useless in Nix builds
|
||||
+#}
|
||||
+
|
||||
getPrefixDirReloc :: FilePath -> IO FilePath
|
||||
getPrefixDirReloc dirRel = do
|
||||
exePath <- getExecutablePath
|
||||
let (dir,_) = splitFileName exePath
|
||||
return ((dir `minusFileName` {{ bindir }}) `joinFileName` dirRel)
|
||||
|
||||
+getBinDir :: IO FilePath
|
||||
getBinDir = catchIO (getEnv "{{ manglePkgName packageName }}_bindir") (\_ -> getPrefixDirReloc $ {{ bindir }})
|
||||
+getLibDir :: IO FilePath
|
||||
getLibDir = catchIO (getEnv "{{ manglePkgName packageName }}_libdir") (\_ -> getPrefixDirReloc $ {{ libdir }})
|
||||
+getDynLibDir :: IO FilePath
|
||||
getDynLibDir = catchIO (getEnv "{{ manglePkgName packageName }}_dynlibdir") (\_ -> getPrefixDirReloc $ {{ dynlibdir }})
|
||||
+getDataDir :: IO FilePath
|
||||
getDataDir = catchIO (getEnv "{{ manglePkgName packageName }}_datadir") (\_ -> getPrefixDirReloc $ {{ datadir }})
|
||||
+getLibexecDir :: IO FilePath
|
||||
getLibexecDir = catchIO (getEnv "{{ manglePkgName packageName }}_libexecdir") (\_ -> getPrefixDirReloc $ {{ libexecdir }})
|
||||
+getSysconfDir :: IO FilePath
|
||||
getSysconfDir = catchIO (getEnv "{{ manglePkgName packageName }}_sysconfdir") (\_ -> getPrefixDirReloc $ {{ sysconfdir }})
|
||||
|
||||
{% useblock function_defs %}
|
||||
|
||||
{% elif absolute %}
|
||||
|
||||
-bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
|
||||
+bindir :: FilePath
|
||||
bindir = {{ bindir }}
|
||||
-libdir = {{ libdir }}
|
||||
-dynlibdir = {{ dynlibdir }}
|
||||
-datadir = {{ datadir }}
|
||||
-libexecdir = {{ libexecdir }}
|
||||
-sysconfdir = {{ sysconfdir }}
|
||||
-
|
||||
+getBinDir :: IO FilePath
|
||||
getBinDir = catchIO (getEnv "{{ manglePkgName packageName }}_bindir") (\_ -> return bindir)
|
||||
+
|
||||
+{% if shouldEmitLibDir %}
|
||||
+libdir :: FilePath
|
||||
+libdir = {{ libdir }}
|
||||
+getLibDir :: IO FilePath
|
||||
getLibDir = catchIO (getEnv "{{ manglePkgName packageName }}_libdir") (\_ -> return libdir)
|
||||
+{% endif %}
|
||||
+
|
||||
+{% if shouldEmitDynLibDir %}
|
||||
+dynlibdir :: FilePath
|
||||
+dynlibdir = {{ dynlibdir }}
|
||||
+getDynLibDir :: IO FilePath
|
||||
getDynLibDir = catchIO (getEnv "{{ manglePkgName packageName }}_dynlibdir") (\_ -> return dynlibdir)
|
||||
+{% endif %}
|
||||
+
|
||||
+{% if shouldEmitDataDir %}
|
||||
+datadir :: FilePath
|
||||
+datadir = {{ datadir }}
|
||||
+getDataDir :: IO FilePath
|
||||
getDataDir = catchIO (getEnv "{{ manglePkgName packageName }}_datadir") (\_ -> return datadir)
|
||||
+{% endif %}
|
||||
+
|
||||
+{% if shouldEmitLibexecDir %}
|
||||
+libexecdir :: FilePath
|
||||
+libexecdir = {{ libexecdir }}
|
||||
+getLibexecDir :: IO FilePath
|
||||
getLibexecDir = catchIO (getEnv "{{ manglePkgName packageName }}_libexecdir") (\_ -> return libexecdir)
|
||||
+{% endif %}
|
||||
+
|
||||
+{% if shouldEmitSysconfDir %}
|
||||
+sysconfdir :: FilePath
|
||||
+sysconfdir = {{ sysconfdir }}
|
||||
+getSysconfDir :: IO FilePath
|
||||
getSysconfDir = catchIO (getEnv "{{ manglePkgName packageName }}_sysconfdir") (\_ -> return sysconfdir)
|
||||
+{% endif %}
|
||||
|
||||
{% elif isWindows %}
|
||||
|
||||
+{# We are only trying to fix the problem for aarch64-darwin with this patch,
|
||||
+ so let's ignore Windows which we can reach via pkgsCross, for example.
|
||||
+#}
|
||||
+
|
||||
prefix :: FilePath
|
||||
prefix = {{ prefix }}
|
||||
|
||||
+getBinDir :: IO FilePath
|
||||
getBinDir = getPrefixDirRel $ {{ bindir }}
|
||||
+getLibDir :: IO FilePath
|
||||
getLibDir = {{ libdir }}
|
||||
+getDynLibDir :: IO FilePath
|
||||
getDynLibDir = {{ dynlibdir }}
|
||||
+getDataDir :: IO FilePath
|
||||
getDataDir = catchIO (getEnv "{{ manglePkgName packageName }}_datadir") (\_ -> {{ datadir }})
|
||||
+getLibexecDir :: IO FilePath
|
||||
getLibexecDir = {{ libexecdir }}
|
||||
+getSysconfDir :: IO FilePath
|
||||
getSysconfDir = {{ sysconfdir }}
|
||||
|
||||
getPrefixDirRel :: FilePath -> IO FilePath
|
|
@ -18,7 +18,7 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "purescript";
|
||||
version = "0.15.7";
|
||||
version = "0.15.8";
|
||||
|
||||
# These hashes can be updated automatically by running the ./update.sh script.
|
||||
src =
|
||||
|
@ -26,12 +26,12 @@ in stdenv.mkDerivation rec {
|
|||
then
|
||||
fetchurl {
|
||||
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
|
||||
sha256 = "0aq5sr93z6c5l76sqbj3g48z6yrhxfqxri0x1ajmjwhcwjg79d6v";
|
||||
sha256 = "0aq6b8yw2ll3qgmc21ap2pxfnr7glqhrjx3ggc21q4gwq3zxrrrp";
|
||||
}
|
||||
else
|
||||
fetchurl {
|
||||
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
|
||||
sha256 = "032jqrk46k9zbq058ms8rnrq0209rd8vkxwj73vqrlgqvpzlfl5k";
|
||||
sha256 = "192px9a4ja1iazhahc6ilgxk0x2bjp59qxd9zaww4pldj1b7z20y";
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -318,6 +318,11 @@ self: super: ({
|
|||
# https://github.com/NixOS/nixpkgs/issues/149692
|
||||
Agda = removeConfigureFlag "-foptimise-heavily" super.Agda;
|
||||
|
||||
# regex-rure's test suite fails with a dylib not loaded error due to some
|
||||
# rpath issue.
|
||||
regex-rure = dontDistribute (markBroken super.regex-rure);
|
||||
jacinda = dontDistribute super.jacinda;
|
||||
|
||||
} // lib.optionalAttrs pkgs.stdenv.isx86_64 { # x86_64-darwin
|
||||
|
||||
# tests appear to be failing to link or something:
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib, buildDunePackage, dune-configurator, pkg-config, fetchFromGitHub, callPackage
|
||||
, AppKit
|
||||
, AudioToolbox
|
||||
, AVFoundation
|
||||
, Cocoa
|
||||
, CoreImage
|
||||
, ForceFeedback
|
||||
|
@ -20,7 +21,17 @@ buildDunePackage {
|
|||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ dune-configurator ]
|
||||
++ lib.optionals stdenv.isDarwin [ AppKit AudioToolbox Cocoa CoreImage ForceFeedback OpenGL VideoToolbox ];
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
AppKit
|
||||
AudioToolbox
|
||||
AVFoundation
|
||||
Cocoa
|
||||
CoreImage
|
||||
ForceFeedback
|
||||
OpenGL
|
||||
VideoToolbox
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ ffmpeg-av ffmpeg.dev ];
|
||||
|
||||
doCheck = true;
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "bandit";
|
||||
version = "1.7.4";
|
||||
version = "1.7.5";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-LWOoxXNBe64ziWLUubBvvGCA907NlVoJKEnh5lxxe9I=";
|
||||
hash = "sha256-vfxzm6oDuIDC0V0EMbMcZY/8NI6Qf+GX5U4Did1Z4R4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
71
pkgs/development/python-modules/ipwhois/default.nix
Normal file
71
pkgs/development/python-modules/ipwhois/default.nix
Normal file
|
@ -0,0 +1,71 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, dnspython
|
||||
, fetchFromGitHub
|
||||
, iana-etc
|
||||
, libredirect
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, pythonRelaxDepsHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ipwhois";
|
||||
version = "1.2.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "secynic";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-2CfRRHlIIaycUtzKeMBKi6pVPeBCb1nW3/1hoxQU1YM=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"dnspython"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dnspython
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ipwhois"
|
||||
];
|
||||
|
||||
preCheck = lib.optionalString stdenv.isLinux ''
|
||||
echo "nameserver 127.0.0.1" > resolv.conf
|
||||
export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/resolv.conf=$(realpath resolv.conf) \
|
||||
LD_PRELOAD=${libredirect}/lib/libredirect.so
|
||||
'';
|
||||
|
||||
disabledTestPaths = [
|
||||
# Tests require network access
|
||||
"ipwhois/tests/online/"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"test_lookup"
|
||||
"test_unique_addresses"
|
||||
"test_get_http_json"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library to retrieve and parse whois data";
|
||||
homepage = "https://github.com/secynic/ipwhois";
|
||||
changelog = "https://github.com/secynic/ipwhois/blob/v${version}/CHANGES.rst";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
|
@ -2,20 +2,20 @@
|
|||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, setuptools
|
||||
, nose
|
||||
, pytestCheckHook
|
||||
, requests
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "rangehttpserver";
|
||||
version = "1.2.0";
|
||||
version = "1.3.3";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danvk";
|
||||
repo = "RangeHTTPServer";
|
||||
rev = version;
|
||||
sha256 = "1sy9j6y8kp5jiwv2vd652v94kspp1yd4dwxrfqfn6zwnfyv2mzv5";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-ZXEbis37QO8t05JQ2qQQf5rkUSxq3DwzR3khAJkZ5W0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -23,16 +23,10 @@ buildPythonPackage rec {
|
|||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
nose
|
||||
pytestCheckHook
|
||||
requests
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
nosetests
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"RangeHTTPServer"
|
||||
];
|
||||
|
@ -40,6 +34,7 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "SimpleHTTPServer with support for Range requests";
|
||||
homepage = "https://github.com/danvk/RangeHTTPServer";
|
||||
changelog = "https://github.com/danvk/RangeHTTPServer/releases/tag/${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "hclfmt";
|
||||
version = "2.16.1";
|
||||
version = "2.16.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hashicorp";
|
||||
repo = "hcl";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-EsqOpVCsn0bD0BAOoFifH1hfEF8Wu8bUpM0/BSXAewY=";
|
||||
hash = "sha256-7RHRUIZhF6UOZDi85HAzQhzD7c8Y4aPjt4Ly3KUM26k=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-QZzDFVAmmjkm7n/KpMxDMAjShKiVVGZbZB1W3/TeVjs=";
|
||||
|
|
|
@ -5,17 +5,17 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "protoc-gen-go-grpc";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
modRoot = "cmd/protoc-gen-go-grpc";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grpc";
|
||||
repo = "grpc-go";
|
||||
rev = "cmd/protoc-gen-go-grpc/v${version}";
|
||||
sha256 = "sha256-pIHMykwwyu052rqwSV5Js0+JCKCNLrFVN6XQ3xjlEOI=";
|
||||
sha256 = "sha256-Zy0k5X/KFzCao9xAGt5DNb0MMGEyqmEsDj+uvXI4xH4=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-yxOfgTA5IIczehpWMM1kreMqJYKgRT5HEGbJ3SeQ/Lg=";
|
||||
vendorHash = "sha256-y+/hjYUTFZuq55YAZ5M4T1cwIR+XFQBmWVE+Cg1Y7PI=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "The Go language implementation of gRPC. HTTP/2 based RPC";
|
||||
|
|
160
pkgs/development/tools/rust/cargo-pgx/buildPgxExtension.nix
Normal file
160
pkgs/development/tools/rust/cargo-pgx/buildPgxExtension.nix
Normal file
|
@ -0,0 +1,160 @@
|
|||
# preBuildAndTest and some small other bits
|
||||
# taken from https://github.com/tcdi/pgx/blob/v0.4.5/nix/extension.nix
|
||||
# (but now heavily modified)
|
||||
# which uses MIT License with the following license file
|
||||
#
|
||||
# MIT License
|
||||
#
|
||||
# Portions Copyright 2019-2021 ZomboDB, LLC.
|
||||
# Portions Copyright 2021-2022 Technology Concepts & Design, Inc. <support@tcdi.com>.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
{ lib
|
||||
, cargo-pgx
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
, stdenv
|
||||
, Security
|
||||
, writeShellScriptBin
|
||||
}:
|
||||
|
||||
# The idea behind: Use it mostly like rustPlatform.buildRustPackage and so
|
||||
# we hand most of the arguments down.
|
||||
#
|
||||
# Additional arguments are:
|
||||
# - `postgresql` postgresql package of the version of postgresql this extension should be build for.
|
||||
# Needs to be the build platform variant.
|
||||
# - `useFakeRustfmt` Whether to use a noop fake command as rustfmt. cargo-pgx tries to call rustfmt.
|
||||
# If the generated rust bindings aren't needed to use the extension, its a
|
||||
# unnecessary and heavy dependency. If you set this to true, you also
|
||||
# have to add `rustfmt` to `nativeBuildInputs`.
|
||||
|
||||
{ buildAndTestSubdir ? null
|
||||
, buildType ? "release"
|
||||
, buildFeatures ? [ ]
|
||||
, cargoBuildFlags ? [ ]
|
||||
, postgresql
|
||||
# cargo-pgx calls rustfmt on generated bindings, this is not strictly necessary, so we avoid the
|
||||
# dependency here. Set to false and provide rustfmt in nativeBuildInputs, if you need it, e.g.
|
||||
# if you include the generated code in the output via postInstall.
|
||||
, useFakeRustfmt ? true
|
||||
, ...
|
||||
} @ args:
|
||||
let
|
||||
rustfmtInNativeBuildInputs = lib.lists.any (dep: lib.getName dep == "rustfmt") (args.nativeBuildInputs or []);
|
||||
in
|
||||
|
||||
assert lib.asserts.assertMsg ((args.installPhase or "") == "")
|
||||
"buildPgxExtensions overwrites the installPhase, so providing one does nothing";
|
||||
assert lib.asserts.assertMsg ((args.buildPhase or "") == "")
|
||||
"buildPgxExtensions overwrites the buildPhase, so providing one does nothing";
|
||||
assert lib.asserts.assertMsg (useFakeRustfmt -> !rustfmtInNativeBuildInputs)
|
||||
"The parameter useFakeRustfmt is set to true, but rustfmt is included in nativeBuildInputs. Either set useFakeRustfmt to false or remove rustfmt from nativeBuildInputs.";
|
||||
assert lib.asserts.assertMsg (!useFakeRustfmt -> rustfmtInNativeBuildInputs)
|
||||
"The parameter useFakeRustfmt is set to false, but rustfmt is not included in nativeBuildInputs. Either set useFakeRustfmt to true or add rustfmt from nativeBuildInputs.";
|
||||
|
||||
let
|
||||
fakeRustfmt = writeShellScriptBin "rustfmt" ''
|
||||
exit 0
|
||||
'';
|
||||
maybeDebugFlag = lib.optionalString (buildType != "release") "--debug";
|
||||
maybeEnterBuildAndTestSubdir = lib.optionalString (buildAndTestSubdir != null) ''
|
||||
export CARGO_TARGET_DIR="$(pwd)/target"
|
||||
pushd "${buildAndTestSubdir}"
|
||||
'';
|
||||
maybeLeaveBuildAndTestSubdir = lib.optionalString (buildAndTestSubdir != null) "popd";
|
||||
|
||||
pgxPostgresMajor = lib.versions.major postgresql.version;
|
||||
preBuildAndTest = ''
|
||||
export PGX_HOME=$(mktemp -d)
|
||||
export PGDATA="$PGX_HOME/data-${pgxPostgresMajor}/"
|
||||
cargo-pgx pgx init "--pg${pgxPostgresMajor}" ${postgresql}/bin/pg_config
|
||||
echo "unix_socket_directories = '$(mktemp -d)'" > "$PGDATA/postgresql.conf"
|
||||
|
||||
# This is primarily for Mac or other Nix systems that don't use the nixbld user.
|
||||
export USER="$(whoami)"
|
||||
pg_ctl start
|
||||
createuser -h localhost --superuser --createdb "$USER" || true
|
||||
pg_ctl stop
|
||||
'';
|
||||
|
||||
argsForBuildRustPackage = builtins.removeAttrs args [ "postgresql" "useFakeRustfmt" ];
|
||||
|
||||
# so we don't accidentally `(rustPlatform.buildRustPackage argsForBuildRustPackage) // { ... }` because
|
||||
# we forgot parentheses
|
||||
finalArgs = argsForBuildRustPackage // {
|
||||
buildInputs = (args.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [
|
||||
cargo-pgx
|
||||
postgresql
|
||||
pkg-config
|
||||
rustPlatform.bindgenHook
|
||||
] ++ lib.optionals useFakeRustfmt [ fakeRustfmt ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
echo "Executing cargo-pgx buildPhase"
|
||||
${preBuildAndTest}
|
||||
${maybeEnterBuildAndTestSubdir}
|
||||
|
||||
NIX_PGLIBDIR="${postgresql}/lib" \
|
||||
PGX_BUILD_FLAGS="--frozen -j $NIX_BUILD_CORES ${builtins.concatStringsSep " " cargoBuildFlags}" \
|
||||
cargo-pgx pgx package \
|
||||
--pg-config ${postgresql}/bin/pg_config \
|
||||
${maybeDebugFlag} \
|
||||
--features "${builtins.concatStringsSep " " buildFeatures}" \
|
||||
--out-dir "$out"
|
||||
|
||||
${maybeLeaveBuildAndTestSubdir}
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
preCheck = preBuildAndTest + args.preCheck or "";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
echo "Executing buildPgxExtension install"
|
||||
|
||||
${maybeEnterBuildAndTestSubdir}
|
||||
|
||||
cargo-pgx pgx stop all
|
||||
|
||||
mv $out/${postgresql}/* $out
|
||||
rm -rf $out/nix
|
||||
|
||||
${maybeLeaveBuildAndTestSubdir}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
PGX_PG_SYS_SKIP_BINDING_REWRITE = "1";
|
||||
CARGO_BUILD_INCREMENTAL = "false";
|
||||
RUST_BACKTRACE = "full";
|
||||
|
||||
checkNoDefaultFeatures = true;
|
||||
checkFeatures = (args.checkFeatures or [ ]) ++ [ "pg_test pg${pgxPostgresMajor}" ];
|
||||
};
|
||||
in
|
||||
rustPlatform.buildRustPackage finalArgs
|
|
@ -15,14 +15,14 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-update";
|
||||
version = "11.1.1";
|
||||
version = "11.1.2";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-ml+LqfnDld+I3G6+LaPJOeZa+swCtuu0ndW0yJraSxs=";
|
||||
sha256 = "sha256-Hil4v9EUVEH1j7LV1icct6ggFzGVy3f8p+LuFrlBOVA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-0exatgmksg07KQO/3s9BD4uIZRHwjytQPtaRv+JydPc=";
|
||||
cargoHash = "sha256-gOhZUJHBYti/kqfhyopRsY1PbXZdiGJZpjohMUbO/28=";
|
||||
|
||||
nativeBuildInputs = [ cmake installShellFiles pkg-config ronn ];
|
||||
|
||||
|
|
|
@ -75,6 +75,9 @@ stdenv.mkDerivation rec {
|
|||
|
||||
makeFlags = [ "CUPS_SERVERBIN=$(out)/lib/cups" "CUPS_DATADIR=$(out)/share/cups" "CUPS_SERVERROOT=$(out)/etc/cups" ];
|
||||
|
||||
# https://github.com/OpenPrinting/cups-filters/issues/512
|
||||
env.NIX_CFLAGS_COMPILE = "-std=c++17";
|
||||
|
||||
postConfigure =
|
||||
''
|
||||
# Ensure that bannertopdf can find the PDF templates in
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "statsd_exporter";
|
||||
version = "0.23.0";
|
||||
version = "0.23.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prometheus";
|
||||
repo = "statsd_exporter";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7atRLwucO09yN2odu0uNe7xrtKLq9kmy6JyI1y4Sww8=";
|
||||
hash = "sha256-JbRkLRXTQo40wBynfG6BRR4+yPqy7VLJ33vsjus5okg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-H0f7bDnSddlabpRbMpk9tInlne2tI5J+MQ23mw1N71E=";
|
||||
vendorHash = "sha256-YzcgEQ1S2qn7v2SVSBiodprtc+D4cSZOFBJwpq3jz8Y=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Receives StatsD-style metrics and exports them to Prometheus";
|
||||
|
|
42
pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
Normal file
42
pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, buildPgxExtension
|
||||
, postgresql
|
||||
, stdenv
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
buildPgxExtension rec {
|
||||
inherit postgresql;
|
||||
|
||||
pname = "timescaledb_toolkit";
|
||||
version = "1.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "timescale";
|
||||
repo = "timescaledb-toolkit";
|
||||
rev = version;
|
||||
sha256 = "sha256-ADmYALsCzZGqTX0XSkCif7ndvXwa8nEqddQpty4hbZ0=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-ukjJ11LmfG+k8D20rj68i43gOWUN80nf3hIAjUWXihI=";
|
||||
buildAndTestSubdir = "extension";
|
||||
|
||||
passthru.tests = {
|
||||
timescaledb_toolkit = nixosTests.timescaledb;
|
||||
};
|
||||
|
||||
# tests take really long
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Provide additional tools to ease all things analytic when using TimescaleDB";
|
||||
homepage = "https://github.com/timescale/timescaledb-toolkit";
|
||||
maintainers = with maintainers; [ typetetris ];
|
||||
platforms = postgresql.meta.platforms;
|
||||
license = licenses.asl20;
|
||||
|
||||
# as it needs to be used with timescaledb, simply use the condition from there
|
||||
broken = versionOlder postgresql.version "12";
|
||||
};
|
||||
}
|
|
@ -56,6 +56,8 @@ self: super: {
|
|||
|
||||
timescaledb = super.callPackage ./ext/timescaledb.nix { };
|
||||
|
||||
timescaledb_toolkit = super.callPackage ./ext/timescaledb_toolkit.nix { };
|
||||
|
||||
tsearch_extras = super.callPackage ./ext/tsearch_extras.nix { };
|
||||
|
||||
tds_fdw = super.callPackage ./ext/tds_fdw.nix { };
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "eksctl";
|
||||
version = "0.132.0";
|
||||
version = "0.133.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "weaveworks";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-wKTESd+YKJd94yUuqm1v4biyGCABbhwTlKLzbiOg6H0=";
|
||||
sha256 = "sha256-QRm0a7x39vhxRT29+tTrpr3ZyPPHtHtxLWiyqTgPYCM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-A06vwsadznqe1xraMZnseRAJkrpCdciKBxPUBus39ws=";
|
||||
vendorHash = "sha256-R/VFq+SO/ZWf9ztg/75ASidqznCkO47T2PFsgKJwEWM=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
buildDotnetModule rec {
|
||||
pname = "scarab";
|
||||
version = "1.20.0.0";
|
||||
version = "1.31.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fifty-six";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-VfXIxir4SaELuF2QpqbVzTvlkYxwERa0ddGEn1OAh04=";
|
||||
sha256 = "sha256-oReU0kL0wPR6oqhq/uzO7nD1qo74h36w/gyvgffwzns=";
|
||||
};
|
||||
|
||||
nugetDeps = ./deps.nix;
|
||||
|
|
|
@ -1,4 +1,12 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, ocl-icd, vulkan-loader, linuxPackages }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, addOpenGLRunpath
|
||||
, makeWrapper
|
||||
, ocl-icd
|
||||
, vulkan-loader
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geekbench";
|
||||
|
@ -12,23 +20,25 @@ stdenv.mkDerivation rec {
|
|||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||
buildInputs = [ stdenv.cc.cc ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -r geekbench.plar geekbench4 geekbench_x86_64 $out/bin
|
||||
|
||||
# needed for compute benchmark
|
||||
ln -s ${linuxPackages.nvidia_x11}/lib/libcuda.so $out/lib/
|
||||
ln -s ${ocl-icd}/lib/libOpenCL.so $out/lib/
|
||||
ln -s ${ocl-icd}/lib/libOpenCL.so.1 $out/lib/
|
||||
ln -s ${vulkan-loader}/lib/libvulkan.so $out/lib/
|
||||
ln -s ${vulkan-loader}/lib/libvulkan.so.1 $out/lib/
|
||||
|
||||
for f in geekbench4 geekbench_x86_64 ; do
|
||||
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) $out/bin/$f
|
||||
wrapProgram $out/bin/$f --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$out/lib/"
|
||||
wrapProgram $out/bin/$f \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [
|
||||
addOpenGLRunpath.driverLink
|
||||
ocl-icd
|
||||
vulkan-loader
|
||||
]}"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -38,5 +48,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.unfree;
|
||||
maintainers = [ maintainers.michalrus ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "geekbench4";
|
||||
};
|
||||
}
|
||||
|
|
52
pkgs/tools/misc/geekbench/5.nix
Normal file
52
pkgs/tools/misc/geekbench/5.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, addOpenGLRunpath
|
||||
, makeWrapper
|
||||
, ocl-icd
|
||||
, vulkan-loader
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geekbench";
|
||||
version = "5.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
|
||||
sha256 = "sha256-MgN+VcPcjzYP4Wt/uxiNMTh+p1mA5I2M8CgzDjI5xAQ=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -r geekbench.plar geekbench5 geekbench_x86_64 $out/bin
|
||||
|
||||
for f in geekbench5 geekbench_x86_64 ; do
|
||||
wrapProgram $out/bin/$f \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [
|
||||
addOpenGLRunpath.driverLink
|
||||
ocl-icd
|
||||
vulkan-loader
|
||||
]}"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cross-platform benchmark";
|
||||
homepage = "https://geekbench.com/";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = [ maintainers.michalrus ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "geekbench5";
|
||||
};
|
||||
}
|
52
pkgs/tools/misc/geekbench/6.nix
Normal file
52
pkgs/tools/misc/geekbench/6.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, addOpenGLRunpath
|
||||
, makeWrapper
|
||||
, ocl-icd
|
||||
, vulkan-loader
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geekbench";
|
||||
version = "6.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
|
||||
hash = "sha256-RrfyB7RvYWkVCbjblLIPOFcZjUR/fJHk1Em1HP74kmY=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -r geekbench.plar geekbench-workload.plar geekbench6 geekbench_x86_64 geekbench_avx2 $out/bin
|
||||
|
||||
for f in geekbench6 geekbench_x86_64 geekbench_avx2 ; do
|
||||
wrapProgram $out/bin/$f \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [
|
||||
addOpenGLRunpath.driverLink
|
||||
ocl-icd
|
||||
vulkan-loader
|
||||
]}"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cross-platform benchmark";
|
||||
homepage = "https://geekbench.com/";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = [ maintainers.michalrus ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "geekbench6";
|
||||
};
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, ocl-icd, vulkan-loader, linuxPackages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geekbench";
|
||||
version = "5.4.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
|
||||
sha256 = "sha256-fCS6cSD3w2EbLL1yNfH+NKxswRUY4zyCR07gKGXW4Yc=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib
|
||||
cp -r geekbench.plar geekbench5 geekbench_x86_64 $out/bin
|
||||
|
||||
# needed for compute benchmark
|
||||
ln -s ${linuxPackages.nvidia_x11}/lib/libcuda.so $out/lib/
|
||||
ln -s ${ocl-icd}/lib/libOpenCL.so $out/lib/
|
||||
ln -s ${ocl-icd}/lib/libOpenCL.so.1 $out/lib/
|
||||
ln -s ${vulkan-loader}/lib/libvulkan.so $out/lib/
|
||||
ln -s ${vulkan-loader}/lib/libvulkan.so.1 $out/lib/
|
||||
|
||||
for f in geekbench5 geekbench_x86_64 ; do
|
||||
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) $out/bin/$f
|
||||
wrapProgram $out/bin/$f --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$out/lib/"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cross-platform benchmark";
|
||||
homepage = "https://geekbench.com/";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = [ maintainers.michalrus ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
|
@ -14,12 +14,12 @@
|
|||
, go
|
||||
}:
|
||||
let
|
||||
version = "1.7.0";
|
||||
version = "1.8.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vercel";
|
||||
repo = "turbo";
|
||||
rev = "v${version}";
|
||||
sha256 = "YTuEv2S3jNV2o7HJML+P6OMazgwgRhUPnd/zaTWfDWs=";
|
||||
sha256 = "sha256-aqe9ze6xZ5RUJJGT19nABhorrL9+ctSTS+ov97hG30o=";
|
||||
};
|
||||
|
||||
go-turbo = buildGoModule rec {
|
||||
|
@ -27,7 +27,7 @@ let
|
|||
pname = "go-turbo";
|
||||
modRoot = "cli";
|
||||
|
||||
vendorSha256 = "Kx/CLFv23h2TmGe8Jwu+S3QcONfqeHk2fCW1na75c0s=";
|
||||
vendorSha256 = "sha256-lqumN+xqJXEPI+nVnWSNfAyvQQ6fS9ao8uhwA1EbWWM=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
git
|
||||
|
@ -64,7 +64,7 @@ rustPlatform.buildRustPackage rec {
|
|||
];
|
||||
RELEASE_TURBO_CLI = "true";
|
||||
|
||||
cargoSha256 = "ENw6NU3Fedd+OJEEWgL8A54aowNqjn3iv7rxlr+/4ZE=";
|
||||
cargoSha256 = "sha256-zUz/u89VtiK0bFpyoQMMXUoXQpqPNOLR+PN3EbXSAC0=";
|
||||
RUSTC_BOOTSTRAP = 1;
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
@ -14,16 +14,16 @@ let
|
|||
in
|
||||
buildGoModule rec {
|
||||
pname = "netbird";
|
||||
version = "0.14.2";
|
||||
version = "0.14.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "netbirdio";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-qrXD/jRLyQR4T3tffCs+Nby+cvRPVvGNHy0NQAmYYAg=";
|
||||
sha256 = "sha256-AzWYJGYlUsgR5ihXwY9ZyN/pL5avionql/jwqhYKsxc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-2/kk4qTO85fYnNO5vXIFxxFR55xZ5wenogJTMsLfYsg=";
|
||||
vendorHash = "sha256-8cVEujVKwKvO81H+ukVxQouVVH7uZm/FwK9RAKJLN2c=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;
|
||||
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "trufflehog";
|
||||
version = "3.29.0";
|
||||
version = "3.29.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trufflesecurity";
|
||||
repo = "trufflehog";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-iu6MrfRWlfUeVsCoqxp/jFT8gcOieDplx1Jdjk8txOU=";
|
||||
hash = "sha256-ZCHrqvqIlANqkZ/zVYbwOsRimWVUAZ8zvBnfTaBE8qk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Z1QJM2feKFQ8MEVwzYt+MkpDZHiaVWlzq2lbResWQWk=";
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "vals";
|
||||
version = "0.22.0";
|
||||
version = "0.23.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "variantdev";
|
||||
repo = pname;
|
||||
sha256 = "sha256-/XBjGbpQIeO7UehcZv2kN4k2ZOsfhduUteURAqaUpwQ=";
|
||||
sha256 = "sha256-YIzy8WPguIrhkg1HW2X714Xp9b+eL6bej/oXN62kyus=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-l837w2K3GsDTb9EEeYPfyrnkRSkv0FyoPr29Ud+iiJ8=";
|
||||
vendorHash = "sha256-CzfAUNKskEbxWmVGz/XHItUS9Mp12zjTJ3z9X7YBjR4=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "vale";
|
||||
version = "2.23.3";
|
||||
version = "2.24.0";
|
||||
|
||||
subPackages = [ "cmd/vale" ];
|
||||
outputs = [ "out" "data" ];
|
||||
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
|||
owner = "errata-ai";
|
||||
repo = "vale";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-M4tq/gUpI0tGMJJOHE2TtGIbFzbv9/pP6yZGDf68VHI=";
|
||||
hash = "sha256-mUZ9ktqy6zLwPNjr8raJHwn6/UL4kzlT1baE+HrwPgo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ZgBt4BgZWViNqYCuqb/Wt1zVjFM9h1UsmsYox7kMJ1A=";
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "cliphist";
|
||||
version = "0.3.1";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sentriz";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-kmXR8xzjAphgaC2Yd55VwZIJ4ehxP1LEA24hgyAbM7A=";
|
||||
sha256 = "sha256-V115xsdSAsxp1RQpCVoGqkkb8J6Rvj5NNNtPMwT9IAg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-LZnefa0FjYG39YJrSN9ef6OnXHXgSrlSL4LvRqLxFx4=";
|
||||
vendorHash = "sha256-/xu1kcSOBOVz7XNxe4Jl905HtFWFOaZHKkLNFaLMVEs=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Wayland clipboard manager";
|
||||
|
|
|
@ -511,6 +511,8 @@ mapAliases ({
|
|||
gdal_1_11 = throw "gdal_1_11 was removed. Use gdal instead"; # Added 2021-04-03
|
||||
gdb-multitarget = throw "'gdb-multitarget' has been renamed to/replaced by 'gdb'"; # Converted to throw 2022-02-22
|
||||
gdk_pixbuf = throw "'gdk_pixbuf' has been renamed to/replaced by 'gdk-pixbuf'"; # Converted to throw 2022-02-22
|
||||
geekbench4 = throw "'geekbench4' has been renamed to 'geekbench_4'"; # Added 2023-03-10
|
||||
geekbench5 = throw "'geekbench5' has been renamed to 'geekbench_5'"; # Added 2023-03-10
|
||||
getmail = throw "getmail has been removed from nixpkgs, migrate to getmail6"; # Added 2022-01-12
|
||||
gettextWithExpat = throw "'gettextWithExpat' has been renamed to/replaced by 'gettext'"; # Converted to throw 2022-02-22
|
||||
gfm = throw "gfm has been removed"; # Added 2021-01-15
|
||||
|
|
|
@ -4837,9 +4837,10 @@ with pkgs;
|
|||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
|
||||
geekbench4 = callPackage ../tools/misc/geekbench/4.nix { };
|
||||
geekbench5 = callPackage ../tools/misc/geekbench { };
|
||||
geekbench = geekbench5;
|
||||
geekbench_4 = callPackage ../tools/misc/geekbench/4.nix { };
|
||||
geekbench_5 = callPackage ../tools/misc/geekbench/5.nix { };
|
||||
geekbench_6 = callPackage ../tools/misc/geekbench/6.nix { };
|
||||
geekbench = geekbench_6;
|
||||
|
||||
gencfsm = callPackage ../tools/security/gencfsm { };
|
||||
|
||||
|
@ -15936,6 +15937,9 @@ with pkgs;
|
|||
cargo-pgx = callPackage ../development/tools/rust/cargo-pgx {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
buildPgxExtension = callPackage ../development/tools/rust/cargo-pgx/buildPgxExtension.nix {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
cargo-release = callPackage ../development/tools/rust/cargo-release { };
|
||||
cargo-rr = callPackage ../development/tools/rust/cargo-rr { };
|
||||
cargo-tarpaulin = callPackage ../development/tools/analysis/cargo-tarpaulin {
|
||||
|
@ -30889,7 +30893,8 @@ with pkgs;
|
|||
};
|
||||
|
||||
jabref = callPackage ../applications/office/jabref {
|
||||
jdk = javaPackages.compiler.openjdk18;
|
||||
jdk = jdk19.override { enableJavaFX = true; };
|
||||
gradle = gradle_7;
|
||||
};
|
||||
|
||||
jack_capture = callPackage ../applications/audio/jack-capture { };
|
||||
|
|
|
@ -333,13 +333,13 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
|
|||
|
||||
Nuget = buildDotnetPackage rec {
|
||||
pname = "Nuget";
|
||||
version = "5.6.0.6489";
|
||||
version = "6.3.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mono";
|
||||
repo = "linux-packaging-nuget";
|
||||
rev = "upstream/${version}.bin";
|
||||
sha256 = "sha256-71vjM7a+F0DNTY+dML3UBSkrVyXv/k5rdl7iXBKSpNM=";
|
||||
sha256 = "sha256-D7F4B23HK5ElY68PYKVDsyi8OF0DLqqUqQzj5CpMfkc=";
|
||||
};
|
||||
|
||||
# configurePhase breaks the binary and results in
|
||||
|
|
|
@ -483,7 +483,7 @@ let
|
|||
};
|
||||
ffmpeg-avdevice = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix {
|
||||
inherit (pkgs) ffmpeg;
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks) AppKit AudioToolbox Cocoa CoreImage ForceFeedback OpenGL VideoToolbox;
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks) AppKit AudioToolbox AVFoundation Cocoa CoreImage ForceFeedback OpenGL VideoToolbox;
|
||||
};
|
||||
|
||||
fiber = callPackage ../development/ocaml-modules/fiber { };
|
||||
|
|
|
@ -4793,6 +4793,8 @@ self: super: with self; {
|
|||
|
||||
ipwhl = callPackage ../development/python-modules/ipwhl { };
|
||||
|
||||
ipwhois = callPackage ../development/python-modules/ipwhois { };
|
||||
|
||||
ipy = callPackage ../development/python-modules/IPy { };
|
||||
|
||||
ipydatawidgets = callPackage ../development/python-modules/ipydatawidgets { };
|
||||
|
|
Loading…
Reference in a new issue