pgadmin: 9.5 -> 9.6

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
This commit is contained in:
Florian Brandes 2025-08-02 21:32:36 +02:00 committed by Herwig Hochleitner
parent e970daaf33
commit fdf016ddbd
4 changed files with 50 additions and 104 deletions

View File

@ -13,30 +13,21 @@
libtool, libtool,
libpng, libpng,
nasm, nasm,
cmake,
pkg-config, pkg-config,
stdenv, stdenv,
srcOnly,
server-mode ? true, server-mode ? true,
}: }:
let let
pname = "pgadmin"; pname = "pgadmin";
version = "9.5"; version = "9.6";
yarnHash = "sha256-i3WCEpcZepB7K0A4QgjoLfkO7icew/8usJCo4DkWT6I="; yarnHash = "sha256-G3iG11nPEtco7FJe1H4s85tMpHqmUgPbj68gADBqDfY=";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pgadmin-org"; owner = "pgadmin-org";
repo = "pgadmin4"; repo = "pgadmin4";
rev = "REL-${lib.versions.major version}_${lib.versions.minor version}"; rev = "REL-${lib.versions.major version}_${lib.versions.minor version}";
hash = "sha256-5FwYkdhpg/2Cidi2qiFhhsQYbIwsp80K3MNxw5rp4ww="; hash = "sha256-9WYyfioDb2eDf4oeMQ0kF/NUOuwki5gVZjlmels/+1g=";
};
mozjpeg-bin = fetchFromGitHub {
owner = "imagemin";
repo = "mozjpeg-bin";
rev = "c0587fbc00b21ed8cad8bae499a0827baeaf7ffa";
hash = "sha256-D/pXQBlIIyk7KAgxJ1gKqxYxtlfBbLzUSmYZbH659cA=";
}; };
# keep the scope, as it is used throughout the derivation and tests # keep the scope, as it is used throughout the derivation and tests
@ -58,16 +49,10 @@ in
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
inherit pname version src; inherit pname version src;
missingHashes = ./missing-hashes.json;
offlineCache = yarn-berry_4.fetchYarnBerryDeps { offlineCache = yarn-berry_4.fetchYarnBerryDeps {
# mozjpeg fails to build on darwin due to a hardocded path inherit missingHashes;
# this has been fixed upstream on master but no new version
# has been released. We therefore point yarn to upstream
# see https://github.com/imagemin/mozjpeg-bin/issues/64
# and https://github.com/imagemin/mozjpeg-bin/issues/81
patches = [
./mozjpeg.patch
];
src = src + "/web"; src = src + "/web";
hash = yarnHash; hash = yarnHash;
}; };
@ -85,11 +70,6 @@ pythonPackages.buildPythonApplication rec {
]; ];
postPatch = '' postPatch = ''
# the patch needs to be executed inside the /web subfolder
# therefore it is included here and not in `patches`
cd web
patch -u yarn.lock ${./mozjpeg.patch}
cd ..
# patching Makefile, so it doesn't try to build sphinx documentation here # patching Makefile, so it doesn't try to build sphinx documentation here
# (will do so later) # (will do so later)
substituteInPlace Makefile \ substituteInPlace Makefile \
@ -111,9 +91,6 @@ pythonPackages.buildPythonApplication rec {
''; '';
dontYarnBerryInstallDeps = true; dontYarnBerryInstallDeps = true;
env.YARN_ENABLE_SCRIPTS = "0";
dontUseCmakeConfigure = true;
preBuild = '' preBuild = ''
# Adapted from pkg/pip/build.sh # Adapted from pkg/pip/build.sh
echo Creating required directories... echo Creating required directories...
@ -141,25 +118,6 @@ pythonPackages.buildPythonApplication rec {
export LD=$CC # https://github.com/imagemin/optipng-bin/issues/108 export LD=$CC # https://github.com/imagemin/optipng-bin/issues/108
yarnBerryConfigHook yarnBerryConfigHook
) )
# mozjpeg vendored source isn't included in the checkout for yarn. If we copy it before the
# yarnConfigHook it will just get overwritten. So we first run the configHook without build,
# then copy the vendored source and then build the dependencies
# This has the disadvantage of repeating some of the yarnConfigHooks logic here
mkdir -p node_modules/mozjpeg/vendor/source
cp ${mozjpeg-bin}/vendor/source/mozjpeg.tar.gz node_modules/mozjpeg/vendor/source/
(
# https://github.com/mozilla/mozjpeg/issues/438
substituteInPlace node_modules/mozjpeg/lib/install.js --replace-fail "cmake -DCMAKE" "cmake -DENABLE_STATIC=FALSE -DCMAKE"
substituteInPlace node_modules/mozjpeg/lib/install.js --replace-fail "cp cjpeg-static" "cp cjpeg"
export LD=$CC
export HOME=$(mktemp -d)
export YARN_ENABLE_SCRIPTS=1
YARN_IGNORE_PATH=1 ${yarn-berry_4.yarn-berry-offline}/bin/yarn config set enableTelemetry false
YARN_IGNORE_PATH=1 ${yarn-berry_4.yarn-berry-offline}/bin/yarn config set enableGlobalCache false
export npm_config_nodedir="${srcOnly nodejs}"
export npm_config_node_gyp="${nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"
YARN_IGNORE_PATH=1 ${yarn-berry_4.yarn-berry-offline}/bin/yarn install --inline-builds
)
yarn webpacker yarn webpacker
cp -r * ../pip-build/pgadmin4 cp -r * ../pip-build/pgadmin4
# save some disk space # save some disk space
@ -188,21 +146,11 @@ pythonPackages.buildPythonApplication rec {
yarn-berry_4 yarn-berry_4
yarn-berry_4.yarnBerryConfigHook yarn-berry_4.yarnBerryConfigHook
nodejs nodejs
# for building mozjpeg2
cmake
autoconf
automake
libtool
nasm
pkg-config
]; ];
buildInputs = [ buildInputs = [
zlib zlib
pythonPackages.wheel pythonPackages.wheel
# for mozjpeg2
libpng
]; ];
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [

View File

@ -0,0 +1,43 @@
{
"@img/sharp-darwin-arm64@npm:0.34.3": "c5ed848f3cecaced50be6d1805cfb23586299f119a9917880c3f590b7ddd54b930e493c73480d13452503101168f92a0dc85ccc5b19b330470a5fe69e1fcf206",
"@img/sharp-darwin-x64@npm:0.34.3": "7e892ca052c8eb9002fb6e86e0a7893aff909e0f203f6ada7a67f4ca7e189631203189700a498ab3401280f5c042f5b08c3f7bc713192a97228864e9c4527743",
"@img/sharp-libvips-darwin-arm64@npm:1.2.0": "35d0d475da11fdfd7f5b5f7f1de4376ac04de6d6e0879833f71b2fa305b9d58c96ee464cf234060506ef9b1e2eabe5c09c302e818f8899b2ced1fcb7f85c01eb",
"@img/sharp-libvips-darwin-x64@npm:1.2.0": "e853f3b8a19d815af553b703e1d6d70abec525c61f3f19cc8a9d50d3749bc563b7f255307709b7c0836f76b110948489d3a9a3932d2fbc1775a083a56979bf56",
"@img/sharp-libvips-linux-arm64@npm:1.2.0": "ec53e3e62c9351e28ea0e4c26a1d8ab257ac003e8184b1757b79c2a240baecec2452e0dbca08c8227fd01c498801c428230261fdb86198e873e07347d741c3c7",
"@img/sharp-libvips-linux-arm@npm:1.2.0": "a2f9822cb2ac5b315f2a02c59ebdb235f6c45251207795f83f1a92db696a9deced882dc752bdddd1eab98da5d7d1d1e9968ae142313ff09960b7ae30b760ba07",
"@img/sharp-libvips-linux-ppc64@npm:1.2.0": "e90e1c46e6020f3a96562dd526549af2fabff46a1576f2e7af003be4b5efeb6fc8caa8e303e2eeb58129c938be31e0bf067736072479f2298152230cecd5fce4",
"@img/sharp-libvips-linux-s390x@npm:1.2.0": "2cf62c8b285effd3a3ec8854bc5fd78af162459294a6d9847af33d6bdeacfbad81cb0bec68b76889b148306a8a28492b4d44e6c96b778d0879349180191d758d",
"@img/sharp-libvips-linux-x64@npm:1.2.0": "ca342d07d1f0d22559f26bdcc0354f87a845ef19c69c22e37d9e23d71de15159f50d01183e8e7ea75e0ccfb6c7be9406741414a1f3534ec4aba10e51f0d7dffd",
"@img/sharp-libvips-linuxmusl-arm64@npm:1.2.0": "aa248f0c8602b0a17fdb5c1b00ce7dbb09f05b94a45ee7f226eaebfa459d4ee3fd407c62244902e15699927943c511a7fe045b575185ecc9b585987b64ae6cb1",
"@img/sharp-libvips-linuxmusl-x64@npm:1.2.0": "811071647c5129a1ead1e54b8f4672061bbbc1177d1d49127c755848e81f21bcbf5bf438c0e53118e731be5e000235904de3b5cf305053de015b56609a059371",
"@img/sharp-linux-arm64@npm:0.34.3": "3e8d53f54789b3d98dc14bf696917ff50f8c8c355aedc0dc90890ca764259bafec7390eabe262ce843eab8b74e0c128858128ce614e0b85dcba28d6b9ce3ea3f",
"@img/sharp-linux-arm@npm:0.34.3": "563c48ee129e5f3c6afed71ffba9c79a4369e7967e7b3a4a97d9b1e5aefa511873d3cd7a568ec42cd5968ea76f89ab93ee65c1363170af50559b620bfdb89d5b",
"@img/sharp-linux-ppc64@npm:0.34.3": "5973f8c522f33f826efff4052e253ec554882db54421a00f2636594e9ccc27e16dfb865f8de101678cb07b1a2d31b516ce4a88b65132ecc1101d07b6cc1bd571",
"@img/sharp-linux-s390x@npm:0.34.3": "284d2fcd9cc297b27ec135b0c63d5a6170cb17be378d92c75ec19b6034e7ed5801cab04ca17d445a80b073d67c4f9fe809334f5d4edf533c2d81d66d5d882ef3",
"@img/sharp-linux-x64@npm:0.34.3": "a370c04ca6d4145e6d6529d84b133d80e88d408e4483ba168e5993e5b4c0cbd2db57d4e53aca0bfa43320b571ff8bd70c22d8d7f5fadb5e5df1ded91393ae71d",
"@img/sharp-linuxmusl-arm64@npm:0.34.3": "c63d8afda1a7d4810bdc19473b6235313d923f8763a8dfc182465b63b8e4805769a9e92a8b2136f0235e07ae1b1ab63adfa904bb833d64f0495108dfc180a475",
"@img/sharp-linuxmusl-x64@npm:0.34.3": "9500e8f5d0ab96395a8d522920f25d4376d928ec58e88b3a5dbce5249c26efec046d20845bee8e9233fbff5287cfa979cfc079bc608342d257a6827be6cc0322",
"@img/sharp-wasm32@npm:0.34.3": "840dd97d3151b2189c3d0ee0746c139cbdd0441d5d5dfc87d2dd9970fc2c5448a3815c3110c64009998d165ca6dc7b5d58811b98b2c1e4ab0a1eb5ad97275f1e",
"@img/sharp-win32-arm64@npm:0.34.3": "adc7d18a8334ca1fea09c877dc9493e75a9018f73dc63038c8ccef7535a272c0aa3c2a9867a49a223703747149fb1fe57ef8580dd6098f0f33c602a876a48e1b",
"@img/sharp-win32-ia32@npm:0.34.3": "eef220adf1240429f72d9a9aadc22ccb741889785fa025396cfed41603364990b5f3841cee4d60525b22e65f36c7416297581300c873268fe2b7bb67087ada73",
"@img/sharp-win32-x64@npm:0.34.3": "5a5d2624bea7a31393b5a89738ad22a2b020a67f5e5b9eb40063510b514e8516b0fb4e320ff9eb1d32fa2ee3b4c3a0387333d051da28d93957116cbbd63b5fe0",
"@unrs/resolver-binding-android-arm-eabi@npm:1.11.0": "c1b6a9231008b88b21ae121b947704c933bed766f429ee30e464ce8602793ad8420dee1107e5a389d358b9fb9130c1c04a45c54fd23f76fffc148322f77aac21",
"@unrs/resolver-binding-android-arm64@npm:1.11.0": "30870e5ceee3dd1be8150d1c7d719bd459ebdc1c7134e0fdf1f0864f15d395d490966373895728dc05a56ea19acce6a210826acce7fb4ae2806805b04204498b",
"@unrs/resolver-binding-darwin-arm64@npm:1.11.0": "050dee0e5fdbcb4104dba8ecdff32a37abc349406fd3f20f7aa5b90eff446db7791a948c9d508d0f801c21d697d88082d974ebd7eb034257bacfd1b91c9e52fa",
"@unrs/resolver-binding-darwin-x64@npm:1.11.0": "c88bd64753d75539d66fb149f190edafb6415cf178619b27d778b98f6aeb1c538730842f522b7ce0b209ed07c73644d729c55883b3d854317c8395c1e36325e9",
"@unrs/resolver-binding-freebsd-x64@npm:1.11.0": "f0da5e7d2ddc0c6af523741dc0395340c7cd908510c342a0e8a20e2281fdc7e9b965339d1a337cf358883a3e41b393e26315950c9ab3594c342a758065e83f01",
"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.0": "e3379d1e50209ea97066f7e275285fa9fdafe51e0b55786283cf72f6fde0d7b2bcbadf5443f8fe4d4852033ee9737ea4965b768660fb8fe5424f8df383eb1e63",
"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.0": "af37c332162f948867da2ce5c0cf2482447d3458437116f90e9a7bdbfb69ff7ce64151c5aacd6b82ad0d0b49bbca13cca098bc448fe736e7b2451d3def580dcc",
"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.0": "9b0b1649b6493af4383e92453699f970acce726e69f666ba9f23ee7cd43393bce56ed18aa1d7d54550e17e46cd814eb2fd5a78fab64b2794b2647bc6f081f38a",
"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.0": "defe8b45c1700d577cc5d7b672bbde3b22b5e8ceaa9778742c7b6735665e9e778cc4223a230a8d6c8175ece6bbe896dfb4c142be9f4c9dac35bd8c131ae0bb23",
"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.0": "14ef4060c46d15b656e8b9d76da3d52251e9b2ac9e72036d6563cea82912cfb3c1ec054772641427e2422d8701275692c8820be8870feea710de212ecb286c43",
"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.0": "b781e07bbdf954976f057242b5b450c85866b6cafbad316dfde45f7ef323b55ce85127cd1275e180efa091046347edb1486b7e551eb3f0f2ff462668998e426b",
"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.0": "be1be1eee6f46549473392ed8f0625127e1cad3aa5bc4979d9e1d9bbb99274b78451aab2318b3e2573be1096f845a3d4014de1888f6055b0135596bc8a475311",
"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.0": "1ec2f875f3548dc1646ab6a2a5d3143872b15797ac11842aff61f01c90c7239752fe2e634ce8da6f8908630a8132a0e0e0c3cff45719802fec464d53fcb1e64d",
"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.0": "1257c1d3d37a1b47d0b50f68ebe6401f5f38f2a95635e475178a159c95c9a8c78fe6455bb93ff2dfc7885174e15b4df8d3fcba3f1dfa6a65662d9ec92eb7c34d",
"@unrs/resolver-binding-linux-x64-musl@npm:1.11.0": "af64c0803ac865d8726c45ed9208110d8720df441ed5da6b0a9667ecb963c7cd3e3ee5bccc7a97e73793e30dd7421e468560428e73469ad1513ed4c76441ee3d",
"@unrs/resolver-binding-wasm32-wasi@npm:1.11.0": "7172db7c1cd756c95ba7ba6f49526ac7be03960cd7928ec9fd5c757001d28fa2bf652a31671ac3b131bb37e627bd4b6f592023a9f5b6b820f33ad93cc6b88acf",
"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.0": "a0ffc06551498f263547a3371252f2ff8ce38da28f726ae8d6c4e1be8e968596e0b3fad8fadcc01856bde845733a8527d4b55727b9fbd1774da5728423a76181",
"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.0": "64478bb41d415cd2ac220b3518e286e24bbb18f50083545d1d8a40b565caaa24d72f43fb79c57f1ca919591870e27289ddf3c69cb5b763fd686c354fdd1e6e1b",
"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.0": "9b44241725f19ba4aeb9377f7be3153b3e36971f9224b502921cffb72122ed9fa9f7b0a77e3bd6ec941c18f8b161782b4e8ea43eafc61e9d575d40c4c88c367b"
}

View File

@ -1,44 +0,0 @@
diff --git a/yarn.lock b/yarn.lock
index 8bfff31..0f12f87 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7347,6 +7347,23 @@ __metadata:
languageName: node
linkType: hard
+"execa@npm:^7.1.1":
+ version: 7.1.1
+ resolution: "execa@npm:7.1.1"
+ dependencies:
+ cross-spawn: "npm:^7.0.3"
+ get-stream: "npm:^6.0.1"
+ human-signals: "npm:^3.0.1"
+ is-stream: "npm:^3.0.0"
+ merge-stream: "npm:^2.0.0"
+ npm-run-path: "npm:^5.1.0"
+ onetime: "npm:^6.0.0"
+ signal-exit: "npm:^3.0.7"
+ strip-final-newline: "npm:^3.0.0"
+ checksum: 0da5ee1c895b62142bc3d1567d1974711c28c2cfa6bae96e1923379bd597e476d762a13f282f92815d8ebfa33407949634fa32a0d6db8334a20e625fe11d4351
+ languageName: node
+ linkType: hard
+
"executable@npm:^4.1.0":
version: 4.1.1
resolution: "executable@npm:4.1.1"
@@ -11120,13 +11137,14 @@ __metadata:
"mozjpeg@npm:^8.0.0":
version: 8.0.0
- resolution: "mozjpeg@npm:8.0.0"
+ resolution: "mozjpeg@https://github.com/imagemin/mozjpeg-bin.git#commit=c0587fbc00b21ed8cad8bae499a0827baeaf7ffa"
dependencies:
bin-build: "npm:^3.0.0"
bin-wrapper: "npm:^4.0.0"
+ execa: "npm:^7.1.1"
bin:
mozjpeg: cli.js
- checksum: 10c0/e91294c15bb31dcaa5eb0780e772214052aa8cb1efc35f74a5c4fe85c9af9d3d6e2f3dc64d3379a86a63b5cbc86a2618c23e350c9131e55ac76726647537b7e8
+ checksum: cba27c2efbc21a48434da1c6c8d6886988432430f958315fc59ef9b52bc2d6ee597e19f1cf6aae0fd611d5b2a113561fe2e85ec30a1ccd55c007340c638eb556
languageName: node
linkType: hard

View File

@ -41,11 +41,10 @@ pushd $TMPDIR
wget -c $url wget -c $url
tar -xzf "pgadmin4-$newest_version.tar.gz" tar -xzf "pgadmin4-$newest_version.tar.gz"
cd "pgadmin4-$newest_version/web" cd "pgadmin4-$newest_version/web"
patch -u yarn.lock ${scriptDir}/mozjpeg.patch
printf "Will now generate the hash. This will download the packages to the nix store and also take some time\n" printf "Will now generate the hash. This will download the packages to the nix store and also take some time\n"
yarn-berry-fetcher missing-hashes yarn.lock yarn-berry-fetcher missing-hashes yarn.lock > missing-hashes.json
if [[ -f missing-hashes.json ]]; then if [[ $(wc -l <missing-hashes.json) -ge 2 ]]; then
YARN_HASH=$(yarn-berry-fetcher prefetch yarn.lock missing-hashes.json) YARN_HASH=$(yarn-berry-fetcher prefetch yarn.lock missing-hashes.json)
else else
YARN_HASH=$(yarn-berry-fetcher prefetch yarn.lock) YARN_HASH=$(yarn-berry-fetcher prefetch yarn.lock)