all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: "Noé Lopez" <noe@xn--no-cja.eu>
Cc: "Noé Lopez" <noelopez@free.fr>,
	73842@debbugs.gnu.org, pelzflorian <pelzflorian@pelzflorian.de>,
	"Maxim Cournoyer" <maxim.cournoyer@gmail.com>
Subject: [bug#73842] [PATCH v4 1/3] gnu: appimage: New packages for the appimage runtime.
Date: Tue, 05 Nov 2024 15:22:50 +0100	[thread overview]
Message-ID: <87r07pyd39.fsf@gnu.org> (raw)
In-Reply-To: <ca12b1b7f176bb6ae81eb2ec844d90fd9421d290.1730673402.git.noelopez@free.fr> ("Noé Lopez"'s message of "Sun, 3 Nov 2024 23:37:19 +0100")

Hi!

Noé Lopez <noe@noé.eu> skribis:

> From: Noé Lopez <noelopez@free.fr>
>
> * gnu/packages/appimage.scm
> (gnu packages appimage): New module.
> (fuse-for-appimage, squashfuse-for-appimage)
> (appimage-type2-runtime): New variables.
>
> Change-Id: I857a8eb5399a6a493e52db70b6c8cf0c71360930
> ---
>  gnu/packages/appimage.scm | 126 ++++++++++++++++++++++++++++++++++++++

Please add this file to ‘gnu/local.mk’.

> +(define fuse-for-appimage
> +  (package
> +    (inherit fuse)

Due to restrictions having to do with circular module dependencies, this
package must be defined in the same file as ‘fuse’ itself (apologies for
overlooking it!).  You could add the ‘hidden?’ property if needed, but
IMO it perhaps not even necessary to hide it.

> +(define squashfuse-for-appimage
> +    (package
> +      (inherit squashfuse)

Likewise, this should be in the same file as ‘squashfuse’.

> +      (arguments
> +       (list
> +        #:make-flags
> +        #~(list "-Csrc/runtime" "runtime-fuse3"
> +                (string-append "CFLAGS=" "-I" #$fuse-2 "/include/fuse/"

Rather: #$(this-package-input "fuse").

> +                               " -DGIT_COMMIT='\"" "guix-" #$version "\"'"
> +                               " -D_FILE_OFFSET_BITS=64"
> +                               " -static"))

You may need to add “-O2 -g” here, or the code might be compiled as with
“-O0 -g0”.

> +                     ;; Must be after all elf reliant phases.
> +                     (add-after 'make-dynamic-linker-cache 'set-magic-bytes
> +                       (lambda _
> +                         (let ((port (open (string-append #$output
> +                                            "/bin/runtime-fuse3")
> +                                           (logior O_WRONLY))))
> +                           (seek port 8 SEEK_SET)
> +                           (put-bytevector port #vu8(#x41 #x49 #x02))
> +                           (close-port port)))))

What’s the story with magic bytes here? :-)

Could you add a comment explaining what the phase does and why it’s
necessary?

> +        #:disallowed-references (list squashfuse-for-appimage
> +                                      fuse-for-appimage zstd zlib)))
> +      ;; Only needed at build time.
> +      (inputs (list squashfuse-for-appimage fuse-for-appimage
> +                    `(,zstd "static")
> +                    `(,zlib "static")))

It should probably be ‘native-inputs’, then.

Also, in #:disallowed-references, I think you need:

  `(,zstd "static") `(,zlib "static")

> +      (synopsis "Runtime for executing AppImages")
> +      (description "The runtime is the executable part of every AppImage, it
> +mounts the payload via FUSE and executes the entrypoint.")

Please make that a full sentence, as per
<https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html>.




  reply	other threads:[~2024-11-05 14:26 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87ttc5q1b3.fsf@xn--no-cja.eu>
2024-10-16 21:51 ` [bug#73842] [PATCH] pack: Add support for AppImage pack format Noé Lopez
2024-10-18 12:20   ` Ludovic Courtès
2024-10-18 12:22   ` Ludovic Courtès
2024-10-18 20:34   ` Ludovic Courtès
2024-10-26 17:28   ` [bug#73842] [PATCH v2 0/3] " Noé Lopez
2024-10-26 17:28     ` [bug#73842] [PATCH v2 1/3] gnu: appimage: New packages for the appimage runtime Noé Lopez
2024-11-01 13:24       ` Maxim Cournoyer
2024-10-26 17:28     ` [bug#73842] [PATCH v2 2/3] pack: Add support for AppImage pack format Noé Lopez
2024-11-01 13:19       ` Maxim Cournoyer
2024-11-01 15:22         ` Noé Lopez via Guix-patches via
2024-10-26 17:28     ` [bug#73842] [PATCH v2 3/3] news: Add entry for guix pack’s AppImage format Noé Lopez
2024-10-27 13:38       ` pelzflorian (Florian Pelz)
2024-11-01 13:27       ` Maxim Cournoyer
2024-11-03 22:37   ` [bug#73842] [PATCH v4 0/3] pack: Add support for AppImage pack format Noé Lopez via Guix-patches via
2024-11-03 22:37     ` [bug#73842] [PATCH v4 1/3] gnu: appimage: New packages for the appimage runtime Noé Lopez via Guix-patches via
2024-11-05 14:22       ` Ludovic Courtès [this message]
2024-11-03 22:37     ` [bug#73842] [PATCH v4 2/3] pack: Add support for AppImage pack format Noé Lopez via Guix-patches via
2024-11-05 14:27       ` Ludovic Courtès
2024-11-03 22:37     ` [bug#73842] [PATCH v4 3/3] news: Add entry for guix pack’s AppImage format Noé Lopez via Guix-patches via
2024-11-05 14:28       ` Ludovic Courtès
2024-11-07 16:50   ` [bug#73842] [PATCH v5 1/3] gnu: appimage: New packages for the appimage runtime Noé Lopez via Guix-patches via
2024-11-07 16:50     ` [bug#73842] [PATCH v5 2/3] pack: Add support for AppImage pack format Noé Lopez via Guix-patches via
2024-11-15 17:02       ` Ludovic Courtès
2024-11-07 16:50     ` [bug#73842] [PATCH v5 3/3] news: Add entry for guix pack’s AppImage format Noé Lopez via Guix-patches via
2024-11-17 16:25   ` [bug#73842] [Noé Lopez] Re: [bug#73842] [PATCH v5 2/3] pack: Add support for AppImage pack format Noé Lopez via Guix-patches via
2024-11-20 12:05 ` Ludovic Courtès

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r07pyd39.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=73842@debbugs.gnu.org \
    --cc=maxim.cournoyer@gmail.com \
    --cc=noe@xn--no-cja.eu \
    --cc=noelopez@free.fr \
    --cc=pelzflorian@pelzflorian.de \
    /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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.