Merge master into staging-next
This commit is contained in:
commit
140a35879a
|
@ -690,6 +690,7 @@ in {
|
||||||
terminal-emulators = handleTest ./terminal-emulators.nix {};
|
terminal-emulators = handleTest ./terminal-emulators.nix {};
|
||||||
tiddlywiki = handleTest ./tiddlywiki.nix {};
|
tiddlywiki = handleTest ./tiddlywiki.nix {};
|
||||||
tigervnc = handleTest ./tigervnc.nix {};
|
tigervnc = handleTest ./tigervnc.nix {};
|
||||||
|
timescaledb = handleTest ./timescaledb.nix {};
|
||||||
timezone = handleTest ./timezone.nix {};
|
timezone = handleTest ./timezone.nix {};
|
||||||
tinc = handleTest ./tinc {};
|
tinc = handleTest ./tinc {};
|
||||||
tinydns = handleTest ./tinydns.nix {};
|
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 {
|
buildDotnetModule rec {
|
||||||
pname = "ryujinx";
|
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 {
|
src = fetchFromGitHub {
|
||||||
owner = "Ryujinx";
|
owner = "Ryujinx";
|
||||||
repo = "Ryujinx";
|
repo = "Ryujinx";
|
||||||
rev = "b8556530f2b160db70ff571adf25ae26d4b8f58f";
|
rev = "f0562b9c75308c8cfcaa2458dfd37ac42751a374";
|
||||||
sha256 = "098yx4nwmkbab595a2xq9f5libzvsj01f3wf83nsbgzndy1h85ja";
|
sha256 = "1bkfncms8lagxhpnafyahrghzvpklsgxddqq7w1wzjzyxp6pxc51";
|
||||||
};
|
};
|
||||||
|
|
||||||
dotnet-sdk = dotnetCorePackages.sdk_7_0;
|
dotnet-sdk = dotnetCorePackages.sdk_7_0;
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
, qtlocation ? null # qt5 only
|
, qtlocation ? null # qt5 only
|
||||||
, qtpositioning ? null # qt6 only
|
, qtpositioning ? null # qt6 only
|
||||||
, qtpbfimageplugin
|
, qtpbfimageplugin
|
||||||
|
, qtserialport
|
||||||
, qtsvg
|
, qtsvg
|
||||||
, qt5compat ? null # qt6 only
|
, qt5compat ? null # qt6 only
|
||||||
, wrapQtAppsHook
|
, wrapQtAppsHook
|
||||||
|
@ -21,13 +22,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gpxsee";
|
pname = "gpxsee";
|
||||||
version = "11.12";
|
version = "12.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tumic0";
|
owner = "tumic0";
|
||||||
repo = "GPXSee";
|
repo = "GPXSee";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-W35KBPYvTKrSi7UnzcUz8MsUwoq8rY5g/+hL1/gVpbI=";
|
hash = "sha256-d+hQNI+eCSMRFMzq09wL+GN9TgOIt245Z8GlPe7nY8E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = (substituteAll {
|
patches = (substituteAll {
|
||||||
|
@ -36,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||||
inherit qttranslations;
|
inherit qttranslations;
|
||||||
});
|
});
|
||||||
|
|
||||||
buildInputs = [ qtpbfimageplugin ]
|
buildInputs = [ qtpbfimageplugin qtserialport ]
|
||||||
++ (if isQt6 then [
|
++ (if isQt6 then [
|
||||||
qtbase
|
qtbase
|
||||||
qtpositioning
|
qtpositioning
|
||||||
|
@ -55,6 +56,8 @@ stdenv.mkDerivation rec {
|
||||||
postInstall = lib.optionalString stdenv.isDarwin ''
|
postInstall = lib.optionalString stdenv.isDarwin ''
|
||||||
mkdir -p $out/Applications
|
mkdir -p $out/Applications
|
||||||
mv GPXSee.app $out/Applications
|
mv GPXSee.app $out/Applications
|
||||||
|
mkdir -p $out/bin
|
||||||
|
ln -s $out/Applications/GPXSee.app/Contents/MacOS/GPXSee $out/bin/gpxsee
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles, stdenv }:
|
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles, stdenv }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.41.0";
|
version = "0.41.1";
|
||||||
sha256 = "1xqgscmzq96jdlvwmckpz2zh7gsdla77xir6a6nylz509wkv3gid";
|
sha256 = "0nrwhq336n0aj1c51difgxk9an8d1j4yfkxn9sgzw9dq50rrrinf";
|
||||||
manifestsSha256 = "03azig0axa6d5yapzr36ziza1jsy549sqnna6ja6xa2zl0ljx33n";
|
manifestsSha256 = "1rrmdbaian8wskcyaa2nifp4mp4bz0nqgwz6ah5r0ywg48cfq2gm";
|
||||||
|
|
||||||
manifests = fetchzip {
|
manifests = fetchzip {
|
||||||
url =
|
url =
|
||||||
|
@ -23,7 +23,7 @@ in buildGoModule rec {
|
||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-nQzpJX1B1zXpW27YtzkAYK2vL7rnWPgAtlZlZqdV5QI=";
|
vendorSha256 = "sha256-Oh1FBTHkICQZ79qf8XCL7ifi5Wd3jrIDupBKzYo+AEA=";
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
cp -r ${manifests} source/cmd/flux/manifests
|
cp -r ${manifests} source/cmd/flux/manifests
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildGoModule
|
, buildGo120Module
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, gitUpdater
|
, gitUpdater
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
|
@ -7,20 +7,20 @@
|
||||||
, libxcrypt
|
, libxcrypt
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGo120Module rec {
|
||||||
pname = "shellhub-agent";
|
pname = "shellhub-agent";
|
||||||
version = "0.10.8";
|
version = "0.11.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "shellhub-io";
|
owner = "shellhub-io";
|
||||||
repo = "shellhub";
|
repo = "shellhub";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "BtD22Ss5PuVx2RVLQIsUeGBJBl5lh1XHJ0vcM2bOEwk=";
|
sha256 = "eZLQzy3lWwGM6VWFbsJ6JuGC+/dZnoymZgNtM8CPBM4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
modRoot = "./agent";
|
modRoot = "./agent";
|
||||||
|
|
||||||
vendorSha256 = "sha256-tvKiTQioj999oIUDHUSXTMXOh/LKoykzu8JEUnrelws=";
|
vendorSha256 = "sha256-7kDPo24I58Nh7OiHj6Zy40jAEaXSOmbcczkgJPXBItU=";
|
||||||
|
|
||||||
ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
|
ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
|
||||||
|
|
||||||
|
|
|
@ -12,15 +12,27 @@
|
||||||
, perl
|
, 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 {
|
stdenv.mkDerivation rec {
|
||||||
version = "5.7";
|
version = "5.9";
|
||||||
pname = "jabref";
|
pname = "jabref";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "JabRef";
|
owner = "JabRef";
|
||||||
repo = "jabref";
|
repo = "jabref";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-wzBaAaxGsMPh64uW+bBOiycYfVCW9H5FCn06r6XdxeE=";
|
hash = "sha256-uACmXas5L1NcxLwllkcbgCCt9bRicpQkiJkhkkVWDDY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopItems = [
|
desktopItems = [
|
||||||
|
@ -39,28 +51,37 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
deps = stdenv.mkDerivation {
|
deps = stdenv.mkDerivation {
|
||||||
pname = "${pname}-deps";
|
pname = "${pname}-deps";
|
||||||
inherit src version;
|
inherit src version postPatch;
|
||||||
|
|
||||||
nativeBuildInputs = [ gradle perl ];
|
nativeBuildInputs = [ gradle perl ];
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
export GRADLE_USER_HOME=$(mktemp -d)
|
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)
|
# 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 = ''
|
installPhase = ''
|
||||||
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
|
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' \
|
| 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
|
| sh
|
||||||
|
mv $out/com/tobiasdiez/easybind/${versionReplace.easybind.pin} \
|
||||||
|
$out/com/tobiasdiez/easybind/${versionReplace.easybind.snapshot}
|
||||||
'';
|
'';
|
||||||
# Don't move info to share/
|
# Don't move info to share/
|
||||||
forceShare = [ "dummy" ];
|
forceShare = [ "dummy" ];
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHash = {
|
outputHash = "sha256-s6GA8iT3UEVuELBgpBvzPJlVX+9DpfOQrEd3KIth8eA=";
|
||||||
x86_64-linux = "sha256-OicHJVFxHGPE76bEDoLhkEhVcAJmplqjoh2I3nnVaLA=";
|
|
||||||
aarch64-linux = "sha256-8QWmweptL/+pSO6DhfBLaLcBrfKd4TDsDoXs4TgXvew=";
|
|
||||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system ${stdenv.hostPlatform.system}");
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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 = ''
|
preBuild = ''
|
||||||
# Include CSL styles and locales in our build
|
# Include CSL styles and locales in our build
|
||||||
cp -r buildres/csl/* src/main/resources/
|
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
|
# Resources in the jar can't be found, workaround copied from AUR
|
||||||
cp -r build/resources $out/share/java/jabref
|
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
|
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')
|
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/*
|
rm $out/bin/*
|
||||||
|
|
|
@ -11,16 +11,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "karlender";
|
pname = "karlender";
|
||||||
version = "0.9.0";
|
version = "0.9.1";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "floers";
|
owner = "floers";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-lmNG9B2uO/zitOY/cNjnLRjCn6mSJ3CIpXIXpChDi9A=";
|
hash = "sha256-mtkVdVxO796hZZJrGohNTeZfC43rdvEUgUZvBG92f8c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-foxl8pqRqEbVwUWUGHmaTGazrwLQxcDJ/RvJE9wIszg=";
|
cargoHash = "sha256-jbdQ1dwTRJuA4F89YfxsO2PaHVef8bvxAj13veDteNM=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
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";
|
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/maxima/patches/undoing_true_false_printing_patch.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
|
||||||
sha256 = "0fvi3rcjv6743sqsbgdzazy9jb6r1p1yq63zyj9fx42wd1hgf7yx";
|
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:
|
# The test suite is disabled since 5.42.2 because of the following issues:
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "gfold";
|
pname = "gfold";
|
||||||
version = "4.3.1";
|
version = "4.3.2";
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage {
|
rustPlatform.buildRustPackage {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
@ -21,10 +21,10 @@ rustPlatform.buildRustPackage {
|
||||||
owner = "nickgerace";
|
owner = "nickgerace";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
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 ];
|
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "glab";
|
pname = "glab";
|
||||||
version = "1.25.3";
|
version = "1.26.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "cli";
|
repo = "cli";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-x/VH6cRrJZ2t2iftBPC86FcgIwjRNzV11MwLG2y+Paw=";
|
hash = "sha256-k0wkHw12MyVsAudaihoymGkP4y5y98cR7LKa+hEC1Mc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-FZ1CiR8Rj/sMoCnQm6ArGQfRTlvmD14EZDmufnlTSTk=";
|
vendorHash = "sha256-FZ1CiR8Rj/sMoCnQm6ArGQfRTlvmD14EZDmufnlTSTk=";
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
, glib
|
, glib
|
||||||
, cairo
|
, cairo
|
||||||
, keybinder3
|
, keybinder3
|
||||||
, ffmpeg
|
, ffmpeg-full
|
||||||
, python3
|
, python3
|
||||||
, libxml2
|
, libxml2
|
||||||
, gst_all_1
|
, gst_all_1
|
||||||
|
@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ which ffmpeg gifski ]})
|
gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ which ffmpeg-full gifski ]})
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "v2ray-geoip";
|
pname = "v2ray-geoip";
|
||||||
version = "202303020053";
|
version = "202303090050";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "v2fly";
|
owner = "v2fly";
|
||||||
repo = "geoip";
|
repo = "geoip";
|
||||||
rev = "c002daa9332a673ce2fabe61eb9c45dc6a54f3fa";
|
rev = "e1cd759a93ff7e65cd8099ee628803a83ab8cae0";
|
||||||
sha256 = "sha256-Pfny59HitidyXgXaI/1V3UNdM18X0+vVCyKP4qkL1rY=";
|
sha256 = "sha256-m6TYu6cT57MDOXXfI76ufGDWJYmxjtVZg5vSToM8btE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -234,14 +234,13 @@ stdenv.mkDerivation (rec {
|
||||||
sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5";
|
sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5";
|
||||||
})
|
})
|
||||||
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||||
|
|
||||||
# Prevent the paths module from emitting symbols that we don't use
|
# Prevent the paths module from emitting symbols that we don't use
|
||||||
# when building with separate outputs.
|
# when building with separate outputs.
|
||||||
#
|
#
|
||||||
# These cause problems as they're not eliminated by GHC's dead code
|
# These cause problems as they're not eliminated by GHC's dead code
|
||||||
# elimination on aarch64-darwin. (see
|
# elimination on aarch64-darwin. (see
|
||||||
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
|
# 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 .";
|
postPatch = "patchShebangs .";
|
||||||
|
|
|
@ -212,14 +212,13 @@ stdenv.mkDerivation (rec {
|
||||||
sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI=";
|
sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI=";
|
||||||
})
|
})
|
||||||
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||||
|
|
||||||
# Prevent the paths module from emitting symbols that we don't use
|
# Prevent the paths module from emitting symbols that we don't use
|
||||||
# when building with separate outputs.
|
# when building with separate outputs.
|
||||||
#
|
#
|
||||||
# These cause problems as they're not eliminated by GHC's dead code
|
# These cause problems as they're not eliminated by GHC's dead code
|
||||||
# elimination on aarch64-darwin. (see
|
# elimination on aarch64-darwin. (see
|
||||||
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
|
# 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 .";
|
postPatch = "patchShebangs .";
|
||||||
|
|
|
@ -210,6 +210,14 @@ stdenv.mkDerivation (rec {
|
||||||
extraPrefix = "libraries/Cabal/";
|
extraPrefix = "libraries/Cabal/";
|
||||||
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
|
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 .";
|
postPatch = "patchShebangs .";
|
||||||
|
|
|
@ -210,6 +210,14 @@ stdenv.mkDerivation (rec {
|
||||||
extraPrefix = "libraries/Cabal/";
|
extraPrefix = "libraries/Cabal/";
|
||||||
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
|
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 .";
|
postPatch = "patchShebangs .";
|
||||||
|
|
|
@ -210,6 +210,14 @@ stdenv.mkDerivation (rec {
|
||||||
extraPrefix = "libraries/Cabal/";
|
extraPrefix = "libraries/Cabal/";
|
||||||
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
|
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 .";
|
postPatch = "patchShebangs .";
|
||||||
|
|
|
@ -210,6 +210,14 @@ stdenv.mkDerivation (rec {
|
||||||
extraPrefix = "libraries/Cabal/";
|
extraPrefix = "libraries/Cabal/";
|
||||||
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
|
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 .";
|
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 {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "purescript";
|
pname = "purescript";
|
||||||
version = "0.15.7";
|
version = "0.15.8";
|
||||||
|
|
||||||
# These hashes can be updated automatically by running the ./update.sh script.
|
# These hashes can be updated automatically by running the ./update.sh script.
|
||||||
src =
|
src =
|
||||||
|
@ -26,12 +26,12 @@ in stdenv.mkDerivation rec {
|
||||||
then
|
then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
|
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
|
||||||
sha256 = "0aq5sr93z6c5l76sqbj3g48z6yrhxfqxri0x1ajmjwhcwjg79d6v";
|
sha256 = "0aq6b8yw2ll3qgmc21ap2pxfnr7glqhrjx3ggc21q4gwq3zxrrrp";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
|
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
|
# https://github.com/NixOS/nixpkgs/issues/149692
|
||||||
Agda = removeConfigureFlag "-foptimise-heavily" super.Agda;
|
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
|
} // lib.optionalAttrs pkgs.stdenv.isx86_64 { # x86_64-darwin
|
||||||
|
|
||||||
# tests appear to be failing to link or something:
|
# tests appear to be failing to link or something:
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ lib, buildDunePackage, dune-configurator, pkg-config, fetchFromGitHub, callPackage
|
{ lib, buildDunePackage, dune-configurator, pkg-config, fetchFromGitHub, callPackage
|
||||||
, AppKit
|
, AppKit
|
||||||
, AudioToolbox
|
, AudioToolbox
|
||||||
|
, AVFoundation
|
||||||
, Cocoa
|
, Cocoa
|
||||||
, CoreImage
|
, CoreImage
|
||||||
, ForceFeedback
|
, ForceFeedback
|
||||||
|
@ -20,7 +21,17 @@ buildDunePackage {
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
buildInputs = [ dune-configurator ]
|
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 ];
|
propagatedBuildInputs = [ ffmpeg-av ffmpeg.dev ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
|
@ -12,14 +12,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bandit";
|
pname = "bandit";
|
||||||
version = "1.7.4";
|
version = "1.7.5";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-LWOoxXNBe64ziWLUubBvvGCA907NlVoJKEnh5lxxe9I=";
|
hash = "sha256-vfxzm6oDuIDC0V0EMbMcZY/8NI6Qf+GX5U4Did1Z4R4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
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
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, setuptools
|
, setuptools
|
||||||
, nose
|
, pytestCheckHook
|
||||||
, requests
|
, requests
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "rangehttpserver";
|
pname = "rangehttpserver";
|
||||||
version = "1.2.0";
|
version = "1.3.3";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "danvk";
|
owner = "danvk";
|
||||||
repo = "RangeHTTPServer";
|
repo = "RangeHTTPServer";
|
||||||
rev = version;
|
rev = "refs/tags/${version}";
|
||||||
sha256 = "1sy9j6y8kp5jiwv2vd652v94kspp1yd4dwxrfqfn6zwnfyv2mzv5";
|
hash = "sha256-ZXEbis37QO8t05JQ2qQQf5rkUSxq3DwzR3khAJkZ5W0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -23,16 +23,10 @@ buildPythonPackage rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
nose
|
pytestCheckHook
|
||||||
requests
|
requests
|
||||||
];
|
];
|
||||||
|
|
||||||
checkPhase = ''
|
|
||||||
runHook preCheck
|
|
||||||
nosetests
|
|
||||||
runHook postCheck
|
|
||||||
'';
|
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"RangeHTTPServer"
|
"RangeHTTPServer"
|
||||||
];
|
];
|
||||||
|
@ -40,6 +34,7 @@ buildPythonPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "SimpleHTTPServer with support for Range requests";
|
description = "SimpleHTTPServer with support for Range requests";
|
||||||
homepage = "https://github.com/danvk/RangeHTTPServer";
|
homepage = "https://github.com/danvk/RangeHTTPServer";
|
||||||
|
changelog = "https://github.com/danvk/RangeHTTPServer/releases/tag/${version}";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ fab ];
|
maintainers = with maintainers; [ fab ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "hclfmt";
|
pname = "hclfmt";
|
||||||
version = "2.16.1";
|
version = "2.16.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hashicorp";
|
owner = "hashicorp";
|
||||||
repo = "hcl";
|
repo = "hcl";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-EsqOpVCsn0bD0BAOoFifH1hfEF8Wu8bUpM0/BSXAewY=";
|
hash = "sha256-7RHRUIZhF6UOZDi85HAzQhzD7c8Y4aPjt4Ly3KUM26k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-QZzDFVAmmjkm7n/KpMxDMAjShKiVVGZbZB1W3/TeVjs=";
|
vendorHash = "sha256-QZzDFVAmmjkm7n/KpMxDMAjShKiVVGZbZB1W3/TeVjs=";
|
||||||
|
|
|
@ -5,17 +5,17 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "protoc-gen-go-grpc";
|
pname = "protoc-gen-go-grpc";
|
||||||
version = "1.2.0";
|
version = "1.3.0";
|
||||||
modRoot = "cmd/protoc-gen-go-grpc";
|
modRoot = "cmd/protoc-gen-go-grpc";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "grpc";
|
owner = "grpc";
|
||||||
repo = "grpc-go";
|
repo = "grpc-go";
|
||||||
rev = "cmd/protoc-gen-go-grpc/v${version}";
|
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; {
|
meta = with lib; {
|
||||||
description = "The Go language implementation of gRPC. HTTP/2 based RPC";
|
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 {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "cargo-update";
|
pname = "cargo-update";
|
||||||
version = "11.1.1";
|
version = "11.1.2";
|
||||||
|
|
||||||
src = fetchCrate {
|
src = fetchCrate {
|
||||||
inherit pname version;
|
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 ];
|
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" ];
|
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 =
|
postConfigure =
|
||||||
''
|
''
|
||||||
# Ensure that bannertopdf can find the PDF templates in
|
# Ensure that bannertopdf can find the PDF templates in
|
||||||
|
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "statsd_exporter";
|
pname = "statsd_exporter";
|
||||||
version = "0.23.0";
|
version = "0.23.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "prometheus";
|
owner = "prometheus";
|
||||||
repo = "statsd_exporter";
|
repo = "statsd_exporter";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-7atRLwucO09yN2odu0uNe7xrtKLq9kmy6JyI1y4Sww8=";
|
hash = "sha256-JbRkLRXTQo40wBynfG6BRR4+yPqy7VLJ33vsjus5okg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-H0f7bDnSddlabpRbMpk9tInlne2tI5J+MQ23mw1N71E=";
|
vendorHash = "sha256-YzcgEQ1S2qn7v2SVSBiodprtc+D4cSZOFBJwpq3jz8Y=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Receives StatsD-style metrics and exports them to Prometheus";
|
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 = super.callPackage ./ext/timescaledb.nix { };
|
||||||
|
|
||||||
|
timescaledb_toolkit = super.callPackage ./ext/timescaledb_toolkit.nix { };
|
||||||
|
|
||||||
tsearch_extras = super.callPackage ./ext/tsearch_extras.nix { };
|
tsearch_extras = super.callPackage ./ext/tsearch_extras.nix { };
|
||||||
|
|
||||||
tds_fdw = super.callPackage ./ext/tds_fdw.nix { };
|
tds_fdw = super.callPackage ./ext/tds_fdw.nix { };
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "eksctl";
|
pname = "eksctl";
|
||||||
version = "0.132.0";
|
version = "0.133.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "weaveworks";
|
owner = "weaveworks";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-wKTESd+YKJd94yUuqm1v4biyGCABbhwTlKLzbiOg6H0=";
|
sha256 = "sha256-QRm0a7x39vhxRT29+tTrpr3ZyPPHtHtxLWiyqTgPYCM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-A06vwsadznqe1xraMZnseRAJkrpCdciKBxPUBus39ws=";
|
vendorHash = "sha256-R/VFq+SO/ZWf9ztg/75ASidqznCkO47T2PFsgKJwEWM=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -17,13 +17,13 @@
|
||||||
|
|
||||||
buildDotnetModule rec {
|
buildDotnetModule rec {
|
||||||
pname = "scarab";
|
pname = "scarab";
|
||||||
version = "1.20.0.0";
|
version = "1.31.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "fifty-six";
|
owner = "fifty-six";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-VfXIxir4SaELuF2QpqbVzTvlkYxwERa0ddGEn1OAh04=";
|
sha256 = "sha256-oReU0kL0wPR6oqhq/uzO7nD1qo74h36w/gyvgffwzns=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nugetDeps = ./deps.nix;
|
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 {
|
stdenv.mkDerivation rec {
|
||||||
pname = "geekbench";
|
pname = "geekbench";
|
||||||
|
@ -12,23 +20,25 @@ stdenv.mkDerivation rec {
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||||
|
buildInputs = [ stdenv.cc.cc ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin $out/lib
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
cp -r geekbench.plar geekbench4 geekbench_x86_64 $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
|
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 \
|
||||||
wrapProgram $out/bin/$f --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$out/lib/"
|
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [
|
||||||
|
addOpenGLRunpath.driverLink
|
||||||
|
ocl-icd
|
||||||
|
vulkan-loader
|
||||||
|
]}"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -38,5 +48,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
maintainers = [ maintainers.michalrus ];
|
maintainers = [ maintainers.michalrus ];
|
||||||
platforms = [ "x86_64-linux" ];
|
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
|
, go
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version = "1.7.0";
|
version = "1.8.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vercel";
|
owner = "vercel";
|
||||||
repo = "turbo";
|
repo = "turbo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "YTuEv2S3jNV2o7HJML+P6OMazgwgRhUPnd/zaTWfDWs=";
|
sha256 = "sha256-aqe9ze6xZ5RUJJGT19nABhorrL9+ctSTS+ov97hG30o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
go-turbo = buildGoModule rec {
|
go-turbo = buildGoModule rec {
|
||||||
|
@ -27,7 +27,7 @@ let
|
||||||
pname = "go-turbo";
|
pname = "go-turbo";
|
||||||
modRoot = "cli";
|
modRoot = "cli";
|
||||||
|
|
||||||
vendorSha256 = "Kx/CLFv23h2TmGe8Jwu+S3QcONfqeHk2fCW1na75c0s=";
|
vendorSha256 = "sha256-lqumN+xqJXEPI+nVnWSNfAyvQQ6fS9ao8uhwA1EbWWM=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
git
|
git
|
||||||
|
@ -64,7 +64,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
];
|
];
|
||||||
RELEASE_TURBO_CLI = "true";
|
RELEASE_TURBO_CLI = "true";
|
||||||
|
|
||||||
cargoSha256 = "ENw6NU3Fedd+OJEEWgL8A54aowNqjn3iv7rxlr+/4ZE=";
|
cargoSha256 = "sha256-zUz/u89VtiK0bFpyoQMMXUoXQpqPNOLR+PN3EbXSAC0=";
|
||||||
RUSTC_BOOTSTRAP = 1;
|
RUSTC_BOOTSTRAP = 1;
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
|
@ -14,16 +14,16 @@ let
|
||||||
in
|
in
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "netbird";
|
pname = "netbird";
|
||||||
version = "0.14.2";
|
version = "0.14.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "netbirdio";
|
owner = "netbirdio";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
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;
|
nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;
|
||||||
|
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "trufflehog";
|
pname = "trufflehog";
|
||||||
version = "3.29.0";
|
version = "3.29.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "trufflesecurity";
|
owner = "trufflesecurity";
|
||||||
repo = "trufflehog";
|
repo = "trufflehog";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-iu6MrfRWlfUeVsCoqxp/jFT8gcOieDplx1Jdjk8txOU=";
|
hash = "sha256-ZCHrqvqIlANqkZ/zVYbwOsRimWVUAZ8zvBnfTaBE8qk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-Z1QJM2feKFQ8MEVwzYt+MkpDZHiaVWlzq2lbResWQWk=";
|
vendorHash = "sha256-Z1QJM2feKFQ8MEVwzYt+MkpDZHiaVWlzq2lbResWQWk=";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "vals";
|
pname = "vals";
|
||||||
version = "0.22.0";
|
version = "0.23.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
owner = "variantdev";
|
owner = "variantdev";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
sha256 = "sha256-/XBjGbpQIeO7UehcZv2kN4k2ZOsfhduUteURAqaUpwQ=";
|
sha256 = "sha256-YIzy8WPguIrhkg1HW2X714Xp9b+eL6bej/oXN62kyus=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-l837w2K3GsDTb9EEeYPfyrnkRSkv0FyoPr29Ud+iiJ8=";
|
vendorHash = "sha256-CzfAUNKskEbxWmVGz/XHItUS9Mp12zjTJ3z9X7YBjR4=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-s"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "vale";
|
pname = "vale";
|
||||||
version = "2.23.3";
|
version = "2.24.0";
|
||||||
|
|
||||||
subPackages = [ "cmd/vale" ];
|
subPackages = [ "cmd/vale" ];
|
||||||
outputs = [ "out" "data" ];
|
outputs = [ "out" "data" ];
|
||||||
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
||||||
owner = "errata-ai";
|
owner = "errata-ai";
|
||||||
repo = "vale";
|
repo = "vale";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-M4tq/gUpI0tGMJJOHE2TtGIbFzbv9/pP6yZGDf68VHI=";
|
hash = "sha256-mUZ9ktqy6zLwPNjr8raJHwn6/UL4kzlT1baE+HrwPgo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-ZgBt4BgZWViNqYCuqb/Wt1zVjFM9h1UsmsYox7kMJ1A=";
|
vendorHash = "sha256-ZgBt4BgZWViNqYCuqb/Wt1zVjFM9h1UsmsYox7kMJ1A=";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "cliphist";
|
pname = "cliphist";
|
||||||
version = "0.3.1";
|
version = "0.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sentriz";
|
owner = "sentriz";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-kmXR8xzjAphgaC2Yd55VwZIJ4ehxP1LEA24hgyAbM7A=";
|
sha256 = "sha256-V115xsdSAsxp1RQpCVoGqkkb8J6Rvj5NNNtPMwT9IAg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-LZnefa0FjYG39YJrSN9ef6OnXHXgSrlSL4LvRqLxFx4=";
|
vendorHash = "sha256-/xu1kcSOBOVz7XNxe4Jl905HtFWFOaZHKkLNFaLMVEs=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Wayland clipboard manager";
|
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
|
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
|
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
|
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
|
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
|
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
|
gfm = throw "gfm has been removed"; # Added 2021-01-15
|
||||||
|
|
|
@ -4837,9 +4837,10 @@ with pkgs;
|
||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
};
|
};
|
||||||
|
|
||||||
geekbench4 = callPackage ../tools/misc/geekbench/4.nix { };
|
geekbench_4 = callPackage ../tools/misc/geekbench/4.nix { };
|
||||||
geekbench5 = callPackage ../tools/misc/geekbench { };
|
geekbench_5 = callPackage ../tools/misc/geekbench/5.nix { };
|
||||||
geekbench = geekbench5;
|
geekbench_6 = callPackage ../tools/misc/geekbench/6.nix { };
|
||||||
|
geekbench = geekbench_6;
|
||||||
|
|
||||||
gencfsm = callPackage ../tools/security/gencfsm { };
|
gencfsm = callPackage ../tools/security/gencfsm { };
|
||||||
|
|
||||||
|
@ -15936,6 +15937,9 @@ with pkgs;
|
||||||
cargo-pgx = callPackage ../development/tools/rust/cargo-pgx {
|
cargo-pgx = callPackage ../development/tools/rust/cargo-pgx {
|
||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
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-release = callPackage ../development/tools/rust/cargo-release { };
|
||||||
cargo-rr = callPackage ../development/tools/rust/cargo-rr { };
|
cargo-rr = callPackage ../development/tools/rust/cargo-rr { };
|
||||||
cargo-tarpaulin = callPackage ../development/tools/analysis/cargo-tarpaulin {
|
cargo-tarpaulin = callPackage ../development/tools/analysis/cargo-tarpaulin {
|
||||||
|
@ -30889,7 +30893,8 @@ with pkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
jabref = callPackage ../applications/office/jabref {
|
jabref = callPackage ../applications/office/jabref {
|
||||||
jdk = javaPackages.compiler.openjdk18;
|
jdk = jdk19.override { enableJavaFX = true; };
|
||||||
|
gradle = gradle_7;
|
||||||
};
|
};
|
||||||
|
|
||||||
jack_capture = callPackage ../applications/audio/jack-capture { };
|
jack_capture = callPackage ../applications/audio/jack-capture { };
|
||||||
|
|
|
@ -333,13 +333,13 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
|
||||||
|
|
||||||
Nuget = buildDotnetPackage rec {
|
Nuget = buildDotnetPackage rec {
|
||||||
pname = "Nuget";
|
pname = "Nuget";
|
||||||
version = "5.6.0.6489";
|
version = "6.3.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mono";
|
owner = "mono";
|
||||||
repo = "linux-packaging-nuget";
|
repo = "linux-packaging-nuget";
|
||||||
rev = "upstream/${version}.bin";
|
rev = "upstream/${version}.bin";
|
||||||
sha256 = "sha256-71vjM7a+F0DNTY+dML3UBSkrVyXv/k5rdl7iXBKSpNM=";
|
sha256 = "sha256-D7F4B23HK5ElY68PYKVDsyi8OF0DLqqUqQzj5CpMfkc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# configurePhase breaks the binary and results in
|
# configurePhase breaks the binary and results in
|
||||||
|
|
|
@ -483,7 +483,7 @@ let
|
||||||
};
|
};
|
||||||
ffmpeg-avdevice = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix {
|
ffmpeg-avdevice = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix {
|
||||||
inherit (pkgs) ffmpeg;
|
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 { };
|
fiber = callPackage ../development/ocaml-modules/fiber { };
|
||||||
|
|
|
@ -4793,6 +4793,8 @@ self: super: with self; {
|
||||||
|
|
||||||
ipwhl = callPackage ../development/python-modules/ipwhl { };
|
ipwhl = callPackage ../development/python-modules/ipwhl { };
|
||||||
|
|
||||||
|
ipwhois = callPackage ../development/python-modules/ipwhois { };
|
||||||
|
|
||||||
ipy = callPackage ../development/python-modules/IPy { };
|
ipy = callPackage ../development/python-modules/IPy { };
|
||||||
|
|
||||||
ipydatawidgets = callPackage ../development/python-modules/ipydatawidgets { };
|
ipydatawidgets = callPackage ../development/python-modules/ipydatawidgets { };
|
||||||
|
|
Loading…
Reference in a new issue