From patchwork Mon Jan 23 12:21:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 46367 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2EC4D27BBE9; Mon, 23 Jan 2023 12:23:45 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id E28EC27BBED for ; Mon, 23 Jan 2023 12:23:38 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pJvqt-0001qe-Vf; Mon, 23 Jan 2023 07:23:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJvqp-0001q7-Jb for guix-patches@gnu.org; Mon, 23 Jan 2023 07:23:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pJvqp-0005cu-7s for guix-patches@gnu.org; Mon, 23 Jan 2023 07:23:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pJvqp-0002lu-38 for guix-patches@gnu.org; Mon, 23 Jan 2023 07:23:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#61027] [PATCH 3/3] gnu: Add flatpak-builder. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 23 Jan 2023 12:23:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61027 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 61027@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 61027-submit@debbugs.gnu.org id=B61027.167447653510529 (code B ref 61027); Mon, 23 Jan 2023 12:23:03 +0000 Received: (at 61027) by debbugs.gnu.org; 23 Jan 2023 12:22:15 +0000 Received: from localhost ([127.0.0.1]:53526 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJvq2-0002jj-2h for submit@debbugs.gnu.org; Mon, 23 Jan 2023 07:22:15 -0500 Received: from 19.mo583.mail-out.ovh.net ([46.105.35.78]:55003) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJvpx-0002jR-PU for 61027@debbugs.gnu.org; Mon, 23 Jan 2023 07:22:11 -0500 Received: from director10.ghost.mail-out.ovh.net (unknown [10.109.138.83]) by mo583.mail-out.ovh.net (Postfix) with ESMTP id 0620A210DB for <61027@debbugs.gnu.org>; Mon, 23 Jan 2023 12:22:07 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-hsrn4 (unknown [10.110.115.102]) by director10.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 5328E1FDEB; Mon, 23 Jan 2023 12:22:06 +0000 (UTC) Received: from ngraves.fr ([37.59.142.110]) by ghost-submission-6684bf9d7b-hsrn4 with ESMTPSA id bIhFF+57zmPZhgAACTgEOg (envelope-from ); Mon, 23 Jan 2023 12:22:06 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-110S004f8c942a3-c1f6-4c53-bb6d-fd3a75f82c11, 7A6B2DC6CF1E5BC5450C885858CD75716E54CEDE) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Mon, 23 Jan 2023 13:21:52 +0100 Message-Id: <20230123122152.5115-3-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230123122152.5115-1-ngraves@ngraves.fr> References: <20230123122152.5115-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 8930356587983856354 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedruddukedgfeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepvdehleeiffehtedvlefhffffjeefgfduhfetkeevheeiteduiedugfekuedtheejnecuffhomhgrihhnpehgihhthhhusgdrtghomhenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddruddutdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedutddvjeesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekfedpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * 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\"") "") + (("") ""))))) + ;; 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")