[PATCH] gnu: Add apostrophe.

  • Done
  • quality assurance status badge
Details
2 participants
  • Leo Prikler
  • Léo Le Bouter
Owner
unassigned
Submitted by
Leo Prikler
Severity
normal
L
L
Leo Prikler wrote on 19 Mar 2021 18:56
(address . guix-patches@gnu.org)
20210319175601.13766-1-leo.prikler@student.tugraz.at
* gnu/packages/gnome.scm (apostrophe): New variable.
---
gnu/packages/gnome.scm | 64 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)

Toggle diff (84 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 34cd0fa992..060f467fa9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -125,6 +125,7 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages ibus)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
@@ -11569,6 +11570,69 @@ and toolbars.")
GTK+. It integrates well with the GNOME desktop environment.")
(license license:gpl3+)))
+(define-public apostrophe
+ (package
+ (name "apostrophe")
+ (version "2.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/somas/apostrophe")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qzy3zhi18wf42m034s8kcmx9gl05j620x3hf6rnycq2fvy7g4gz"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-meson
+ (lambda _
+ (substitute* "build-aux/meson_post_install.py"
+ (("gtk-update-icon-cache") "true"))
+ #t))
+ (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((prog (string-append (assoc-ref outputs "out")
+ "/bin/apostrophe"))
+ (pylib (string-append (assoc-ref outputs "out")
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (wrap-program prog
+ `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
+ `("PATH" prefix (,(string-append (assoc-ref inputs "pandoc")
+ "/bin"))))
+ #t))))))
+ (inputs
+ `(("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gspell" ,gspell)
+ ("gtk+" ,gtk+)
+ ("libhandy" ,libhandy)
+ ("pandoc" ,pandoc)
+ ("python-chardet" ,python-chardet)
+ ("python-levenshtein" ,python-levenshtein)
+ ("python-regex" ,python-regex)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyenchant" ,python-pyenchant)
+ ("python-pypandoc" ,python-pypandoc)
+ ("webkitgtk" ,webkitgtk)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://gitlab.gnome.org/somas/apostrophe")
+ (synopsis "Markdown editor written in Python with GTK+")
+ (description "Apostrophe is a GTK+ based distraction free Markdown editor.
+It uses pandoc as back-end for parsing Markdown.")
+ (license license:gpl3)))
+
(define-public libratbag
(package
(name "libratbag")
--
2.31.0
L
L
Léo Le Bouter wrote on 19 Mar 2021 20:58
[PATCH v2 0/1] gnu: Add apostrophe.
(address . 47268@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210319195849.19486-1-lle-bout@zaclys.net
I did some license auditing and it turns out apostrophe/latex_to_PNG.py is under
the Expat license so I added that to the list. Then I saw some optional
dependencies could be added upstream such as js-mathjax, then I tried to add
texlive related optional dependencies but I could not succeed finding the
smallest combination of them that made actual file format exporting features of
the program work so we'll assume the user will have to figure that out.

Also, the program does not work in a --pure environment without '-E
XDG_RUNTIME_DIR' for some reason, otherwise all good!

Leo Prikler (1):
gnu: Add apostrophe.

gnu/packages/gnome.scm | 68 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)

--
2.31.0
L
L
Léo Le Bouter wrote on 19 Mar 2021 20:58
[PATCH v2 1/1] gnu: Add apostrophe.
(address . 47268@debbugs.gnu.org)
20210319195849.19486-2-lle-bout@zaclys.net
From: Leo Prikler <leo.prikler@student.tugraz.at>

* gnu/packages/gnome.scm (apostrophe): New variable.

Co-authored-by: Léo Le Bouter <lle-bout@zaclys.net>
---
gnu/packages/gnome.scm | 68 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)

Toggle diff (94 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 34cd0fa992..4153c3614c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -125,12 +125,14 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages ibus)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages inkscape)
#:use-module (gnu packages iso-codes)
+ #:use-module (gnu packages javascript)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libffi)
@@ -11569,6 +11571,72 @@ and toolbars.")
GTK+. It integrates well with the GNOME desktop environment.")
(license license:gpl3+)))
+(define-public apostrophe
+ (package
+ (name "apostrophe")
+ (version "2.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/somas/apostrophe")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qzy3zhi18wf42m034s8kcmx9gl05j620x3hf6rnycq2fvy7g4gz"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-meson
+ (lambda _
+ (substitute* "build-aux/meson_post_install.py"
+ (("gtk-update-icon-cache") "true"))
+ #t))
+ (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((prog (string-append (assoc-ref outputs "out")
+ "/bin/apostrophe"))
+ (pylib (string-append (assoc-ref outputs "out")
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (wrap-program prog
+ `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
+ `("PATH" ":"
+ prefix (,(string-append (assoc-ref inputs "pandoc")
+ "/bin"))))
+ #t))))))
+ (inputs
+ `(("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gspell" ,gspell)
+ ("gtk+" ,gtk+)
+ ("libhandy" ,libhandy)
+ ("pandoc" ,pandoc)
+ ("python-chardet" ,python-chardet)
+ ("python-levenshtein" ,python-levenshtein)
+ ("python-regex" ,python-regex)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyenchant" ,python-pyenchant)
+ ("python-pypandoc" ,python-pypandoc)
+ ("webkitgtk" ,webkitgtk)
+ ("js-mathjax" ,js-mathjax)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://gitlab.gnome.org/somas/apostrophe")
+ (synopsis "Markdown editor written in Python with GTK+")
+ (description "Apostrophe is a GTK+ based distraction free Markdown editor.
+It uses pandoc as back-end for parsing Markdown.")
+ (license (list license:gpl3
+ license:expat))))
+
(define-public libratbag
(package
(name "libratbag")
--
2.31.0
L
L
Leo Prikler wrote on 19 Mar 2021 21:26
bad913a98986608579d298c8c83aeb3d92ff6908.camel@student.tugraz.at
Am Freitag, den 19.03.2021, 20:58 +0100 schrieb Léo Le Bouter:
Toggle quote (8 lines)
> + (inputs
> + `(("glib" ,glib)
> + ("gobject-introspection" ,gobject-introspection)
> + ("gspell" ,gspell)
> + ("gtk+" ,gtk+)
> + [...]
> + ("webkitgtk" ,webkitgtk)
> + ("js-mathjax" ,js-mathjax)))
Please try to keep the inputs sorted alphabetically. Also, wouldn't we
need to wrap this somehow for it to be used?
Toggle quote (11 lines)
> + (native-inputs
> + `(("gettext" ,gettext-minimal)
> + ("glib:bin" ,glib "bin")
> + ("pkg-config" ,pkg-config)))
> + (home-page "https://gitlab.gnome.org/somas/apostrophe")
> + (synopsis "Markdown editor written in Python with GTK+")
> + (description "Apostrophe is a GTK+ based distraction free
> Markdown editor.
> +It uses pandoc as back-end for parsing Markdown.")
> + (license (list license:gpl3
> + license:expat))))
We should probably add a comment, that Expat only applies to a single
source file.

Regards,
Leo
L
L
Leo Prikler wrote on 22 Jun 2021 18:48
Re: Processed (with 2 errors): Pushing old patches
(address . control@debbugs.gnu.org)
a47b215aaba3388ad33c4d44a5e65f9965ee1525.camel@student.tugraz.at
close 47268
close 48345
thanks
?