logseq: init at 0.10.9-unstable-2025-03-11 (#389363)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
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: [
|
||||
{
|
||||
@@ -0,0 +1,13 @@
|
||||
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",
|
||||
@@ -0,0 +1,98 @@
|
||||
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"}}
|
||||
@@ -0,0 +1,296 @@
|
||||
{
|
||||
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;
|
||||
};
|
||||
})
|
||||
@@ -1039,7 +1039,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
|
||||
|
||||
Reference in New Issue
Block a user