nominatim-ui: rewrite packaging to add missing files and add custom config support (#421464)

This commit is contained in:
Valentin Gagarin
2025-07-08 08:22:49 +02:00
committed by GitHub
+60
View File
@@ -2,8 +2,31 @@
lib,
stdenv,
fetchFromGitHub,
fetchYarnDeps,
writableTmpDirAsHomeHook,
writeText,
fixup-yarn-lock,
nodejs,
yarn,
# Custom application configuration placed to theme/config.theme.js file
# For the list of available configuration options see
# https://github.com/osm-search/nominatim-ui/blob/master/dist/config.defaults.js
customConfig ? null,
}:
let
configFile =
if customConfig != null then
writeText "config.theme.js" customConfig
else
writeText "config.theme.js" ''
// Default configuration
Nominatim_Config.Nominatim_API_Endpoint='https://127.0.0.1/';
'';
in
stdenv.mkDerivation (finalAttrs: {
pname = "nominatim-ui";
version = "3.7.1";
@@ -15,6 +38,43 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-TliTWDKdIp7Z0uYw5P65i06NQAUNwNymUsSYrihVZFE=";
};
offlineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-IqwsXEd9RSJhkA4BONTJT4xYMTyG9+zddIpD47v6AFc=";
};
nativeBuildInputs = [
writableTmpDirAsHomeHook
fixup-yarn-lock
nodejs
yarn
];
configurePhase = ''
runHook preConfigure
yarn config --offline set yarn-offline-mirror $offlineCache
fixup-yarn-lock yarn.lock
yarn install --offline --frozen-lockfile --frozen-engines --ignore-scripts
patchShebangs node_modules
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
yarn --offline build
runHook postBuild
'';
preInstall = ''
ln --symbolic ${configFile} dist/theme/config.theme.js
'';
installPhase = ''
runHook preInstall