From: Jesse Gibbons <jgibbons2357@gmail.com>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: 36559@debbugs.gnu.org
Subject: [bug#36559] [PATCH] add rednotebook
Date: Wed, 28 Aug 2019 20:42:15 -0600 [thread overview]
Message-ID: <f121f5bf14d902dd458f2930f54332c109d6de44.camel@gmail.com> (raw)
In-Reply-To: <871rx8xpqm.fsf@nicolasgoaziou.fr>
[-- Attachment #1: Type: text/plain, Size: 5505 bytes --]
On Mon, 2019-08-26 at 11:03 +0200, Nicolas Goaziou wrote:
> Hello,
>
> Jesse Gibbons <jgibbons2357@gmail.com> writes:
>
> > Patch is attached.
>
> It looks like this patch felt through the cracks. Do not hesitate to
> send a friendly ping after one or two weeks if no one responds.
>
> > As explained in the comment I had to correct a few problems:
> > 1. Tests always fail, but (in my experience) the final application
> > is
> > stable.
> > 2. rednotebook uses the GI_TYPELIB_PATH and LD_LIBRARY_PATH to
> > find
> > webkitgtk.
> > - I made gnu/packages/journal.scm to add other similar
> > journal/diary
> > applications. Because I do not like naming sources for the only
> > package defined within, especially when the package is simple, I
> > recommend moving the jrnl package definition to it. Say the word
> > and
> > I will produce the patch to do this.
>
> It sounds good.
>
> > Perhaps we should discuss the idea of organizing packages by
> > function
> > on the devel mailing list?
>
> Feel free to start a discussion about it.
I had the discussion soon after I sent the patch. Ricardo convinced me
there is at least one good reason for having sources declaring a single
package.
See https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00240.html
for the explanation and the thread.
I should have sent a new patch when I decided to rename journal.scm to
rednotebook.scm. My mistake.
>
> > - I also plan to define a package for other journal applications
> > (like those listed between rednotebook and jrnl at
> > <https://www.maketecheasier.com/best-journal-apps-for-linux/>
> > and
> > any other recommendations).
>
> Great!
>
> > Knowing I am likely to err, I expect you (whoever reviews this
> > patch)
>
> Some comments follow.
>
> > + (source
> > + (origin
> > + (method url-fetch)
> > + (uri (string-append
> > + "https://github.com/jendrikseipp/rednotebook/archive/
> > v"
> > + version
> > + ".tar.gz"))
>
> We do not use Github releases, because they are not stable. You
> should
> use `git-fetch` here:
>
> (method git-fetch)
> (uri (git-reference
> (url "https://github.com/jendrikseipp/rednotebook.git")
> (commit (string-append "v" version))))
> (file-name (git-file-name name version))
>
> with an appropriate hash.
>
fixed.
> > + (sha256
> > + (base32
> > + "15n1ziypfj3lzpvhha7r637zrb259l9yrcsvkic9cg5mndiaivs3")))
> > )
> > + (build-system python-build-system)
> > + (arguments
> > + ;;Tests fail to find the "_" function.
> > + ;;It should be defined in rednotebook/info.py if '_' is not a
> > member of 'builtins'.
> > + ;;It is either not defined or not exported during the check
> > phase.
> > + ;;The program does not have this problem after it is
> > installed.
> > + ;;TODO: Fix tests.
>
> Nitpick: missing space between ";;" and "Make".
>
> > + `(#:tests? #f
> > + #:imported-modules ((guix build glib-or-gtk-build-system)
> > + ,@%python-build-system-modules)
> > + #:modules ((ice-9 match)
> > + (guix build python-build-system)
> > + ((guix build glib-or-gtk-build-system) #:prefix
> > glib-or-gtk:)
> > + (guix build utils))
> > + #:phases
> > + (modify-phases %standard-phases
> > + ;;Make sure rednotebook can find the typelibs and
> > webkitgtk shared libraries.
>
> Ditto.
>
both fixed.
> > + (add-before 'wrap 'wrap-with-library-paths
> > + (lambda* (#:key inputs outputs #:allow-other-keys)
> > + (let ((out (assoc-ref outputs "out"))
> > + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
> > + (webkitgtk-path (string-append
> > + (assoc-ref inputs "webkitgtk")
> > + "/lib")))
> > + (wrap-program (string-append out
> > "/bin/rednotebook")
> > + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-
> > path))
> > + `("LD_LIBRARY_PATH" ":" prefix (,webkitgtk-
> > path)))
> > + #t))))))
> > + (inputs
> > + `(("python" ,python-3)
>
> I don't think this input is necessary. `python-build-system' should
> provide it already, shouldn't it?
fixed
>
> > + ("gtk+" ,gtk+)
>
> Nitpick: spurious spaces.
fixed
> >
> > + ("webkitgtk" ,webkitgtk)
> > + ("python-pyyaml" ,python-pyyaml)))
> > + (home-page "https://www.rednotebook.app")
> > + (synopsis "journal")
>
> What about this one, borrowed to Debian:
>
> "Daily journal with calendar, templates and keyword searching"
good idea
>
> > + (description
> > + "RedNotebook is a modern desktop journal. It lets you format,
> > tag and search
> > +your entries. You can also add pictures, links and customizable
> > templates, spell
> > +check your notes, and export to plain text, HTML, Latex or PDF.")
>
> You need two spaces after full stops in Texinfo.
>
fixed
> Also, would it make sense to package pyenchant and add it as
> a dependency? It's not a blocker though.
Added this in a TODO. I also made a list of packages that should be
added. It looks like there are four python modules in the
rednotebook/external directory that should be packaged externally if
possible.
>
> Could you send an updated patch?
attached
>
> Thank you!
>
> Regards,
>
--
-Jesse
[-- Attachment #2: 0001-gnu-Add-rednotebook.patch --]
[-- Type: text/x-patch, Size: 5307 bytes --]
From a5967bdbd15987438f158f1ae9bac2dc5a44c645 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
Date: Wed, 28 Aug 2019 20:35:29 -0600
Subject: [PATCH] gnu: Add rednotebook.
* gnu/package/rednotebook.scm: New file.
* gnu/local.mk: Add it.
* gnu/packages/rednotebook.scm (rednotebook): New variable.
---
gnu/local.mk | 1 +
gnu/packages/rednotebook.scm | 90 ++++++++++++++++++++++++++++++++++++
2 files changed, 91 insertions(+)
create mode 100644 gnu/packages/rednotebook.scm
diff --git a/gnu/local.mk b/gnu/local.mk
index 797936d2fd..2c02b8510a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -413,6 +413,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/rdf.scm \
%D%/packages/re2c.scm \
%D%/packages/readline.scm \
+ %D%/packages/rednotebook.scm \
%D%/packages/regex.scm \
%D%/packages/robotics.scm \
%D%/packages/rrdtool.scm \
diff --git a/gnu/packages/rednotebook.scm b/gnu/packages/rednotebook.scm
new file mode 100644
index 0000000000..60a22a7f1f
--- /dev/null
+++ b/gnu/packages/rednotebook.scm
@@ -0,0 +1,90 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages rednotebook)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system python)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages webkit)
+ #:use-module (gnu packages python-xyz))
+(define-public rednotebook
+ (package
+ (name "rednotebook")
+ (version "2.11.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jendrikseipp/rednotebook.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1"))))
+ (build-system python-build-system)
+ (arguments
+ ;; Tests fail to find the "_" function.
+ ;; It should be defined in rednotebook/info.py if '_' is not a member of
+ ;; 'builtins'. It is either not defined or not exported during the check
+ ;; phase. The program does not have this problem after it is installed.
+ ;; TODO: Fix tests.
+ `(#:tests? #f
+ #:imported-modules ((guix build glib-or-gtk-build-system)
+ ,@%python-build-system-modules)
+ #:modules ((ice-9 match)
+ (guix build python-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils))
+ #:phases
+ (modify-phases %standard-phases
+ ;; Make sure rednotebook can find the typelibs and webkitgtk shared
+ ;; libraries.
+ (add-before 'wrap 'wrap-with-library-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
+ (webkitgtk-path (string-append
+ (assoc-ref inputs "webkitgtk")
+ "/lib")))
+ (wrap-program (string-append out "/bin/rednotebook")
+ `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+ `("LD_LIBRARY_PATH" ":" prefix (,webkitgtk-path)))
+ #t))))))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview-3)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-pygobject" ,python-pygobject)
+ ("webkitgtk" ,webkitgtk)))
+ ;; TODO: package the following for python3 (if possible), add them as
+ ;; dependencies, and remove them from rednotebook source:
+ ;; pygtkspellcheck, elib.intl, msgfmt, txt2tags
+ ;; TODO: package and add pyenchant for python3 and add it as a dependency.
+ (home-page "https://www.rednotebook.app")
+ (synopsis "Daily journal with calendar, templates and keyword searching")
+ (description
+ "RedNotebook is a modern desktop journal. It lets you format, tag and
+search your entries. You can also add pictures, links and customizable
+templates, spell check your notes, and export to plain text, HTML, Latex or
+PDF.")
+ (license (list license:gpl2+ ; rednotebook, txt2tags
+ license:lgpl3+ ; elib.intl
+ license:gpl3+)))) ; pygtkspellcheck
--
2.23.0
next prev parent reply other threads:[~2019-08-29 2:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-09 4:22 [bug#36559] [PATCH] add rednotebook Jesse Gibbons
2019-08-26 9:03 ` Nicolas Goaziou
2019-08-29 2:42 ` Jesse Gibbons [this message]
2019-08-29 17:18 ` bug#36559: " Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f121f5bf14d902dd458f2930f54332c109d6de44.camel@gmail.com \
--to=jgibbons2357@gmail.com \
--cc=36559@debbugs.gnu.org \
--cc=mail@nicolasgoaziou.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).