zotero: Use release channel

Our zotero build had the version string 9.0.2.SOURCE.000000000, while
upstream releases of course only have 9.0.2. This leaks in HTTP headers
and JavaScript functions, which is used e.g. by Better BibTeX. This
add-on actually partially fails due to the unexpected version string.

This commit switches to the release channel. This also would enable
updates, which fail/hang because the firefox updater is not included in
our firefox builds.

Instead of patching app/scripts/dir_build, I opt to call
app/scripts/prepare_build and app/build.sh directly. This also brings us
closer to cross-compile support (as we now select the build system and
architecture from targetHost).
This commit is contained in:
Mynacol 2026-05-12 13:35:00 +00:00
commit e12e834060
2 changed files with 39 additions and 34 deletions

View file

@ -1,16 +1,3 @@
diff --git a/app/scripts/dir_build b/app/scripts/dir_build
index 493288ad47..ccabb3722b 100755
--- a/app/scripts/dir_build
+++ b/app/scripts/dir_build
@@ -86,7 +86,7 @@ fi
CHANNEL="source"
-hash=$(git -C "$ROOT_DIR" rev-parse --short HEAD)
+hash="0000000000000000000000000000000000000000"
build_dir=$(mktemp -d)
cleanup() { rm -rf "$build_dir"; }
diff --git a/js-build/note-editor.js b/js-build/note-editor.js
index 1435730342..6eebb10c50 100644
--- a/js-build/note-editor.js

View file

@ -223,30 +223,48 @@ buildNpmPackage (finalAttrs: {
done
'';
buildPhase = ''
runHook preBuild
buildPhase =
let
zoteroArch =
platform:
if platform.isAarch64 then
"arm64"
else if platform.isx86_64 then
"x64"
else if platform.isx86_32 then
"i686"
else
platform.parsed.cpu.name;
in
''
runHook preBuild
npm run build
npm run build
# Place firefox files at the right place.
# The correct firefox version can be found in zotero/app/config.sh at `GECKO_VERSION_LINUX`.
mkdir -p app/xulrunner/
''
+ lib.optionalString stdenv.targetPlatform.isDarwin ''
cp -r "${firefox-esr-140-unwrapped}/Applications/Firefox ESR.app" app/xulrunner/Firefox.app
''
+ lib.optionalString (!stdenv.targetPlatform.isDarwin) ''
cp -r "${firefox-esr-140-unwrapped}/lib/firefox" "app/xulrunner/firefox-${stdenv.targetPlatform.parsed.kernel.name}-${
lib.replaceString "aarch64" "arm64" stdenv.targetPlatform.parsed.cpu.name
}"
''
+ ''
chmod -R u+w app/xulrunner/
# Place firefox files at the right place.
# The correct firefox version can be found in zotero/app/config.sh at `GECKO_VERSION_LINUX`.
mkdir -p app/xulrunner/
''
+ lib.optionalString stdenv.targetPlatform.isDarwin ''
cp -r "${firefox-esr-140-unwrapped}/Applications/Firefox ESR.app" app/xulrunner/Firefox.app
''
+ lib.optionalString (!stdenv.targetPlatform.isDarwin) ''
cp -r "${firefox-esr-140-unwrapped}/lib/firefox" "app/xulrunner/firefox-${stdenv.targetPlatform.parsed.kernel.name}-${
lib.replaceString "aarch64" "arm64" stdenv.targetPlatform.parsed.cpu.name
}"
''
+ ''
chmod -R u+w app/xulrunner/
./app/scripts/dir_build
build_dir=$(mktemp -d)
./app/scripts/prepare_build -s ./build -o "$build_dir" -c release
./app/build.sh -d "$build_dir" -c release -s \
${
if stdenv.targetPlatform.isDarwin then "-p m" else "-p l -a ${zoteroArch stdenv.targetPlatform}"
}
runHook postBuild
'';
runHook postBuild
'';
inherit doCheck;
# Build with test support if `doCheck` is enabled.