gnu: bochs: Update to 2.6.10.
[jackhill/guix/guix.git] / gnu / packages / web-browsers.scm
CommitLineData
c21a2562 1;;; GNU Guix --- Functional package management for GNU
8bdc36d4 2;;; Copyright © 2014 John Darrington <jmd@gnu.org>
c5196ac7 3;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
320ba590 4;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
3c8ba11a 5;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
7610c3ca 6;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
04f3a5a4 7;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
c648781c 8;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
f0c817a7 9;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
18974c1e 10;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
0e4cee0e 11;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
c21a2562
KY
12;;;
13;;; This file is part of GNU Guix.
14;;;
15;;; GNU Guix is free software; you can redistribute it and/or modify it
16;;; under the terms of the GNU General Public License as published by
17;;; the Free Software Foundation; either version 3 of the License, or (at
18;;; your option) any later version.
19;;;
20;;; GNU Guix is distributed in the hope that it will be useful, but
21;;; WITHOUT ANY WARRANTY; without even the implied warranty of
22;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23;;; GNU General Public License for more details.
24;;;
25;;; You should have received a copy of the GNU General Public License
26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27
0c3953ea 28(define-module (gnu packages web-browsers)
c21a2562
KY
29 #:use-module ((guix licenses) #:prefix license:)
30 #:use-module (guix packages)
31 #:use-module (gnu packages)
32 #:use-module (gnu packages compression)
7610c3ca 33 #:use-module (gnu packages documentation)
c21a2562
KY
34 #:use-module (gnu packages fltk)
35 #:use-module (gnu packages fontutils)
700987f7 36 #:use-module (gnu packages gtk)
c5196ac7 37 #:use-module (gnu packages gnupg)
8bdc36d4 38 #:use-module (gnu packages libevent)
c5196ac7 39 #:use-module (gnu packages libidn)
acad932e 40 #:use-module (gnu packages lisp)
88f06fd0 41 #:use-module (gnu packages lisp-xyz)
700987f7 42 #:use-module (gnu packages lua)
43 #:use-module (gnu packages gnome)
c5196ac7 44 #:use-module (gnu packages ncurses)
c21a2562
KY
45 #:use-module (gnu packages perl)
46 #:use-module (gnu packages pkg-config)
7610c3ca 47 #:use-module (gnu packages python)
1b2f753d 48 #:use-module (gnu packages python-web)
44d10b1f 49 #:use-module (gnu packages python-xyz)
7610c3ca 50 #:use-module (gnu packages qt)
c21a2562 51 #:use-module (gnu packages image)
cd0322a3 52 #:use-module (gnu packages sqlite)
c21a2562 53 #:use-module (gnu packages tls)
700987f7 54 #:use-module (gnu packages webkit)
c21a2562 55 #:use-module (gnu packages xorg)
194d1ec3 56 #:use-module (gnu packages gcc)
c21a2562 57 #:use-module (guix download)
f0c817a7 58 #:use-module (guix git-download)
7610c3ca 59 #:use-module (guix build-system gnu)
700987f7 60 #:use-module (guix build-system glib-or-gtk)
acad932e
PN
61 #:use-module (guix build-system python)
62 #:use-module (guix build-system asdf))
c21a2562
KY
63
64(define-public dillo
65 (package
66 (name "dillo")
67 (version "3.0.5")
68 (source (origin
69 (method url-fetch)
70 (uri (string-append "http://www.dillo.org/download/"
71 name "-" version ".tar.bz2"))
72 (sha256
73 (base32
74 "12ql8n1lypv3k5zqgwjxlw1md90ixz3ag6j1gghfnhjq3inf26yv"))))
75 (build-system gnu-build-system)
76 (arguments `(#:configure-flags '("--enable-ssl" "--enable-ipv6")))
77 (native-inputs `(("pkg-config" ,pkg-config)))
78 (inputs `(("fltk" ,fltk)
79 ("fontconfig" ,fontconfig)
80 ("libjpeg" ,libjpeg)
81 ("libpng" ,libpng)
82 ("libxcursor" ,libxcursor)
83 ("libxft" ,libxft)
84 ("libxi" ,libxi)
85 ("libxinerama" ,libxinerama)
86 ("openssl" ,openssl)
87 ("perl" ,perl)
88 ("zlib" ,zlib)))
89 (synopsis "Very small and fast graphical web browser")
90 (description "Dillo is a minimalistic web browser particularly intended for
91older or slower computers and embedded systems.")
92 (home-page "http://www.dillo.org")
93 (license license:gpl3+)))
7610c3ca 94
8bdc36d4
KK
95(define-public links
96 (package
97 (name "links")
7696af42 98 (version "2.20.2")
8bdc36d4
KK
99 (source (origin
100 (method url-fetch)
101 (uri (string-append "http://links.twibright.com/download/"
5dcd4007 102 "links-" version ".tar.bz2"))
7696af42 103 (sha256
8bdc36d4 104 (base32
7696af42 105 "097ll98ympzfx7qfdyhc52yzvsp167x5nnjs6v8ih496wv80fksb"))))
8bdc36d4
KK
106 (build-system gnu-build-system)
107 (arguments
108 `(#:phases
109 (modify-phases %standard-phases
110 (replace 'configure
111 (lambda* (#:key outputs #:allow-other-keys)
112 ;; The tarball uses a very old version of autconf. It doesn't
113 ;; understand extra flags like `--enable-fast-install', so
114 ;; we need to invoke it with just what it understands.
115 (let ((out (assoc-ref outputs "out")))
116 ;; 'configure' doesn't understand '--host'.
117 ,@(if (%current-target-system)
118 `((setenv "CHOST" ,(%current-target-system)))
119 '())
120 (setenv "CONFIG_SHELL" (which "bash"))
b8b34be6
TGR
121 (invoke "./configure"
122 (string-append "--prefix=" out)
123 "--enable-graphics")
124 #t))))))
8bdc36d4
KK
125 (native-inputs `(("pkg-config" ,pkg-config)))
126 (inputs `(("zlib" ,zlib)
127 ("openssl" ,openssl)
128 ("libjpeg" ,libjpeg)
129 ("libtiff" ,libtiff)
130 ("libevent" ,libevent)
131 ("libpng" ,libpng)
132 ("libxt" ,libxt)))
133 (synopsis "Text and graphics mode web browser")
134 (description "Links is a graphics and text mode web browser, with many
135features including, tables, builtin image display, bookmarks, SSL and more.")
136 (home-page "http://links.twibright.com")
137 ;; The distribution contains a copy of GPLv2
138 ;; However, the copyright notices simply say:
139 ;; "This file is a part of the Links program, released under GPL."
140 ;; Therefore, under the provisions of Section 9, we can choose
141 ;; any version ever published by the FSF.
142 ;; One file (https.c) contains an exception permitting
143 ;; linking of the program with openssl.
144 (license license:gpl1+)))
145
700987f7 146(define-public luakit
147 (package
148 (name "luakit")
37956778 149 (version "2.1")
700987f7 150 (source (origin
320ba590
EF
151 (method git-fetch)
152 (uri (git-reference
153 (url "https://github.com/luakit/luakit.git")
154 (commit version)))
155 (file-name (git-file-name name version))
700987f7 156 (sha256
157 (base32
320ba590 158 "1qa90caxv1k6ak88fn0a7n7h0c4iv8szw6zn2axch8ig83i86az2"))))
700987f7 159 (inputs
b42b5afd 160 `(("lua-5.1" ,lua-5.1)
700987f7 161 ("gtk+" ,gtk+)
b42b5afd
MW
162 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
163 ("glib-networking" ,glib-networking)
164 ("lua5.1-filesystem" ,lua5.1-filesystem)
165 ("luajit" ,luajit)
166 ("webkitgtk" ,webkitgtk)
167 ("sqlite" ,sqlite)))
700987f7 168 (native-inputs
b42b5afd 169 `(("pkg-config" ,pkg-config)))
700987f7 170 (build-system glib-or-gtk-build-system)
171 (arguments
172 '(#:make-flags
173 (let ((out (assoc-ref %outputs "out")))
174 (list
175 "CC=gcc"
176 "LUA_BIN_NAME=lua"
177 "DEVELOPMENT_PATHS=0"
178 (string-append "PREFIX=" out)
179 (string-append "XDGPREFIX=" out "/etc/xdg")))
180 #:phases
181 (modify-phases %standard-phases
182 (add-before 'build 'lfs-workaround
183 (lambda _
184 (setenv "LUA_CPATH"
185 (string-append
186 (assoc-ref %build-inputs "lua5.1-filesystem")
187 "/lib/lua/5.1/?.so;;"))
188 #t))
189 (delete 'configure)
190 (delete 'check)
191 (add-after 'install 'wrap
192 (lambda* (#:key inputs outputs #:allow-other-keys)
193 (let* ((luakit (assoc-ref outputs "out"))
194 (lua5.1-filesystem (assoc-ref inputs "lua5.1-filesystem") )
195 (gtk (assoc-ref inputs "gtk+"))
196 (gtk-share (string-append gtk "/share")))
197 (wrap-program (string-append luakit "/bin/luakit")
198 `("LUA_CPATH" prefix
199 (,(string-append lua5.1-filesystem
f9984535
RM
200 "/lib/lua/5.1/?.so;;")))
201 `("XDG_CONFIG_DIRS" prefix
202 (,(string-append luakit "/etc/xdg/"))))
700987f7 203 #t))))))
204 (synopsis "Fast, lightweight, and simple browser based on WebKit")
205 (description "Luakit is a fast, lightweight, and simple to use
206micro-browser framework extensible by Lua using the WebKit web content engine
207and the GTK+ toolkit.")
208 (home-page "https://luakit.github.io/")
209 (license license:gpl3+)))
210
c5196ac7
KK
211(define-public lynx
212 (package
213 (name "lynx")
781e5158 214 (version "2.8.9rel.1")
c5196ac7
KK
215 (source (origin
216 (method url-fetch)
217 (uri (string-append
218 "http://invisible-mirror.net/archives/lynx/tarballs"
219 "/lynx" version ".tar.bz2"))
220 (sha256
221 (base32
781e5158 222 "15cmyyma2kz1hfaa6mwjgli8zwdzq3jv0q2cl6nwzycjfwyijzrq"))))
c5196ac7
KK
223 (build-system gnu-build-system)
224 (native-inputs `(("pkg-config" ,pkg-config)
225 ("perl" ,perl)))
226 (inputs `(("ncurses" ,ncurses)
227 ("libidn" ,libidn)
0e4cee0e 228 ("openssl" ,openssl)
c5196ac7
KK
229 ("libgcrypt" ,libgcrypt)
230 ("unzip" ,unzip)
231 ("zlib" ,zlib)
232 ("gzip" ,gzip)
233 ("bzip2" ,bzip2)))
234 (arguments
235 `(#:configure-flags
0e4cee0e 236 (let ((openssl (assoc-ref %build-inputs "openssl")))
c5196ac7
KK
237 `("--with-pkg-config"
238 "--with-screen=ncurses"
239 "--with-zlib"
240 "--with-bzlib"
0e4cee0e 241 ,(string-append "--with-ssl=" openssl)
c5196ac7
KK
242 ;; "--with-socks5" ; XXX TODO
243 "--enable-widec"
244 "--enable-ascii-ctypes"
245 "--enable-local-docs"
246 "--enable-htmlized-cfg"
247 "--enable-gzip-help"
248 "--enable-nls"
249 "--enable-ipv6"))
250 #:tests? #f ; no check target
dc1d3cde
KK
251 #:phases
252 (modify-phases %standard-phases
e3cea0d5
LF
253 (add-before 'configure 'set-makefile-shell
254 (lambda _ (substitute* "po/makefile.inn"
255 (("/bin/sh") (which "sh")))
256 #t))
dc1d3cde
KK
257 (replace 'install
258 (lambda* (#:key (make-flags '()) #:allow-other-keys)
b8b34be6
TGR
259 (apply invoke "make" "install-full" make-flags)
260 #t)))))
c5196ac7
KK
261 (synopsis "Text Web Browser")
262 (description
263 "Lynx is a fully-featured World Wide Web (WWW) client for users running
264cursor-addressable, character-cell display devices. It will display Hypertext
265Markup Language (HTML) documents containing links to files on the local
266system, as well as files on remote systems running http, gopher, ftp, wais,
267nntp, finger, or cso/ph/qi servers. Lynx can be used to access information on
268the WWW, or to build information systems intended primarily for local
269access.")
9c2917f9 270 (home-page "https://lynx.invisible-island.net/")
faf2843b
EF
271 ;; This was fixed in 2.8.9dev.10.
272 (properties `((lint-hidden-cve . ("CVE-2016-9179"))))
c5196ac7
KK
273 (license license:gpl2)))
274
7610c3ca
KK
275(define-public qutebrowser
276 (package
277 (name "qutebrowser")
d209ce43 278 (version "0.11.0")
7610c3ca
KK
279 (source
280 (origin
281 (method url-fetch)
282 (uri (string-append "https://github.com/The-Compiler/"
283 "qutebrowser/releases/download/v" version "/"
284 "qutebrowser-" version ".tar.gz"))
285 (sha256
286 (base32
d209ce43 287 "13ihx66jm1dd6vx8px7pm0kbzf2sf9x43hhivc1rp17kahnxxdyv"))))
7610c3ca
KK
288 (build-system python-build-system)
289 (native-inputs
290 `(("asciidoc" ,asciidoc)))
291 (inputs
292 `(("python-colorama" ,python-colorama)
293 ("python-cssutils" ,python-cssutils)
294 ("python-jinja2" ,python-jinja2)
295 ("python-markupsafe" ,python-markupsafe)
296 ("python-pygments" ,python-pygments)
297 ("python-pypeg2" ,python-pypeg2)
298 ("python-pyyaml" ,python-pyyaml)
299 ("python-pyqt" ,python-pyqt)
300 ("qtwebkit" ,qtwebkit)))
301 (arguments
302 `(#:tests? #f ;no tests
303 #:phases
304 (modify-phases %standard-phases
305 (add-after 'install 'install-more
306 (lambda* (#:key outputs #:allow-other-keys)
307 (let* ((out (assoc-ref outputs "out"))
308 (app (string-append out "/share/applications"))
309 (hicolor (string-append out "/share/icons/hicolor")))
b8b34be6 310 (invoke "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc")
7610c3ca
KK
311 (install-file "doc/qutebrowser.1"
312 (string-append out "/share/man/man1"))
313
314 (for-each
315 (lambda (i)
316 (let ((src (format #f "icons/qutebrowser-~dx~d.png" i i))
317 (dest (format #f "~a/~dx~d/apps/qutebrowser.png"
318 hicolor i i)))
319 (mkdir-p (dirname dest))
320 (copy-file src dest)))
321 '(16 24 32 48 64 128 256 512))
322 (install-file "icons/qutebrowser.svg"
323 (string-append hicolor "/scalable/apps"))
324
325 (substitute* "qutebrowser.desktop"
326 (("Exec=qutebrowser")
327 (string-append "Exec=" out "/bin/qutebrowser")))
328 (install-file "qutebrowser.desktop" app)
329 #t))))))
330 (home-page "https://qutebrowser.org/")
331 (synopsis "Minimal, keyboard-focused, vim-like web browser")
332 (description "qutebrowser is a keyboard-focused browser with a minimal
333GUI. It is based on PyQt5 and QtWebKit.")
334 (license license:gpl3+)))
f0c817a7
TE
335
336(define-public vimb
337 (package
338 (name "vimb")
f51905a4 339 (version "3.5.0")
f0c817a7
TE
340 (source
341 (origin
342 (method git-fetch)
343 (uri (git-reference
344 (url "https://github.com/fanglingsu/vimb/")
345 (commit version)))
346 (sha256
f51905a4 347 (base32 "13q7mk1hhjri0s30a98r8ncy0skf6m6lrnbqaf0jimf6sbwgiirf"))
f0c817a7
TE
348 (file-name (git-file-name name version))))
349 (build-system glib-or-gtk-build-system)
350 (arguments
f51905a4 351 '(#:tests? #f ; no tests
f0c817a7
TE
352 #:make-flags (list "CC=gcc"
353 "DESTDIR="
354 (string-append "PREFIX=" %output))
355 #:phases
356 (modify-phases %standard-phases
357 (delete 'configure))))
358 (inputs
359 `(("glib-networking" ,glib-networking)
360 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
361 ("webkitgtk" ,webkitgtk)))
362 (native-inputs
363 `(("pkg-config" ,pkg-config)))
364 (home-page "https://fanglingsu.github.io/vimb/")
365 (synopsis "Fast and lightweight Vim-like web browser")
366 (description "Vimb is a fast and lightweight vim like web browser based on
367the webkit web browser engine and the GTK toolkit. Vimb is modal like the great
368vim editor and also easily configurable during runtime. Vimb is mostly keyboard
369driven and does not detract you from your daily work.")
370 (license license:gpl3+)))
18974c1e 371
aae704dd 372(define next-gtk-webkit
b96bd821
PN
373 (package
374 (name "next-gtk-webkit")
3dbc41c0 375 (version "1.3.4")
b96bd821
PN
376 (source
377 (origin
378 (method git-fetch)
379 (uri (git-reference
1be4989d
PN
380 ;; TODO: Mirror seems to hang, let's fallback to GitHub for now.
381 ;; (url "https://source.atlas.engineer/public/next")
382 (url "https://github.com/atlas-engineer/next")
b96bd821
PN
383 (commit version)))
384 (sha256
385 (base32
3dbc41c0 386 "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi"))
b96bd821
PN
387 (file-name (git-file-name "next" version))))
388 (build-system glib-or-gtk-build-system)
389 (arguments
390 `(#:tests? #f ; no tests
391 #:make-flags (list "gtk-webkit"
f85ca6ed 392 "CC=gcc"
b96bd821
PN
393 (string-append "PREFIX=" %output))
394 #:phases
395 (modify-phases %standard-phases
396 (delete 'configure)
397 (replace 'install
398 (lambda* (#:key (make-flags '()) #:allow-other-keys)
399 (apply invoke "make" "install-gtk-webkit" make-flags))))))
400 (inputs
401 `(("glib-networking" ,glib-networking)
402 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 403 ("webkitgtk" ,webkitgtk)))
b96bd821 404 (native-inputs
f85ca6ed 405 `(("pkg-config" ,pkg-config)))
b96bd821
PN
406 (home-page "https://next.atlas.engineer")
407 (synopsis "Infinitely extensible web-browser (user interface only)")
408 (description "Next is a keyboard-oriented, extensible web-browser
18974c1e
PN
409inspired by Emacs and designed for power users. The application has familiar
410key-bindings, is fully configurable and extensible in Lisp, and has powerful
411features for productive professionals.")
b96bd821 412 (license license:bsd-3)))
acad932e 413
b2455573 414(define sbcl-next-download-manager
acad932e
PN
415 (package
416 (inherit next-gtk-webkit)
b2455573 417 (name "sbcl-next-download-manager")
acad932e 418 (build-system asdf-build-system/sbcl)
acad932e 419 (arguments
b2455573
PN
420 `(#:tests? #f ; Need online access.
421 #:asd-file "next.asd"
1be4989d 422 #:asd-system-name "next/download-manager"))
acad932e 423 (inputs
754ee708 424 `(("cl-ppcre" ,sbcl-cl-ppcre)
b2455573 425 ("dexador" ,sbcl-dexador)
338defe0 426 ("log4cl" ,sbcl-log4cl)
b2455573
PN
427 ("lparallel" ,sbcl-lparallel)
428 ("quri" ,sbcl-quri)
429 ("str" ,sbcl-cl-str)))
430 (native-inputs
754ee708
PN
431 `(("trivial-features" ,sbcl-trivial-features)
432 ("prove-asdf" ,sbcl-prove-asdf)))
b2455573
PN
433 (synopsis "Infinitely extensible web-browser (download manager)")))
434
754ee708
PN
435(define sbcl-next-ring
436 (package
437 (inherit next-gtk-webkit)
438 (name "sbcl-next-ring")
439 (build-system asdf-build-system/sbcl)
440 (arguments
441 `(#:tests? #t
442 #:asd-file "next.asd"
443 #:asd-system-name "next/ring"))
444 (native-inputs
445 `(("trivial-features" ,sbcl-trivial-features)
446 ("prove-asdf" ,sbcl-prove-asdf)))
447 (synopsis "Infinitely extensible web-browser (ring)")))
448
ab0ede51
PN
449(define sbcl-next-history-tree
450 (package
451 (inherit next-gtk-webkit)
452 (name "sbcl-next-history-tree")
453 (build-system asdf-build-system/sbcl)
454 (arguments
455 `(#:tests? #t
456 #:asd-file "next.asd"
457 #:asd-system-name "next/history-tree"))
458 (native-inputs
459 `(("trivial-features" ,sbcl-trivial-features)
460 ("prove-asdf" ,sbcl-prove-asdf)))
461 (synopsis "Infinitely extensible web-browser (history-tree)")))
462
463(define sbcl-next-password-manager
464 (package
465 (inherit next-gtk-webkit)
466 (name "sbcl-next-password-manager")
467 (build-system asdf-build-system/sbcl)
468 (arguments
469 `(#:tests? #t
470 #:asd-file "next.asd"
471 #:asd-system-name "next/password-manager"))
472 (inputs
473 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
474 ("cl-annot" ,sbcl-cl-annot)
475 ("cl-ppcre" ,sbcl-cl-ppcre)
476 ("str" ,sbcl-cl-str)
477 ("trivial-clipboard" ,sbcl-trivial-clipboard)))
478 (native-inputs
479 `(("trivial-features" ,sbcl-trivial-features)
480 ("prove-asdf" ,sbcl-prove-asdf)))
481 (synopsis "Infinitely extensible web-browser (password manager)")))
482
01bb2e30
PN
483(define-public next
484 (let ((version (package-version next-gtk-webkit)))
485 (package
486 (inherit next-gtk-webkit)
487 (name "next")
488 (build-system asdf-build-system/sbcl)
489 (outputs '("out" "lib"))
490 (arguments
491 `(#:tests? #f ; no tests
492 #:asd-system-name "next"
493 #:phases (modify-phases %standard-phases
494 (add-after 'unpack 'patch-platform-port-path
495 (lambda* (#:key inputs #:allow-other-keys)
496 (substitute* "source/ports/gtk-webkit.lisp"
497 (("\"next-gtk-webkit\"")
498 (string-append "\"" (assoc-ref inputs "next-gtk-webkit")
499 "/bin/next-gtk-webkit\"")))
500 #t))
501 (add-after 'patch-platform-port-path 'patch-version
502 ;; When the version is not just dot-separated numerals
503 ;; (e.g. a git-commit version), Guix modifies the .asd with
504 ;; an illegal version number, and then Next fails to query
505 ;; it. So we hard-code it here.
506 (lambda* (#:key inputs #:allow-other-keys)
507 (let ((version (format #f "~a" ,version)))
508 (substitute* "source/global.lisp"
509 (("version\\)\\)\\)")
510 (string-append "version)))
511(setf +version+ \"" version "\")"))))
512 #t))
513 (add-before 'cleanup 'move-bundle
514 (lambda* (#:key outputs #:allow-other-keys)
515 (define lib (assoc-ref outputs "lib"))
516 (define actual-fasl (string-append
acad932e 517 lib
01bb2e30
PN
518 "/lib/sbcl/next.fasl"))
519 (define expected-fasl (string-append
520 lib
521 "/lib/sbcl/next--system.fasl"))
522 (copy-file actual-fasl expected-fasl)
523 #t))
524 (add-after 'create-symlinks 'build-program
525 (lambda* (#:key outputs #:allow-other-keys)
526 (build-program
527 (string-append (assoc-ref outputs "out") "/bin/next")
528 outputs
529 #:entry-program '((next:entry-point) 0))))
530 (add-before 'build 'install-assets
531 ;; Since the ASDF build system generates a new .asd with a
532 ;; possibly suffixed and thus illegal version number, assets
533 ;; should not be installed after the 'build phase or else
534 ;; the illegal version will result in NIL in the .desktop
535 ;; file.
536 (lambda* (#:key outputs #:allow-other-keys)
537 (with-output-to-file "version"
538 (lambda _
539 (format #t "~a" ,(package-version next-gtk-webkit))))
540 (invoke "make" "install-assets"
541 (string-append "PREFIX="
542 (assoc-ref outputs "out"))))))))
543 (inputs
754ee708 544 `(("alexandria" ,sbcl-alexandria)
01bb2e30 545 ("bordeaux-threads" ,sbcl-bordeaux-threads)
754ee708 546 ("cl-annot" ,sbcl-cl-annot)
ab0ede51 547 ("cl-ansi-text" ,sbcl-cl-ansi-text)
01bb2e30 548 ("cl-css" ,sbcl-cl-css)
754ee708 549 ("cl-hooks" ,sbcl-cl-hooks)
01bb2e30
PN
550 ("cl-json" ,sbcl-cl-json)
551 ("cl-markup" ,sbcl-cl-markup)
552 ("cl-ppcre" ,sbcl-cl-ppcre)
553 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
ab0ede51 554 ("cl-prevalence" ,sbcl-cl-prevalence)
01bb2e30
PN
555 ("closer-mop" ,sbcl-closer-mop)
556 ("dbus" ,cl-dbus)
557 ("dexador" ,sbcl-dexador)
558 ("ironclad" ,sbcl-ironclad)
754ee708 559 ("local-time" ,sbcl-local-time)
01bb2e30
PN
560 ("log4cl" ,sbcl-log4cl)
561 ("lparallel" ,sbcl-lparallel)
562 ("mk-string-metrics" ,sbcl-mk-string-metrics)
563 ("parenscript" ,sbcl-parenscript)
564 ("quri" ,sbcl-quri)
565 ("sqlite" ,sbcl-cl-sqlite)
566 ("str" ,sbcl-cl-str)
2026204a 567 ("swank" ,cl-slime-swank)
01bb2e30
PN
568 ("trivia" ,sbcl-trivia)
569 ("trivial-clipboard" ,sbcl-trivial-clipboard)
570 ("unix-opts" ,sbcl-unix-opts)
571 ;; Local deps
754ee708
PN
572 ("next-gtk-webkit" ,next-gtk-webkit)
573 ("next-download-manager" ,sbcl-next-download-manager)
ab0ede51
PN
574 ("next-ring" ,sbcl-next-ring)
575 ("next-history-tree" ,sbcl-next-history-tree)
576 ("next-password-manager" ,sbcl-next-password-manager)))
01bb2e30 577 (native-inputs
754ee708
PN
578 `(("trivial-features" ,sbcl-trivial-features)
579 ("prove-asdf" ,sbcl-prove-asdf)))
01bb2e30
PN
580 (synopsis "Infinitely extensible web-browser (with Lisp development files)"))))
581
582(define-public sbcl-next
583 (deprecated-package "sbcl-next" next))