Loading pkgs/by-name/lo/logseq/electron-forge-disable-signing.patch 0 → 100644 +24 −0 Original line number Diff line number Diff line diff --git a/resources/forge.config.js b/resources/forge.config.js index 5a349a2..f967102 100644 --- a/resources/forge.config.js +++ b/resources/forge.config.js @@ -13,19 +13,6 @@ module.exports = { "schemes": "logseq" } ], - osxSign: { - identity: 'Developer ID Application: Tiansheng Qin', - 'hardened-runtime': true, - entitlements: 'entitlements.plist', - 'entitlements-inherit': 'entitlements.plist', - 'signature-flags': 'library' - }, - osxNotarize: { - tool: 'notarytool', - appleId: process.env['APPLE_ID'], - appleIdPassword: process.env['APPLE_ID_PASSWORD'], - teamId: process.env['APPLE_TEAM_ID'] - }, }, makers: [ { pkgs/by-name/lo/logseq/electron-forge-package-instead-of-make.patch 0 → 100644 +13 −0 Original line number Diff line number Diff line diff --git a/resources/package.json b/resources/package.json index 3445cbb..03927d4 100644 --- a/resources/package.json +++ b/resources/package.json @@ -10,7 +10,7 @@ "scripts": { "electron:dev": "electron-forge start", "electron:debug": "electron-forge start --inspect-electron", - "electron:make": "electron-forge make", + "electron:make": "electron-forge package", "electron:make-linux-arm64": "electron-forge make --platform=linux --arch=arm64", "electron:make-macos-arm64": "electron-forge make --platform=darwin --arch=arm64", "electron:publish:github": "electron-forge publish", pkgs/by-name/lo/logseq/hardcode-git-paths.patch 0 → 100644 +98 −0 Original line number Diff line number Diff line diff --git a/bb.edn b/bb.edn index 76e1ba1..43d2c73 100644 --- a/bb.edn +++ b/bb.edn @@ -4,8 +4,7 @@ {:mvn/version "0.10.0"} logseq/bb-tasks #_{:local/root "../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"} + {:local/root "@bb_tasks_src@"} logseq/graph-parser {:local/root "deps/graph-parser"} org.clj-commons/digest diff --git a/deps.edn b/deps.edn index 9fb41e5..2b45436 100644 --- a/deps.edn +++ b/deps.edn @@ -11,8 +11,7 @@ cljs-bean/cljs-bean {:mvn/version "1.5.0"} prismatic/dommy {:mvn/version "1.1.0"} org.clojure/core.match {:mvn/version "1.0.0"} - com.andrewmcveigh/cljs-time {:git/url "https://github.com/logseq/cljs-time" ;; fork - :sha "5704fbf48d3478eedcf24d458c8964b3c2fd59a9"} + com.andrewmcveigh/cljs-time {:local/root "@cljs_time_src@"} cljs-drag-n-drop/cljs-drag-n-drop {:mvn/version "0.1.0"} cljs-http/cljs-http {:mvn/version "0.1.46"} org.babashka/sci {:mvn/version "0.3.2"} diff --git a/deps/common/bb.edn b/deps/common/bb.edn index 3188222..1dba8a9 100644 --- a/deps/common/bb.edn +++ b/deps/common/bb.edn @@ -2,8 +2,7 @@ :deps {logseq/bb-tasks #_{:local/root "../../../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}} + {:local/root "@bb_tasks_src@"}} :pods {clj-kondo/clj-kondo {:version "2023.05.26"}} diff --git a/deps/db/bb.edn b/deps/db/bb.edn index 2bf0931..e3d5ea8 100644 --- a/deps/db/bb.edn +++ b/deps/db/bb.edn @@ -3,8 +3,7 @@ :deps {logseq/bb-tasks #_{:local/root "../../../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}} + {:local/root "@bb_tasks_src@"}} :pods {clj-kondo/clj-kondo {:version "2023.05.26"}} diff --git a/deps/graph-parser/bb.edn b/deps/graph-parser/bb.edn index 5093ff5..9cb7c54 100644 --- a/deps/graph-parser/bb.edn +++ b/deps/graph-parser/bb.edn @@ -2,8 +2,7 @@ :deps {logseq/bb-tasks #_{:local/root "../../../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}} + {:local/root "@bb_tasks_src@"}} :pods {clj-kondo/clj-kondo {:version "2023.05.26"}} diff --git a/deps/graph-parser/deps.edn b/deps/graph-parser/deps.edn index 4675c30..57abe35 100644 --- a/deps/graph-parser/deps.edn +++ b/deps/graph-parser/deps.edn @@ -1,8 +1,7 @@ {:paths ["src"] :deps ;; External deps should be kept in sync with https://github.com/logseq/nbb-logseq/blob/main/bb.edn - {com.andrewmcveigh/cljs-time {:git/url "https://github.com/logseq/cljs-time" ;; fork - :sha "5704fbf48d3478eedcf24d458c8964b3c2fd59a9"} + {com.andrewmcveigh/cljs-time {:local/root "@cljs_time_src@"} ;; local deps logseq/db {:local/root "../db"} logseq/common {:local/root "../common"} diff --git a/deps/publishing/bb.edn b/deps/publishing/bb.edn index 878757b..2fce25a 100644 --- a/deps/publishing/bb.edn +++ b/deps/publishing/bb.edn @@ -2,8 +2,7 @@ :deps {logseq/bb-tasks #_{:local/root "../../../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}} + {:local/root "@bb_tasks_src@"}} :pods {clj-kondo/clj-kondo {:version "2023.05.26"}} pkgs/by-name/lo/logseq/package.nix 0 → 100644 +296 −0 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, fetchYarnDeps, replaceVars, runCommand, writeShellScriptBin, copyDesktopItems, cctools, clojure, makeDesktopItem, makeWrapper, nodejs, removeReferencesTo, yarnBuildHook, yarnConfigHook, xcbuild, zip, electron, git, }: let # unpack tarball containing electron's headers electron-headers = runCommand "electron-headers" { } '' mkdir -p $out tar -C $out --strip-components=1 -xvf ${electron.headers} ''; in stdenv.mkDerivation (finalAttrs: { pname = "logseq"; version = "0.10.9-unstable-2025-03-11"; src = fetchFromGitHub { owner = "logseq"; repo = "logseq"; rev = "ac0a0dae727c46b348d0f1410138d5e49d446692"; hash = "sha256-esCB51BeWnni/JFL4yMKcJj5lka2+hLpcvWGify0T2o="; }; patches = [ (replaceVars ./hardcode-git-paths.patch { cljs_time_src = fetchFromGitHub { owner = "logseq"; repo = "cljs-time"; rev = "5704fbf48d3478eedcf24d458c8964b3c2fd59a9"; hash = "sha256-IApL+SEm7AhbTN7J/1KiAKTx7rd53hchRh3jmPQ412g="; }; bb_tasks_src = fetchFromGitHub { owner = "logseq"; repo = "bb-tasks"; rev = "70d3edeb287f5cec7192e642549a401f7d6d4263"; hash = "sha256-xVJj5XCkqfaNjnhYZkuqTSJN0ry8UVMaN44r9pxggB0="; }; }) ./electron-forge-package-instead-of-make.patch ./electron-forge-disable-signing.patch ]; mavenRepo = stdenv.mkDerivation { name = "logseq-${finalAttrs.version}-maven-deps"; inherit (finalAttrs) src patches; nativeBuildInputs = [ clojure ]; buildPhase = '' runHook preBuild export HOME="$(mktemp -d)" mkdir -p "$out" # -P -> resolve all normal deps # -M:alias -> resolve extra-deps of the listed aliases clj -Sdeps "{:mvn/local-repo \"$out\"}" -P -M:cljs runHook postBuild ''; # copied from buildMavenPackage # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside installPhase = '' runHook preInstall find $out -type f \( \ -name \*.lastUpdated \ -o -name resolver-status.properties \ -o -name _remote.repositories \) \ -delete runHook postInstall ''; dontFixup = true; outputHash = "sha256-gcq9zP5AQtpZU7sC9Oq3PkTj6uDo2NSShigkcuglV98="; outputHashMode = "recursive"; outputHashAlgo = "sha256"; }; yarnOfflineCacheRoot = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-root"; inherit (finalAttrs) src; hash = "sha256-z4G675kxfpmG2AJlbK5bfeUUgX7jz1ys2FlMNHJqrQ4="; }; # ./static and ./resources are combined into ./static by the build process # ./static contains the lockfile and ./resources contains everything else yarnOfflineCacheStaticResources = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-static-resources"; inherit (finalAttrs) src; sourceRoot = "${finalAttrs.src.name}/static"; hash = "sha256-xuZj2EKHxvkiDPKMLh3ZSvLT54k+buHqg9lRTFv8rNI="; }; yarnOfflineCacheAmplify = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-amplify"; inherit (finalAttrs) src; sourceRoot = "${finalAttrs.src.name}/packages/amplify"; hash = "sha256-IOhSwIf5goXCBDGHCqnsvWLf3EUPqq75xfQg55snIp4="; }; yarnOfflineCacheTldraw = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-tldraw"; inherit (finalAttrs) src; sourceRoot = "${finalAttrs.src.name}/tldraw"; hash = "sha256-CtMl3MPlyO5nWfFhCC1SLb/+1HUM3YfFATAPqJg3rUo="; }; strictDeps = true; nativeBuildInputs = let clojureWithCache = writeShellScriptBin "clojure" '' exec ${lib.getExe' clojure "clojure"} -Sdeps '{:mvn/local-repo "${finalAttrs.mavenRepo}"}' "$@" ''; # the build process runs `git describe --long --always --dirty` fakeGit = writeShellScriptBin "git" '' echo "${finalAttrs.src.rev or finalAttrs.version}@nixpkgs" ''; in [ clojureWithCache copyDesktopItems fakeGit makeWrapper nodejs (nodejs.python.withPackages (ps: [ ps.setuptools ])) removeReferencesTo yarnBuildHook yarnConfigHook zip ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools xcbuild ]; # we'll run the hook manually multiple times dontYarnInstallDeps = true; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; postConfigure = '' yarnOfflineCache="$yarnOfflineCacheRoot" yarnConfigHook cp resources/package.json static/package.json pushd static yarnOfflineCache="$yarnOfflineCacheStaticResources" yarnConfigHook popd pushd packages/amplify yarnOfflineCache="$yarnOfflineCacheAmplify" yarnConfigHook popd pushd tldraw cp yarn.lock apps/tldraw-logseq/yarn.lock yarnOfflineCache="$yarnOfflineCacheTldraw" yarnConfigHook pushd apps/tldraw-logseq yarnOfflineCache="$yarnOfflineCacheTldraw" yarnConfigHook popd popd # this has to be done after everything is set up, because for some reason # the shebangs somehow get unpatched... I don't know why... patchShebangs node_modules patchShebangs static/node_modules patchShebangs packages/amplify/node_modules patchShebangs tldraw/node_modules patchShebangs tldraw/apps/tldraw-logseq/node_modules yarn --offline --cwd tldraw postinstall export npm_config_nodedir=${nodejs} pushd packages/amplify npm rebuild --verbose popd export npm_config_nodedir=${electron-headers} pushd static # we want to use our own git, don't try downloading it substituteInPlace node_modules/dugite/package.json \ --replace-fail '"postinstall"' '"_postinstall"' # this doesn't seem to build with electron-headers rm node_modules/macos-alias/binding.gyp # the electron-rebuild command deadlocks for some reason, let's just use normal npm rebuild (since we overrode the nodedir anyways) npm rebuild --verbose # remove most references to electron-headers # TODO: track down the remaining references find node_modules -type f \( -name "*.target.mk" -o -name "config.gypi" -o -name "Makefile" \) -delete popd cp -r ${electron.dist} electron-dist chmod -R u+w electron-dist pushd electron-dist zip -0Xqr ../electron.zip . popd rm -r electron-dist substituteInPlace static/node_modules/@electron/packager/dist/packager.js \ --replace-fail "await this.getElectronZipPath(downloadOpts)" "\"$(pwd)/electron.zip\"" cp -r static/node_modules resources/node_modules ''; yarnBuildScript = "release-electron"; installPhase = '' runHook preInstall # remove references to nodejs find static/out/*/resources/app/node_modules -type f -executable -exec remove-references-to -t ${nodejs} '{}' \; '' + lib.optionalString stdenv.hostPlatform.isLinux '' install -Dm644 static/icons/logseq.png "$out/share/icons/hicolor/512x512/apps/logseq.png" mkdir -p $out/share/logseq cp -r static/out/*/{locales,resources{,.pak}} $out/share/logseq makeWrapper ${lib.getExe electron} $out/bin/logseq \ --add-flags $out/share/logseq/resources/app \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ --set-default LOCAL_GIT_DIRECTORY ${git} \ --inherit-argv0 '' + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications cp -r static/out/*/Logseq.app $out/Applications wrapProgram $out/Applications/Logseq.app/Contents/MacOS/Logseq \ --set-default LOCAL_GIT_DIRECTORY ${git} makeWrapper $out/Applications/Logseq.app/Contents/MacOS/Logseq $out/bin/logseq '' + '' runHook postInstall ''; desktopItems = [ (makeDesktopItem { name = "Logseq"; desktopName = "Logseq"; exec = "logseq %U"; terminal = false; icon = "logseq"; startupWMClass = "Logseq"; comment = "A privacy-first, open-source platform for knowledge management and collaboration."; mimeTypes = [ "x-scheme-handler/logseq" ]; categories = [ "Utility" ]; }) ]; meta = { description = "Privacy-first, open-source platform for knowledge management and collaboration"; homepage = "https://github.com/logseq/logseq"; license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ tomasajt ]; mainProgram = "logseq"; platforms = electron.meta.platforms; }; }) pkgs/top-level/aliases.nix +0 −1 Original line number Diff line number Diff line Loading @@ -919,7 +919,6 @@ mapAliases { lobster-two = throw "'lobster-two' has been renamed to/replaced by 'google-fonts'"; # Converted to throw 2024-10-17 loc = throw "'loc' has been removed due to lack of upstream maintenance. Consider 'tokei' as an alternative."; # Added 2025-01-25 loco-cli = loco; # Added 2025-02-24 logseq = throw "logseq has been removed, due to lack of maintenance and blocking the Electron 27 removal."; # Added 2025-02-24 loop = throw "'loop' has been removed due to lack of upstream maintenance"; # Added 2025-01-25 luna-icons = throw "luna-icons has been removed as it was removed upstream"; # Added 2024-10-29 lv_img_conv = throw "'lv_img_conv' has been removed from nixpkgs as it is broken"; # Added 2024-06-18 Loading Loading
pkgs/by-name/lo/logseq/electron-forge-disable-signing.patch 0 → 100644 +24 −0 Original line number Diff line number Diff line diff --git a/resources/forge.config.js b/resources/forge.config.js index 5a349a2..f967102 100644 --- a/resources/forge.config.js +++ b/resources/forge.config.js @@ -13,19 +13,6 @@ module.exports = { "schemes": "logseq" } ], - osxSign: { - identity: 'Developer ID Application: Tiansheng Qin', - 'hardened-runtime': true, - entitlements: 'entitlements.plist', - 'entitlements-inherit': 'entitlements.plist', - 'signature-flags': 'library' - }, - osxNotarize: { - tool: 'notarytool', - appleId: process.env['APPLE_ID'], - appleIdPassword: process.env['APPLE_ID_PASSWORD'], - teamId: process.env['APPLE_TEAM_ID'] - }, }, makers: [ {
pkgs/by-name/lo/logseq/electron-forge-package-instead-of-make.patch 0 → 100644 +13 −0 Original line number Diff line number Diff line diff --git a/resources/package.json b/resources/package.json index 3445cbb..03927d4 100644 --- a/resources/package.json +++ b/resources/package.json @@ -10,7 +10,7 @@ "scripts": { "electron:dev": "electron-forge start", "electron:debug": "electron-forge start --inspect-electron", - "electron:make": "electron-forge make", + "electron:make": "electron-forge package", "electron:make-linux-arm64": "electron-forge make --platform=linux --arch=arm64", "electron:make-macos-arm64": "electron-forge make --platform=darwin --arch=arm64", "electron:publish:github": "electron-forge publish",
pkgs/by-name/lo/logseq/hardcode-git-paths.patch 0 → 100644 +98 −0 Original line number Diff line number Diff line diff --git a/bb.edn b/bb.edn index 76e1ba1..43d2c73 100644 --- a/bb.edn +++ b/bb.edn @@ -4,8 +4,7 @@ {:mvn/version "0.10.0"} logseq/bb-tasks #_{:local/root "../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"} + {:local/root "@bb_tasks_src@"} logseq/graph-parser {:local/root "deps/graph-parser"} org.clj-commons/digest diff --git a/deps.edn b/deps.edn index 9fb41e5..2b45436 100644 --- a/deps.edn +++ b/deps.edn @@ -11,8 +11,7 @@ cljs-bean/cljs-bean {:mvn/version "1.5.0"} prismatic/dommy {:mvn/version "1.1.0"} org.clojure/core.match {:mvn/version "1.0.0"} - com.andrewmcveigh/cljs-time {:git/url "https://github.com/logseq/cljs-time" ;; fork - :sha "5704fbf48d3478eedcf24d458c8964b3c2fd59a9"} + com.andrewmcveigh/cljs-time {:local/root "@cljs_time_src@"} cljs-drag-n-drop/cljs-drag-n-drop {:mvn/version "0.1.0"} cljs-http/cljs-http {:mvn/version "0.1.46"} org.babashka/sci {:mvn/version "0.3.2"} diff --git a/deps/common/bb.edn b/deps/common/bb.edn index 3188222..1dba8a9 100644 --- a/deps/common/bb.edn +++ b/deps/common/bb.edn @@ -2,8 +2,7 @@ :deps {logseq/bb-tasks #_{:local/root "../../../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}} + {:local/root "@bb_tasks_src@"}} :pods {clj-kondo/clj-kondo {:version "2023.05.26"}} diff --git a/deps/db/bb.edn b/deps/db/bb.edn index 2bf0931..e3d5ea8 100644 --- a/deps/db/bb.edn +++ b/deps/db/bb.edn @@ -3,8 +3,7 @@ :deps {logseq/bb-tasks #_{:local/root "../../../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}} + {:local/root "@bb_tasks_src@"}} :pods {clj-kondo/clj-kondo {:version "2023.05.26"}} diff --git a/deps/graph-parser/bb.edn b/deps/graph-parser/bb.edn index 5093ff5..9cb7c54 100644 --- a/deps/graph-parser/bb.edn +++ b/deps/graph-parser/bb.edn @@ -2,8 +2,7 @@ :deps {logseq/bb-tasks #_{:local/root "../../../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}} + {:local/root "@bb_tasks_src@"}} :pods {clj-kondo/clj-kondo {:version "2023.05.26"}} diff --git a/deps/graph-parser/deps.edn b/deps/graph-parser/deps.edn index 4675c30..57abe35 100644 --- a/deps/graph-parser/deps.edn +++ b/deps/graph-parser/deps.edn @@ -1,8 +1,7 @@ {:paths ["src"] :deps ;; External deps should be kept in sync with https://github.com/logseq/nbb-logseq/blob/main/bb.edn - {com.andrewmcveigh/cljs-time {:git/url "https://github.com/logseq/cljs-time" ;; fork - :sha "5704fbf48d3478eedcf24d458c8964b3c2fd59a9"} + {com.andrewmcveigh/cljs-time {:local/root "@cljs_time_src@"} ;; local deps logseq/db {:local/root "../db"} logseq/common {:local/root "../common"} diff --git a/deps/publishing/bb.edn b/deps/publishing/bb.edn index 878757b..2fce25a 100644 --- a/deps/publishing/bb.edn +++ b/deps/publishing/bb.edn @@ -2,8 +2,7 @@ :deps {logseq/bb-tasks #_{:local/root "../../../bb-tasks"} - {:git/url "https://github.com/logseq/bb-tasks" - :git/sha "70d3edeb287f5cec7192e642549a401f7d6d4263"}} + {:local/root "@bb_tasks_src@"}} :pods {clj-kondo/clj-kondo {:version "2023.05.26"}}
pkgs/by-name/lo/logseq/package.nix 0 → 100644 +296 −0 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, fetchYarnDeps, replaceVars, runCommand, writeShellScriptBin, copyDesktopItems, cctools, clojure, makeDesktopItem, makeWrapper, nodejs, removeReferencesTo, yarnBuildHook, yarnConfigHook, xcbuild, zip, electron, git, }: let # unpack tarball containing electron's headers electron-headers = runCommand "electron-headers" { } '' mkdir -p $out tar -C $out --strip-components=1 -xvf ${electron.headers} ''; in stdenv.mkDerivation (finalAttrs: { pname = "logseq"; version = "0.10.9-unstable-2025-03-11"; src = fetchFromGitHub { owner = "logseq"; repo = "logseq"; rev = "ac0a0dae727c46b348d0f1410138d5e49d446692"; hash = "sha256-esCB51BeWnni/JFL4yMKcJj5lka2+hLpcvWGify0T2o="; }; patches = [ (replaceVars ./hardcode-git-paths.patch { cljs_time_src = fetchFromGitHub { owner = "logseq"; repo = "cljs-time"; rev = "5704fbf48d3478eedcf24d458c8964b3c2fd59a9"; hash = "sha256-IApL+SEm7AhbTN7J/1KiAKTx7rd53hchRh3jmPQ412g="; }; bb_tasks_src = fetchFromGitHub { owner = "logseq"; repo = "bb-tasks"; rev = "70d3edeb287f5cec7192e642549a401f7d6d4263"; hash = "sha256-xVJj5XCkqfaNjnhYZkuqTSJN0ry8UVMaN44r9pxggB0="; }; }) ./electron-forge-package-instead-of-make.patch ./electron-forge-disable-signing.patch ]; mavenRepo = stdenv.mkDerivation { name = "logseq-${finalAttrs.version}-maven-deps"; inherit (finalAttrs) src patches; nativeBuildInputs = [ clojure ]; buildPhase = '' runHook preBuild export HOME="$(mktemp -d)" mkdir -p "$out" # -P -> resolve all normal deps # -M:alias -> resolve extra-deps of the listed aliases clj -Sdeps "{:mvn/local-repo \"$out\"}" -P -M:cljs runHook postBuild ''; # copied from buildMavenPackage # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside installPhase = '' runHook preInstall find $out -type f \( \ -name \*.lastUpdated \ -o -name resolver-status.properties \ -o -name _remote.repositories \) \ -delete runHook postInstall ''; dontFixup = true; outputHash = "sha256-gcq9zP5AQtpZU7sC9Oq3PkTj6uDo2NSShigkcuglV98="; outputHashMode = "recursive"; outputHashAlgo = "sha256"; }; yarnOfflineCacheRoot = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-root"; inherit (finalAttrs) src; hash = "sha256-z4G675kxfpmG2AJlbK5bfeUUgX7jz1ys2FlMNHJqrQ4="; }; # ./static and ./resources are combined into ./static by the build process # ./static contains the lockfile and ./resources contains everything else yarnOfflineCacheStaticResources = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-static-resources"; inherit (finalAttrs) src; sourceRoot = "${finalAttrs.src.name}/static"; hash = "sha256-xuZj2EKHxvkiDPKMLh3ZSvLT54k+buHqg9lRTFv8rNI="; }; yarnOfflineCacheAmplify = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-amplify"; inherit (finalAttrs) src; sourceRoot = "${finalAttrs.src.name}/packages/amplify"; hash = "sha256-IOhSwIf5goXCBDGHCqnsvWLf3EUPqq75xfQg55snIp4="; }; yarnOfflineCacheTldraw = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-tldraw"; inherit (finalAttrs) src; sourceRoot = "${finalAttrs.src.name}/tldraw"; hash = "sha256-CtMl3MPlyO5nWfFhCC1SLb/+1HUM3YfFATAPqJg3rUo="; }; strictDeps = true; nativeBuildInputs = let clojureWithCache = writeShellScriptBin "clojure" '' exec ${lib.getExe' clojure "clojure"} -Sdeps '{:mvn/local-repo "${finalAttrs.mavenRepo}"}' "$@" ''; # the build process runs `git describe --long --always --dirty` fakeGit = writeShellScriptBin "git" '' echo "${finalAttrs.src.rev or finalAttrs.version}@nixpkgs" ''; in [ clojureWithCache copyDesktopItems fakeGit makeWrapper nodejs (nodejs.python.withPackages (ps: [ ps.setuptools ])) removeReferencesTo yarnBuildHook yarnConfigHook zip ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools xcbuild ]; # we'll run the hook manually multiple times dontYarnInstallDeps = true; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; postConfigure = '' yarnOfflineCache="$yarnOfflineCacheRoot" yarnConfigHook cp resources/package.json static/package.json pushd static yarnOfflineCache="$yarnOfflineCacheStaticResources" yarnConfigHook popd pushd packages/amplify yarnOfflineCache="$yarnOfflineCacheAmplify" yarnConfigHook popd pushd tldraw cp yarn.lock apps/tldraw-logseq/yarn.lock yarnOfflineCache="$yarnOfflineCacheTldraw" yarnConfigHook pushd apps/tldraw-logseq yarnOfflineCache="$yarnOfflineCacheTldraw" yarnConfigHook popd popd # this has to be done after everything is set up, because for some reason # the shebangs somehow get unpatched... I don't know why... patchShebangs node_modules patchShebangs static/node_modules patchShebangs packages/amplify/node_modules patchShebangs tldraw/node_modules patchShebangs tldraw/apps/tldraw-logseq/node_modules yarn --offline --cwd tldraw postinstall export npm_config_nodedir=${nodejs} pushd packages/amplify npm rebuild --verbose popd export npm_config_nodedir=${electron-headers} pushd static # we want to use our own git, don't try downloading it substituteInPlace node_modules/dugite/package.json \ --replace-fail '"postinstall"' '"_postinstall"' # this doesn't seem to build with electron-headers rm node_modules/macos-alias/binding.gyp # the electron-rebuild command deadlocks for some reason, let's just use normal npm rebuild (since we overrode the nodedir anyways) npm rebuild --verbose # remove most references to electron-headers # TODO: track down the remaining references find node_modules -type f \( -name "*.target.mk" -o -name "config.gypi" -o -name "Makefile" \) -delete popd cp -r ${electron.dist} electron-dist chmod -R u+w electron-dist pushd electron-dist zip -0Xqr ../electron.zip . popd rm -r electron-dist substituteInPlace static/node_modules/@electron/packager/dist/packager.js \ --replace-fail "await this.getElectronZipPath(downloadOpts)" "\"$(pwd)/electron.zip\"" cp -r static/node_modules resources/node_modules ''; yarnBuildScript = "release-electron"; installPhase = '' runHook preInstall # remove references to nodejs find static/out/*/resources/app/node_modules -type f -executable -exec remove-references-to -t ${nodejs} '{}' \; '' + lib.optionalString stdenv.hostPlatform.isLinux '' install -Dm644 static/icons/logseq.png "$out/share/icons/hicolor/512x512/apps/logseq.png" mkdir -p $out/share/logseq cp -r static/out/*/{locales,resources{,.pak}} $out/share/logseq makeWrapper ${lib.getExe electron} $out/bin/logseq \ --add-flags $out/share/logseq/resources/app \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ --set-default LOCAL_GIT_DIRECTORY ${git} \ --inherit-argv0 '' + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications cp -r static/out/*/Logseq.app $out/Applications wrapProgram $out/Applications/Logseq.app/Contents/MacOS/Logseq \ --set-default LOCAL_GIT_DIRECTORY ${git} makeWrapper $out/Applications/Logseq.app/Contents/MacOS/Logseq $out/bin/logseq '' + '' runHook postInstall ''; desktopItems = [ (makeDesktopItem { name = "Logseq"; desktopName = "Logseq"; exec = "logseq %U"; terminal = false; icon = "logseq"; startupWMClass = "Logseq"; comment = "A privacy-first, open-source platform for knowledge management and collaboration."; mimeTypes = [ "x-scheme-handler/logseq" ]; categories = [ "Utility" ]; }) ]; meta = { description = "Privacy-first, open-source platform for knowledge management and collaboration"; homepage = "https://github.com/logseq/logseq"; license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ tomasajt ]; mainProgram = "logseq"; platforms = electron.meta.platforms; }; })
pkgs/top-level/aliases.nix +0 −1 Original line number Diff line number Diff line Loading @@ -919,7 +919,6 @@ mapAliases { lobster-two = throw "'lobster-two' has been renamed to/replaced by 'google-fonts'"; # Converted to throw 2024-10-17 loc = throw "'loc' has been removed due to lack of upstream maintenance. Consider 'tokei' as an alternative."; # Added 2025-01-25 loco-cli = loco; # Added 2025-02-24 logseq = throw "logseq has been removed, due to lack of maintenance and blocking the Electron 27 removal."; # Added 2025-02-24 loop = throw "'loop' has been removed due to lack of upstream maintenance"; # Added 2025-01-25 luna-icons = throw "luna-icons has been removed as it was removed upstream"; # Added 2024-10-29 lv_img_conv = throw "'lv_img_conv' has been removed from nixpkgs as it is broken"; # Added 2024-06-18 Loading