M gnu/local.mk => gnu/local.mk +1 -0
@@ 2460,6 2460,7 @@ dist_patch_DATA = \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xgboost-use-system-dmlc-core.patch \
%D%/packages/patches/xinit-startx-mcookie-path.patch \
+ %D%/packages/patches/xiphos-glib.patch \
%D%/packages/patches/xmonad-dynamic-linking.patch \
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
M gnu/packages/books.scm => gnu/packages/books.scm +58 -1
@@ 31,18 31,29 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages inkscape)
#:use-module (gnu packages icu4c)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages music)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages tex)
#:use-module (gnu packages texlive)
- #:use-module (gnu packages version-control))
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages webkit)
+ #:use-module (gnu packages xml))
(define-public book-sparc
(package
@@ 170,3 181,49 @@ is available in Russian and English.")
"The SWORD Project is a free Bible software project used to create Bible
software, with support for multiple texts and languages.")
(license license:gpl2+)))
+
+(define-public xiphos
+ (package
+ (name "xiphos")
+ (version "4.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/crosswire/xiphos")
+ (commit version)))
+ (sha256
+ (base32 "15p8ahbcd8vjm1ch0wahjfj20agd06va8rvgw1awnyzkcw2xsf8x"))
+ (patches (search-patches "xiphos-glib.patch"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (native-inputs (list appstream
+ appstream-glib
+ atk
+ biblesync
+ desktop-file-utils ;for 'desktop-file-validate'
+ (list glib "bin")
+ gettext-minimal
+ gsettings-desktop-schemas
+ gtk+
+ libgsf
+ minizip
+ pkg-config
+ sword
+ util-linux ;for 'uuidgen'
+ (list util-linux "lib") ;for 'libuuid'
+ webkitgtk-with-libsoup2
+ yelp-tools
+ zip))
+ (inputs (list dbus dbus-glib libxml2 python python-lxml))
+ (arguments
+ (list
+ #:tests? #f)) ;No tests
+ (home-page "https://xiphos.org/")
+ (synopsis "Open Source Bible Study Software")
+ (description
+ "Xiphos is a Bible study tool using GTK. It uses Sword to
+display bibles, commentaries, dictionaries, and other texts and images.
+Xiphos includes features such as searching, biblesync, bookmarks,
+parallel study, and original language study.")
+ (license license:gpl2+)))
A gnu/packages/patches/xiphos-glib.patch => gnu/packages/patches/xiphos-glib.patch +43 -0
@@ 0,0 1,43 @@
+This patch has already been upstreamed, see: <https://github.com/crosswire/xiphos/pull/1103>.
+It should be removed once Xiphos updates.
+
+From 0e9e686c902935c0f00afdf9d0d45f9635995988 Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Sat, 15 Jan 2022 05:00:37 +0100
+Subject: [PATCH] Add dbus-glib dependency to main
+
+It is required through the ipc header and the build will fail without it on Nix:
+
+ In file included from /build/source/src/main/search_sidebar.cc:48:
+ /build/source/src/gui/ipc.h:26:10: fatal error: dbus/dbus-glib.h: No such file or directory
+ 26 | #include <dbus/dbus-glib.h>
+ | ^~~~~~~~~~~~~~~~~~
+ compilation terminated.
+---
+ src/main/CMakeLists.txt | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
+index 49b86371..bb8e4bb6 100644
+--- a/src/main/CMakeLists.txt
++++ b/src/main/CMakeLists.txt
+@@ -75,7 +75,18 @@ target_link_libraries(main
+ PkgConfig::Soup
+ PkgConfig::Sword
+ PkgConfig::Biblesync
+- )
++)
++
++IF (DBUS)
++ target_include_directories (main
++ PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
++ PkgConfig::DBus
++ )
++ target_link_libraries(main
++ PRIVATE
++ PkgConfig::DBus
++ )
++ENDIF (DBUS)
+
+ if(WK_FOUND)
+ target_compile_definitions(main<
\ No newline at end of file