diff options
| author | Pierre Neidhardt <mail@ambrevar.xyz> | 2018-12-01 00:35:36 +0100 |
|---|---|---|
| committer | Pierre Neidhardt <mail@ambrevar.xyz> | 2018-12-02 13:21:51 +0100 |
| commit | acad932e63f357ea88edd393ac9dd670bfd0768c (patch) | |
| tree | 4747fe1dba3aec886337ccbc39ab779d6ceaae4d /gnu | |
| parent | 18974c1eaa7258cc03206f19b77a6c666ac27d96 (diff) | |
gnu: Add sbcl-next.
* gnu/packages/web-browsers.scm (sbcl-next): New variable.
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/web-browsers.scm | 69 |
1 files changed, 68 insertions, 1 deletions
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 2cc7b901231..578cfca5604 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm | |||
| @@ -37,6 +37,7 @@ | |||
| 37 | #:use-module (gnu packages gnupg) | 37 | #:use-module (gnu packages gnupg) |
| 38 | #:use-module (gnu packages libevent) | 38 | #:use-module (gnu packages libevent) |
| 39 | #:use-module (gnu packages libidn) | 39 | #:use-module (gnu packages libidn) |
| 40 | #:use-module (gnu packages lisp) | ||
| 40 | #:use-module (gnu packages lua) | 41 | #:use-module (gnu packages lua) |
| 41 | #:use-module (gnu packages gnome) | 42 | #:use-module (gnu packages gnome) |
| 42 | #:use-module (gnu packages ncurses) | 43 | #:use-module (gnu packages ncurses) |
| @@ -53,7 +54,8 @@ | |||
| 53 | #:use-module (guix git-download) | 54 | #:use-module (guix git-download) |
| 54 | #:use-module (guix build-system gnu) | 55 | #:use-module (guix build-system gnu) |
| 55 | #:use-module (guix build-system glib-or-gtk) | 56 | #:use-module (guix build-system glib-or-gtk) |
| 56 | #:use-module (guix build-system python)) | 57 | #:use-module (guix build-system python) |
| 58 | #:use-module (guix build-system asdf)) | ||
| 57 | 59 | ||
| 58 | (define-public dillo | 60 | (define-public dillo |
| 59 | (package | 61 | (package |
| @@ -401,3 +403,68 @@ inspired by Emacs and designed for power users. The application has familiar | |||
| 401 | key-bindings, is fully configurable and extensible in Lisp, and has powerful | 403 | key-bindings, is fully configurable and extensible in Lisp, and has powerful |
| 402 | features for productive professionals.") | 404 | features for productive professionals.") |
| 403 | (license license:bsd-3)))) | 405 | (license license:bsd-3)))) |
| 406 | |||
| 407 | (define-public sbcl-next | ||
| 408 | (package | ||
| 409 | (inherit next-gtk-webkit) | ||
| 410 | (name "sbcl-next") | ||
| 411 | (build-system asdf-build-system/sbcl) | ||
| 412 | (outputs '("out" "lib")) | ||
| 413 | (arguments | ||
| 414 | `(#:tests? #f ; no tests | ||
| 415 | #:phases (modify-phases %standard-phases | ||
| 416 | (add-after 'unpack 'patch-platform-port-path | ||
| 417 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 418 | (substitute* "source/ports/gtk-webkit.lisp" | ||
| 419 | (("\"next-gtk-webkit\"") | ||
| 420 | (string-append "\"" (assoc-ref inputs "next-gtk-webkit") | ||
| 421 | "/bin/next-gtk-webkit\""))))) | ||
| 422 | (add-before 'cleanup 'move-bundle | ||
| 423 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 424 | (define lib (assoc-ref outputs "lib")) | ||
| 425 | (define actual-fasl (string-append | ||
| 426 | lib | ||
| 427 | "/lib/sbcl/next.fasl")) | ||
| 428 | (define expected-fasl (string-append | ||
| 429 | lib | ||
| 430 | "/lib/sbcl/next--system.fasl")) | ||
| 431 | (pk actual-fasl) | ||
| 432 | (pk expected-fasl) | ||
| 433 | (copy-file actual-fasl expected-fasl) | ||
| 434 | #t)) | ||
| 435 | (add-after 'create-symlinks 'build-program | ||
| 436 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 437 | (build-program | ||
| 438 | (string-append (assoc-ref outputs "out") "/bin/next") | ||
| 439 | outputs | ||
| 440 | #:entry-program '((next:start-with-port) 0)))) | ||
| 441 | (add-before 'build 'install-assets | ||
| 442 | ;; Since the ASDF build system generates a new .asd with a | ||
| 443 | ;; possibly suffixed and thus illegal version number, assets | ||
| 444 | ;; should not be installed after the 'build phase or else | ||
| 445 | ;; the illegal version will result in NIL in the .desktop | ||
| 446 | ;; file. | ||
| 447 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 448 | (invoke "make" "install-assets" | ||
| 449 | (string-append "PREFIX=" | ||
| 450 | (assoc-ref outputs "out")))))))) | ||
| 451 | (inputs | ||
| 452 | `(("next-gtk-webkit" ,next-gtk-webkit) | ||
| 453 | ;; Lisp libraries: | ||
| 454 | ("trivial-features" ,sbcl-trivial-features) | ||
| 455 | ("alexandria" ,sbcl-alexandria) | ||
| 456 | ("cl-strings" ,sbcl-cl-strings) | ||
| 457 | ("cl-string-match" ,sbcl-cl-string-match) | ||
| 458 | ("puri" ,sbcl-puri) | ||
| 459 | ("queues.simple-queue" ,sbcl-queues.simple-queue) | ||
| 460 | ("sqlite" ,sbcl-cl-sqlite) | ||
| 461 | ("parenscript" ,sbcl-parenscript) | ||
| 462 | ("cl-json" ,sbcl-cl-json) | ||
| 463 | ("swank" ,sbcl-slime-swank) | ||
| 464 | ("cl-markup" ,sbcl-cl-markup) | ||
| 465 | ("cl-css" ,sbcl-cl-css) | ||
| 466 | ("usocket" ,sbcl-usocket) | ||
| 467 | ("bordeaux-threads" ,sbcl-bordeaux-threads) | ||
| 468 | ("s-xml-rpc" ,sbcl-s-xml-rpc) | ||
| 469 | ("unix-opts" ,sbcl-unix-opts))) | ||
| 470 | (synopsis "Infinitely extensible web-browser (with Lisp development files)"))) | ||
