git: c8097885c460 - main - editors/remarkable: new port had been added (+)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 26 Dec 2025 01:30:46 UTC
The branch main has been updated by danfe:
URL: https://cgit.FreeBSD.org/ports/commit/?id=c8097885c460c4c8eac1f36abe3dac8838ab64b2
commit c8097885c460c4c8eac1f36abe3dac8838ab64b2
Author: Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2025-12-26 01:29:40 +0000
Commit: Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2025-12-26 01:29:40 +0000
editors/remarkable: new port had been added (+)
Fully featured markdown editor written in Python.
WWW: https://remarkableapp.github.io/linux.html
---
editors/Makefile | 1 +
editors/remarkable/Makefile | 54 +++++++++++++++++++++
editors/remarkable/distinfo | 3 ++
.../files/patch-remarkable_RemarkableWindow.py | 15 ++++++
editors/remarkable/pkg-descr | 6 +++
editors/remarkable/pkg-plist | 55 ++++++++++++++++++++++
6 files changed, 134 insertions(+)
diff --git a/editors/Makefile b/editors/Makefile
index bbbbf2a96a4c..116dd89a6a4b 100644
--- a/editors/Makefile
+++ b/editors/Makefile
@@ -250,6 +250,7 @@
SUBDIR += py-pynvim
SUBDIR += py-vim-bridge
SUBDIR += rehex
+ SUBDIR += remarkable
SUBDIR += retext
SUBDIR += rubygem-neovim
SUBDIR += sam
diff --git a/editors/remarkable/Makefile b/editors/remarkable/Makefile
new file mode 100644
index 000000000000..4c97f5067b4d
--- /dev/null
+++ b/editors/remarkable/Makefile
@@ -0,0 +1,54 @@
+PORTNAME= ${GH_PROJECT:tl}
+PORTVERSION= 1.95
+DISTVERSIONPREFIX= v
+CATEGORIES= editors python
+
+MAINTAINER= danfe@FreeBSD.org
+COMMENT= Free fully featured markdown editor
+WWW= https://github.com/jamiemcg/Remarkable \
+ https://remarkableapp.github.io/linux.html
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=0:www/py-beautifulsoup@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}markdown>=0:textproc/py-markdown@${PY_FLAVOR} \
+ webkit2-gtk_40>=0:www/webkit2-gtk@40
+# Note to `www/webkit2-gtk' maintainers: feel free to change flavor as needed
+
+USES= gnome python:run shebangfix
+USE_GNOME= pygobject3 gtk30 gtksourceview3
+SHEBANG_FILES= bin/${PORTNAME}
+
+USE_GITHUB= yes
+GH_ACCOUNT= jamiemcg
+GH_PROJECT= Remarkable
+
+NO_ARCH= yes
+NO_BUILD= yes
+
+# XXX: uncomment once ``install-desktop-entries.sh'' can handle %f in Exec
+#DESKTOP_ENTRIES= "${GH_PROJECT}" "" "${PORTNAME}" "${PORTNAME} %f" \
+ "GNOME;Utility;" false
+
+post-patch:
+# Inhibit silly linuxish ``sys.path'' dances (unneeded on FreeBSD)
+ @${REINPLACE_CMD} -e '30,+33s,^,#,' ${WRKSRC}/bin/remarkable
+# Automagically adjust WebKit2 version to match RUN_DEPENDS above
+ @${REINPLACE_CMD} -e "/^gi\.require_version('WebKit2'/ \
+ s,4\.[0-9],${_GET_WEBKIT_API_VERSION:sh}," \
+ ${WRKSRC}/remarkable/RemarkableWindow.py
+# Where to look for resources on FreeBSD (respect ${DATADIR})
+ @${REINPLACE_CMD} -e "/^__remarkable_data_directories__ = / \
+ s,'.*','${DATADIR}'," \
+ ${WRKSRC}/remarkable_lib/remarkableconfig.py
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
+ cd ${WRKSRC} && ${COPYTREE_SHARE} "pdfkit remarkable remarkable_lib" \
+ ${STAGEDIR}${PYTHON_SITELIBDIR}
+ cd ${WRKSRC}/data && ${COPYTREE_SHARE} "media ui" ${STAGEDIR}${DATADIR}
+
+_GET_WEBKIT_API_VERSION= ${MAKE} -C ${RUN_DEPENDS:Mwebkit2-gtk*:C,.*:,${PORTSDIR}/,:S,@, FLAVOR=,} -V API_VERSION
+
+.include <bsd.port.mk>
diff --git a/editors/remarkable/distinfo b/editors/remarkable/distinfo
new file mode 100644
index 000000000000..d59e1fbd474b
--- /dev/null
+++ b/editors/remarkable/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1727002073
+SHA256 (jamiemcg-Remarkable-v1.95_GH0.tar.gz) = 55f40ff0bc5b9269807e248e0fa849ee4aaf92d32f9b1350ed17bc85ccd3b030
+SIZE (jamiemcg-Remarkable-v1.95_GH0.tar.gz) = 132430
diff --git a/editors/remarkable/files/patch-remarkable_RemarkableWindow.py b/editors/remarkable/files/patch-remarkable_RemarkableWindow.py
new file mode 100644
index 000000000000..f42efca1a30e
--- /dev/null
+++ b/editors/remarkable/files/patch-remarkable_RemarkableWindow.py
@@ -0,0 +1,15 @@
+--- remarkable/RemarkableWindow.py.orig 2024-09-22 10:47:53 UTC
++++ remarkable/RemarkableWindow.py
+@@ -36,10 +36,10 @@ import pdfkit
+ import re, subprocess, datetime, os, webbrowser, _thread, sys, locale
+ import tempfile
+ import traceback
+-import styles
++from remarkable import styles
+ import unicodedata
+ import warnings
+-from findBar import FindBar
++from remarkable.findBar import FindBar
+
+ # Check if gtkspellcheck is installed
+ try:
diff --git a/editors/remarkable/pkg-descr b/editors/remarkable/pkg-descr
new file mode 100644
index 000000000000..c17ff80dae29
--- /dev/null
+++ b/editors/remarkable/pkg-descr
@@ -0,0 +1,6 @@
+Remarkable is a free fully featured markdown editor. It has a syntax
+like Github flavored markdown. With it you can write markdown and view
+the changes as you make them in the live preview window. You can export
+your files to a variety of formats. There are multiple styles available
+along with extensive configuration options so you can set it up exactly
+how you like.
diff --git a/editors/remarkable/pkg-plist b/editors/remarkable/pkg-plist
new file mode 100644
index 000000000000..7d9fa30c960a
--- /dev/null
+++ b/editors/remarkable/pkg-plist
@@ -0,0 +1,55 @@
+bin/remarkable
+%%PYTHON_SITELIBDIR%%/pdfkit/LICENSE
+%%PYTHON_SITELIBDIR%%/pdfkit/__init__.py
+%%PYTHON_SITELIBDIR%%/pdfkit/api.py
+%%PYTHON_SITELIBDIR%%/pdfkit/configuration.py
+%%PYTHON_SITELIBDIR%%/pdfkit/pdfkit.py
+%%PYTHON_SITELIBDIR%%/pdfkit/source.py
+%%PYTHON_SITELIBDIR%%/remarkable/AboutRemarkableDialog.py
+%%PYTHON_SITELIBDIR%%/remarkable/RemarkableWindow.py
+%%PYTHON_SITELIBDIR%%/remarkable/__init__.py
+%%PYTHON_SITELIBDIR%%/remarkable/configuration.py
+%%PYTHON_SITELIBDIR%%/remarkable/findBar.py
+%%PYTHON_SITELIBDIR%%/remarkable/markdown/extensions/AutoLink.py
+%%PYTHON_SITELIBDIR%%/remarkable/markdown/extensions/Checklist.py
+%%PYTHON_SITELIBDIR%%/remarkable/markdown/extensions/Highlighting.py
+%%PYTHON_SITELIBDIR%%/remarkable/markdown/extensions/MathJax.py
+%%PYTHON_SITELIBDIR%%/remarkable/markdown/extensions/Strikethrough.py
+%%PYTHON_SITELIBDIR%%/remarkable/markdown/extensions/Subscript.py
+%%PYTHON_SITELIBDIR%%/remarkable/markdown/extensions/Superscript.py
+%%PYTHON_SITELIBDIR%%/remarkable/markdown/extensions/__init__.py
+%%PYTHON_SITELIBDIR%%/remarkable/styles.py
+%%PYTHON_SITELIBDIR%%/remarkable/undobuffer.py
+%%PYTHON_SITELIBDIR%%/remarkable_lib/AboutDialog.py
+%%PYTHON_SITELIBDIR%%/remarkable_lib/Builder.py
+%%PYTHON_SITELIBDIR%%/remarkable_lib/Window.py
+%%PYTHON_SITELIBDIR%%/remarkable_lib/__init__.py
+%%PYTHON_SITELIBDIR%%/remarkable_lib/helpers.py
+%%PYTHON_SITELIBDIR%%/remarkable_lib/remarkableconfig.py
+%%DATADIR%%/media/MarkdownTutorial.md
+%%DATADIR%%/media/highlight.min.js
+%%DATADIR%%/media/highlightjs.default.min.css
+%%DATADIR%%/media/remarkable.png
+%%DATADIR%%/media/remarkable.svg
+%%DATADIR%%/ui/AboutRemarkableDialog.ui
+%%DATADIR%%/ui/PreferencesRemarkableDialog.ui
+%%DATADIR%%/ui/RemarkableWindow.ui
+%%DATADIR%%/ui/about_remarkable_dialog.xml
+%%DATADIR%%/ui/bold.png
+%%DATADIR%%/ui/image.png
+%%DATADIR%%/ui/italic.png
+%%DATADIR%%/ui/link.png
+%%DATADIR%%/ui/live_preview.png
+%%DATADIR%%/ui/new.png
+%%DATADIR%%/ui/open.png
+%%DATADIR%%/ui/preferences_remarkable_dialog.xml
+%%DATADIR%%/ui/redo.png
+%%DATADIR%%/ui/remarkable.png
+%%DATADIR%%/ui/remarkable_window.xml
+%%DATADIR%%/ui/save.png
+%%DATADIR%%/ui/strikethrough.png
+%%DATADIR%%/ui/support.png
+%%DATADIR%%/ui/timestamp.png
+%%DATADIR%%/ui/undo.png
+%%DATADIR%%/ui/zoom-in.png
+%%DATADIR%%/ui/zoom-out.png