Merge pull request #330912 from gador/pgadmin-8.10

pgadmin: 8.9 -> 8.10
This commit is contained in:
2024-08-05 19:00:08 +02:00
committed by GitHub
2 changed files with 617 additions and 802 deletions
+49 -35
View File
@@ -1,28 +1,29 @@
{ lib
, python3
, fetchFromGitHub
, fetchYarnDeps
, zlib
, nixosTests
, postgresqlTestHook
, postgresql
, yarn
, fixup-yarn-lock
, nodejs
, stdenv
, server-mode ? true
{
lib,
python3,
fetchFromGitHub,
fetchYarnDeps,
zlib,
nixosTests,
postgresqlTestHook,
postgresql,
yarn,
fixup-yarn-lock,
nodejs,
stdenv,
server-mode ? true,
}:
let
pname = "pgadmin";
version = "8.9";
yarnHash = "sha256-UEQ5gcc4n/XMW5kNol2gLiXUb9Ys75YMzWDXDiDIC9I=";
version = "8.10";
yarnHash = "sha256-UydWtk2UJNsF8FEp6dNsKJGjrWhmdCog0kn9VMcOvVU=";
src = fetchFromGitHub {
owner = "pgadmin-org";
repo = "pgadmin4";
rev = "REL-${lib.versions.major version}_${lib.versions.minor version}";
hash = "sha256-qxbY4gIXpp5U8RkzdYZUKJ7aTXvuXPGOGTKX41k1iyE=";
hash = "sha256-b7k6A57yMh9vGwMHM9coG2b5tQ+AQoJDFvR/qQZdmtk=";
};
# keep the scope, as it is used throughout the derivation and tests
@@ -77,12 +78,12 @@ pythonPackages.buildPythonApplication rec {
sed 's|*|0|g' -i requirements.txt
# remove packageManager from package.json so we can work without corepack
substituteInPlace web/package.json \
--replace-fail "\"packageManager\": \"yarn@3.8.2\"" "\"\": \"\""
--replace-fail "\"packageManager\": \"yarn@3.8.3\"" "\"\": \"\""
substituteInPlace pkg/pip/setup_pip.py \
--replace-fail "req = req.replace('psycopg[c]', 'psycopg[binary]')" "req = req"
${lib.optionalString (!server-mode) ''
substituteInPlace web/config.py \
--replace-fail "SERVER_MODE = True" "SERVER_MODE = False"
substituteInPlace web/config.py \
--replace-fail "SERVER_MODE = True" "SERVER_MODE = False"
''}
'';
@@ -140,7 +141,14 @@ pythonPackages.buildPythonApplication rec {
cp -v ../pkg/pip/setup_pip.py setup.py
'';
nativeBuildInputs = with pythonPackages; [ cython pip sphinx yarn fixup-yarn-lock nodejs ];
nativeBuildInputs = with pythonPackages; [
cython
pip
sphinx
yarn
fixup-yarn-lock
nodejs
];
buildInputs = [
zlib
pythonPackages.wheel
@@ -174,7 +182,6 @@ pythonPackages.buildPythonApplication rec {
gssapi
flask-socketio
eventlet
httpagentparser
user-agents
wheel
authlib
@@ -241,26 +248,33 @@ pythonPackages.buildPythonApplication rec {
runHook postCheck
'';
meta = with lib; {
description = "Administration and development platform for PostgreSQL${optionalString (!server-mode) ". Desktop Mode"}";
meta = {
description = "Administration and development platform for PostgreSQL${
lib.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 (e.g. on MacOS).
This should NOT be used in combination with the NixOS module `pgadmin` as they will interfere.
''}
${
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 (e.g. on MacOS).
This should NOT be used in combination with the NixOS module `pgadmin` as they will interfere.
''
}
'';
homepage = "https://www.pgadmin.org/";
license = licenses.mit;
license = lib.licenses.mit;
changelog = "https://www.pgadmin.org/docs/pgadmin4/latest/release_notes_${lib.versions.major version}_${lib.versions.minor version}.html";
maintainers = with maintainers; [ gador ];
maintainers = with lib.maintainers; [ gador ];
mainProgram = "pgadmin4";
platforms = platforms.unix;
platforms = lib.platforms.unix;
};
}
File diff suppressed because it is too large Load Diff