aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Popov <arrowd@FreeBSD.org>2023-02-15 17:02:45 +0000
committerGleb Popov <arrowd@FreeBSD.org>2023-02-24 19:24:05 +0000
commit21285a889b4d19e9ac7e84d567e2f3cc75b77f02 (patch)
treeb38f5b670fc86cd7067dce30dedf2ae968729452
parent403dd0df1805db40acb6f96ec250381f66bc2f81 (diff)
downloadports-21285a889b4d19e9ac7e84d567e2f3cc75b77f02.tar.gz
ports-21285a889b4d19e9ac7e84d567e2f3cc75b77f02.zip
textproc/obsidian: + Markdown-based knowledge database.
Differential Revision: https://reviews.freebsd.org/D38691 Sponsored by: Serenity Cybersecurity, LLC
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/obsidian/Makefile96
-rw-r--r--textproc/obsidian/distinfo5
-rw-r--r--textproc/obsidian/files/obsidian.desktop10
-rw-r--r--textproc/obsidian/files/obsidian.in14
-rw-r--r--textproc/obsidian/pkg-descr3
-rw-r--r--textproc/obsidian/pkg-plist80
7 files changed, 209 insertions, 0 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 370f3f6c9fe2..4da768f5eb2f 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -503,6 +503,7 @@
SUBDIR += nuspell
SUBDIR += nux
SUBDIR += ny-aspell
+ SUBDIR += obsidian
SUBDIR += ocaml-csv
SUBDIR += ocaml-expat
SUBDIR += ocaml-text
diff --git a/textproc/obsidian/Makefile b/textproc/obsidian/Makefile
new file mode 100644
index 000000000000..3f5a1c6a4c79
--- /dev/null
+++ b/textproc/obsidian/Makefile
@@ -0,0 +1,96 @@
+# This port will not be packaged by the official FreeBSD build cluster, because
+# its license doesn't permit redistribution.
+#
+# To build this port locally with minimal effort use
+# cd <PORTSDIR>/textproc/obsidian
+# pkg install -A `make -V 'electron${ELECTRON_VERSION}'`
+# make USE_PACKAGE_DEPENDS_ONLY=yes install clean
+
+PORTNAME= obsidian
+PORTVERSION= 1.1.9
+CATEGORIES= textproc
+# Icon is taken from the Nix build recipe
+# https://github.com/NixOS/nixpkgs/blob/de5448dab588ad41aef40f8c7c0c230981656698/pkgs/applications/misc/obsidian/default.nix#L31-L34
+MASTER_SITES= https://github.com/obsidianmd/obsidian-releases/releases/download/v${PORTVERSION}/ \
+ https://forum.obsidian.md/uploads/default/original/1X/:icon
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
+ bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png:icon
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= arrowd@FreeBSD.org
+COMMENT= Powerful and extensible knowledge base application
+WWW= https://obsidian.md
+
+LICENSE= EULA
+LICENSE_NAME= End User License Agreement
+LICENSE_TEXT= See https://obsidian.md/terms
+LICENSE_PERMS=
+
+BUILD_DEPENDS= electron${ELECTRON_VERSION}:devel/electron${ELECTRON_VERSION}
+RUN_DEPENDS= electron${ELECTRON_VERSION}:devel/electron${ELECTRON_VERSION}
+
+# All deps below are there only to please stage-qa
+
+LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \
+ libatspi.so:accessibility/at-spi2-core \
+ libsnappy.so:archivers/snappy \
+ libopus.so:audio/opus \
+ libdbus-1.so:devel/dbus \
+ libicuuc.so:devel/icu \
+ libevent.so:devel/libevent \
+ libnspr4.so:devel/nspr \
+ libFLAC.so:audio/flac \
+ libpci.so:devel/libpci \
+ libdrm.so:graphics/libdrm \
+ libpng.so:graphics/png \
+ libwayland-client.so:graphics/wayland \
+ libwebp.so:graphics/webp \
+ libopenh264.so:multimedia/openh264 \
+ libharfbuzz.so:print/harfbuzz \
+ libexpat.so:textproc/expat2 \
+ libnss3.so:security/nss \
+ libxkbcommon.so:x11/libxkbcommon \
+ libxshmfence.so:x11/libxshmfence \
+ libfontconfig.so:x11-fonts/fontconfig \
+ libcups.so:print/cups \
+ libasound.so:audio/alsa-lib
+
+USES= desktop-file-utils gettext-runtime gl gnome iconv jpeg xorg
+
+USE_GL= gbm gl glesv2
+USE_GNOME= cairo gdkpixbuf2 glib20 gtk30 libxml2 libxslt
+USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \
+ xrender xscrnsaver xtst
+
+SUB_FILES= obsidian
+NO_BUILD= yes
+STRIP=
+
+ELECTRON_VERSION= 21
+ELECTRON_FILES= chromedriver \
+ libEGL.so \
+ libGLESv2.so \
+ libffmpeg.so \
+ libvk_swiftshader.so \
+ libvulkan.so \
+ resources.pak \
+ snapshot_blob.bin \
+ v8_context_snapshot.bin
+
+do-install:
+ cd ${WRKSRC} && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR}
+ ${INSTALL_PROGRAM} ${WRKDIR}/obsidian ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_DATA} ${PATCHDIR}/obsidian.desktop ${STAGEDIR}${DESKTOPDIR}/obsidian.desktop
+ ${INSTALL_DATA} ${DISTDIR}/bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png ${STAGEDIR}${PREFIX}/share/pixmaps/obsidian.png
+
+post-install:
+ ${RM} ${STAGEDIR}${DATADIR}/chrome-sandbox
+ ${RM} ${STAGEDIR}${DATADIR}/libvulkan.so.1
+.for f in ${ELECTRON_FILES}
+ ${RM} ${STAGEDIR}${DATADIR}/${f}
+ ${RLN} ${LOCALBASE}/share/electron${ELECTRON_VERSION}/${f} ${STAGEDIR}${DATADIR}/${f}
+.endfor
+# We have to copy the electron binary instead of symlinking
+ ${CP} ${LOCALBASE}/share/electron${ELECTRON_VERSION}/electron ${STAGEDIR}${DATADIR}/obsidian
+
+.include <bsd.port.mk>
diff --git a/textproc/obsidian/distinfo b/textproc/obsidian/distinfo
new file mode 100644
index 000000000000..09b4340d34b3
--- /dev/null
+++ b/textproc/obsidian/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1676894388
+SHA256 (obsidian-1.1.9.tar.gz) = 74547b2da0d1270a71acdc8f36c7868baea02001ce29fe40bb655797b4811921
+SIZE (obsidian-1.1.9.tar.gz) = 93057094
+SHA256 (bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png) = 4227a64156df4043395183dc7b9b23b809df79292d44c208e9649adcf7b2d4a3
+SIZE (bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png) = 11970
diff --git a/textproc/obsidian/files/obsidian.desktop b/textproc/obsidian/files/obsidian.desktop
new file mode 100644
index 000000000000..317f4a0fd9a2
--- /dev/null
+++ b/textproc/obsidian/files/obsidian.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Version=1.0
+Name=Obsidian
+GenericName=Knowledge base
+Comment=Knowledge base
+Icon=obsidian
+Exec=obsidian %u
+Categories=Office;
+MimeType=x-scheme-handler/obsidian
diff --git a/textproc/obsidian/files/obsidian.in b/textproc/obsidian/files/obsidian.in
new file mode 100644
index 000000000000..53de60edc6a8
--- /dev/null
+++ b/textproc/obsidian/files/obsidian.in
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# workaround Chromium bug https://bugs.chromium.org/p/chromium/issues/detail?id=918234
+if [ "$DBUS_SESSION_BUS_ADDRESS" = "" ]; then
+ export DBUS_SESSION_BUS_ADDRESS="autolaunch:"
+fi
+
+# disable auto updater on first run
+if [ ! -f $HOME/.config/obsidian/obsidian.json ]; then
+ mkdir -p $HOME/.config/obsidian/
+ echo '{"updateDisabled":true}' > $HOME/.config/obsidian/obsidian.json
+fi
+
+exec %%DATADIR%%/obsidian "$@"
diff --git a/textproc/obsidian/pkg-descr b/textproc/obsidian/pkg-descr
new file mode 100644
index 000000000000..8ee5a9f5c176
--- /dev/null
+++ b/textproc/obsidian/pkg-descr
@@ -0,0 +1,3 @@
+Obsidian is an Electron-based desktop application that allows creating a
+knowledge base from Markdown-formatted notes. Notes can be connected and
+visualized as a graph.
diff --git a/textproc/obsidian/pkg-plist b/textproc/obsidian/pkg-plist
new file mode 100644
index 000000000000..0fc034317637
--- /dev/null
+++ b/textproc/obsidian/pkg-plist
@@ -0,0 +1,80 @@
+bin/obsidian
+share/applications/obsidian.desktop
+%%DATADIR%%/LICENSE.electron.txt
+%%DATADIR%%/LICENSES.chromium.html
+%%DATADIR%%/chrome_100_percent.pak
+%%DATADIR%%/chrome_200_percent.pak
+%%DATADIR%%/chrome_crashpad_handler
+%%DATADIR%%/chromedriver
+%%DATADIR%%/icudtl.dat
+%%DATADIR%%/libEGL.so
+%%DATADIR%%/libGLESv2.so
+%%DATADIR%%/libffmpeg.so
+%%DATADIR%%/libvk_swiftshader.so
+%%DATADIR%%/libvulkan.so
+%%DATADIR%%/locales/af.pak
+%%DATADIR%%/locales/am.pak
+%%DATADIR%%/locales/ar.pak
+%%DATADIR%%/locales/bg.pak
+%%DATADIR%%/locales/bn.pak
+%%DATADIR%%/locales/ca.pak
+%%DATADIR%%/locales/cs.pak
+%%DATADIR%%/locales/da.pak
+%%DATADIR%%/locales/de.pak
+%%DATADIR%%/locales/el.pak
+%%DATADIR%%/locales/en-GB.pak
+%%DATADIR%%/locales/en-US.pak
+%%DATADIR%%/locales/es-419.pak
+%%DATADIR%%/locales/es.pak
+%%DATADIR%%/locales/et.pak
+%%DATADIR%%/locales/fa.pak
+%%DATADIR%%/locales/fi.pak
+%%DATADIR%%/locales/fil.pak
+%%DATADIR%%/locales/fr.pak
+%%DATADIR%%/locales/gu.pak
+%%DATADIR%%/locales/he.pak
+%%DATADIR%%/locales/hi.pak
+%%DATADIR%%/locales/hr.pak
+%%DATADIR%%/locales/hu.pak
+%%DATADIR%%/locales/id.pak
+%%DATADIR%%/locales/it.pak
+%%DATADIR%%/locales/ja.pak
+%%DATADIR%%/locales/kn.pak
+%%DATADIR%%/locales/ko.pak
+%%DATADIR%%/locales/lt.pak
+%%DATADIR%%/locales/lv.pak
+%%DATADIR%%/locales/ml.pak
+%%DATADIR%%/locales/mr.pak
+%%DATADIR%%/locales/ms.pak
+%%DATADIR%%/locales/nb.pak
+%%DATADIR%%/locales/nl.pak
+%%DATADIR%%/locales/pl.pak
+%%DATADIR%%/locales/pt-BR.pak
+%%DATADIR%%/locales/pt-PT.pak
+%%DATADIR%%/locales/ro.pak
+%%DATADIR%%/locales/ru.pak
+%%DATADIR%%/locales/sk.pak
+%%DATADIR%%/locales/sl.pak
+%%DATADIR%%/locales/sr.pak
+%%DATADIR%%/locales/sv.pak
+%%DATADIR%%/locales/sw.pak
+%%DATADIR%%/locales/ta.pak
+%%DATADIR%%/locales/te.pak
+%%DATADIR%%/locales/th.pak
+%%DATADIR%%/locales/tr.pak
+%%DATADIR%%/locales/uk.pak
+%%DATADIR%%/locales/ur.pak
+%%DATADIR%%/locales/vi.pak
+%%DATADIR%%/locales/zh-CN.pak
+%%DATADIR%%/locales/zh-TW.pak
+%%DATADIR%%/obsidian
+%%DATADIR%%/resources.pak
+%%DATADIR%%/resources/app.asar
+%%DATADIR%%/resources/app.asar.unpacked/node_modules/btime/binding.node
+%%DATADIR%%/resources/app.asar.unpacked/node_modules/get-fonts/binding.node
+%%DATADIR%%/resources/app.asar.unpacked/node_modules/vibrancy-win/binding.node
+%%DATADIR%%/resources/obsidian.asar
+%%DATADIR%%/snapshot_blob.bin
+%%DATADIR%%/v8_context_snapshot.bin
+%%DATADIR%%/vk_swiftshader_icd.json
+share/pixmaps/obsidian.png