Merge master into staging-next

Changed files
+604 -545
nixos
pkgs
applications
blockchains
btcpayserver
nbxplorer
misc
anytype
xmrig
networking
cluster
arkade
tfswitch
virtualization
podman
desktops
pantheon
apps
appcenter
development
compilers
libraries
draco
python-modules
b2sdk
flask-babel
pypinyin
pyvmomi
robotstatuschecker
screenlogicpy
types-dateutil
tools
backblaze-b2
go-mockery
kubernetes-controller-tools
oh-my-posh
pscale
rust
cargo-insta
skaffold
servers
amqp
rabbitmq-server
libreddit
snappymail
tools
top-level
-1
nixos/tests/all-tests.nix
···
peering-manager = handleTest ./web-apps/peering-manager.nix {};
peertube = handleTestOn ["x86_64-linux"] ./web-apps/peertube.nix {};
pgadmin4 = handleTest ./pgadmin4.nix {};
-
pgadmin4-standalone = handleTest ./pgadmin4-standalone.nix {};
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};
phosh = handleTest ./phosh.nix {};
···
peering-manager = handleTest ./web-apps/peering-manager.nix {};
peertube = handleTestOn ["x86_64-linux"] ./web-apps/peertube.nix {};
pgadmin4 = handleTest ./pgadmin4.nix {};
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};
phosh = handleTest ./phosh.nix {};
-43
nixos/tests/pgadmin4-standalone.nix
···
-
import ./make-test-python.nix ({ pkgs, lib, ... }:
-
# This is separate from pgadmin4 since we don't want both running at once
-
-
{
-
name = "pgadmin4-standalone";
-
meta.maintainers = with lib.maintainers; [ mkg20001 ];
-
-
nodes.machine = { pkgs, ... }: {
-
environment.systemPackages = with pkgs; [
-
curl
-
];
-
-
services.postgresql = {
-
enable = true;
-
-
authentication = ''
-
host all all localhost trust
-
'';
-
-
ensureUsers = [
-
{
-
name = "postgres";
-
ensurePermissions = {
-
"DATABASE \"postgres\"" = "ALL PRIVILEGES";
-
};
-
}
-
];
-
};
-
-
services.pgadmin = {
-
enable = true;
-
initialEmail = "bruh@localhost.de";
-
initialPasswordFile = pkgs.writeText "pw" "bruh2012!";
-
};
-
};
-
-
testScript = ''
-
machine.wait_for_unit("postgresql")
-
machine.wait_for_unit("pgadmin")
-
-
machine.wait_until_succeeds("curl -s localhost:5050")
-
'';
-
})
···
+29 -111
nixos/tests/pgadmin4.nix
···
-
import ./make-test-python.nix ({ pkgs, lib, buildDeps ? [ ], pythonEnv ? [ ], ... }:
-
-
/*
-
This test suite replaces the typical pytestCheckHook function in python
-
packages. Pgadmin4 test suite needs a running and configured postgresql
-
server. This is why this test exists.
-
-
To not repeat all the python dependencies needed, this test is called directly
-
from the pgadmin4 derivation, which also passes the currently
-
used propagatedBuildInputs and any python overrides.
-
-
Unfortunately, there doesn't seem to be an easy way to otherwise include
-
the needed packages here.
-
Due the the needed parameters a direct call to "nixosTests.pgadmin4" fails
-
and needs to be called as "pgadmin4.tests"
-
-
*/
-
-
let
-
pgadmin4SrcDir = "/pgadmin";
-
pgadmin4Dir = "/var/lib/pgadmin";
-
pgadmin4LogDir = "/var/log/pgadmin";
-
-
in
{
name = "pgadmin4";
-
meta.maintainers = with lib.maintainers; [ gador ];
nodes.machine = { pkgs, ... }: {
-
imports = [ ./common/x11.nix ];
-
# needed because pgadmin 6.8 will fail, if those dependencies get updated
-
nixpkgs.overlays = [
-
(self: super: {
-
pythonPackages = pythonEnv;
-
})
-
];
environment.systemPackages = with pkgs; [
-
pgadmin4
-
postgresql
-
chromedriver
-
chromium
-
# include the same packages as in pgadmin minus speaklater3
-
(python3.withPackages
-
(ps: buildDeps ++
-
[
-
# test suite package requirements
-
pythonPackages.testscenarios
-
pythonPackages.selenium
-
])
-
)
];
services.postgresql = {
enable = true;
authentication = ''
···
}
];
};
};
testScript = ''
-
machine.wait_for_unit("postgresql")
-
-
# pgadmin4 needs its data and log directories
-
machine.succeed(
-
"mkdir -p ${pgadmin4Dir} \
-
&& mkdir -p ${pgadmin4LogDir} \
-
&& mkdir -p ${pgadmin4SrcDir}"
-
)
-
-
machine.succeed(
-
"tar xvzf ${pkgs.pgadmin4.src} -C ${pgadmin4SrcDir}"
-
)
-
-
machine.wait_for_file("${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/README.md")
-
-
# set paths and config for tests
-
# also ensure Server Mode is set to false, which will automatically exclude some unnecessary tests.
-
# see https://github.com/pgadmin-org/pgadmin4/blob/fd1c26408bbf154fa455a49ee5c12895933833a3/web/regression/runtests.py#L217-L226
-
machine.succeed(
-
"cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version} \
-
&& cp -v web/regression/test_config.json.in web/regression/test_config.json \
-
&& sed -i 's|PostgreSQL 9.4|PostgreSQL|' web/regression/test_config.json \
-
&& sed -i 's|/opt/PostgreSQL/9.4/bin/|${pkgs.postgresql}/bin|' web/regression/test_config.json \
-
&& sed -i 's|\"headless_chrome\": false|\"headless_chrome\": true|' web/regression/test_config.json \
-
&& sed -i 's|builtins.SERVER_MODE = None|builtins.SERVER_MODE = False|' web/regression/runtests.py"
-
)
-
-
# adapt chrome config to run within a sandbox without GUI
-
# see https://stackoverflow.com/questions/50642308/webdriverexception-unknown-error-devtoolsactiveport-file-doesnt-exist-while-t#50642913
-
# add chrome binary path. use spaces to satisfy python indention (tabs throw an error)
-
machine.succeed(
-
"cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version} \
-
&& sed -i '\|options.add_argument(\"--disable-infobars\")|a \ \ \ \ \ \ \ \ options.binary_location = \"${pkgs.chromium}/bin/chromium\"' web/regression/runtests.py \
-
&& sed -i '\|options.add_argument(\"--no-sandbox\")|a \ \ \ \ \ \ \ \ options.add_argument(\"--headless\")' web/regression/runtests.py \
-
&& sed -i '\|options.add_argument(\"--disable-infobars\")|a \ \ \ \ \ \ \ \ options.add_argument(\"--disable-dev-shm-usage\")' web/regression/runtests.py \
-
&& sed -i 's|(chrome_options=options)|(executable_path=\"${pkgs.chromedriver}/bin/chromedriver\", chrome_options=options)|' web/regression/runtests.py \
-
&& sed -i 's|driver_local.maximize_window()||' web/regression/runtests.py"
-
)
-
-
# don't bother to test kerberos authentication
-
excluded_tests = [ "browser.tests.test_kerberos_with_mocking",
-
]
-
-
with subtest("run browser test"):
-
machine.succeed(
-
'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
-
&& python regression/runtests.py \
-
--pkg browser \
-
--exclude ' + ','.join(excluded_tests)
-
)
-
with subtest("run resql test"):
-
machine.succeed(
-
'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
-
&& python regression/runtests.py --pkg resql'
-
)
-
-
# fontconfig is necessary for chromium to run
-
# https://github.com/NixOS/nixpkgs/issues/136207
-
# also, the feature_tests require Server Mode = True
-
with subtest("run feature test"):
-
machine.succeed(
-
'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
-
&& export FONTCONFIG_FILE=${pkgs.makeFontsConf { fontDirectories = [];}} \
-
&& sed -i \'s|builtins.SERVER_MODE = False|builtins.SERVER_MODE = True|\' regression/runtests.py \
-
&& python regression/runtests.py --pkg feature_tests'
-
)
'';
})
···
+
import ./make-test-python.nix ({ pkgs, lib, ... }:
{
name = "pgadmin4";
+
meta.maintainers = with lib.maintainers; [ mkg20001 gador ];
nodes.machine = { pkgs, ... }: {
+
+
imports = [ ./common/user-account.nix ];
environment.systemPackages = with pkgs; [
+
curl
+
pgadmin4-desktopmode
];
+
services.postgresql = {
enable = true;
authentication = ''
···
}
];
};
+
+
services.pgadmin = {
+
port = 5051;
+
enable = true;
+
initialEmail = "bruh@localhost.de";
+
initialPasswordFile = pkgs.writeText "pw" "bruh2012!";
+
};
};
testScript = ''
+
with subtest("Check pgadmin module"):
+
machine.wait_for_unit("postgresql")
+
machine.wait_for_unit("pgadmin")
+
machine.wait_until_succeeds("curl -s localhost:5051")
+
machine.wait_until_succeeds("curl -s localhost:5051/login | grep \"<title>pgAdmin 4</title>\" > /dev/null")
+
# pgadmin4 module saves the configuration to /etc/pgadmin/config_system.py
+
# pgadmin4-desktopmode tries to read that as well. This normally fails with a PermissionError, as the config file
+
# is owned by the user of the pgadmin module. With the check-system-config-dir.patch this will just throw a warning
+
# but will continue and not read the file.
+
# If we run pgadmin4-desktopmode as root (something one really shouldn't do), it can read the config file and fail,
+
# because of the wrong config for desktopmode.
+
with subtest("Check pgadmin standalone desktop mode"):
+
machine.execute("sudo -u alice pgadmin4 >&2 &", timeout=60)
+
machine.wait_until_succeeds("curl -s localhost:5050")
+
machine.wait_until_succeeds("curl -s localhost:5050/browser/ | grep \"<title>pgAdmin 4</title>\" > /dev/null")
'';
})
+2 -2
pkgs/applications/blockchains/btcpayserver/default.nix
···
buildDotnetModule rec {
pname = "btcpayserver";
-
version = "1.7.5";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-xycNt3jzZY2a4hNv3arWLt+EfMqpFVMDHMuzOWnL7aQ=";
};
projectFile = "BTCPayServer/BTCPayServer.csproj";
···
buildDotnetModule rec {
pname = "btcpayserver";
+
version = "1.7.7";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
+
sha256 = "sha256-bflQsVaCwV5zaU5k46wFQ45dIOg3dHmYfBVQHyw+EpM=";
};
projectFile = "BTCPayServer/BTCPayServer.csproj";
+4 -4
pkgs/applications/blockchains/btcpayserver/deps.nix
···
(fetchNuGet { pname = "AWSSDK.S3"; version = "3.3.110.10"; sha256 = "1lf1hfbx792dpa1hxgn0a0jrrvldd16hgbxx229dk2qcz5qlnc38"; })
(fetchNuGet { pname = "BIP78.Sender"; version = "0.2.2"; sha256 = "12pm2s35c0qzc06099q2z1pxwq94rq85n74yz8fs8gwvm2ksgp4p"; })
(fetchNuGet { pname = "BTCPayServer.Hwi"; version = "2.0.2"; sha256 = "0lh3n1qncqs4kbrmx65xs271f0d9c7irrs9qnsa9q51cbbqbljh9"; })
-
(fetchNuGet { pname = "BTCPayServer.Lightning.All"; version = "1.4.18"; sha256 = "1w1h6za2mjk04njkw4hny3lx38h2m03gmvwrihj9h2rak7jf2gij"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Charge"; version = "1.3.20"; sha256 = "0nk82hkgs67mxfxkgbav8yxxd79m0xyqaan7vay00gg33pjqdjvj"; })
-
(fetchNuGet { pname = "BTCPayServer.Lightning.CLightning"; version = "1.3.24"; sha256 = "0i0lqpxx0gy9zbssjigz0vq0way88x0slyyfijsx4sasrhrbv5qs"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Common"; version = "1.3.16"; sha256 = "1g37736b4k0ncpyy2qycbk4l85fqvgwac3k98nbdj0dvhfghp1dn"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Common"; version = "1.3.21"; sha256 = "042xwfsxd30zgwiz0w14ynb755w5sldkplxgw1fkw68lrz66x5s4"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Eclair"; version = "1.3.20"; sha256 = "093w82mcxxxbvx66j0sp3lsfm2bkbi3igm80iz9zdghy85845kc9"; })
-
(fetchNuGet { pname = "BTCPayServer.Lightning.LNBank"; version = "1.3.23"; sha256 = "036cggc386448i05s38pnhzs7qqbix6lml7j2zn84gcgk8w741gi"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.LND"; version = "1.4.14"; sha256 = "1gzqz34lgk42kf86ldi3z0k4m9x91hlkqh6d7rq93nphl57mwqar"; })
-
(fetchNuGet { pname = "BTCPayServer.Lightning.LNDhub"; version = "1.0.16"; sha256 = "0l6pnjc6phsacwg145kwsakjpkd44jm1w53y0s166bwzpcdmljq0"; })
(fetchNuGet { pname = "BTCPayServer.NETCore.Plugins"; version = "1.4.4"; sha256 = "0rk0prmb0539ji5fd33cqy3yvw51i5i8m5hb43admr5z8960dd6l"; })
(fetchNuGet { pname = "BTCPayServer.NETCore.Plugins.Mvc"; version = "1.4.4"; sha256 = "1kmmj5m7s41wc1akpqw1b1j7pp4c0vn6sqxb487980ibpj6hyisl"; })
(fetchNuGet { pname = "CsvHelper"; version = "15.0.5"; sha256 = "01y8bhsnxghn3flz0pr11vj6wjrpmia8rpdrsp7kjfc1zmhqlgma"; })
···
(fetchNuGet { pname = "AWSSDK.S3"; version = "3.3.110.10"; sha256 = "1lf1hfbx792dpa1hxgn0a0jrrvldd16hgbxx229dk2qcz5qlnc38"; })
(fetchNuGet { pname = "BIP78.Sender"; version = "0.2.2"; sha256 = "12pm2s35c0qzc06099q2z1pxwq94rq85n74yz8fs8gwvm2ksgp4p"; })
(fetchNuGet { pname = "BTCPayServer.Hwi"; version = "2.0.2"; sha256 = "0lh3n1qncqs4kbrmx65xs271f0d9c7irrs9qnsa9q51cbbqbljh9"; })
+
(fetchNuGet { pname = "BTCPayServer.Lightning.All"; version = "1.4.20"; sha256 = "1vnzmczd4z25vbf987p4vp6sxc09fp6mvhrvq41iwj1ks5zcprlf"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Charge"; version = "1.3.20"; sha256 = "0nk82hkgs67mxfxkgbav8yxxd79m0xyqaan7vay00gg33pjqdjvj"; })
+
(fetchNuGet { pname = "BTCPayServer.Lightning.CLightning"; version = "1.3.25"; sha256 = "0172czzzlgsljgmhb5wh8cb1cl12ac54qyzmd3w18wbkxmr205qk"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Common"; version = "1.3.16"; sha256 = "1g37736b4k0ncpyy2qycbk4l85fqvgwac3k98nbdj0dvhfghp1dn"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Common"; version = "1.3.21"; sha256 = "042xwfsxd30zgwiz0w14ynb755w5sldkplxgw1fkw68lrz66x5s4"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.Eclair"; version = "1.3.20"; sha256 = "093w82mcxxxbvx66j0sp3lsfm2bkbi3igm80iz9zdghy85845kc9"; })
+
(fetchNuGet { pname = "BTCPayServer.Lightning.LNBank"; version = "1.3.24"; sha256 = "0dah7q90x29rqhngxd9226pfn1k4bbhhfgnkpjpw64529m29cdks"; })
(fetchNuGet { pname = "BTCPayServer.Lightning.LND"; version = "1.4.14"; sha256 = "1gzqz34lgk42kf86ldi3z0k4m9x91hlkqh6d7rq93nphl57mwqar"; })
+
(fetchNuGet { pname = "BTCPayServer.Lightning.LNDhub"; version = "1.0.18"; sha256 = "0vnnnm9c5w8ag3a25fzmsjax028ykb7xr4fp7saq4si3bmzkjswp"; })
(fetchNuGet { pname = "BTCPayServer.NETCore.Plugins"; version = "1.4.4"; sha256 = "0rk0prmb0539ji5fd33cqy3yvw51i5i8m5hb43admr5z8960dd6l"; })
(fetchNuGet { pname = "BTCPayServer.NETCore.Plugins.Mvc"; version = "1.4.4"; sha256 = "1kmmj5m7s41wc1akpqw1b1j7pp4c0vn6sqxb487980ibpj6hyisl"; })
(fetchNuGet { pname = "CsvHelper"; version = "15.0.5"; sha256 = "01y8bhsnxghn3flz0pr11vj6wjrpmia8rpdrsp7kjfc1zmhqlgma"; })
+2 -2
pkgs/applications/blockchains/nbxplorer/default.nix
···
buildDotnetModule rec {
pname = "nbxplorer";
-
version = "2.3.57";
src = fetchFromGitHub {
owner = "dgarage";
repo = "NBXplorer";
rev = "v${version}";
-
sha256 = "sha256-oLkkGdzjyvgIXi0HZiFPCShzbBR8cOgMf1h1Nf1U6Rk=";
};
projectFile = "NBXplorer/NBXplorer.csproj";
···
buildDotnetModule rec {
pname = "nbxplorer";
+
version = "2.3.60";
src = fetchFromGitHub {
owner = "dgarage";
repo = "NBXplorer";
rev = "v${version}";
+
sha256 = "sha256-YUZvTs77dGhG7dpxbQyGhrOMMx+8LotdMJflPflMDAE=";
};
projectFile = "NBXplorer/NBXplorer.csproj";
+2 -2
pkgs/applications/misc/anytype/default.nix
···
let
pname = "anytype";
-
version = "0.29.1";
name = "Anytype-${version}";
nameExecutable = pname;
src = fetchurl {
url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
name = "Anytype-${version}.AppImage";
-
sha256 = "sha256-NyIAOkOX9s9dN6m/5hfMhy4tSENPCDk2w/F8z+J6qqk=";
};
appimageContents = appimageTools.extractType2 { inherit name src; };
in
···
let
pname = "anytype";
+
version = "0.30.0";
name = "Anytype-${version}";
nameExecutable = pname;
src = fetchurl {
url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
name = "Anytype-${version}.AppImage";
+
sha256 = "sha256-LifJc5mLbnt5wBXGM1n1uice0B6mCY80LYf3kEFJy90=";
};
appimageContents = appimageTools.extractType2 { inherit name src; };
in
+40 -9
pkgs/applications/misc/xmrig/default.nix
···
-
{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl, hwloc
, donateLevel ? 0
}:
stdenv.mkDerivation rec {
pname = "xmrig";
version = "6.19.0";
···
owner = "xmrig";
repo = "xmrig";
rev = "v${version}";
-
sha256 = "sha256-pMI5SqAa9jauwWvc3JpyWQa+pQvntbTrta1p0qjBaoM=";
};
-
nativeBuildInputs = [ cmake ];
-
buildInputs = [ libuv libmicrohttpd openssl hwloc ];
-
-
inherit donateLevel;
-
patches = [ ./donate-level.patch ];
postPatch = ''
substituteAllInPlace src/donate.h
'';
installPhase = ''
install -vD xmrig $out/bin/xmrig
'';
meta = with lib; {
-
broken = stdenv.isDarwin;
description = "Monero (XMR) CPU miner";
homepage = "https://github.com/xmrig/xmrig";
license = licenses.gpl3Plus;
-
platforms = [ "x86_64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ kim0 ];
};
}
···
+
{ stdenv
+
, lib
+
, fetchFromGitHub
+
, cmake
+
, libuv
+
, libmicrohttpd
+
, openssl
+
, hwloc
, donateLevel ? 0
+
, darwin
}:
+
let
+
inherit (darwin.apple_sdk_11_0.frameworks) Carbon CoreServices OpenCL;
+
in
stdenv.mkDerivation rec {
pname = "xmrig";
version = "6.19.0";
···
owner = "xmrig";
repo = "xmrig";
rev = "v${version}";
+
hash = "sha256-pMI5SqAa9jauwWvc3JpyWQa+pQvntbTrta1p0qjBaoM=";
};
+
patches = [
+
./donate-level.patch
+
];
postPatch = ''
substituteAllInPlace src/donate.h
+
substituteInPlace cmake/OpenSSL.cmake \
+
--replace "set(OPENSSL_USE_STATIC_LIBS TRUE)" "set(OPENSSL_USE_STATIC_LIBS FALSE)"
'';
+
nativeBuildInputs = [
+
cmake
+
];
+
+
buildInputs = [
+
libuv
+
libmicrohttpd
+
openssl
+
hwloc
+
] ++ lib.optionals stdenv.isDarwin [
+
Carbon
+
CoreServices
+
OpenCL
+
];
+
+
inherit donateLevel;
+
installPhase = ''
+
runHook preInstall
+
install -vD xmrig $out/bin/xmrig
+
+
runHook postInstall
'';
meta = with lib; {
description = "Monero (XMR) CPU miner";
homepage = "https://github.com/xmrig/xmrig";
license = licenses.gpl3Plus;
+
platforms = platforms.unix;
maintainers = with maintainers; [ kim0 ];
};
}
+2 -2
pkgs/applications/networking/cluster/arkade/default.nix
···
buildGoModule rec {
pname = "arkade";
-
version = "0.8.60";
src = fetchFromGitHub {
owner = "alexellis";
repo = "arkade";
rev = version;
-
sha256 = "sha256-kyWUokQl5n7ko/1pdNs15WxRAAfe8KioYpkTMcLhJjU=";
};
CGO_ENABLED = 0;
···
buildGoModule rec {
pname = "arkade";
+
version = "0.8.62";
src = fetchFromGitHub {
owner = "alexellis";
repo = "arkade";
rev = version;
+
sha256 = "sha256-lnMinIZ1n94ks7H5tlYmgaDDHyGi5YxTM9dTrckQ9y0=";
};
CGO_ENABLED = 0;
+3 -3
pkgs/applications/networking/cluster/tfswitch/default.nix
···
{ buildGoModule, lib, fetchFromGitHub }:
buildGoModule rec {
pname = "tfswitch";
-
version = "0.13.1300";
src = fetchFromGitHub {
owner = "warrensbox";
repo = "terraform-switcher";
rev = version;
-
sha256 = "sha256-btvoFllCfwQJNpRWdAB05Cu4JYmT1xynJxDbzO/6LDs=";
};
-
vendorSha256 = "sha256-NX+vzI/Fa/n9ZQjpESes4fNVAmKlA1rqPwSKsL2GEUY=";
# Disable tests since it requires network access and relies on the
# presence of release.hashicorp.com
···
{ buildGoModule, lib, fetchFromGitHub }:
buildGoModule rec {
pname = "tfswitch";
+
version = "0.13.1308";
src = fetchFromGitHub {
owner = "warrensbox";
repo = "terraform-switcher";
rev = version;
+
sha256 = "sha256-EyA7LwfL3vCNzd2wpyUbrUnvkM0/f7/cQp+jcAcGZsg=";
};
+
vendorHash = "sha256-NX+vzI/Fa/n9ZQjpESes4fNVAmKlA1rqPwSKsL2GEUY=";
# Disable tests since it requires network access and relies on the
# presence of release.hashicorp.com
+3 -3
pkgs/applications/virtualization/podman/default.nix
···
buildGoModule rec {
pname = "podman";
-
version = "4.4.0";
src = fetchFromGitHub {
owner = "containers";
repo = "podman";
rev = "v${version}";
-
sha256 = "sha256-kyeON8S7CCVdHt09wigNXDWScgyaLzC4EhOts8ViP2w=";
};
patches = [
···
./rm-podman-mac-helper-msg.patch
];
-
vendorSha256 = null;
doCheck = false;
···
buildGoModule rec {
pname = "podman";
+
version = "4.4.1";
src = fetchFromGitHub {
owner = "containers";
repo = "podman";
rev = "v${version}";
+
hash = "sha256-Uha5ueOGNmG2f+1I89uFQKA3pSSp1d02FGy86Fc2eWE=";
};
patches = [
···
./rm-podman-mac-helper-msg.patch
];
+
vendorHash = null;
doCheck = false;
+2 -2
pkgs/desktops/pantheon/apps/appcenter/default.nix
···
stdenv.mkDerivation rec {
pname = "appcenter";
-
version = "7.1.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
-
sha256 = "sha256-ToRY27qB/cNKjKW22MTEojxxOXMBfO1LUusy/pXKJ9A=";
};
patches = [
···
stdenv.mkDerivation rec {
pname = "appcenter";
+
version = "7.2.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
+
sha256 = "sha256-XWDhQ5Nu+gGj0/TQ/fALxQJ+QXzMiHm0Qh9FlGiskEA=";
};
patches = [
+25 -27
pkgs/development/compilers/gcc/10/default.nix
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
-
depsBuildBuild = [ buildPackages.stdenv.cc ];
-
nativeBuildInputs = [ texinfo which gettext ]
-
++ (optional (perl != null) perl)
-
++ (optional langAda gnatboot)
-
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-
++ (optional buildPlatform.isDarwin gnused)
-
;
-
-
# For building runtime libs
-
depsBuildTarget =
-
(
-
if hostPlatform == buildPlatform then [
-
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
-
] else assert targetPlatform == hostPlatform; [ # build != host == target
-
stdenv.cc
-
]
-
)
-
++ optional targetPlatform.isLinux patchelf;
-
-
buildInputs = [
-
gmp mpfr libmpc libxcrypt
-
targetPackages.stdenv.cc.bintools # For linking code at run-time
-
] ++ (optional (isl != null) isl)
-
++ (optional (zlib != null) zlib)
;
-
-
depsTargetTarget = optional (!crossStageStatic && threadsCross != {} && threadsCross.package != null) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
+
inherit (import ../common/dependencies.nix {
+
inherit
+
lib
+
stdenv
+
buildPackages
+
targetPackages
+
crossStageStatic
+
threadsCross
+
langAda
+
libxcrypt
+
gnatboot
+
version
+
texinfo
+
which
+
gettext
+
gnused
+
patchelf
+
gmp
+
mpfr
+
libmpc
+
isl
+
zlib
+
zip
+
perl
;
+
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
+25 -27
pkgs/development/compilers/gcc/11/default.nix
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
-
depsBuildBuild = [ buildPackages.stdenv.cc ];
-
nativeBuildInputs = [ texinfo which gettext ]
-
++ (optional (perl != null) perl)
-
++ (optional langAda gnatboot)
-
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-
++ (optional buildPlatform.isDarwin gnused)
-
;
-
-
# For building runtime libs
-
depsBuildTarget =
-
(
-
if hostPlatform == buildPlatform then [
-
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
-
] else assert targetPlatform == hostPlatform; [ # build != host == target
-
stdenv.cc
-
]
-
)
-
++ optional targetPlatform.isLinux patchelf;
-
-
buildInputs = [
-
gmp mpfr libmpc libxcrypt
-
targetPackages.stdenv.cc.bintools # For linking code at run-time
-
] ++ (optional (isl != null) isl)
-
++ (optional (zlib != null) zlib)
;
-
-
depsTargetTarget = optional (!crossStageStatic && threadsCross != {} && threadsCross.package != null) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
+
inherit (import ../common/dependencies.nix {
+
inherit
+
lib
+
stdenv
+
buildPackages
+
targetPackages
+
crossStageStatic
+
threadsCross
+
langAda
+
libxcrypt
+
gnatboot
+
version
+
texinfo
+
which
+
gettext
+
gnused
+
patchelf
+
gmp
+
mpfr
+
libmpc
+
isl
+
zlib
+
zip
+
perl
;
+
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
+27 -28
pkgs/development/compilers/gcc/12/default.nix
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
-
depsBuildBuild = [ buildPackages.stdenv.cc ];
-
nativeBuildInputs = [ texinfo which gettext ]
-
++ (optional (perl != null) perl)
-
++ (optional langAda gnatboot)
-
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-
++ (optional buildPlatform.isDarwin gnused)
;
-
-
# For building runtime libs
-
depsBuildTarget =
-
(
-
if hostPlatform == buildPlatform then [
-
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
-
] else assert targetPlatform == hostPlatform; [ # build != host == target
-
stdenv.cc
-
]
-
)
-
++ optional targetPlatform.isLinux patchelf;
-
-
buildInputs = [
-
gmp mpfr libmpc libxcrypt
-
targetPackages.stdenv.cc.bintools # For linking code at run-time
-
] ++ (optional (isl != null) isl)
-
++ (optional (zlib != null) zlib)
-
++ (optional (langGo && stdenv.hostPlatform.isMusl) libucontext)
-
;
-
-
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
+
inherit (import ../common/dependencies.nix {
+
inherit
+
lib
+
stdenv
+
buildPackages
+
targetPackages
+
crossStageStatic
+
threadsCross
+
langAda
+
langGo
+
libucontext
+
libxcrypt
+
gnatboot
+
version
+
texinfo
+
which
+
gettext
+
gnused
+
patchelf
+
gmp
+
mpfr
+
libmpc
+
isl
+
zlib
+
zip
+
perl
;
+
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
+31 -30
pkgs/development/compilers/gcc/4.8/default.nix
···
inherit noSysDirs staticCompiler langJava crossStageStatic
libcCross crossMingw;
-
depsBuildBuild = [ buildPackages.stdenv.cc ];
-
nativeBuildInputs = [ texinfo which gettext ]
-
++ (optional (perl != null) perl)
-
++ (optional javaAwtGtk pkg-config)
-
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-
++ (optional buildPlatform.isDarwin gnused)
;
-
-
# For building runtime libs
-
depsBuildTarget =
-
(
-
if hostPlatform == buildPlatform then [
-
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
-
] else assert targetPlatform == hostPlatform; [ # build != host == target
-
stdenv.cc
-
]
-
)
-
++ optional targetPlatform.isLinux patchelf;
-
-
buildInputs = [
-
gmp mpfr libmpc
-
targetPackages.stdenv.cc.bintools # For linking code at run-time
-
] ++ (optional (cloog != null) cloog)
-
++ (optional (isl != null) isl)
-
++ (optional (zlib != null) zlib)
-
++ (optionals langJava [ boehmgc zip unzip ])
-
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-
;
-
-
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross;
preConfigure = import ../common/pre-configure.nix {
inherit lib;
···
inherit noSysDirs staticCompiler langJava crossStageStatic
libcCross crossMingw;
+
inherit (import ../common/dependencies.nix {
+
inherit
+
lib
+
stdenv
+
buildPackages
+
targetPackages
+
crossStageStatic
+
threadsCross
+
version
+
langJava
+
javaAwtGtk
+
texinfo
+
which
+
gettext
+
pkg-config
+
gnused
+
patchelf
+
gmp
+
mpfr
+
libmpc
+
cloog
+
isl
+
zlib
+
boehmgc
+
zip
+
unzip
+
gtk2
+
libart_lgpl
+
perl
+
xlibs
;
+
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
preConfigure = import ../common/pre-configure.nix {
inherit lib;
+31 -30
pkgs/development/compilers/gcc/4.9/default.nix
···
inherit noSysDirs staticCompiler langJava crossStageStatic
libcCross crossMingw;
-
depsBuildBuild = [ buildPackages.stdenv.cc ];
-
nativeBuildInputs = [ texinfo which gettext ]
-
++ (optional (perl != null) perl)
-
++ (optional javaAwtGtk pkg-config)
-
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-
++ (optional buildPlatform.isDarwin gnused)
;
-
-
# For building runtime libs
-
depsBuildTarget =
-
(
-
if hostPlatform == buildPlatform then [
-
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
-
] else assert targetPlatform == hostPlatform; [ # build != host == target
-
stdenv.cc
-
]
-
)
-
++ optional targetPlatform.isLinux patchelf;
-
-
buildInputs = [
-
gmp mpfr libmpc
-
targetPackages.stdenv.cc.bintools # For linking code at run-time
-
] ++ (optional (cloog != null) cloog)
-
++ (optional (isl != null) isl)
-
++ (optional (zlib != null) zlib)
-
++ (optionals langJava [ boehmgc zip unzip ])
-
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-
;
-
-
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross;
preConfigure = import ../common/pre-configure.nix {
inherit lib;
···
inherit noSysDirs staticCompiler langJava crossStageStatic
libcCross crossMingw;
+
inherit (import ../common/dependencies.nix {
+
inherit
+
lib
+
stdenv
+
buildPackages
+
targetPackages
+
crossStageStatic
+
threadsCross
+
version
+
langJava
+
javaAwtGtk
+
texinfo
+
which
+
gettext
+
pkg-config
+
gnused
+
patchelf
+
gmp
+
mpfr
+
libmpc
+
cloog
+
isl
+
zlib
+
boehmgc
+
zip
+
unzip
+
gtk2
+
libart_lgpl
+
perl
+
xlibs
;
+
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
preConfigure = import ../common/pre-configure.nix {
inherit lib;
+33 -31
pkgs/development/compilers/gcc/6/default.nix
···
inherit noSysDirs staticCompiler langJava crossStageStatic
libcCross crossMingw;
-
depsBuildBuild = [ buildPackages.stdenv.cc ];
-
nativeBuildInputs = [ texinfo which gettext ]
-
++ (optional (perl != null) perl)
-
++ (optional javaAwtGtk pkg-config)
-
++ (optional (with stdenv.targetPlatform; isVc4 || isRedox) flex)
-
++ (optional langAda gnatboot)
-
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-
++ (optional buildPlatform.isDarwin gnused)
-
;
-
-
# For building runtime libs
-
depsBuildTarget =
-
(
-
if hostPlatform == buildPlatform then [
-
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
-
] else assert targetPlatform == hostPlatform; [ # build != host == target
-
stdenv.cc
-
]
-
)
-
++ optional targetPlatform.isLinux patchelf;
-
-
buildInputs = [
-
gmp mpfr libmpc
-
targetPackages.stdenv.cc.bintools # For linking code at run-time
-
] ++ (optional (isl != null) isl)
-
++ (optional (zlib != null) zlib)
-
++ (optionals langJava [ boehmgc zip unzip ])
-
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
;
-
-
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
···
inherit noSysDirs staticCompiler langJava crossStageStatic
libcCross crossMingw;
+
inherit (import ../common/dependencies.nix {
+
inherit
+
lib
+
stdenv
+
buildPackages
+
targetPackages
+
crossStageStatic
+
threadsCross
+
version
+
langAda
+
gnatboot
+
flex
+
langJava
+
javaAwtGtk
+
texinfo
+
which
+
gettext
+
pkg-config
+
gnused
+
patchelf
+
gmp
+
mpfr
+
libmpc
+
isl
+
zlib
+
boehmgc
+
zip
+
unzip
+
gtk2
+
libart_lgpl
+
perl
+
xlibs
;
+
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
+22 -26
pkgs/development/compilers/gcc/7/default.nix
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
-
depsBuildBuild = [ buildPackages.stdenv.cc ];
-
nativeBuildInputs = [ texinfo which gettext ]
-
++ (optional (perl != null) perl)
-
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-
++ (optional buildPlatform.isDarwin gnused)
-
;
-
-
# For building runtime libs
-
depsBuildTarget =
-
(
-
if hostPlatform == buildPlatform then [
-
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
-
] else assert targetPlatform == hostPlatform; [ # build != host == target
-
stdenv.cc
-
]
-
)
-
++ optional targetPlatform.isLinux patchelf;
-
-
buildInputs = [
-
gmp mpfr libmpc
-
targetPackages.stdenv.cc.bintools # For linking code at run-time
-
] ++ (optional (isl != null) isl)
-
++ (optional (zlib != null) zlib)
;
-
-
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
+
inherit (import ../common/dependencies.nix {
+
inherit
+
lib
+
stdenv
+
buildPackages
+
targetPackages
+
crossStageStatic
+
threadsCross
+
version
+
texinfo
+
which
+
gettext
+
gnused
+
patchelf
+
gmp
+
mpfr
+
libmpc
+
isl
+
zlib
+
zip
+
perl
;
+
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
+22 -26
pkgs/development/compilers/gcc/8/default.nix
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
-
depsBuildBuild = [ buildPackages.stdenv.cc ];
-
nativeBuildInputs = [ texinfo which gettext ]
-
++ (optional (perl != null) perl)
-
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-
++ (optional buildPlatform.isDarwin gnused)
-
;
-
-
# For building runtime libs
-
depsBuildTarget =
-
(
-
if hostPlatform == buildPlatform then [
-
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
-
] else assert targetPlatform == hostPlatform; [ # build != host == target
-
stdenv.cc
-
]
-
)
-
++ optional targetPlatform.isLinux patchelf;
-
-
buildInputs = [
-
gmp mpfr libmpc
-
targetPackages.stdenv.cc.bintools # For linking code at run-time
-
] ++ (optional (isl != null) isl)
-
++ (optional (zlib != null) zlib)
;
-
-
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
+
inherit (import ../common/dependencies.nix {
+
inherit
+
lib
+
stdenv
+
buildPackages
+
targetPackages
+
crossStageStatic
+
threadsCross
+
version
+
texinfo
+
which
+
gettext
+
gnused
+
patchelf
+
gmp
+
mpfr
+
libmpc
+
isl
+
zlib
+
zip
+
perl
;
+
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
+24 -27
pkgs/development/compilers/gcc/9/default.nix
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
-
depsBuildBuild = [ buildPackages.stdenv.cc ];
-
nativeBuildInputs = [ texinfo which gettext ]
-
++ (optional (perl != null) perl)
-
++ (optional langAda gnatboot)
-
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
-
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
-
++ (optional buildPlatform.isDarwin gnused)
;
-
-
# For building runtime libs
-
depsBuildTarget =
-
(
-
if hostPlatform == buildPlatform then [
-
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
-
] else assert targetPlatform == hostPlatform; [ # build != host == target
-
stdenv.cc
-
]
-
)
-
++ optional targetPlatform.isLinux patchelf;
-
-
buildInputs = [
-
gmp mpfr libmpc
-
targetPackages.stdenv.cc.bintools # For linking code at run-time
-
] ++ (optional (isl != null) isl)
-
++ (optional (zlib != null) zlib)
-
;
-
-
depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
···
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
+
inherit (import ../common/dependencies.nix {
+
inherit
+
lib
+
stdenv
+
buildPackages
+
targetPackages
+
crossStageStatic
+
threadsCross
+
langAda
+
gnatboot
+
version
+
texinfo
+
which
+
gettext
+
gnused
+
patchelf
+
gmp
+
mpfr
+
libmpc
+
isl
+
zlib
+
zip
+
perl
;
+
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
+92
pkgs/development/compilers/gcc/common/dependencies.nix
···
···
+
{ lib
+
, stdenv
+
, version
+
, buildPackages
+
, targetPackages
+
, texinfo
+
, which
+
, gettext
+
, pkg-config ? null
+
, gnused
+
, patchelf
+
, gmp
+
, mpfr
+
, libmpc
+
, libucontext ? null
+
, libxcrypt ? null
+
, cloog ? null
+
, isl ? null
+
, zlib ? null
+
, gnatboot ? null
+
, flex ? null
+
, boehmgc ? null
+
, zip ? null
+
, unzip ? null
+
, gtk2 ? null
+
, libart_lgpl ? null
+
, perl ? null
+
, xlibs ? null
+
, langJava ? false
+
, javaAwtGtk ? false
+
, langAda ? false
+
, langGo ? false
+
, crossStageStatic ? null
+
, threadsCross ? null
+
}:
+
+
let
+
inherit (lib) optionals;
+
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
in
+
+
{
+
# same for all gcc's
+
depsBuildBuild = [ buildPackages.stdenv.cc ];
+
+
nativeBuildInputs = [
+
texinfo
+
which
+
gettext
+
]
+
++ optionals (perl != null) [ perl ]
+
++ optionals javaAwtGtk [ pkg-config ]
+
++ optionals (with stdenv.targetPlatform; isVc4 || isRedox && flex != null) [ flex ]
+
++ optionals langAda [ gnatboot ]
+
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
+
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
+
++ optionals buildPlatform.isDarwin [ gnused ]
+
;
+
+
# For building runtime libs
+
# same for all gcc's
+
depsBuildTarget =
+
(
+
if hostPlatform == buildPlatform then [
+
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
+
] else assert targetPlatform == hostPlatform; [
+
# build != host == target
+
stdenv.cc
+
]
+
)
+
++ optionals targetPlatform.isLinux [ patchelf ];
+
+
buildInputs = [
+
gmp
+
mpfr
+
libmpc
+
]
+
++ optionals (lib.versionAtLeast version "10") [ libxcrypt ]
+
++ [
+
targetPackages.stdenv.cc.bintools # For linking code at run-time
+
]
+
++ optionals (cloog != null) [ cloog ]
+
++ optionals (isl != null) [ isl ]
+
++ optionals (zlib != null) [ zlib ]
+
++ optionals langJava [ boehmgc zip unzip ]
+
++ optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)
+
++ optionals (langGo && stdenv.hostPlatform.isMusl) [ libucontext ]
+
;
+
+
# threadsCross.package after gcc6 so i assume its okay for 4.8 and 4.9 too
+
depsTargetTarget = optionals (!crossStageStatic && threadsCross != { } && threadsCross.package != null) [ threadsCross.package ];
+
}
+8 -2
pkgs/development/libraries/draco/default.nix
···
cmakeBool = b: if b then "ON" else "OFF";
in
stdenv.mkDerivation rec {
-
version = "1.5.5";
pname = "draco";
src = fetchFromGitHub {
owner = "google";
repo = "draco";
rev = version;
-
sha256 = "sha256-WYWEUfBPz/Pt7sE8snG3/LnOA3DEUm/SUVLtsH7zG5g=";
fetchSubmodules = true;
};
buildInputs = [ gtest ]
++ lib.optionals withTranscoder [ eigen ghc_filesystem tinygltf ];
···
cmakeBool = b: if b then "ON" else "OFF";
in
stdenv.mkDerivation rec {
+
version = "1.5.6";
pname = "draco";
src = fetchFromGitHub {
owner = "google";
repo = "draco";
rev = version;
+
hash = "sha256-2YQMav0JJMbJ2bvnN/Xv90tjE/OWLbrZDO4WlaOvcfI=";
fetchSubmodules = true;
};
+
+
# ld: unknown option: --start-group
+
postPatch = ''
+
substituteInPlace cmake/draco_targets.cmake \
+
--replace "^Clang" "^AppleClang"
+
'';
buildInputs = [ gtest ]
++ lib.optionals withTranscoder [ eigen ghc_filesystem tinygltf ];
+3 -2
pkgs/development/python-modules/b2sdk/default.nix
···
buildPythonPackage rec {
pname = "b2sdk";
-
version = "1.18.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-knLyjRjUmLZtM9dJoPBeSdm7GpE0+UJhwLi/obVvPuw=";
};
nativeBuildInputs = [
···
disabledTestPaths = [
# requires aws s3 auth
"test/integration/test_download.py"
];
disabledTests = [
···
buildPythonPackage rec {
pname = "b2sdk";
+
version = "1.19.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
+
hash = "sha256-aJpSt+dXjw4S33dBiMkaR6wxzwLru+jseuPKFj2R36Y=";
};
nativeBuildInputs = [
···
disabledTestPaths = [
# requires aws s3 auth
"test/integration/test_download.py"
+
"test/integration/test_upload.py"
];
disabledTests = [
+2 -2
pkgs/development/python-modules/flask-babel/default.nix
···
buildPythonPackage rec {
pname = "flask-babel";
-
version = "3.0.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "python-babel";
repo = "flask-babel";
rev = "refs/tags/v${version}";
-
hash = "sha256-c3QKAnyMe1THHuJ3uB2d0jMMo1SYGRAB9mBpIJSAHw0=";
};
outputs = [
···
buildPythonPackage rec {
pname = "flask-babel";
+
version = "3.0.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "python-babel";
repo = "flask-babel";
rev = "refs/tags/v${version}";
+
hash = "sha256-bHsB1f7dbZW4k8JteyZOwVCgWRDZMu21XdMcjM5NYjk=";
};
outputs = [
+2 -2
pkgs/development/python-modules/pypinyin/default.nix
···
buildPythonPackage rec {
pname = "pypinyin";
-
version = "0.47.1";
src = fetchFromGitHub {
owner = "mozillazg";
repo = "python-pinyin";
rev = "refs/tags/v${version}";
-
sha256 = "sha256-c9pEO9k5tCFWLPismrXrrYEQYmxYKkciXFgpbrDEGzE=";
};
postPatch = ''
···
buildPythonPackage rec {
pname = "pypinyin";
+
version = "0.48.0";
src = fetchFromGitHub {
owner = "mozillazg";
repo = "python-pinyin";
rev = "refs/tags/v${version}";
+
sha256 = "sha256-gt0jrDPr6FeLB5P9HCSosCHb/W1sAKSusTrCpkqO26E=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/pyvmomi/default.nix
···
buildPythonPackage rec {
pname = "pyvmomi";
-
version = "8.0.0.1.1";
format = "setuptools";
disabled = pythonOlder "3.7";
···
owner = "vmware";
repo = pname;
rev = "refs/tags/v${version}";
-
hash = "sha256-K3gCG4TYyCiHKhrixPwBtBZ4s0bNd7Z4f3CLGnqCDG0=";
};
propagatedBuildInputs = [
···
buildPythonPackage rec {
pname = "pyvmomi";
+
version = "8.0.0.1.2";
format = "setuptools";
disabled = pythonOlder "3.7";
···
owner = "vmware";
repo = pname;
rev = "refs/tags/v${version}";
+
hash = "sha256-t54FUgEXEUpb3SqayY7gCmj1egavIaoXMfuShDL9dBo=";
};
propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/robotstatuschecker/default.nix
···
{ lib, buildPythonPackage, fetchFromGitHub, python, robotframework }:
buildPythonPackage rec {
-
version = "2.1.0";
pname = "robotstatuschecker";
# no tests included in PyPI tarball
···
owner = "robotframework";
repo = "statuschecker";
rev = "refs/tags/v${version}";
-
sha256 = "0hy1390j3l4kkfna9x9xax4y5mqaa3hdndv3fiyg9wr5f7sx3wnz";
};
propagatedBuildInputs = [ robotframework ];
···
{ lib, buildPythonPackage, fetchFromGitHub, python, robotframework }:
buildPythonPackage rec {
+
version = "3.0.0";
pname = "robotstatuschecker";
# no tests included in PyPI tarball
···
owner = "robotframework";
repo = "statuschecker";
rev = "refs/tags/v${version}";
+
sha256 = "sha256-7xHPqlR7IFZp3Z120mg25ZSg9eI878kE8RF1y3F5O70=";
};
propagatedBuildInputs = [ robotframework ];
+2 -2
pkgs/development/python-modules/screenlogicpy/default.nix
···
buildPythonPackage rec {
pname = "screenlogicpy";
-
version = "0.7.0";
format = "setuptools";
disabled = pythonOlder "3.6";
···
owner = "dieselrabbit";
repo = pname;
rev = "refs/tags/v${version}";
-
hash = "sha256-ah5jllrdZFGACZ9M9sv33b/KFRUqHyu5WckeOsuqbyI=";
};
propagatedBuildInputs = [
···
buildPythonPackage rec {
pname = "screenlogicpy";
+
version = "0.7.1";
format = "setuptools";
disabled = pythonOlder "3.6";
···
owner = "dieselrabbit";
repo = pname;
rev = "refs/tags/v${version}";
+
hash = "sha256-goziVk8OmPKkDb5oVSo/TVLLzwwqx3/Vlw0s/P9+Wss=";
};
propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/types-dateutil/default.nix
···
buildPythonPackage rec {
pname = "types-dateutil";
-
version = "2.8.19.5";
format = "setuptools";
src = fetchPypi {
pname = "types-python-dateutil";
inherit version;
-
hash = "sha256-q5H8X3FffXbZpQ09100MaN/jilTwI5z6BQZXWuTYep0=";
};
pythonImportsCheck = [
···
buildPythonPackage rec {
pname = "types-dateutil";
+
version = "2.8.19.6";
format = "setuptools";
src = fetchPypi {
pname = "types-python-dateutil";
inherit version;
+
hash = "sha256-Sm9MwZzkuhoIZwhx4pe/OAL1XU8SnmqiRD9UC2z4A9I=";
};
pythonImportsCheck = [
+4 -2
pkgs/development/tools/backblaze-b2/default.nix
···
python3Packages.buildPythonApplication rec {
pname = "backblaze-b2";
-
version = "3.6.0";
src = python3Packages.fetchPypi {
inherit version;
pname = "b2";
-
sha256 = "sha256-qHnnUTSLY1yncqIjG+IMLoNauvgwU04qsvH7dZZ8AlI=";
};
postPatch = ''
substituteInPlace requirements.txt \
--replace 'tabulate==0.8.10' 'tabulate'
substituteInPlace setup.py \
···
python3Packages.buildPythonApplication rec {
pname = "backblaze-b2";
+
version = "3.7.0";
src = python3Packages.fetchPypi {
inherit version;
pname = "b2";
+
sha256 = "sha256-sW6gaZWUh3WX+0+qHRlQ4gZzKU4bL8ePPNKWo9rdF84=";
};
postPatch = ''
+
substituteInPlace requirements.txt \
+
--replace 'phx-class-registry==4.0.5' 'phx-class-registry'
substituteInPlace requirements.txt \
--replace 'tabulate==0.8.10' 'tabulate'
substituteInPlace setup.py \
+3 -3
pkgs/development/tools/go-mockery/default.nix
···
buildGoModule rec {
pname = "go-mockery";
-
version = "2.16.0";
src = fetchFromGitHub {
owner = "vektra";
repo = "mockery";
rev = "v${version}";
-
sha256 = "sha256-fd+ZR74tApbZEXfMqpUAMk22h9rMRmtByGSd8JcTtK0=";
};
preCheck = ''
···
CGO_ENABLED = false;
-
vendorSha256 = "sha256-SRTxe3y+wQgxsj7ruquMG16dUEAa92rnTXceysWm+F8=";
meta = with lib; {
homepage = "https://github.com/vektra/mockery";
···
buildGoModule rec {
pname = "go-mockery";
+
version = "2.18.0";
src = fetchFromGitHub {
owner = "vektra";
repo = "mockery";
rev = "v${version}";
+
sha256 = "sha256-Iut45RobHc3KZ0vzOqmQT0F8A/GSP5KCfprnmB3zFAA=";
};
preCheck = ''
···
CGO_ENABLED = false;
+
vendorHash = "sha256-Dl8Q6fQa7BKp06a4OT82+wHYQRN1aWZ2qK25GzhOw8A=";
meta = with lib; {
homepage = "https://github.com/vektra/mockery";
+2 -2
pkgs/development/tools/kubernetes-controller-tools/default.nix
···
buildGoModule rec {
pname = "controller-tools";
-
version = "0.11.2";
src = fetchFromGitHub {
owner = "kubernetes-sigs";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-gTSgfykTg2cWV7PCwNcbuFY89RRk9MoV24L4EuEd378=";
};
patches = [ ./version.patch ];
···
buildGoModule rec {
pname = "controller-tools";
+
version = "0.11.3";
src = fetchFromGitHub {
owner = "kubernetes-sigs";
repo = pname;
rev = "v${version}";
+
sha256 = "sha256-F+cGJbxXIHrgn9OcIMh2am9g4PBLkdC037tV/9znPSg=";
};
patches = [ ./version.patch ];
+2 -2
pkgs/development/tools/oh-my-posh/default.nix
···
buildGoModule rec {
pname = "oh-my-posh";
-
version = "14.2.3";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = pname;
rev = "refs/tags/v${version}";
-
hash = "sha256-PghWKyZG19MVmc2fQSQN/BCMbF7YOZWybUSKiQzUxl8=";
};
vendorHash = "sha256-ehG71B351u+LoXDuKQkuEdEpUdHslVU2HcPKUz6FAnQ=";
···
buildGoModule rec {
pname = "oh-my-posh";
+
version = "14.2.4";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = pname;
rev = "refs/tags/v${version}";
+
hash = "sha256-4o0Z3xXsVTr2dE5td/i2uQoaqsBGOMSrzt2X6C9gYbA=";
};
vendorHash = "sha256-ehG71B351u+LoXDuKQkuEdEpUdHslVU2HcPKUz6FAnQ=";
+3 -3
pkgs/development/tools/pscale/default.nix
···
buildGoModule rec {
pname = "pscale";
-
version = "0.128.0";
src = fetchFromGitHub {
owner = "planetscale";
repo = "cli";
rev = "v${version}";
-
sha256 = "sha256-2EIaK7UyJH9YEKlOGnnKrq3ucVgEjbF2jVui0bASNcA=";
};
-
vendorHash = "sha256-uQ8/cNNFelG8zzrcEs9fEs8KkY6/odwOGmwMmyxUKS4=";
ldflags = [
"-s" "-w"
···
buildGoModule rec {
pname = "pscale";
+
version = "0.129.0";
src = fetchFromGitHub {
owner = "planetscale";
repo = "cli";
rev = "v${version}";
+
sha256 = "sha256-GdJyOZ0FqLBRGeQZ5+qLYXLL8JxqigYCVuDUUs1KbN4=";
};
+
vendorHash = "sha256-iXT+xvmVDfFVV/bYq+hnmkz2ODUQ4fHR8z2lcaK93TE=";
ldflags = [
"-s" "-w"
+3 -3
pkgs/development/tools/rust/cargo-insta/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "cargo-insta";
-
version = "1.20.0";
src = fetchFromGitHub {
owner = "mitsuhiko";
repo = "insta";
rev = version;
-
sha256 = "sha256-tzC5AOlms5UDQ8+L7M2Tb5K/RtjZuDs23JSnLGH6pkI=";
};
sourceRoot = "source/cargo-insta";
-
cargoSha256 = "sha256-9r/RPzjPzDSRamntfu8Xz4XWieAU/bnw2m9wtzwkcwk=";
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
meta = with lib; {
···
rustPlatform.buildRustPackage rec {
pname = "cargo-insta";
+
version = "1.26.0";
src = fetchFromGitHub {
owner = "mitsuhiko";
repo = "insta";
rev = version;
+
sha256 = "sha256-h0jRuY3GSqK85NCeFqdqjyVdNTMbdtD70zU5G3w1STc=";
};
sourceRoot = "source/cargo-insta";
+
cargoHash = "sha256-GC2ggTJJV3Aww3qPfsnuND0eII1l3OBoZfi5RtvhO8I=";
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
meta = with lib; {
+3 -3
pkgs/development/tools/skaffold/default.nix
···
buildGoModule rec {
pname = "skaffold";
-
version = "2.0.4";
src = fetchFromGitHub {
owner = "GoogleContainerTools";
repo = "skaffold";
rev = "v${version}";
-
sha256 = "sha256-TFI715knhQ3QyWF1EwIxZfZQW16uDWAqa6LVNfqC8Ws=";
};
vendorSha256 = "sha256-yy1BVorjLEcZR6PqupBiZx2plwPJ6xlxripbyB6RLek=";
subPackages = ["cmd/skaffold"];
-
ldflags = let t = "github.com/GoogleContainerTools/skaffold/pkg/skaffold"; in [
"-s" "-w"
"-X ${t}/version.version=v${version}"
"-X ${t}/version.gitCommit=${src.rev}"
···
buildGoModule rec {
pname = "skaffold";
+
version = "2.1.0";
src = fetchFromGitHub {
owner = "GoogleContainerTools";
repo = "skaffold";
rev = "v${version}";
+
sha256 = "sha256-D0KcnxfjPBGHLGs5YLdecuKL07jIhF6w/SIr/I/W1rI=";
};
vendorSha256 = "sha256-yy1BVorjLEcZR6PqupBiZx2plwPJ6xlxripbyB6RLek=";
subPackages = ["cmd/skaffold"];
+
ldflags = let t = "github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold"; in [
"-s" "-w"
"-X ${t}/version.version=v${version}"
"-X ${t}/version.gitCommit=${src.rev}"
+2 -2
pkgs/servers/amqp/rabbitmq-server/default.nix
···
stdenv.mkDerivation rec {
pname = "rabbitmq-server";
-
version = "3.11.7";
# when updating, consider bumping elixir version in all-packages.nix
src = fetchurl {
url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
-
hash = "sha256-m1O/k/w9WLSRpKADo79DU+vf4z41l6nfJpIwpY1dGgA=";
};
nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync python3 ];
···
stdenv.mkDerivation rec {
pname = "rabbitmq-server";
+
version = "3.11.8";
# when updating, consider bumping elixir version in all-packages.nix
src = fetchurl {
url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
+
hash = "sha256-sD9E60xXNJQSg98XbMq6xn+nk3uQn1XnrxApAuSaF44=";
};
nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync python3 ];
+3 -3
pkgs/servers/libreddit/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "libreddit";
-
version = "0.28.1";
src = fetchFromGitHub {
owner = "libreddit";
repo = pname;
rev = "refs/tags/v${version}";
-
hash = "sha256-gwI2ASJkHc2kOmC4D65Te7iz0Kozm8bpq2MUYZRBdtk=";
};
-
cargoSha256 = "sha256-9NkWYurq7S4ysnP7oLoggMNAIFay5qVWcuer4EOrQEA=";
buildInputs = lib.optionals stdenv.isDarwin [
Security
···
rustPlatform.buildRustPackage rec {
pname = "libreddit";
+
version = "0.29.0";
src = fetchFromGitHub {
owner = "libreddit";
repo = pname;
rev = "refs/tags/v${version}";
+
hash = "sha256-ZH1mtFfbM+acEY1oyoFXPltgPbtgI1kzoO59op1zZfo=";
};
+
cargoHash = "sha256-2DBptAvJ0J65AehgHG7f4JZf1QA4ZXn8dqG09wcXsiU=";
buildInputs = lib.optionals stdenv.isDarwin [
Security
+2 -2
pkgs/servers/snappymail/default.nix
···
stdenv.mkDerivation rec {
pname = "snappymail";
-
version = "2.25.2";
src = fetchurl {
url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz";
-
sha256 = "sha256-45/lE+3lbIlrrlGiZcnyqqYN61BXdBzfufQuP/6W1mk=";
};
sourceRoot = "snappymail";
···
stdenv.mkDerivation rec {
pname = "snappymail";
+
version = "2.25.3";
src = fetchurl {
url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz";
+
sha256 = "sha256-FK0F1STRdE1Ny+l0ILQMofXSXDhyzoMgZCT+MuCSmcA=";
};
sourceRoot = "snappymail";
+4 -4
pkgs/tools/admin/afterburn/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "afterburn";
-
version = "5.3.0";
src = fetchFromGitHub {
owner = "coreos";
repo = "afterburn";
rev = "v${version}";
-
sha256 = "sha256-yX95qmcyouSSjEHorMpRJjZyrxIjQorwTpGtGZN4s6s=";
};
-
cargoSha256 = "sha256-DweJ608aJChn2ezAM7Ly0cwtLAvM1DZ5gc4WUVyKIco=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
···
description = "This is a small utility, typically used in conjunction with Ignition, which reads metadata from a given cloud-provider and applies it to the system.";
license = licenses.asl20;
maintainers = [ maintainers.arianvp ];
-
platforms = [ "x86_64-linux" ];
};
}
···
rustPlatform.buildRustPackage rec {
pname = "afterburn";
+
version = "5.4.0";
src = fetchFromGitHub {
owner = "coreos";
repo = "afterburn";
rev = "v${version}";
+
sha256 = "sha256-Y9Z2PdQU7yHTlEXW+/C6v9k+5TkeQMagbC/gGG+JssQ=";
};
+
cargoHash = "sha256-ZDyB/s2ig3aklEeB1JzNHat+roQniKrMcw4rvy9Z5pk=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
···
description = "This is a small utility, typically used in conjunction with Ignition, which reads metadata from a given cloud-provider and applies it to the system.";
license = licenses.asl20;
maintainers = [ maintainers.arianvp ];
+
platforms = platforms.linux;
};
}
+17
pkgs/tools/admin/pgadmin/check-system-config-dir.patch
···
···
+
diff --git a/web/config.py b/web/config.py
+
index 4774043..5b73fd3 100644
+
--- a/web/config.py
+
+++ b/web/config.py
+
@@ -884,6 +884,12 @@ if os.path.exists(system_config_dir + '/config_system.py'):
+
user_config_settings.update(config_system_settings)
+
except ImportError:
+
pass
+
+ except PermissionError:
+
+ print(f"Permission denied to open {str(system_config_dir + '/config_system.py')}. \n \
+
+ If you are running pgadmin4-desktopmode please make sure you disable \n \
+
+ the pgadmin NixOS module first. If you rely on settings in \n \
+
+ {str(system_config_dir + '/config_system.py')}, please check the correct permissions.")
+
+ pass
+
+
# Update settings for 'LOG_FILE', 'SQLITE_PATH', 'SESSION_DB_PATH',
+
# 'AZURE_CREDENTIAL_CACHE_DIR', 'KERBEROS_CCACHE_DIR', 'STORAGE_DIR'
+109 -63
pkgs/tools/admin/pgadmin/default.nix
···
, nixosTests
, pkgs
, fetchPypi
}:
let
···
yarnNix = ./yarn.nix;
};
-
# move buildDeps here to easily pass to test suite
-
buildDeps = with pythonPackages; [
-
flask
-
flask-gravatar
-
flask-login
-
flask_mail
-
flask_migrate
-
flask-sqlalchemy
-
flask-wtf
-
flask-compress
-
passlib
-
pytz
-
simplejson
-
sqlparse
-
wtforms
-
flask-paranoid
-
psutil
-
psycopg2
-
python-dateutil
-
sqlalchemy
-
itsdangerous
-
flask-security-too
-
bcrypt
-
cryptography
-
sshtunnel
-
ldap3
-
flask-babelex
-
flask-babel
-
gssapi
-
flask-socketio
-
eventlet
-
httpagentparser
-
user-agents
-
wheel
-
authlib
-
qrcode
-
pillow
-
pyotp
-
botocore
-
boto3
-
azure-mgmt-subscription
-
azure-mgmt-rdbms
-
azure-mgmt-resource
-
azure-identity
-
sphinxcontrib-youtube
-
dnspython
-
greenlet
-
];
# keep the scope, as it is used throughout the derivation and tests
# this also makes potential future overrides easier
···
patches = [
# Expose setup.py for later use
./expose-setup.py.patch
];
postPatch = ''
···
# relax dependencies
sed 's|==|>=|g' -i requirements.txt
-
# don't use Server Mode (can be overridden later)
substituteInPlace pkg/pip/setup_pip.py \
-
--replace "req = req.replace('psycopg2', 'psycopg2-binary')" "req = req" \
-
--replace "builtins.SERVER_MODE = None" "builtins.SERVER_MODE = False"
'';
preBuild = ''
···
pythonPackages.wheel
];
-
# tests need an own data, log directory
-
# and a working and correctly setup postgres database
-
# checks will be run through nixos/tests
-
doCheck = false;
-
-
# speaklater3 is separate because when passing buildDeps
-
# to the test, it fails there due to a collision with speaklater
-
propagatedBuildInputs = buildDeps ++ [ pythonPackages.speaklater3 ];
passthru.tests = {
-
standalone = nixosTests.pgadmin4-standalone;
-
# regression and function tests of the package itself
-
package = import ../../../../nixos/tests/pgadmin4.nix { inherit pkgs buildDeps; pythonEnv = pythonPackages; };
};
meta = with lib; {
-
description = "Administration and development platform for PostgreSQL";
homepage = "https://www.pgadmin.org/";
license = licenses.mit;
changelog = "https://www.pgadmin.org/docs/pgadmin4/latest/release_notes_${lib.versions.major version}_${lib.versions.minor version}.html";
···
, nixosTests
, pkgs
, fetchPypi
+
, postgresqlTestHook
+
, postgresql
+
, server-mode ? true
}:
let
···
yarnNix = ./yarn.nix;
};
# keep the scope, as it is used throughout the derivation and tests
# this also makes potential future overrides easier
···
patches = [
# Expose setup.py for later use
./expose-setup.py.patch
+
# check for permission of /etc/pgadmin/config_system and don't fail
+
./check-system-config-dir.patch
];
postPatch = ''
···
# relax dependencies
sed 's|==|>=|g' -i requirements.txt
substituteInPlace pkg/pip/setup_pip.py \
+
--replace "req = req.replace('psycopg2', 'psycopg2-binary')" "req = req"
+
${lib.optionalString (!server-mode) ''
+
substituteInPlace web/config.py \
+
--replace "SERVER_MODE = True" "SERVER_MODE = False"
+
''}
'';
preBuild = ''
···
pythonPackages.wheel
];
+
propagatedBuildInputs = with pythonPackages; [
+
flask
+
flask-gravatar
+
flask-login
+
flask_mail
+
flask_migrate
+
flask-sqlalchemy
+
flask-wtf
+
flask-compress
+
passlib
+
pytz
+
simplejson
+
sqlparse
+
wtforms
+
flask-paranoid
+
psutil
+
psycopg2
+
python-dateutil
+
sqlalchemy
+
itsdangerous
+
flask-security-too
+
bcrypt
+
cryptography
+
sshtunnel
+
ldap3
+
flask-babelex
+
flask-babel
+
gssapi
+
flask-socketio
+
eventlet
+
httpagentparser
+
user-agents
+
wheel
+
authlib
+
qrcode
+
pillow
+
pyotp
+
botocore
+
boto3
+
azure-mgmt-subscription
+
azure-mgmt-rdbms
+
azure-mgmt-resource
+
azure-identity
+
sphinxcontrib-youtube
+
dnspython
+
greenlet
+
speaklater3
+
];
passthru.tests = {
+
inherit (nixosTests) pgadmin4;
};
+
nativeCheckInputs = [
+
postgresqlTestHook
+
postgresql
+
pythonPackages.testscenarios
+
pythonPackages.selenium
+
];
+
+
checkPhase = ''
+
runHook preCheck
+
+
## Setup ##
+
+
# pgadmin needs a home directory to save the configuration
+
export HOME=$TMPDIR
+
cd pgadmin4
+
+
# set configuration for postgresql test
+
# also ensure Server Mode is set to false. If not, the tests will fail, since pgadmin expects read/write permissions
+
# in /var/lib/pgadmin and /var/log/pgadmin
+
# see https://github.com/pgadmin-org/pgadmin4/blob/fd1c26408bbf154fa455a49ee5c12895933833a3/web/regression/runtests.py#L217-L226
+
cp -v regression/test_config.json.in regression/test_config.json
+
substituteInPlace regression/test_config.json --replace "localhost" "$PGHOST"
+
substituteInPlace regression/runtests.py --replace "builtins.SERVER_MODE = None" "builtins.SERVER_MODE = False"
+
+
## Browser test ##
+
+
# don't bother to test kerberos authentication
+
python regression/runtests.py --pkg browser --exclude browser.tests.test_kerberos_with_mocking
+
+
## Reverse engineered SQL test ##
+
+
python regression/runtests.py --pkg resql
+
+
runHook postCheck
+
'';
+
meta = with lib; {
+
description = "Administration and development platform for PostgreSQL${optionalString (!server-mode) ". Desktop Mode"}";
+
longDescription = ''
+
pgAdmin 4 is designed to meet the needs of both novice and experienced Postgres users alike,
+
providing a powerful graphical interface that simplifies the creation, maintenance and use of database objects.
+
${if server-mode then ''
+
This version is build with SERVER_MODE set to True (the default). It will require access to `/var/lib/pgadmin`
+
and `/var/log/pgadmin`. This is the default version for the NixOS module `services.pgadmin`.
+
This should NOT be used in combination with the `pgadmin4-desktopmode` package as they will interfere.
+
'' else ''
+
This version is build with SERVER_MODE set to False. It will require access to `~/.pgadmin/`. This version is suitable
+
for single-user deployment or where access to `/var/lib/pgadmin` cannot be granted or the NixOS module cannot be used.
+
This should NOT be used in combination with the NixOS module `pgadmin` as they will interfere.
+
''}
+
'';
homepage = "https://www.pgadmin.org/";
license = licenses.mit;
changelog = "https://www.pgadmin.org/docs/pgadmin4/latest/release_notes_${lib.versions.major version}_${lib.versions.minor version}.html";
+3 -1
pkgs/top-level/all-packages.nix
···
xmr-stak = callPackage ../applications/misc/xmr-stak { };
-
xmrig = callPackage ../applications/misc/xmrig { };
xmrig-mo = callPackage ../applications/misc/xmrig/moneroocean.nix { };
···
pgmanage = callPackage ../applications/misc/pgmanage { };
pgadmin4 = callPackage ../tools/admin/pgadmin { };
pgmodeler = qt6Packages.callPackage ../applications/misc/pgmodeler { };
···
xmr-stak = callPackage ../applications/misc/xmr-stak { };
+
xmrig = darwin.apple_sdk_11_0.callPackage ../applications/misc/xmrig { };
xmrig-mo = callPackage ../applications/misc/xmrig/moneroocean.nix { };
···
pgmanage = callPackage ../applications/misc/pgmanage { };
pgadmin4 = callPackage ../tools/admin/pgadmin { };
+
+
pgadmin4-desktopmode = callPackage ../tools/admin/pgadmin { server-mode = false; };
pgmodeler = qt6Packages.callPackage ../applications/misc/pgmodeler { };