From 0d93f764f3eefd248966bd3efaddc3e4c09b3cf6 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons
Date: Mon, 8 Jul 2019 21:31:31 -0600
Subject: [PATCH] gnu: Add rednotebook
* gnu/packages/journal.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
gnu/local.mk | 1 +
gnu/packages/journal.scm | 84 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 85 insertions(+)
create mode 100644 gnu/packages/journal.scm
diff --git a/gnu/local.mk b/gnu/local.mk
index 7dcac4f2bc..97f8d76e0a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -263,6 +263,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/jemalloc.scm \
%D%/packages/jrnl.scm \
%D%/packages/jose.scm \
+ %D%/packages/journal.scm \
%D%/packages/julia.scm \
%D%/packages/kawa.scm \
%D%/packages/kde.scm \
diff --git a/gnu/packages/journal.scm b/gnu/packages/journal.scm
new file mode 100644
index 0000000000..53fab9e591
--- /dev/null
+++ b/gnu/packages/journal.scm
@@ -0,0 +1,84 @@
+n;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Jesse Gibbons
+;;;
+;;; 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 .
+
+(define-module (gnu packages journal)
+ #:use-module (guix packages)
+ #:use-module (guix 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 url-fetch)
+ (uri (string-append
+ "https://github.com/jendrikseipp/rednotebook/archive/v"
+ version
+ ".tar.gz"))
+ (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.
+ `(#: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
+ `(("python" ,python-3)
+ ("python-pygobject" ,python-pygobject)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview-3)
+ ("webkitgtk" ,webkitgtk)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page "https://www.rednotebook.app")
+ (synopsis "journal")
+ (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 license:gpl2+)))
--
2.22.0