unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Help with package AppImage support
@ 2021-11-22 14:29 Ekaitz Zarraga
  2021-11-23 17:19 ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Ekaitz Zarraga @ 2021-11-22 14:29 UTC (permalink / raw)
  To: guix-devel\@gnu.org


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)))



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-11-29 15:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-22 14:29 Help with package AppImage support Ekaitz Zarraga
2021-11-23 17:19 ` 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

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).