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