From: Pierre Neidhardt <mail@ambrevar.xyz>
To: Guillaume Le Vaillant <glv@posteo.net>,
Katherine Cox-Buday <cox.katherine.e@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: Improve ASDF build system for Common Lisp libraries
Date: Wed, 23 Sep 2020 13:15:10 +0200 [thread overview]
Message-ID: <87eemsg2wx.fsf@ambrevar.xyz> (raw)
In-Reply-To: <87y2l8ohwq.fsf@ambrevar.xyz>
[-- Attachment #1: Type: text/plain, Size: 5772 bytes --]
I've retested wip-lisp on 851abcf6c9c15d90cb77caaaa57b40d10c3b4835,
everything seems to work!
Nit: Maybe enable tests in ecl-numcl ?
I've successfully tested Nyxt with the following recipe:
--8<---------------cut here---------------start------------->8---
(define-public nyxt
(package
(name "nyxt")
;; Package the pre-release because latest stable 1.5.0 does not build
;; anymore.
(version "2-pre-release-1")
(source
(origin
(method git-fetch)
(uri (git-reference
;; TODO: Mirror seems to hang, let's fallback to GitHub for now.
;; (url "https://source.atlas.engineer/public/nyxt")
(url "https://github.com/atlas-engineer/nyxt")
(commit version)))
(sha256
(base32
"0aipsmzqnlkmy001cihz2jnc0hja8c10rm08jycxr05j3gx3qsxd"))
(file-name (git-file-name "nyxt" version))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "nyxt" "NYXT_INTERNAL_QUICKLISP=false"
(string-append "DESTDIR=" (assoc-ref %outputs "out"))
"PREFIX=")
#:strip-binaries? #f ; Stripping breaks SBCL binaries.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-version ; Version is guessed from .git which Guix does not have.
(lambda* (#:key inputs #:allow-other-keys)
(let ((version (format #f "~a" ,version))
(file "source/global.lisp"))
(chmod file #o666)
(let ((port (open-file file "a")))
(format port "(setf +version+ ~s)" version)
(close-port port)))
#t))
(add-before 'build 'make-desktop-version-number
(lambda _
(with-output-to-file "version"
(lambda _
(format #t "~a" ,version)
#t))))
(delete 'configure)
(add-before 'build 'fix-common-lisp-cache-folder
(lambda _
(setenv "HOME" "/tmp")
#t))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin/nyxt"))
(glib-networking (assoc-ref inputs "glib-networking"))
(libs '("gsettings-desktop-schemas"))
(path (string-join
(map (lambda (lib)
(string-append (assoc-ref inputs lib) "/lib"))
libs)
":"))
(gi-path (string-join
(map (lambda (lib)
(string-append (assoc-ref inputs lib) "/lib/girepository-1.0"))
libs)
":"))
(xdg-path (string-join
(map (lambda (lib)
(string-append (assoc-ref inputs lib) "/share"))
libs)
":")))
(wrap-program bin
`("GIO_EXTRA_MODULES" prefix
(,(string-append glib-networking "/lib/gio/modules")))
`("GI_TYPELIB_PATH" prefix (,gi-path))
`("LD_LIBRARY_PATH" ":" prefix (,path))
`("XDG_DATA_DIRS" ":" prefix (,xdg-path)))
#t))))))
(native-inputs
`(("prove" ,sbcl-prove)
("sbcl" ,sbcl)))
(inputs
`(("alexandria" ,sbcl-alexandria)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("sbcl-containers" ,sbcl-cl-containers)
("sbcl-css" ,sbcl-cl-css)
("sbcl-json" ,sbcl-cl-json)
("sbcl-markup" ,sbcl-cl-markup)
("sbcl-ppcre" ,sbcl-cl-ppcre)
("sbcl-prevalence" ,sbcl-cl-prevalence)
("closer-mop" ,sbcl-closer-mop)
("cluffer" ,sbcl-cluffer)
("dexador" ,sbcl-dexador)
("enchant" ,sbcl-enchant)
("fset" ,sbcl-fset)
("iolib" ,sbcl-iolib)
("local-time" ,sbcl-local-time)
("log4cl" ,sbcl-log4cl)
("lparallel" ,sbcl-lparallel)
("mk-string-metrics" ,sbcl-mk-string-metrics)
("moptilities" ,sbcl-moptilities)
("osicat" ,sbcl-osicat)
("parenscript" ,sbcl-parenscript)
("plump" ,sbcl-plump)
("quri" ,sbcl-quri)
("serapeum" ,sbcl-serapeum)
("str" ,sbcl-cl-str)
("swank" ,sbcl-slime-swank)
("trivia" ,sbcl-trivia)
("trivial-clipboard" ,sbcl-trivial-clipboard)
("trivial-features" ,sbcl-trivial-features)
("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
("trivial-types" ,sbcl-trivial-types)
("unix-opts" ,sbcl-unix-opts)
;; WebKitGTK deps
("sbcl-cffi-gtk" ,sbcl-cl-cffi-gtk)
("sbcl-webkit" ,sbcl-cl-webkit)
("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(synopsis "Extensible web-browser in Common Lisp")
(home-page "https://nyxt.atlas.engineer")
(description "Nyxt is a keyboard-oriented, extensible web-browser
designed for power users. The application has familiar Emacs and VI
key-bindings and is fully configurable and extensible in Common Lisp.")
(license license:bsd-3)))
--8<---------------cut here---------------end--------------->8---
I haven't tested StumpWM, can anyone do it?
If StumpWM passes, feel free to merge this patchset.
Cheers!
--
Pierre Neidhardt
https://ambrevar.xyz/
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]
next prev parent reply other threads:[~2020-09-23 11:15 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-12 9:36 Improve ASDF build system for Common Lisp libraries Guillaume Le Vaillant
2020-09-12 10:26 ` Pierre Neidhardt
2020-09-12 11:11 ` Pierre Neidhardt
2020-09-12 12:06 ` Guillaume Le Vaillant
2020-09-13 10:08 ` Guillaume Le Vaillant
2020-09-13 10:31 ` Pierre Neidhardt
2020-09-13 11:56 ` Guillaume Le Vaillant
2020-09-13 10:36 ` Pierre Neidhardt
2020-09-13 12:49 ` Guillaume Le Vaillant
2020-09-13 13:15 ` Pierre Neidhardt
2020-09-14 13:39 ` Guillaume Le Vaillant
2020-09-15 6:18 ` Pierre Neidhardt
2020-09-12 12:07 ` Pierre Neidhardt
2020-09-15 10:00 ` Guillaume Le Vaillant
2020-09-15 10:54 ` Pierre Neidhardt
2020-09-15 11:07 ` Ricardo Wurmus
2020-09-15 14:12 ` Katherine Cox-Buday
2020-09-15 16:28 ` Guillaume Le Vaillant
2020-09-17 9:45 ` Pierre Neidhardt
2020-09-23 11:15 ` Pierre Neidhardt [this message]
2020-09-23 12:44 ` Guillaume Le Vaillant
2020-09-23 13:35 ` Ricardo Wurmus
2020-09-23 13:41 ` Pierre Neidhardt
2020-09-12 15:35 ` Katherine Cox-Buday
2020-09-12 18:59 ` Konrad Hinsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87eemsg2wx.fsf@ambrevar.xyz \
--to=mail@ambrevar.xyz \
--cc=cox.katherine.e@gmail.com \
--cc=glv@posteo.net \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).