Package: guix-patches;
Reported by: Nicolas Graves <ngraves <at> ngraves.fr>
Date: Mon, 23 Jan 2023 12:07:02 UTC
Severity: normal
Tags: patch
Message #14 received at 61027 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 61027 <at> debbugs.gnu.org Cc: ngraves <at> ngraves.fr Subject: [PATCH 3/3] gnu: Add flatpak-builder. Date: Mon, 23 Jan 2023 13:21:52 +0100
* gnu/packages/package-management.scm (flatpak-builder): New variable. --- gnu/packages/package-management.scm | 103 ++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 6210be4d5c..bfba2eeacf 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -59,9 +59,11 @@ (define-module (gnu packages package-management) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages debug) #:use-module (gnu packages dejagnu) #:use-module (gnu packages dbm) #:use-module (gnu packages docbook) + #:use-module (gnu packages elf) #:use-module (gnu packages file) #:use-module (gnu packages freedesktop) #:use-module (gnu packages flex) @@ -83,6 +85,7 @@ (define-module (gnu packages package-management) #:use-module (gnu packages lisp) #:use-module (gnu packages lua) #:use-module (gnu packages man) + #:use-module (gnu packages m4) #:use-module (gnu packages markup) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) @@ -2077,6 +2080,106 @@ (define-public flatpak sandboxed desktop applications on GNU/Linux.") (license license:lgpl2.1+))) +(define-public flatpak-builder + (package + (name "flatpak-builder") + (version "1.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flatpak/flatpak-builder.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07pih8v2i3jzyy8zccdljgi3pgj52bgycrh4h5s20lwdxgnh2hb3")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list + "--enable-documentation=no" + "--with-system-debugedit") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-submodules + (lambda* (#:key inputs #:allow-other-keys) + (let ((llibglnx (assoc-ref inputs "libglnx"))) + (substitute* "autogen.sh" + (("^if ! test -f libglnx/README.md; then") + "if test -f libglnx/README.md; then") + ((".*subprojects/libglnx.*") "")) + (substitute* "configure.ac" + (("LIBGLNX_CONFIGURE") "")) + (substitute* "src/Makefile.am.inc" + (("libglnx.la") "-lglnx")) + (substitute* "Makefile.am" + (("^include subprojects/libglnx/Makefile-libglnx.am.inc") + "") + ((".*libglnx_srcpath.*") "") + ((".*/subprojects/debugedit.*") "") + (("-I subprojects/libglnx") + (string-append "-I " llibglnx "/include")) + ((".*subprojects/libglnx.*") + (string-append " -I " llibglnx "/include")) + (("noinst_LTLIBRARIES .=.*") "") + (("libglnx_libs :=.*") + (string-append "LDFLAGS += -L" llibglnx " -lglnx -static" "\n")) + (("libglnx_cflags :=") "LIBGLNX_CFLAGS = -lglnx")) + (substitute* + '("src/builder-cache.c" + "src/builder-cache.h" + "src/builder-extension.c" + "src/builder-flatpak-utils.c" + "src/builder-flatpak-utils.h" + "src/builder-main.c" + "src/builder-manifest.c" + "src/builder-module.c" + "src/builder-post-process.c") + (("\"libglnx/libglnx.h\"") "<libglnx.h>") + (("<libglnx/libglnx.h>") "<libglnx.h>"))))) + ;; Test are supposed to be done in /var/tmp because of the need for + ;; xattrs. Nonetheless, moving it back to /tmp makes tests suceed. + (add-before 'check 'allow-tests + (lambda _ + (substitute* '("buildutil/tap-test" "tests/libtest.sh") + (("\\/var\\/tmp\\/") + "/tmp/"))))))) + (propagated-inputs (list flatpak debugedit libglnx elfutils)) + (inputs + (list libsoup-minimal-2 + libostree + json-glib + curl + libyaml)) + (native-inputs + (list autoconf + automake + m4 + libtool + pkg-config + gettext-minimal + which)) + (home-page "https://github.com/flatpak/flatpak-builder.git") + (synopsis "Tool to build flatpaks from source") + (description "@code{flatpak-builder} is a wrapper around the flatpak build +command that automates the building of applications and their dependencies. +It is one option you can use to build applications. + +The goal of flatpak-builder is to push as much knowledge about how to build +modules to the individual upstream projects. An invocation of flatpak-builder +proceeds in these stages, each being specified in detail in json format in +the file MANIFEST : + +@itemize +@item Download all sources +@item Initialize the application directory with flatpak build-init +@item Build and install each module with flatpak build +@item Clean up the final build tree by removing unwanted files and +e.g. stripping binaries +@item Finish the application directory with flatpak build-finish +@end itemize") + (license license:lgpl2.1))) + (define-public akku (package (name "akku") -- 2.39.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.