From: Ekaitz Zarraga <ekaitz@elenq.tech>
To: "guix-devel\\@gnu.org" <guix-devel@gnu.org>
Subject: Help with package AppImage support
Date: Mon, 22 Nov 2021 14:29:12 +0000 [thread overview]
Message-ID: <_xVjfJ4W4fPQpKjHi_K0yQ8it0Qxk0bcqKDkMi5I9LAzgr7nc6G3vS3mSXwtT89mBf4skrlN43EBErQawcLl5PKQaFseUE8799VD_LjxIDE=@elenq.tech> (raw)
Hi,
I'm trying to package some AppImage support for later adding it to `guix pack`.
I having issues with AppImageKit (see below)... I'm not able to make it load
the libsquashfuse I already packaged. CMake refuses to find it.
I could use a hand to make this package work or at least some help with CMake,
because I'm not used to work with it and I know some of you have dealt with it
much more than what I did.
Can anyone help me with this?
This is the current file I'm using to test all this:
(define-module (appimage)
#:use-module ((guix licenses) #:prefix license:)
#:use-module ((srfi srfi-1) #:hide (zip))
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages wget)
#:use-module (gnu packages vim)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages autotools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages boost)
#:use-module (gnu packages tls)
#:use-module (gnu packages compression)
#:use-module (gnu packages commencement)
#:use-module (gnu packages backup)
#:use-module (gnu packages version-control)
#:use-module (gnu packages linux))
(define-public squashfuse
(package
(name "squashfuse")
(version "0.1.104")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vasi/squashfuse.git")
(commit version)))
(sha256
(base32
"1j9phqgg3xqfyk94h1vcl5gkyhdfnglmzwva2vvp5ri07b76y3h4"))))
(build-system gnu-build-system)
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)
("pkg-config" ,pkg-config)
("libtool" ,libtool)))
(inputs
`(("fuse" ,fuse)))
(synopsis "FUSE filesystem to mount squashfs archives")
(description "Squashfuse lets you mount SquashFS archives in user-space. It
supports almost all features of the SquashFS format, yet is still fast and
memory-efficient.")
(home-page "https://github.com/vasi/squashfuse")
(license license:bsd-2)))
(define-public xdg-utils-cxx
(package
(name "xdg-utils-cxx")
(version "1.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/azubieta/xdg-utils-cxx.git")
(commit (string-append "v" version))
(recursive? #t)))
(sha256
(base32
"00nvn00z1c7xvpb7xjm6i9i62hchg3nandxw487g6dallv378hw4"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DXDG_UTILS_SHARED=ON")))
(synopsis "Implementation of the FreeDesktop specifications to be used in C++ projects")
(description "Implementation of the Free Desktop Standards in C++. This is
a project was started to fulfill the need of a reliable implementations of such
standards in the AppImage project. It is totally standalone and only depends on
the standard c++ libraries (stdlib).")
(home-page "https://github.com/azubieta/xdg-utils-cxx")
(license license:expat)))
(define-public libappimage
(package
(name "libappimage")
(version "1.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AppImage/libappimage.git")
(commit (string-append "v" version))
(recursive? #t)))
(sha256
(base32
"1b8kkypzvf12xp25lgcrqrflhj9j8kgwd39za4w90vx3q0c2lpa0"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DBUILD_TESTING:bool=False" ; Tests are broken
"-DUSE_SYSTEM_BOOST=On"
"-DUSE_SYSTEM_LIBARCHIVE=On"
"-DUSE_SYSTEM_XZ=On"
"-DUSE_SYSTEM_XDGUTILS=On"
"-DUSE_SYSTEM_SQUASHFUSE=On")
#:tests? #f)) ; Tests are broken
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)
("git" ,git)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost)
("cairo" ,cairo)
("desktop-file-validate" ,desktop-file-utils)
("fuse" ,fuse)
("libarchive" ,libarchive)
("librsvg" ,librsvg)
("squashfuse" ,squashfuse)
("wget" ,wget)
("xdg-utils-cxx" ,xdg-utils-cxx)
("xxd" ,xxd)
("xz" ,xz)))
(synopsis "Implements functionality for dealing with AppImage files")
(description "Library for dealing with AppImage files.")
(home-page "https://github.com/AppImage/libappimage/")
(license license:expat)))
(define-public appimagekit
(package
(name "appimagekit")
(version "13")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AppImage/appimagekit.git")
(commit version)
;; We may be able to disable the recursive flag:
;; - It downloads libappimage
;; - It downloads some CMake related things
(recursive? #t)))
(sha256
(base32
"171xrnlkmjrk7a44cr10wfpfr8swgzw3yjk7yn4902r6ia73xa56"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DXZ_EXTERNAL=On"
"-DUSE_SYSTEM_MKSQUASHFS=On")
#:phases
(modify-phases
%standard-phases
(add-after 'patch-source-shebangs 'unbundle
(lambda _
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(lib\\)")
"")
(("include\\(lib\\/libappimage\\/cmake\\/tools\\.cmake\\)")
"")))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("fuse" ,fuse)
("squashfuse" ,squashfuse)
("openssl" ,openssl)
("xz" ,xz)))
(synopsis "Implements functionality for dealing with AppImage files")
(description "Library for dealing with AppImage files.")
(home-page "https://github.com/AppImage/libappimage/")
(license license:expat)))
next reply other threads:[~2021-11-22 14:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-22 14:29 Ekaitz Zarraga [this message]
2021-11-23 17:19 ` Help with package AppImage support Ludovic Courtès
2021-11-23 19:12 ` Ekaitz Zarraga
2021-11-28 17:29 ` Ludovic Courtès
2021-11-28 17:38 ` Ekaitz Zarraga
2021-11-28 19:49 ` Ricardo Wurmus
2021-11-29 12:48 ` Ekaitz Zarraga
2021-11-29 13:20 ` Ricardo Wurmus
2021-11-29 14:27 ` Ekaitz Zarraga
2021-11-29 15:06 ` Ricardo Wurmus
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='_xVjfJ4W4fPQpKjHi_K0yQ8it0Qxk0bcqKDkMi5I9LAzgr7nc6G3vS3mSXwtT89mBf4skrlN43EBErQawcLl5PKQaFseUE8799VD_LjxIDE=@elenq.tech' \
--to=ekaitz@elenq.tech \
--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).