projects/guix·blob javascript-team · refs

168 lines · 6.6 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 Marek Benc <[email protected]>
3;;; Copyright © 2016, 2018 Efraim Flashner <[email protected]>
4;;; Copyright © 2017, 2023 Ricardo Wurmus <[email protected]>
5;;; Copyright © 2017 Leo Famulari <[email protected]>
6;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice <[email protected]>
7;;; Copyright © 2020 Oleg Pykhalov <[email protected]>
8;;; Copyright © 2024 Artyom V. Poptsov <[email protected]>
9;;;
10;;; This file is part of GNU Guix.
11;;;
12;;; GNU Guix is free software; you can redistribute it and/or modify it
13;;; under the terms of the GNU General Public License as published by
14;;; the Free Software Foundation; either version 3 of the License, or (at
15;;; your option) any later version.
16;;;
17;;; GNU Guix is distributed in the hope that it will be useful, but
18;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;;; GNU General Public License for more details.
21;;;
22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24
25(define-module (gnu packages abiword)
26 #:use-module ((guix licenses) #:prefix license:)
27 #:use-module (guix packages)
28 #:use-module (guix build-system glib-or-gtk)
29 #:use-module (guix gexp)
30 #:use-module (guix git-download)
31 #:use-module (gnu packages)
32 #:use-module (gnu packages aspell)
33 #:use-module (gnu packages bash)
34 #:use-module (gnu packages gnupg)
35 #:use-module (gnu packages autogen)
36 #:use-module (gnu packages autotools)
37 #:use-module (gnu packages base)
38 #:use-module (gnu packages boost)
39 #:use-module (gnu packages compression)
40 #:use-module (gnu packages enchant)
41 #:use-module (gnu packages fribidi)
42 #:use-module (gnu packages fontutils)
43 #:use-module (gnu packages glib)
44 #:use-module (gnu packages gnome)
45 #:use-module (gnu packages gtk)
46 #:use-module (gnu packages image)
47 #:use-module (gnu packages ots)
48 #:use-module (gnu packages perl)
49 #:use-module (gnu packages popt)
50 #:use-module (gnu packages pkg-config)
51 #:use-module (gnu packages python)
52 #:use-module (gnu packages readline)
53 #:use-module (gnu packages xorg)
54 #:use-module (gnu packages wv)
55 #:use-module (gnu packages xml))
56
57(define-public abiword
58 (package
59 (name "abiword")
60 (version "3.0.7")
61 (source
62 (origin
63 (method git-fetch)
64 (uri (git-reference
65 (url "https://gitlab.gnome.org/World/AbiWord/")
66 (commit (string-append "release-" version))))
67 (file-name (git-file-name name version))
68 (sha256
69 (base32
70 "0hp11vdfm70n840ib19szxkibfs0v1hhklslz4xipfwrdvpwk1km"))
71 (patches
72 (search-patches "abiword-explictly-cast-bools.patch"))))
73 (build-system glib-or-gtk-build-system)
74 (arguments ;; NOTE: rsvg is disabled, since Abiword
75 (list #:configure-flags ;; supports it directly, and its BS is broken.
76 #~(list ;; wmf was removed from Guix for security.
77 "--enable-clipart" ;; TODO: The following plugins have unresolved
78 "--enable-templates" ;; dependencies: aiksaurus, grammar, wpg, gda,
79 (string-append ;; wordperfect, psion, mathview.
80 "--enable-plugins="
81 "applix " "babelfish " "bmp " "clarisworks " "collab " "command "
82 "docbook " "eml " "epub " "freetranslation " "garble " "gdict "
83 "gimp " "goffice " "google " "hancom " "hrtext " "iscii " "kword "
84 "latex " "loadbindings " "mht " "mif " "mswrite " "opendocument "
85 "openwriter " "openxml " "opml " "ots " "paint " "passepartout "
86 "pdb " "pdf " "presentation " "s5 " "sdw " "t602 " "urldict "
87 "wikipedia " "wml " "xslfo")
88 "--enable-introspection"
89 "--enable-scripting"
90 (string-append "--with-gir-dir="
91 #$output
92 "/share/gir-1.0")
93 (string-append "--with-typelib-dir="
94 #$output
95 "/lib/girepository-1.0"))
96 ;; tests fail with: Gtk-CRITICAL **: gtk_settings_get_for_screen:
97 ;; assertion 'GDK_IS_SCREEN (screen)' failed
98 ;; GLib-GObject-CRITICAL **: g_object_get_qdata:
99 ;; assertion 'G_IS_OBJECT (object)' failed
100 ;; Manually starting the X server before the test phase did not help
101 ;; the tests to pass.
102 #:tests? #f
103 #:phases
104 #~(modify-phases %standard-phases
105 ;; FIXME: Use #:bootstrap-scripts instead.
106 (add-before 'bootstrap 'bootstrap-common
107 (lambda _
108 (substitute* "autogen-common.sh"
109 (("/bin/sh")
110 (string-append
111 #$(this-package-native-input "bash-minimal")
112 "/bin/sh"))))))
113 #:make-flags
114 #~(list "gtk_update_icon_cache=true")))
115 (inputs
116 (list aspell
117 boost
118 enchant
119 fontconfig
120 fribidi
121 goffice
122 gtk+
123 libgcrypt
124 libchamplain
125 libglade
126 libgsf
127 libjpeg-turbo
128 libpng
129 (librsvg-for-system)
130 libxft
131 libxml2
132 libxslt
133 ots
134 popt
135 readline
136 telepathy-glib
137 wv
138 zlib))
139 (native-inputs
140 (list `(,glib "bin")
141 autoconf
142 autoconf-archive
143 autogen
144 automake
145 bash-minimal
146 findutils
147 grep
148 intltool
149 libtool
150 perl
151 pkg-config
152 python-wrapper
153 sed
154 gobject-introspection))
155 (home-page "https://gitlab.gnome.org/World/AbiWord/")
156 (synopsis "Word processing program")
157
158 ;; HACKERS: The comment below is here so that it shows up early in the
159 ;; .pot file.
160
161 ;; TRANSLATORS: Dear translator, We would like to inform you that package
162 ;; descriptions may occasionally include Texinfo markup. Texinfo markup
163 ;; looks like "@code{rm -rf}", "@emph{important}", etc. When translating,
164 ;; please leave markup as is.
165 (description "AbiWord is a word processing program. It is rapidly
166becoming a state of the art word processor, with lots of features useful for
167your daily work, personal needs, or for just some good old typing fun.")
168 (license license:gpl2+)))