mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-12 03:56:17 +03:00
Merge master into staging-next
This commit is contained in:
commit
c76e040c19
@ -520,7 +520,6 @@ in {
|
||||
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 {};
|
||||
|
@ -1,43 +0,0 @@
|
||||
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")
|
||||
'';
|
||||
})
|
@ -1,56 +1,18 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, buildDeps ? [ ], pythonEnv ? [ ], ... }:
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
|
||||
/*
|
||||
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 ];
|
||||
meta.maintainers = with lib.maintainers; [ mkg20001 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;
|
||||
})
|
||||
];
|
||||
|
||||
imports = [ ./common/user-account.nix ];
|
||||
|
||||
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
|
||||
])
|
||||
)
|
||||
curl
|
||||
pgadmin4-desktopmode
|
||||
];
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
authentication = ''
|
||||
@ -65,75 +27,31 @@ in
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.pgadmin = {
|
||||
port = 5051;
|
||||
enable = true;
|
||||
initialEmail = "bruh@localhost.de";
|
||||
initialPasswordFile = pkgs.writeText "pw" "bruh2012!";
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("postgresql")
|
||||
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 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'
|
||||
)
|
||||
# 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")
|
||||
'';
|
||||
})
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "btcpayserver";
|
||||
version = "1.7.5";
|
||||
version = "1.7.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xycNt3jzZY2a4hNv3arWLt+EfMqpFVMDHMuzOWnL7aQ=";
|
||||
sha256 = "sha256-bflQsVaCwV5zaU5k46wFQ45dIOg3dHmYfBVQHyw+EpM=";
|
||||
};
|
||||
|
||||
projectFile = "BTCPayServer/BTCPayServer.csproj";
|
||||
|
@ -8,15 +8,15 @@
|
||||
(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.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.24"; sha256 = "0i0lqpxx0gy9zbssjigz0vq0way88x0slyyfijsx4sasrhrbv5qs"; })
|
||||
(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.23"; sha256 = "036cggc386448i05s38pnhzs7qqbix6lml7j2zn84gcgk8w741gi"; })
|
||||
(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.16"; sha256 = "0l6pnjc6phsacwg145kwsakjpkd44jm1w53y0s166bwzpcdmljq0"; })
|
||||
(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"; })
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "nbxplorer";
|
||||
version = "2.3.57";
|
||||
version = "2.3.60";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgarage";
|
||||
repo = "NBXplorer";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-oLkkGdzjyvgIXi0HZiFPCShzbBR8cOgMf1h1Nf1U6Rk=";
|
||||
sha256 = "sha256-YUZvTs77dGhG7dpxbQyGhrOMMx+8LotdMJflPflMDAE=";
|
||||
};
|
||||
|
||||
projectFile = "NBXplorer/NBXplorer.csproj";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
let
|
||||
pname = "anytype";
|
||||
version = "0.29.1";
|
||||
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-NyIAOkOX9s9dN6m/5hfMhy4tSENPCDk2w/F8z+J6qqk=";
|
||||
sha256 = "sha256-LifJc5mLbnt5wBXGM1n1uice0B6mCY80LYf3kEFJy90=";
|
||||
};
|
||||
appimageContents = appimageTools.extractType2 { inherit name src; };
|
||||
in
|
||||
|
@ -1,7 +1,18 @@
|
||||
{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl, hwloc
|
||||
{ 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";
|
||||
@ -10,29 +21,49 @@ stdenv.mkDerivation rec {
|
||||
owner = "xmrig";
|
||||
repo = "xmrig";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-pMI5SqAa9jauwWvc3JpyWQa+pQvntbTrta1p0qjBaoM=";
|
||||
hash = "sha256-pMI5SqAa9jauwWvc3JpyWQa+pQvntbTrta1p0qjBaoM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libuv libmicrohttpd openssl hwloc ];
|
||||
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;
|
||||
|
||||
patches = [ ./donate-level.patch ];
|
||||
postPatch = ''
|
||||
substituteAllInPlace src/donate.h
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -vD xmrig $out/bin/xmrig
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
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" ];
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ kim0 ];
|
||||
};
|
||||
}
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "arkade";
|
||||
version = "0.8.60";
|
||||
version = "0.8.62";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexellis";
|
||||
repo = "arkade";
|
||||
rev = version;
|
||||
sha256 = "sha256-kyWUokQl5n7ko/1pdNs15WxRAAfe8KioYpkTMcLhJjU=";
|
||||
sha256 = "sha256-lnMinIZ1n94ks7H5tlYmgaDDHyGi5YxTM9dTrckQ9y0=";
|
||||
};
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
@ -1,16 +1,16 @@
|
||||
{ buildGoModule, lib, fetchFromGitHub }:
|
||||
buildGoModule rec {
|
||||
pname = "tfswitch";
|
||||
version = "0.13.1300";
|
||||
version = "0.13.1308";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "warrensbox";
|
||||
repo = "terraform-switcher";
|
||||
rev = version;
|
||||
sha256 = "sha256-btvoFllCfwQJNpRWdAB05Cu4JYmT1xynJxDbzO/6LDs=";
|
||||
sha256 = "sha256-EyA7LwfL3vCNzd2wpyUbrUnvkM0/f7/cQp+jcAcGZsg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-NX+vzI/Fa/n9ZQjpESes4fNVAmKlA1rqPwSKsL2GEUY=";
|
||||
vendorHash = "sha256-NX+vzI/Fa/n9ZQjpESes4fNVAmKlA1rqPwSKsL2GEUY=";
|
||||
|
||||
# Disable tests since it requires network access and relies on the
|
||||
# presence of release.hashicorp.com
|
||||
|
@ -18,13 +18,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "podman";
|
||||
version = "4.4.0";
|
||||
version = "4.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "podman";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-kyeON8S7CCVdHt09wigNXDWScgyaLzC4EhOts8ViP2w=";
|
||||
hash = "sha256-Uha5ueOGNmG2f+1I89uFQKA3pSSp1d02FGy86Fc2eWE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -32,7 +32,7 @@ buildGoModule rec {
|
||||
./rm-podman-mac-helper-msg.patch
|
||||
];
|
||||
|
||||
vendorSha256 = null;
|
||||
vendorHash = null;
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -25,13 +25,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "appcenter";
|
||||
version = "7.1.0";
|
||||
version = "7.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-ToRY27qB/cNKjKW22MTEojxxOXMBfO1LUusy/pXKJ9A=";
|
||||
sha256 = "sha256-XWDhQ5Nu+gGj0/TQ/fALxQJ+QXzMiHm0Qh9FlGiskEA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -158,34 +158,32 @@ stdenv.mkDerivation ({
|
||||
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)
|
||||
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
|
||||
;
|
||||
|
||||
# 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;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
|
||||
|
||||
|
@ -164,34 +164,32 @@ stdenv.mkDerivation ({
|
||||
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)
|
||||
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
|
||||
;
|
||||
|
||||
# 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;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
|
||||
|
||||
|
@ -198,35 +198,34 @@ stdenv.mkDerivation ({
|
||||
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)
|
||||
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
|
||||
;
|
||||
|
||||
# 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;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
|
||||
|
||||
|
@ -158,37 +158,38 @@ stdenv.mkDerivation ({
|
||||
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)
|
||||
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
|
||||
;
|
||||
|
||||
# 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;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
|
@ -178,37 +178,38 @@ stdenv.mkDerivation ({
|
||||
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)
|
||||
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
|
||||
;
|
||||
|
||||
# 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;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
|
@ -193,38 +193,40 @@ stdenv.mkDerivation ({
|
||||
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)
|
||||
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
|
||||
;
|
||||
|
||||
# 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;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
|
||||
|
||||
|
@ -165,33 +165,29 @@ stdenv.mkDerivation ({
|
||||
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)
|
||||
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
|
||||
;
|
||||
|
||||
# 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;
|
||||
}) 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";
|
||||
|
@ -147,33 +147,29 @@ stdenv.mkDerivation ({
|
||||
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)
|
||||
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
|
||||
;
|
||||
|
||||
# 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;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
|
||||
|
||||
|
@ -158,34 +158,31 @@ stdenv.mkDerivation ({
|
||||
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)
|
||||
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
|
||||
;
|
||||
|
||||
# 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;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
|
||||
|
||||
|
92
pkgs/development/compilers/gcc/common/dependencies.nix
Normal file
92
pkgs/development/compilers/gcc/common/dependencies.nix
Normal file
@ -0,0 +1,92 @@
|
||||
{ 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 ];
|
||||
}
|
@ -16,17 +16,23 @@ let
|
||||
cmakeBool = b: if b then "ON" else "OFF";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.5.5";
|
||||
version = "1.5.6";
|
||||
pname = "draco";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "draco";
|
||||
rev = version;
|
||||
sha256 = "sha256-WYWEUfBPz/Pt7sE8snG3/LnOA3DEUm/SUVLtsH7zG5g=";
|
||||
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 ];
|
||||
|
||||
|
@ -16,14 +16,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "b2sdk";
|
||||
version = "1.18.0";
|
||||
version = "1.19.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-knLyjRjUmLZtM9dJoPBeSdm7GpE0+UJhwLi/obVvPuw=";
|
||||
hash = "sha256-aJpSt+dXjw4S33dBiMkaR6wxzwLru+jseuPKFj2R36Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -56,6 +56,7 @@ buildPythonPackage rec {
|
||||
disabledTestPaths = [
|
||||
# requires aws s3 auth
|
||||
"test/integration/test_download.py"
|
||||
"test/integration/test_upload.py"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
|
@ -22,14 +22,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flask-babel";
|
||||
version = "3.0.0";
|
||||
version = "3.0.1";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "python-babel";
|
||||
repo = "flask-babel";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-c3QKAnyMe1THHuJ3uB2d0jMMo1SYGRAB9mBpIJSAHw0=";
|
||||
hash = "sha256-bHsB1f7dbZW4k8JteyZOwVCgWRDZMu21XdMcjM5NYjk=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pypinyin";
|
||||
version = "0.47.1";
|
||||
version = "0.48.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mozillazg";
|
||||
repo = "python-pinyin";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-c9pEO9k5tCFWLPismrXrrYEQYmxYKkciXFgpbrDEGzE=";
|
||||
sha256 = "sha256-gt0jrDPr6FeLB5P9HCSosCHb/W1sAKSusTrCpkqO26E=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyvmomi";
|
||||
version = "8.0.0.1.1";
|
||||
version = "8.0.0.1.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "vmware";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-K3gCG4TYyCiHKhrixPwBtBZ4s0bNd7Z4f3CLGnqCDG0=";
|
||||
hash = "sha256-t54FUgEXEUpb3SqayY7gCmj1egavIaoXMfuShDL9dBo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib, buildPythonPackage, fetchFromGitHub, python, robotframework }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "2.1.0";
|
||||
version = "3.0.0";
|
||||
pname = "robotstatuschecker";
|
||||
|
||||
# no tests included in PyPI tarball
|
||||
@ -9,7 +9,7 @@ buildPythonPackage rec {
|
||||
owner = "robotframework";
|
||||
repo = "statuschecker";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "0hy1390j3l4kkfna9x9xax4y5mqaa3hdndv3fiyg9wr5f7sx3wnz";
|
||||
sha256 = "sha256-7xHPqlR7IFZp3Z120mg25ZSg9eI878kE8RF1y3F5O70=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ robotframework ];
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "screenlogicpy";
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "dieselrabbit";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ah5jllrdZFGACZ9M9sv33b/KFRUqHyu5WckeOsuqbyI=";
|
||||
hash = "sha256-goziVk8OmPKkDb5oVSo/TVLLzwwqx3/Vlw0s/P9+Wss=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "types-dateutil";
|
||||
version = "2.8.19.5";
|
||||
version = "2.8.19.6";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "types-python-dateutil";
|
||||
inherit version;
|
||||
hash = "sha256-q5H8X3FffXbZpQ09100MaN/jilTwI5z6BQZXWuTYep0=";
|
||||
hash = "sha256-Sm9MwZzkuhoIZwhx4pe/OAL1XU8SnmqiRD9UC2z4A9I=";
|
||||
};
|
||||
|
||||
pythonImportsCheck = [
|
||||
|
@ -2,15 +2,17 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "backblaze-b2";
|
||||
version = "3.6.0";
|
||||
version = "3.7.0";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit version;
|
||||
pname = "b2";
|
||||
sha256 = "sha256-qHnnUTSLY1yncqIjG+IMLoNauvgwU04qsvH7dZZ8AlI=";
|
||||
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 \
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "go-mockery";
|
||||
version = "2.16.0";
|
||||
version = "2.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vektra";
|
||||
repo = "mockery";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fd+ZR74tApbZEXfMqpUAMk22h9rMRmtByGSd8JcTtK0=";
|
||||
sha256 = "sha256-Iut45RobHc3KZ0vzOqmQT0F8A/GSP5KCfprnmB3zFAA=";
|
||||
};
|
||||
|
||||
preCheck = ''
|
||||
@ -22,7 +22,7 @@ buildGoModule rec {
|
||||
|
||||
CGO_ENABLED = false;
|
||||
|
||||
vendorSha256 = "sha256-SRTxe3y+wQgxsj7ruquMG16dUEAa92rnTXceysWm+F8=";
|
||||
vendorHash = "sha256-Dl8Q6fQa7BKp06a4OT82+wHYQRN1aWZ2qK25GzhOw8A=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/vektra/mockery";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "controller-tools";
|
||||
version = "0.11.2";
|
||||
version = "0.11.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-gTSgfykTg2cWV7PCwNcbuFY89RRk9MoV24L4EuEd378=";
|
||||
sha256 = "sha256-F+cGJbxXIHrgn9OcIMh2am9g4PBLkdC037tV/9znPSg=";
|
||||
};
|
||||
|
||||
patches = [ ./version.patch ];
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "oh-my-posh";
|
||||
version = "14.2.3";
|
||||
version = "14.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jandedobbeleer";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-PghWKyZG19MVmc2fQSQN/BCMbF7YOZWybUSKiQzUxl8=";
|
||||
hash = "sha256-4o0Z3xXsVTr2dE5td/i2uQoaqsBGOMSrzt2X6C9gYbA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ehG71B351u+LoXDuKQkuEdEpUdHslVU2HcPKUz6FAnQ=";
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pscale";
|
||||
version = "0.128.0";
|
||||
version = "0.129.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "planetscale";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2EIaK7UyJH9YEKlOGnnKrq3ucVgEjbF2jVui0bASNcA=";
|
||||
sha256 = "sha256-GdJyOZ0FqLBRGeQZ5+qLYXLL8JxqigYCVuDUUs1KbN4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-uQ8/cNNFelG8zzrcEs9fEs8KkY6/odwOGmwMmyxUKS4=";
|
||||
vendorHash = "sha256-iXT+xvmVDfFVV/bYq+hnmkz2ODUQ4fHR8z2lcaK93TE=";
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w"
|
||||
|
@ -2,17 +2,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-insta";
|
||||
version = "1.20.0";
|
||||
version = "1.26.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mitsuhiko";
|
||||
repo = "insta";
|
||||
rev = version;
|
||||
sha256 = "sha256-tzC5AOlms5UDQ8+L7M2Tb5K/RtjZuDs23JSnLGH6pkI=";
|
||||
sha256 = "sha256-h0jRuY3GSqK85NCeFqdqjyVdNTMbdtD70zU5G3w1STc=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/cargo-insta";
|
||||
cargoSha256 = "sha256-9r/RPzjPzDSRamntfu8Xz4XWieAU/bnw2m9wtzwkcwk=";
|
||||
cargoHash = "sha256-GC2ggTJJV3Aww3qPfsnuND0eII1l3OBoZfi5RtvhO8I=";
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -2,20 +2,20 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "skaffold";
|
||||
version = "2.0.4";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoogleContainerTools";
|
||||
repo = "skaffold";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-TFI715knhQ3QyWF1EwIxZfZQW16uDWAqa6LVNfqC8Ws=";
|
||||
sha256 = "sha256-D0KcnxfjPBGHLGs5YLdecuKL07jIhF6w/SIr/I/W1rI=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-yy1BVorjLEcZR6PqupBiZx2plwPJ6xlxripbyB6RLek=";
|
||||
|
||||
subPackages = ["cmd/skaffold"];
|
||||
|
||||
ldflags = let t = "github.com/GoogleContainerTools/skaffold/pkg/skaffold"; in [
|
||||
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}"
|
||||
|
@ -38,12 +38,12 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rabbitmq-server";
|
||||
version = "3.11.7";
|
||||
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-m1O/k/w9WLSRpKADo79DU+vf4z41l6nfJpIwpY1dGgA=";
|
||||
hash = "sha256-sD9E60xXNJQSg98XbMq6xn+nk3uQn1XnrxApAuSaF44=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync python3 ];
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "libreddit";
|
||||
version = "0.28.1";
|
||||
version = "0.29.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libreddit";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-gwI2ASJkHc2kOmC4D65Te7iz0Kozm8bpq2MUYZRBdtk=";
|
||||
hash = "sha256-ZH1mtFfbM+acEY1oyoFXPltgPbtgI1kzoO59op1zZfo=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-9NkWYurq7S4ysnP7oLoggMNAIFay5qVWcuer4EOrQEA=";
|
||||
cargoHash = "sha256-2DBptAvJ0J65AehgHG7f4JZf1QA4ZXn8dqG09wcXsiU=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
Security
|
||||
|
@ -7,11 +7,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "snappymail";
|
||||
version = "2.25.2";
|
||||
version = "2.25.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz";
|
||||
sha256 = "sha256-45/lE+3lbIlrrlGiZcnyqqYN61BXdBzfufQuP/6W1mk=";
|
||||
sha256 = "sha256-FK0F1STRdE1Ny+l0ILQMofXSXDhyzoMgZCT+MuCSmcA=";
|
||||
};
|
||||
|
||||
sourceRoot = "snappymail";
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "afterburn";
|
||||
version = "5.3.0";
|
||||
version = "5.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coreos";
|
||||
repo = "afterburn";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-yX95qmcyouSSjEHorMpRJjZyrxIjQorwTpGtGZN4s6s=";
|
||||
sha256 = "sha256-Y9Z2PdQU7yHTlEXW+/C6v9k+5TkeQMagbC/gGG+JssQ=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-DweJ608aJChn2ezAM7Ly0cwtLAvM1DZ5gc4WUVyKIco=";
|
||||
cargoHash = "sha256-ZDyB/s2ig3aklEeB1JzNHat+roQniKrMcw4rvy9Z5pk=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl ];
|
||||
@ -32,6 +32,6 @@ rustPlatform.buildRustPackage rec {
|
||||
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" ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
17
pkgs/tools/admin/pgadmin/check-system-config-dir.patch
Normal file
17
pkgs/tools/admin/pgadmin/check-system-config-dir.patch
Normal file
@ -0,0 +1,17 @@
|
||||
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'
|
@ -7,6 +7,9 @@
|
||||
, nixosTests
|
||||
, pkgs
|
||||
, fetchPypi
|
||||
, postgresqlTestHook
|
||||
, postgresql
|
||||
, server-mode ? true
|
||||
}:
|
||||
|
||||
let
|
||||
@ -26,54 +29,6 @@ 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
|
||||
@ -134,6 +89,8 @@ pythonPackages.buildPythonApplication rec {
|
||||
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 = ''
|
||||
@ -149,10 +106,12 @@ pythonPackages.buildPythonApplication rec {
|
||||
|
||||
# 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"
|
||||
--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 = ''
|
||||
@ -200,23 +159,110 @@ pythonPackages.buildPythonApplication rec {
|
||||
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 ];
|
||||
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 = {
|
||||
standalone = nixosTests.pgadmin4-standalone;
|
||||
# regression and function tests of the package itself
|
||||
package = import ../../../../nixos/tests/pgadmin4.nix { inherit pkgs buildDeps; pythonEnv = pythonPackages; };
|
||||
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";
|
||||
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";
|
||||
|
@ -31286,7 +31286,7 @@ with pkgs;
|
||||
|
||||
xmr-stak = callPackage ../applications/misc/xmr-stak { };
|
||||
|
||||
xmrig = callPackage ../applications/misc/xmrig { };
|
||||
xmrig = darwin.apple_sdk_11_0.callPackage ../applications/misc/xmrig { };
|
||||
|
||||
xmrig-mo = callPackage ../applications/misc/xmrig/moneroocean.nix { };
|
||||
|
||||
@ -38023,6 +38023,8 @@ with pkgs;
|
||||
|
||||
pgadmin4 = callPackage ../tools/admin/pgadmin { };
|
||||
|
||||
pgadmin4-desktopmode = callPackage ../tools/admin/pgadmin { server-mode = false; };
|
||||
|
||||
pgmodeler = qt6Packages.callPackage ../applications/misc/pgmodeler { };
|
||||
|
||||
physlock = callPackage ../misc/screensavers/physlock { };
|
||||
|
Loading…
Reference in New Issue
Block a user