gnu: next: Update to 1.3.0 and rename sbcl-next to next.

* gnu/packages/web-browsers.scm (sbcl-next): Deprecate for next.
* gnu/packages/web-browsers.scm (next): Update to 1.3.0.
[arguments]: Add phase to fix version number.
[inputs]: Update dependencies for 1.3.0.
This commit is contained in:
Pierre Neidhardt 2019-08-29 19:03:14 +02:00
parent b245557349
commit 01bb2e30ea
No known key found for this signature in database
GPG Key ID: 9BDCF497A4BBCC7F
1 changed files with 97 additions and 67 deletions

View File

@ -432,71 +432,101 @@ features for productive professionals.")
`(("prove-asdf" ,sbcl-prove-asdf)))
(synopsis "Infinitely extensible web-browser (download manager)")))
(define-public sbcl-next
(package
(inherit next-gtk-webkit)
(name "sbcl-next")
(build-system asdf-build-system/sbcl)
(outputs '("out" "lib"))
(arguments
`(#:tests? #f ; no tests
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-platform-port-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "source/ports/gtk-webkit.lisp"
(("\"next-gtk-webkit\"")
(string-append "\"" (assoc-ref inputs "next-gtk-webkit")
"/bin/next-gtk-webkit\"")))))
(add-before 'cleanup 'move-bundle
(lambda* (#:key outputs #:allow-other-keys)
(define lib (assoc-ref outputs "lib"))
(define actual-fasl (string-append
lib
"/lib/sbcl/next.fasl"))
(define expected-fasl (string-append
(define-public next
(let ((version (package-version next-gtk-webkit)))
(package
(inherit next-gtk-webkit)
(name "next")
(build-system asdf-build-system/sbcl)
(outputs '("out" "lib"))
(arguments
`(#:tests? #f ; no tests
#:asd-system-name "next"
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-platform-port-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "source/ports/gtk-webkit.lisp"
(("\"next-gtk-webkit\"")
(string-append "\"" (assoc-ref inputs "next-gtk-webkit")
"/bin/next-gtk-webkit\"")))
#t))
(add-after 'patch-platform-port-path 'patch-version
;; When the version is not just dot-separated numerals
;; (e.g. a git-commit version), Guix modifies the .asd with
;; an illegal version number, and then Next fails to query
;; it. So we hard-code it here.
(lambda* (#:key inputs #:allow-other-keys)
(let ((version (format #f "~a" ,version)))
(substitute* "source/global.lisp"
(("version\\)\\)\\)")
(string-append "version)))
(setf +version+ \"" version "\")"))))
#t))
(add-before 'cleanup 'move-bundle
(lambda* (#:key outputs #:allow-other-keys)
(define lib (assoc-ref outputs "lib"))
(define actual-fasl (string-append
lib
"/lib/sbcl/next--system.fasl"))
(copy-file actual-fasl expected-fasl)
#t))
(add-after 'create-symlinks 'build-program
(lambda* (#:key outputs #:allow-other-keys)
(build-program
(string-append (assoc-ref outputs "out") "/bin/next")
outputs
#:entry-program '((next:start-with-port) 0))))
(add-before 'build 'install-assets
;; Since the ASDF build system generates a new .asd with a
;; possibly suffixed and thus illegal version number, assets
;; should not be installed after the 'build phase or else
;; the illegal version will result in NIL in the .desktop
;; file.
(lambda* (#:key outputs #:allow-other-keys)
(with-output-to-file "version"
(lambda _
(format #t "~a" ,(package-version next-gtk-webkit))))
(invoke "make" "install-assets"
(string-append "PREFIX="
(assoc-ref outputs "out"))))))))
(inputs
`(("next-gtk-webkit" ,next-gtk-webkit)
;; Lisp libraries:
("trivial-features" ,sbcl-trivial-features)
("alexandria" ,sbcl-alexandria)
("anaphora" ,sbcl-anaphora)
("closer-mop" ,sbcl-closer-mop)
("log4cl" ,sbcl-log4cl)
("find-port" ,sbcl-find-port)
("cl-strings" ,sbcl-cl-strings)
("cl-string-match" ,sbcl-cl-string-match)
("puri" ,sbcl-puri)
("sqlite" ,sbcl-cl-sqlite)
("parenscript" ,sbcl-parenscript)
("cl-json" ,sbcl-cl-json)
("swank" ,sbcl-slime-swank)
("cl-markup" ,sbcl-cl-markup)
("cl-css" ,sbcl-cl-css)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("s-xml-rpc" ,sbcl-s-xml-rpc)
("unix-opts" ,sbcl-unix-opts)
("trivial-clipboard" ,sbcl-trivial-clipboard)))
(synopsis "Infinitely extensible web-browser (with Lisp development files)")))
"/lib/sbcl/next.fasl"))
(define expected-fasl (string-append
lib
"/lib/sbcl/next--system.fasl"))
(copy-file actual-fasl expected-fasl)
#t))
(add-after 'create-symlinks 'build-program
(lambda* (#:key outputs #:allow-other-keys)
(build-program
(string-append (assoc-ref outputs "out") "/bin/next")
outputs
#:entry-program '((next:entry-point) 0))))
(add-before 'build 'install-assets
;; Since the ASDF build system generates a new .asd with a
;; possibly suffixed and thus illegal version number, assets
;; should not be installed after the 'build phase or else
;; the illegal version will result in NIL in the .desktop
;; file.
(lambda* (#:key outputs #:allow-other-keys)
(with-output-to-file "version"
(lambda _
(format #t "~a" ,(package-version next-gtk-webkit))))
(invoke "make" "install-assets"
(string-append "PREFIX="
(assoc-ref outputs "out"))))))))
(inputs
`(("next-gtk-webkit" ,next-gtk-webkit)
;; ASD libraries:
("trivial-features" ,sbcl-trivial-features)
("trivial-garbage" ,sbcl-trivial-garbage)
;; Lisp libraries:
("alexandria" ,sbcl-alexandria)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("cl-css" ,sbcl-cl-css)
("cl-json" ,sbcl-cl-json)
("cl-markup" ,sbcl-cl-markup)
("cl-ppcre" ,sbcl-cl-ppcre)
("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
("cl-string-match" ,sbcl-cl-string-match)
("cl-strings" ,sbcl-cl-strings)
("closer-mop" ,sbcl-closer-mop)
("dbus" ,cl-dbus)
("dexador" ,sbcl-dexador)
("ironclad" ,sbcl-ironclad)
("log4cl" ,sbcl-log4cl)
("lparallel" ,sbcl-lparallel)
("mk-string-metrics" ,sbcl-mk-string-metrics)
("parenscript" ,sbcl-parenscript)
("quri" ,sbcl-quri)
("sqlite" ,sbcl-cl-sqlite)
("str" ,sbcl-cl-str)
("swank" ,sbcl-slime-swank)
("trivia" ,sbcl-trivia)
("trivial-clipboard" ,sbcl-trivial-clipboard)
("unix-opts" ,sbcl-unix-opts)
;; Local deps
("next-download-manager" ,sbcl-next-download-manager)))
(native-inputs
`(("prove-asdf" ,sbcl-prove-asdf)))
(synopsis "Infinitely extensible web-browser (with Lisp development files)"))))
(define-public sbcl-next
(deprecated-package "sbcl-next" next))