[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#73842] [PATCH v2 1/3] gnu: appimage: New packages for the appimage
From: |
Maxim Cournoyer |
Subject: |
[bug#73842] [PATCH v2 1/3] gnu: appimage: New packages for the appimage runtime. |
Date: |
Fri, 01 Nov 2024 22:24:08 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi,
Noé Lopez <noelopez@free.fr> writes:
[...]
> +(define squashfuse-for-appimage
> + (package
> + (inherit squashfuse)
> + (arguments
> + (list
> + #:configure-flags #~'("CFLAGS=-ffunction-sections -fdata-sections
> -Os -no-pie"
> + "LDFLAGS=-static")
> + #:phases #~(modify-phases %standard-phases
> + (add-after 'install 'install-private-headers
> + (lambda _
> + (install-file "fuseprivate.h"
> + (string-append #$output
> +
> "/include/squashfuse/")))))))
> + (inputs (list fuse-for-appimage
> + `(,zstd "lib")
> + `(,zstd "static")
> + `(,zlib "out")
> + `(,zlib "static")))))
>
Some lines are a bit too long (our coding style says 80 columns max);
you could place the gexps starting with #~ on the line below to make
things a bit easier.
> +
> +(define-public appimage-type2-runtime
> + (let ((revision "0")
> + ;; No releases, just the latest commit.
> + (commit "47b665594856b4e8928f8932adcf6d13061d8c30"))
> + (package
> + (name "appimage-type2-runtime")
> + (version (git-version "continuous" revision commit))
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/AppImage/type2-runtime")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "0954crhlbapxis96g1s0vfpf78ybr64zvjalak387ksxj560g44x"))))
> + (arguments
> + (list
> + #:make-flags #~(list "-Csrc/runtime" "runtime-fuse3"
> + (string-append "CFLAGS="
> + "-I"
> + #$fuse-2
> + "/include/fuse/"
> + " -DGIT_COMMIT='\""
> + "guix-"
> + #$version
> + "\"'"
> + " -D_FILE_OFFSET_BITS=64"
> + " -static"))
This feels cramped; start on a new line to give yourself a bit more
horizontal width.
> + #:modules
> + `((guix build gnu-build-system)
> + (guix build utils)
> + (ice-9 binary-ports))
> + #:phases #~(modify-phases %standard-phases
> + (delete 'configure)
> + (delete 'check) ; No tests.
> + (replace 'install
> + (lambda _
> + (install-file "src/runtime/runtime-fuse3"
> + (string-append #$output "/bin"))))
> + ;; 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")
The indentation is off here. Try running it with 'guix style' or the
old Emacs-based indenter to see.
> + (logior O_WRONLY))))
> + (seek port 8 SEEK_SET)
> + (put-bytevector port #vu8(#x41 #x49 #x02))
> + (close-port port)))))
> + #:disallowed-references (list squashfuse-for-appimage
> + fuse-for-appimage zstd zlib)))
> + ;; only needed at build time
As mentioned earlier, please use complete sentences for standalone
comments.
> + (inputs (list squashfuse-for-appimage fuse-for-appimage
> + `(,zstd "static")
> + `(,zlib "static")))
> + (build-system gnu-build-system)
> + (home-page "https://github.com/AppImage/type2-runtime")
> + (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.")
> + (license license:expat))))
--
Thanks,
Maxim
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug#73842] [PATCH v2 1/3] gnu: appimage: New packages for the appimage runtime.,
Maxim Cournoyer <=