diff --git a/pkgs/by-name/zo/zotero/avoid-git.patch b/pkgs/by-name/zo/zotero/avoid-git.patch index f0c6b4ffdeaf..dda5290a3ab2 100644 --- a/pkgs/by-name/zo/zotero/avoid-git.patch +++ b/pkgs/by-name/zo/zotero/avoid-git.patch @@ -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 diff --git a/pkgs/by-name/zo/zotero/fix-x86_64-darwin.patch b/pkgs/by-name/zo/zotero/fix-x86_64-darwin.patch new file mode 100644 index 000000000000..e8ffe53513a7 --- /dev/null +++ b/pkgs/by-name/zo/zotero/fix-x86_64-darwin.patch @@ -0,0 +1,13 @@ +diff --git a/app/mac/set-channel-prefs-channel b/app/mac/set-channel-prefs-channel +index 2431837584..ab85d7e5c0 100755 +--- a/app/mac/set-channel-prefs-channel ++++ b/app/mac/set-channel-prefs-channel +@@ -19,7 +19,7 @@ binary=$1 + from_channel=$2 + to_channel=$3 + # `strings` has a 4-character minimum by default, but we need 3 for 'dev' +-strings_cmd="strings -n 3" ++strings_cmd="strings -n 3 -arch all" + + if [ ${#to_channel} -gt 7 ]; then + echo "Channel length cannot exceed 7 characters -- aborting" >&2 diff --git a/pkgs/by-name/zo/zotero/package.nix b/pkgs/by-name/zo/zotero/package.nix index 92bdbb91bf22..438a9eee0f86 100644 --- a/pkgs/by-name/zo/zotero/package.nix +++ b/pkgs/by-name/zo/zotero/package.nix @@ -193,6 +193,7 @@ buildNpmPackage (finalAttrs: { ./js-build-fixes.patch ./avoid-xulrunner-fetch.patch ./build-fixes.patch + ./fix-x86_64-darwin.patch ]; postPatch = '' @@ -223,30 +224,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.