Archived
1
0
Fork 0

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

View file

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