Subject: bug#32769: Packaging Next browser (Common Lisp) [work in progress]

From: Pierre Neidhardt <[email-masked]>
Date: Thu, 11 Oct 2018 12:44:43 +0200

You were right, this was the issue.  I've posted a patch upstream, it should be
fixed soon.

Now Next compiles.  Hurray!!! :D

There is one last step though: the .asd bunble works, but not the
"build-program".
See the wip-nextbrowser for what I've tried.  I've re-used the code from
Stumpwm.

I narrowed down the issue to the "generate-executable" function:

--8<---------------cut here---------------start------------->8---
define* (generate-executable out-file #:key
                              dependencies
                              dependency-prefixes
                              entry-program
                              type
                              #:allow-other-keys)
  "Generate an executable by using asdf operation TYPE, containing whithin the
image all DEPENDENCIES, and running ENTRY-PROGRAM in the case of an
executable.  Link in any asd files from DEPENDENCY-PREFIXES to ensure
references to those libraries are retained."
  let* ((bin-directory (dirname out-file))
         (name (basename out-file)))
    (mkdir-p bin-directory)
    (with-directory-excursion bin-directory
      (generate-executable-wrapper-system name dependencies)
      (generate-executable-entry-point name entry-program))
			...
--8<---------------cut here---------------end--------------->8---

The problem is that Next's system is called "next/gtk", but we cannot use that
as an out-file.  If I use something else, say "next", then compilation fails
with

--8<---------------cut here---------------start------------->8---
  Component :NEXT not found, required by #<SYSTEM "next-exec">
--8<---------------cut here---------------end--------------->8---

I guess there is a flaw in the logic here.  The system name should be

	#:asd-system-name

and not

	(name (basename out-file))

What shall we do?

-- 
Pierre Neidhardt
https://ambrevar.xyz/