summaryrefslogtreecommitdiff
path: root/gnu/packages/web.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2020-12-13 01:10:06 +0100
committerMarius Bakke <marius@gnu.org>2020-12-13 01:10:06 +0100
commita7737f0ead2293536b9d0ba253de4673378a0ffa (patch)
treecf80318b0a9903aa56a69c316659a52f94abbe27 /gnu/packages/web.scm
parentba47c83570b6d1824738ef5ff8580e7581990699 (diff)
parent1adeb744560af94687eb7c3780c7145c52674070 (diff)
Merge branch 'master' into ungrafting
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r--gnu/packages/web.scm157
1 files changed, 154 insertions, 3 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 17798c6c1d..041e24b53a 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -79,8 +79,10 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
@@ -90,6 +92,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages bittorrent)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -111,6 +114,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnu-doc)
+ #:use-module (gnu packages gnunet)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages gperf)
@@ -118,6 +122,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages hurd)
+ #:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages jemalloc)
@@ -152,6 +157,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages re2c)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages search)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
@@ -1067,7 +1073,7 @@ instances, while JSON's objects will be mapped to @code{QVariantMap}.")
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "src/src.pro"
;; Do not attempt to install the .prf file into qtbase
- ;; "lib/mkspecs/features", ref <https://bugs.gnu.org/45301>.
+ ;; "lib/qt5/mkspecs/features", ref <https://bugs.gnu.org/45031>.
(("\\$\\$\\[QMAKE_MKSPECS\\]")
(string-append (assoc-ref outputs "out") "/lib/qt5/mkspecs")))
#t))
@@ -1470,7 +1476,7 @@ used to validate and fix HTML data.")
(define-public esbuild
(package
(name "esbuild")
- (version "0.8.19")
+ (version "0.8.21")
(source
(origin
(method git-fetch)
@@ -1479,7 +1485,7 @@ used to validate and fix HTML data.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "19y4g0wjkvrqzl4ngnlkb1giqjyx35gwz4zfk8pw4szsy85z6mli"))
+ (base32 "1gkh3ka7gfdqvzymj6vh9w2d0cp7n2vih42y7ghg7y8x6ry4c6mi"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -7830,3 +7836,148 @@ solution for any project's interface needs:
(description "gmnisrv is a simple Gemini protocol server written in C.")
(license (list license:gpl3+
license:bsd-3))))) ;; for ini.c and ini.h
+
+(define-public libzim
+ (package
+ (name "libzim")
+ (version "6.2.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/openzim/libzim")
+ (commit version)))
+ (sha256
+ (base32
+ "0p2317cp19lx0hw9n4fsb3nw2vc4hc1yyi98k3yrs41pkr840kwa"))
+ (file-name (git-file-name name version))))
+ (build-system meson-build-system)
+ (arguments
+ ;; TODO: Find out why tests fail.
+ '(#:tests? #f))
+ (inputs
+ `(("icu4c" ,icu4c)
+ ("liblzma" ,xz)
+ ("libuuid" ,util-linux "lib")
+ ("xapian" ,xapian)
+ ("zlib" ,zlib)
+ ("zstd" ,zstd "lib")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("googletest" ,googletest)))
+ (home-page "https://wiki.openzim.org/wiki/Main_Page")
+ (synopsis "Reference implementation of the ZIM specification")
+ (description "The openZIM project proposes offline storage solutions for
+content coming from the Web. The zimlib is the standard implementation of the
+ZIM specification. It is a library which implements the read and write method
+for ZIM files.")
+ (license license:gpl2)))
+
+(define-public kiwix-lib
+ (package
+ (name "kiwix-lib")
+ (version "9.4.0")
+ (home-page "https://github.com/kiwix/kiwix-lib/")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (sha256
+ (base32
+ "0nsm4qgl0cb6wv983n0px1kf217k4kykb8q56b8j6ikp061lzamm"))
+ (file-name (git-file-name name version))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-paths-and-includes
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CPPFLAGS" (string-append "-I" (assoc-ref inputs "mustache")))
+ (substitute* "src/aria2.cpp"
+ (("ARIA2_CMD \"aria2c\"")
+ (string-append "ARIA2_CMD \""
+ (assoc-ref inputs "aria2")
+ "/bin/aria2c\"")))
+ #t)))))
+ (inputs
+ `(("aria2" ,aria2)
+ ("curl" ,curl)
+ ("icu4c" ,icu4c)
+ ("libmicrohttpd" ,libmicrohttpd)
+ ("libzim" ,libzim)
+ ("pugixml" ,pugixml)
+ ("xapian" ,xapian)
+ ("zlib" ,zlib)
+ ("zstd" ,zstd "lib")))
+ (native-inputs
+ `(("mustache" ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kainjow/Mustache")
+ ;; XXX: Readme says to use version 3. Can we use 3.2.1?
+ (commit "v4.1")))
+ (file-name (git-file-name "mustache" "4.1"))
+ (sha256
+ (base32
+ "0r9rbk6v1wpld2ismfsk2lkhbyv3dkf0p03hkjivbj05qkfhvlbb"))))
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Common code base for all Kiwix ports")
+ (description "The Kiwix library provides the Kiwix software suite core.
+It contains the code shared by all Kiwix ports.")
+ (license license:gpl3)))
+
+(define-public kiwix-desktop
+ (package
+ (name "kiwix-desktop")
+ (version "2.0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://download.kiwix.org/release/kiwix-desktop/kiwix-desktop-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1a9h4qmh6fkfscyp6lax0ri07dvvzw2wp4kr1sm86n0bdk3cwwha"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "qmake"
+ (string-append "PREFIX="
+ (assoc-ref outputs "out")))))
+ (add-before 'configrue 'enable-print-support
+ (lambda _
+ (substitute* "kiwix-desktop.pro"
+ (("webenginewidgets") "webenginewidgets printsupport"))
+ #t))
+ (add-before 'configure 'substitute-source
+ ;; Looks like .pro file is missing a feature.
+ ;; See https://github.com/kiwix/kiwix-desktop/issues/556.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "kiwix-desktop.pro"
+ (("webenginewidgets" all) (string-append all " printsupport")))
+ #t)))))
+ (inputs
+ `(("curl" ,curl)
+ ("icu4c" ,icu4c)
+ ("kiwix-lib" ,kiwix-lib)
+ ("libzim" ,libzim)
+ ("pugixml" ,pugixml)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtwebchannel" ,qtwebchannel)
+ ("qtwebengine" ,qtwebengine)
+ ("xapian" ,xapian)
+ ("zlib" ,zlib)
+ ("zstd" ,zstd "lib")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("qmake" ,qtbase)))
+ (home-page "https://wiki.kiwix.org/wiki/Software")
+ (synopsis "Viewer and manager of ZIM files")
+ (description "Kiwix Desktop allows you to enjoy a lot of different content
+offline (such as Wikipedia), without any access to Internet.")
+ (license license:gpl3)))