unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package
@ 2023-02-21 14:35 Zongyuan Li via Guix-patches via
  2023-02-23  7:04 ` [bug#61682] [PATCH v2] " Zongyuan Li via Guix-patches via
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-21 14:35 UTC (permalink / raw)
  To: 61682; +Cc: Zongyuan Li

* gnu/packages/containers.scm: New 'buildah' package

Signed-off-by: Zongyuan Li <zongyuan.li@c0x0o.me>
---
 gnu/packages/containers.scm | 68 +++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 80c4aaa400..731a56075c 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages containers)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages pkg-config)
@@ -405,3 +406,70 @@ (define-public podman
 volumes mounted into those containers, and pods made from groups of
 containers.")
     (license license:asl2.0)))
+
+(define-public buildah
+  (package
+    (name "buildah")
+    (version "1.29.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/containers/buildah")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags #~(list #$(string-append "CC="
+                                                 (cc-for-target))
+                                (string-append "PREFIX="
+                                               #$output))
+           #:tests? #f
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)
+                        (add-after 'unpack 'set-env
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (setenv "HOME" "/tmp")))
+                        (add-after 'unpack 'avoid-building-tools
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^docs: install\\.tools")
+                               "docs:"))))
+                        (add-after 'unpack 'avoid-building-tools
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^all: .*")
+                               "all: bin/buildah docs"))))
+                        (add-after 'unpack 'use-doc-tools
+                          (lambda _
+                            (substitute* "docs/Makefile"
+                              (("../tests/tools/build/go-md2man")
+                               (which "go-md2man")))))
+                        (add-after 'install 'install-completions
+                          (lambda _
+                            (invoke "make" "install.completions"
+                                    (string-append "PREFIX="
+                                                   #$output)))))))
+    (inputs (list btrfs-progs
+                  cni-plugins
+                  conmon
+                  eudev
+                  glib
+                  go-github-com-go-md2man
+                  gpgme
+                  libassuan
+                  libseccomp
+                  lvm2
+                  runc))
+    (native-inputs (list bats git go-1.18 perl pkg-config))
+    (synopsis
+     "Facilitates building Open Container Initiative (OCI) container images")
+    (description
+     "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers.  With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+    (home-page "https://buildah.io")
+    (license license:asl2.0)))
--
2.37.1 (Apple Git-137.1)






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

* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
  2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
@ 2023-02-23  7:04 ` Zongyuan Li via Guix-patches via
  2023-02-23 11:31 ` Zongyuan Li via Guix-patches via
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-23  7:04 UTC (permalink / raw)
  To: 61682; +Cc: zongyuan.li

Introduce new 'buildah' package

Changes since v1:

    * fix phase-name typo in modify-phases

* gnu/packages/containers.scm: New 'buildah' package
---
 gnu/packages/containers.scm | 68 +++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 50dfa88421..3844e4e700 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages containers)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages pkg-config)
@@ -406,3 +407,70 @@ (define-public podman
 volumes mounted into those containers, and pods made from groups of
 containers.")
     (license license:asl2.0)))
+
+(define-public buildah
+  (package
+    (name "buildah")
+    (version "1.29.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/containers/buildah")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags #~(list #$(string-append "CC="
+                                                 (cc-for-target))
+                                (string-append "PREFIX="
+                                               #$output))
+           #:tests? #f
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)
+                        (add-after 'unpack 'set-env
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (setenv "HOME" "/tmp")))
+                        (add-after 'unpack 'avoid-building-tools
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^docs: install\\.tools")
+                               "docs:"))))
+                        (add-after 'unpack 'avoid-unnecessary-targets
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^all: .*")
+                               "all: bin/buildah docs"))))
+                        (add-after 'unpack 'use-doc-tools
+                          (lambda _
+                            (substitute* "docs/Makefile"
+                              (("../tests/tools/build/go-md2man")
+                               (which "go-md2man")))))
+                        (add-after 'install 'install-completions
+                          (lambda _
+                            (invoke "make" "install.completions"
+                                    (string-append "PREFIX="
+                                                   #$output)))))))
+    (inputs (list btrfs-progs
+                  cni-plugins
+                  conmon
+                  eudev
+                  glib
+                  go-github-com-go-md2man
+                  gpgme
+                  libassuan
+                  libseccomp
+                  lvm2
+                  runc))
+    (native-inputs (list bats git go-1.18 perl pkg-config))
+    (synopsis
+     "Facilitates building Open Container Initiative (OCI) container images")
+    (description
+     "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers.  With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+    (home-page "https://buildah.io")
+    (license license:asl2.0)))
--
2.37.1 (Apple Git-137.1)






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

* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
  2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
  2023-02-23  7:04 ` [bug#61682] [PATCH v2] " Zongyuan Li via Guix-patches via
@ 2023-02-23 11:31 ` Zongyuan Li via Guix-patches via
  2023-02-23 12:26 ` Zongyuan Li via Guix-patches via
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-23 11:31 UTC (permalink / raw)
  To: 61682; +Cc: Zongyuan Li

Introduce new 'buildah' package

Changes since v1:

   * fix phase-name typo in modify-phases

* gnu/packages/containers.scm: New 'buildah' package
---
 gnu/packages/containers.scm | 68 +++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 50dfa88421..3844e4e700 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages containers)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages pkg-config)
@@ -406,3 +407,70 @@ (define-public podman
 volumes mounted into those containers, and pods made from groups of
 containers.")
     (license license:asl2.0)))
+
+(define-public buildah
+  (package
+    (name "buildah")
+    (version "1.29.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/containers/buildah")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags #~(list #$(string-append "CC="
+                                                 (cc-for-target))
+                                (string-append "PREFIX="
+                                               #$output))
+           #:tests? #f
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)
+                        (add-after 'unpack 'set-env
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (setenv "HOME" "/tmp")))
+                        (add-after 'unpack 'avoid-building-tools
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^docs: install\\.tools")
+                               "docs:"))))
+                        (add-after 'unpack 'avoid-unnecessary-targets
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^all: .*")
+                               "all: bin/buildah docs"))))
+                        (add-after 'unpack 'use-doc-tools
+                          (lambda _
+                            (substitute* "docs/Makefile"
+                              (("../tests/tools/build/go-md2man")
+                               (which "go-md2man")))))
+                        (add-after 'install 'install-completions
+                          (lambda _
+                            (invoke "make" "install.completions"
+                                    (string-append "PREFIX="
+                                                   #$output)))))))
+    (inputs (list btrfs-progs
+                  cni-plugins
+                  conmon
+                  eudev
+                  glib
+                  go-github-com-go-md2man
+                  gpgme
+                  libassuan
+                  libseccomp
+                  lvm2
+                  runc))
+    (native-inputs (list bats git go-1.18 perl pkg-config))
+    (synopsis
+     "Facilitates building Open Container Initiative (OCI) container images")
+    (description
+     "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers.  With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+    (home-page "https://buildah.io")
+    (license license:asl2.0)))
--
2.39.1






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

* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
  2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
  2023-02-23  7:04 ` [bug#61682] [PATCH v2] " Zongyuan Li via Guix-patches via
  2023-02-23 11:31 ` Zongyuan Li via Guix-patches via
@ 2023-02-23 12:26 ` Zongyuan Li via Guix-patches via
  2023-02-24  5:20   ` Liliana Marie Prikler
  2023-02-23 12:50 ` Zongyuan Li via Guix-patches via
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-23 12:26 UTC (permalink / raw)
  To: zongyuan.li; +Cc: 61682

Introduce new 'buildah' package

Changes since v1:

   * fix phase-name typo in modify-phases

* gnu/packages/containers.scm: New 'buildah' package
---
 gnu/packages/containers.scm | 68 +++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 50dfa88421..3844e4e700 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages containers)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages pkg-config)
@@ -406,3 +407,70 @@ (define-public podman
 volumes mounted into those containers, and pods made from groups of
 containers.")
     (license license:asl2.0)))
+
+(define-public buildah
+  (package
+    (name "buildah")
+    (version "1.29.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/containers/buildah")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags #~(list #$(string-append "CC="
+                                                 (cc-for-target))
+                                (string-append "PREFIX="
+                                               #$output))
+           #:tests? #f
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)
+                        (add-after 'unpack 'set-env
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (setenv "HOME" "/tmp")))
+                        (add-after 'unpack 'avoid-building-tools
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^docs: install\\.tools")
+                               "docs:"))))
+                        (add-after 'unpack 'avoid-unnecessary-targets
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^all: .*")
+                               "all: bin/buildah docs"))))
+                        (add-after 'unpack 'use-doc-tools
+                          (lambda _
+                            (substitute* "docs/Makefile"
+                              (("../tests/tools/build/go-md2man")
+                               (which "go-md2man")))))
+                        (add-after 'install 'install-completions
+                          (lambda _
+                            (invoke "make" "install.completions"
+                                    (string-append "PREFIX="
+                                                   #$output)))))))
+    (inputs (list btrfs-progs
+                  cni-plugins
+                  conmon
+                  eudev
+                  glib
+                  go-github-com-go-md2man
+                  gpgme
+                  libassuan
+                  libseccomp
+                  lvm2
+                  runc))
+    (native-inputs (list bats git go-1.18 perl pkg-config))
+    (synopsis
+     "Facilitates building Open Container Initiative (OCI) container images")
+    (description
+     "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers.  With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+    (home-page "https://buildah.io")
+    (license license:asl2.0)))
--
2.39.1






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

* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
  2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
                   ` (2 preceding siblings ...)
  2023-02-23 12:26 ` Zongyuan Li via Guix-patches via
@ 2023-02-23 12:50 ` Zongyuan Li via Guix-patches via
  2023-03-24 10:14 ` [bug#61682] [PATCH v3 0/1] " Zongyuan Li via Guix-patches via
  2023-03-25 10:23 ` [bug#61682] [PATCH v4 0/1] " Zongyuan Li via Guix-patches via
  5 siblings, 0 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-23 12:50 UTC (permalink / raw)
  To: 61682; +Cc: Zongyuan Li

Introduce new 'buildah' package

Changes since v1:

   * fix phase-name typo in modify-phases

* gnu/packages/containers.scm: New 'buildah' package
---
 gnu/packages/containers.scm | 68 +++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 50dfa88421..3844e4e700 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages containers)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages pkg-config)
@@ -406,3 +407,70 @@ (define-public podman
 volumes mounted into those containers, and pods made from groups of
 containers.")
     (license license:asl2.0)))
+
+(define-public buildah
+  (package
+    (name "buildah")
+    (version "1.29.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/containers/buildah")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags #~(list #$(string-append "CC="
+                                                 (cc-for-target))
+                                (string-append "PREFIX="
+                                               #$output))
+           #:tests? #f
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)
+                        (add-after 'unpack 'set-env
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (setenv "HOME" "/tmp")))
+                        (add-after 'unpack 'avoid-building-tools
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^docs: install\\.tools")
+                               "docs:"))))
+                        (add-after 'unpack 'avoid-unnecessary-targets
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("^all: .*")
+                               "all: bin/buildah docs"))))
+                        (add-after 'unpack 'use-doc-tools
+                          (lambda _
+                            (substitute* "docs/Makefile"
+                              (("../tests/tools/build/go-md2man")
+                               (which "go-md2man")))))
+                        (add-after 'install 'install-completions
+                          (lambda _
+                            (invoke "make" "install.completions"
+                                    (string-append "PREFIX="
+                                                   #$output)))))))
+    (inputs (list btrfs-progs
+                  cni-plugins
+                  conmon
+                  eudev
+                  glib
+                  go-github-com-go-md2man
+                  gpgme
+                  libassuan
+                  libseccomp
+                  lvm2
+                  runc))
+    (native-inputs (list bats git go-1.18 perl pkg-config))
+    (synopsis
+     "Facilitates building Open Container Initiative (OCI) container images")
+    (description
+     "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers.  With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+    (home-page "https://buildah.io")
+    (license license:asl2.0)))
--
2.39.1






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

* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
  2023-02-23 12:26 ` Zongyuan Li via Guix-patches via
@ 2023-02-24  5:20   ` Liliana Marie Prikler
  2023-02-24  7:12     ` Zongyuan Li via Guix-patches via
  0 siblings, 1 reply; 17+ messages in thread
From: Liliana Marie Prikler @ 2023-02-24  5:20 UTC (permalink / raw)
  To: Zongyuan Li; +Cc: 61682

Am Donnerstag, dem 23.02.2023 um 12:26 +0000 schrieb Zongyuan Li:
> Introduce new 'buildah' package
> 
> Changes since v1:
> 
>    * fix phase-name typo in modify-phases
> 
> * gnu/packages/containers.scm: New 'buildah' package
> ---
>  gnu/packages/containers.scm | 68
> +++++++++++++++++++++++++++++++++++++
>  1 file changed, 68 insertions(+)
> 
> diff --git a/gnu/packages/containers.scm
> b/gnu/packages/containers.scm
> index 50dfa88421..3844e4e700 100644
> --- a/gnu/packages/containers.scm
> +++ b/gnu/packages/containers.scm
> @@ -41,6 +41,7 @@ (define-module (gnu packages containers)
>    #:use-module (gnu packages gnupg)
>    #:use-module (gnu packages golang)
>    #:use-module (gnu packages linux)
> +  #:use-module (gnu packages perl)
>    #:use-module (gnu packages python)
>    #:use-module (gnu packages networking)
>    #:use-module (gnu packages pkg-config)
> @@ -406,3 +407,70 @@ (define-public podman
>  volumes mounted into those containers, and pods made from groups of
>  containers.")
>      (license license:asl2.0)))
> +
> +(define-public buildah
> +  (package
> +    (name "buildah")
> +    (version "1.29.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/containers/buildah")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +               
> "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
> +    (build-system gnu-build-system)
As fun as it sounds to build Go stuff with just a Makefile, you have a
lot of vendored code unaccounted for.
> +    (arguments
> +     (list #:make-flags #~(list #$(string-append "CC="
> +                                                 (cc-for-target))
> +                                (string-append "PREFIX="
> +                                               #$output))
> +           #:tests? #f
> +           #:phases #~(modify-phases %standard-phases
> +                        (delete 'configure)
> +                        (add-after 'unpack 'set-env
> +                          (lambda* (#:key inputs #:allow-other-keys)
> +                            (setenv "HOME" "/tmp")))
> +                        (add-after 'unpack 'avoid-building-tools
> +                          (lambda _
> +                            (substitute* "Makefile"
> +                              (("^docs: install\\.tools")
> +                               "docs:"))))
> +                        (add-after 'unpack 'avoid-unnecessary-
> targets
> +                          (lambda _
> +                            (substitute* "Makefile"
> +                              (("^all: .*")
> +                               "all: bin/buildah docs"))))
> +                        (add-after 'unpack 'use-doc-tools
> +                          (lambda _
> +                            (substitute* "docs/Makefile"
> +                              (("../tests/tools/build/go-md2man")
> +                               (which "go-md2man")))))
> +                        (add-after 'install 'install-completions
> +                          (lambda _
> +                            (invoke "make" "install.completions"
> +                                    (string-append "PREFIX="
> +                                                   #$output)))))))
> +    (inputs (list btrfs-progs
> +                  cni-plugins
> +                  conmon
> +                  eudev
> +                  glib
> +                  go-github-com-go-md2man
> +                  gpgme
> +                  libassuan
> +                  libseccomp
> +                  lvm2
> +                  runc))
> +    (native-inputs (list bats git go-1.18 perl pkg-config))
> +    (synopsis
> +     "Facilitates building Open Container Initiative (OCI) container
> images")
Try to stay short in your synopsis.
> +    (description
> +     "Buildah is an open source,
Buzzword.
>  Linux-based tool used to build Open Container
> +Initiative (OCI)-compatible containers.  
Perhaps use @abbrev?

> With Buildah, you can use your
> +favorite tools to create efficient container images from an existing
> base image
Can I use Guix to do that?

Cheers


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

* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
  2023-02-24  5:20   ` Liliana Marie Prikler
@ 2023-02-24  7:12     ` Zongyuan Li via Guix-patches via
  0 siblings, 0 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-24  7:12 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 61682

Thanks your review! I will try to use go-build-system.

I noticed that ‘podman’ package also uses makefile. Maybe we could improve that later too?

Li

> On Feb 24, 2023, at 13:20, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
>
> Am Donnerstag, dem 23.02.2023 um 12:26 +0000 schrieb Zongyuan Li:
>> Introduce new 'buildah' package
>>
>> Changes since v1:
>>
>>    * fix phase-name typo in modify-phases
>>
>> * gnu/packages/containers.scm: New 'buildah' package
>> ---
>>  gnu/packages/containers.scm | 68
>> +++++++++++++++++++++++++++++++++++++
>>  1 file changed, 68 insertions(+)
>>
>> diff --git a/gnu/packages/containers.scm
>> b/gnu/packages/containers.scm
>> index 50dfa88421..3844e4e700 100644
>> --- a/gnu/packages/containers.scm
>> +++ b/gnu/packages/containers.scm
>> @@ -41,6 +41,7 @@ (define-module (gnu packages containers)
>>    #:use-module (gnu packages gnupg)
>>    #:use-module (gnu packages golang)
>>    #:use-module (gnu packages linux)
>> +  #:use-module (gnu packages perl)
>>    #:use-module (gnu packages python)
>>    #:use-module (gnu packages networking)
>>    #:use-module (gnu packages pkg-config)
>> @@ -406,3 +407,70 @@ (define-public podman
>>  volumes mounted into those containers, and pods made from groups of
>>  containers.")
>>      (license license:asl2.0)))
>> +
>> +(define-public buildah
>> +  (package
>> +    (name "buildah")
>> +    (version "1.29.0")
>> +    (source (origin
>> +              (method git-fetch)
>> +              (uri (git-reference
>> +                    (url "https://github.com/containers/buildah")
>> +                    (commit (string-append "v" version))))
>> +              (file-name (git-file-name name version))
>> +              (sha256
>> +               (base32
>> +
>> "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
>> +    (build-system gnu-build-system)
> As fun as it sounds to build Go stuff with just a Makefile, you have a
> lot of vendored code unaccounted for.
>> +    (arguments
>> +     (list #:make-flags #~(list #$(string-append "CC="
>> +                                                 (cc-for-target))
>> +                                (string-append "PREFIX="
>> +                                               #$output))
>> +           #:tests? #f
>> +           #:phases #~(modify-phases %standard-phases
>> +                        (delete 'configure)
>> +                        (add-after 'unpack 'set-env
>> +                          (lambda* (#:key inputs #:allow-other-keys)
>> +                            (setenv "HOME" "/tmp")))
>> +                        (add-after 'unpack 'avoid-building-tools
>> +                          (lambda _
>> +                            (substitute* "Makefile"
>> +                              (("^docs: install\\.tools")
>> +                               "docs:"))))
>> +                        (add-after 'unpack 'avoid-unnecessary-
>> targets
>> +                          (lambda _
>> +                            (substitute* "Makefile"
>> +                              (("^all: .*")
>> +                               "all: bin/buildah docs"))))
>> +                        (add-after 'unpack 'use-doc-tools
>> +                          (lambda _
>> +                            (substitute* "docs/Makefile"
>> +                              (("../tests/tools/build/go-md2man")
>> +                               (which "go-md2man")))))
>> +                        (add-after 'install 'install-completions
>> +                          (lambda _
>> +                            (invoke "make" "install.completions"
>> +                                    (string-append "PREFIX="
>> +                                                   #$output)))))))
>> +    (inputs (list btrfs-progs
>> +                  cni-plugins
>> +                  conmon
>> +                  eudev
>> +                  glib
>> +                  go-github-com-go-md2man
>> +                  gpgme
>> +                  libassuan
>> +                  libseccomp
>> +                  lvm2
>> +                  runc))
>> +    (native-inputs (list bats git go-1.18 perl pkg-config))
>> +    (synopsis
>> +     "Facilitates building Open Container Initiative (OCI) container
>> images")
> Try to stay short in your synopsis.
>> +    (description
>> +     "Buildah is an open source,
> Buzzword.
>> Linux-based tool used to build Open Container
>> +Initiative (OCI)-compatible containers.
> Perhaps use @abbrev?
>
>> With Buildah, you can use your
>> +favorite tools to create efficient container images from an existing
>> base image
> Can I use Guix to do that?
>
> Cheers






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

* [bug#61682] [PATCH v3 0/1] gnu: buildah: Add 'buildah' package
  2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
                   ` (3 preceding siblings ...)
  2023-02-23 12:50 ` Zongyuan Li via Guix-patches via
@ 2023-03-24 10:14 ` Zongyuan Li via Guix-patches via
  2023-03-24 10:14   ` [bug#61682] [PATCH v3 1/1] " Zongyuan Li via Guix-patches via
  2023-03-25 10:23 ` [bug#61682] [PATCH v4 0/1] " Zongyuan Li via Guix-patches via
  5 siblings, 1 reply; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-24 10:14 UTC (permalink / raw)
  To: 61682, liliana.prikler; +Cc: Zongyuan Li

Introduce new 'buildah' package

Changes since v2:
* Use go-build-system to avoid vendered code in Makefile
* Bump version to the latest v1.29.1
* Remove some unused dependencies

Zongyuan Li (1):
  gnu: buildah: Add 'buildah' package

 gnu/packages/containers.scm | 73 +++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

--
2.37.1 (Apple Git-137.1)






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

* [bug#61682] [PATCH v3 1/1] gnu: buildah: Add 'buildah' package
  2023-03-24 10:14 ` [bug#61682] [PATCH v3 0/1] " Zongyuan Li via Guix-patches via
@ 2023-03-24 10:14   ` Zongyuan Li via Guix-patches via
  2023-03-24 18:00     ` Liliana Marie Prikler
  0 siblings, 1 reply; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-24 10:14 UTC (permalink / raw)
  To: 61682, liliana.prikler; +Cc: Zongyuan Li

gnu: buildah: Add 'buildah' package

Introduce new 'buildah' package

* gnu/packages/containers.scm: New 'buildah' package
---
 gnu/packages/containers.scm | 73 +++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index b316588ea2..c20bcdaba3 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -406,3 +406,76 @@ (define-public podman
 volumes mounted into those containers, and pods made from groups of
 containers.")
     (license license:asl2.0)))
+
+(define-public buildah
+  (package
+    (name "buildah")
+    (version "1.29.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/containers/buildah")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mcqkz68fjccdla1bgxw57w268a586brm6x28fcm6x425ah0w07h"))))
+    (build-system go-build-system)
+    (arguments
+      (list #:import-path "github.com/containers/buildah/cmd/buildah"
+            #:unpack-path "github.com/containers/buildah"
+            ; Some dependencies require go-1.18 to build
+            #:go go-1.18
+            #:tests? #f
+            #:build-flags
+            ; These information is constructed in 'buildah' Makefile.
+            #~(list (string-append "-ldflags=-X main.GitCommit="
+                                   "faf0d4fcbaede00f4e615dc5cc2ccc816f240cfe"
+                                   " -X main.cniVersion=v1.1.2"))
+            #:install-source? #f
+            #:phases
+            #~(modify-phases %standard-phases
+                (add-after 'unpack 'prepare-install-docs
+                  (lambda* (#:key unpack-path #:allow-other-keys)
+                    (substitute* (string-append "src/"
+                                                unpack-path
+                                                "/docs/Makefile")
+                      (("../tests/tools/build/go-md2man")
+                       (which "go-md2man")))
+                    (substitute* (string-append "src/"
+                                                unpack-path
+                                                "/docs/Makefile")
+                      (("/usr/local") (string-append #$output)))))
+                (add-after 'build 'build-docs
+                  (lambda* (#:key unpack-path #:allow-other-keys)
+                    (let*
+                      ((doc-path (string-append "src/" unpack-path "/docs")))
+                      (invoke "make" "-C" doc-path))))
+                (add-after 'install 'install-docs
+                  (lambda* (#:key unpack-path #:allow-other-keys)
+                    (let*
+                      ((doc-path (string-append "src/" unpack-path "/docs")))
+                      (invoke "make" "-C" doc-path "install")))))))
+    (inputs (list btrfs-progs
+                  cni-plugins
+                  conmon
+                  eudev
+                  glib
+                  gpgme
+                  libassuan
+                  libseccomp
+                  lvm2
+                  runc))
+    (native-inputs
+     (list go-github-com-go-md2man
+           gnu-make
+           pkg-config))
+    (synopsis
+     "Facilitates building Open Container Initiative (OCI) container images")
+    (description
+     "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers.  With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+    (home-page "https://buildah.io")
+    (license license:asl2.0)))
--
2.37.1 (Apple Git-137.1)






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

* [bug#61682] [PATCH v3 1/1] gnu: buildah: Add 'buildah' package
  2023-03-24 10:14   ` [bug#61682] [PATCH v3 1/1] " Zongyuan Li via Guix-patches via
@ 2023-03-24 18:00     ` Liliana Marie Prikler
  2023-03-25  9:15       ` Zongyuan Li via Guix-patches via
  0 siblings, 1 reply; 17+ messages in thread
From: Liliana Marie Prikler @ 2023-03-24 18:00 UTC (permalink / raw)
  To: Zongyuan Li, 61682

Am Freitag, dem 24.03.2023 um 10:14 +0000 schrieb Zongyuan Li:
> gnu: buildah: Add 'buildah' package
> 
> Introduce new 'buildah' package
> 
> * gnu/packages/containers.scm: New 'buildah' package
> ---
>  gnu/packages/containers.scm | 73
> +++++++++++++++++++++++++++++++++++++
>  1 file changed, 73 insertions(+)
> 
> diff --git a/gnu/packages/containers.scm
> b/gnu/packages/containers.scm
> index b316588ea2..c20bcdaba3 100644
> --- a/gnu/packages/containers.scm
> +++ b/gnu/packages/containers.scm
> @@ -406,3 +406,76 @@ (define-public podman
>  volumes mounted into those containers, and pods made from groups of
>  containers.")
>      (license license:asl2.0)))
> +
> +(define-public buildah
> +  (package
> +    (name "buildah")
> +    (version "1.29.1")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/containers/buildah")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +               
> "1mcqkz68fjccdla1bgxw57w268a586brm6x28fcm6x425ah0w07h"))))
> +    (build-system go-build-system)
> +    (arguments
> +      (list #:import-path
> "github.com/containers/buildah/cmd/buildah"
> +            #:unpack-path "github.com/containers/buildah"
> +            ; Some dependencies require go-1.18 to build
> +            #:go go-1.18
> +            #:tests? #f
#:tests? #f always needs an explanation
> +            #:build-flags
> +            ; These information is constructed in 'buildah'
> Makefile.
> +            #~(list (string-append "-ldflags=-X main.GitCommit="
> +                                  
> "faf0d4fcbaede00f4e615dc5cc2ccc816f240cfe"
I think we should either look towards dropping this flag, or
alternatively let-bind the git commit and use it in the version and
origin as well.
> +                                   " -X main.cniVersion=v1.1.2"))
> +            #:install-source? #f
> +            #:phases
> +            #~(modify-phases %standard-phases
> +                (add-after 'unpack 'prepare-install-docs
> +                  (lambda* (#:key unpack-path #:allow-other-keys)
> +                    (substitute* (string-append "src/"
> +                                                unpack-path
> +                                                "/docs/Makefile")
> +                      (("../tests/tools/build/go-md2man")
> +                       (which "go-md2man")))
> +                    (substitute* (string-append "src/"
> +                                                unpack-path
> +                                                "/docs/Makefile")
> +                      (("/usr/local") (string-append #$output)))))
> +                (add-after 'build 'build-docs
> +                  (lambda* (#:key unpack-path #:allow-other-keys)
> +                    (let*
> +                      ((doc-path (string-append "src/" unpack-path
> "/docs")))
> +                      (invoke "make" "-C" doc-path))))
> +                (add-after 'install 'install-docs
> +                  (lambda* (#:key unpack-path #:allow-other-keys)
> +                    (let*
> +                      ((doc-path (string-append "src/" unpack-path
> "/docs")))
> +                      (invoke "make" "-C" doc-path "install")))))))
> +    (inputs (list btrfs-progs
> +                  cni-plugins
> +                  conmon
> +                  eudev
> +                  glib
> +                  gpgme
> +                  libassuan
> +                  libseccomp
> +                  lvm2
> +                  runc))
> +    (native-inputs
> +     (list go-github-com-go-md2man
> +           gnu-make
> +           pkg-config))
> +    (synopsis
> +     "Facilitates building Open Container Initiative (OCI) container
> images")
Simplify to "Build Open Container Initiative images"
> +    (description
> +     "Buildah is an open source, Linux-based tool used to build Open
> Container
Drop open source and Linux-based, they're meaningless filler.
> +Initiative (OCI)-compatible containers.  With Buildah, you can use
Use @acronym{OCI, Open Container Initiative}.  Avoid invoking the
department of redundancy department, also known as the redundant
acronym syndrome syndrome.
> your
> +favorite tools to create efficient container images from an existing
> base image
> +or from scratch using an empty image.")
This second sentence is still as empty as the first time I reviewed it.
Consider dropping it as well.

Cheers

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

* [bug#61682] [PATCH v3 1/1] gnu: buildah: Add 'buildah' package
  2023-03-24 18:00     ` Liliana Marie Prikler
@ 2023-03-25  9:15       ` Zongyuan Li via Guix-patches via
  2023-03-25 10:46         ` Liliana Marie Prikler
  0 siblings, 1 reply; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-25  9:15 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 61682

Tests of buildah requires root user to run. Is there any way for us to do that?

Thanks






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

* [bug#61682] [PATCH v4 0/1] gnu: buildah: Add 'buildah' package
  2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
                   ` (4 preceding siblings ...)
  2023-03-24 10:14 ` [bug#61682] [PATCH v3 0/1] " Zongyuan Li via Guix-patches via
@ 2023-03-25 10:23 ` Zongyuan Li via Guix-patches via
  2023-03-25 10:25   ` [bug#61682] [PATCH v4 1/1] " Zongyuan Li via Guix-patches via
  5 siblings, 1 reply; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-25 10:23 UTC (permalink / raw)
  To: 61682; +Cc: liliana.prikler, Zongyuan Li

gnu: buildah: Add 'buildah' package

We do not run any tests because buildah needs 'root' user
to make tests work.

Changes since v3:
* Remove build flags
* Simplify synopsis and description

Zongyuan Li (1):
  gnu: buildah: Add 'buildah' package

 gnu/packages/containers.scm | 66 +++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

--
2.37.1 (Apple Git-137.1)






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

* [bug#61682] [PATCH v4 1/1] gnu: buildah: Add 'buildah' package
  2023-03-25 10:23 ` [bug#61682] [PATCH v4 0/1] " Zongyuan Li via Guix-patches via
@ 2023-03-25 10:25   ` Zongyuan Li via Guix-patches via
  2023-03-25 11:09     ` Liliana Marie Prikler
  2023-06-08 21:27     ` bug#61682: [PATCH] " Ludovic Courtès
  0 siblings, 2 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-25 10:25 UTC (permalink / raw)
  To: 61682; +Cc: liliana.prikler, Zongyuan Li

gnu: buildah: Add 'buildah' package

Introduce new 'buildah' package

* gnu/packages/containers.scm: New 'buildah' package
---
 gnu/packages/containers.scm | 66 +++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index b316588ea2..43d215ea6a 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -406,3 +406,69 @@ (define-public podman
 volumes mounted into those containers, and pods made from groups of
 containers.")
     (license license:asl2.0)))
+
+(define-public buildah
+  (package
+    (name "buildah")
+    (version "1.29.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/containers/buildah")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mcqkz68fjccdla1bgxw57w268a586brm6x28fcm6x425ah0w07h"))))
+    (build-system go-build-system)
+    (arguments
+      (list #:import-path "github.com/containers/buildah/cmd/buildah"
+            #:unpack-path "github.com/containers/buildah"
+            ; Some dependencies require go-1.18 to build
+            #:go go-1.18
+            #:tests? #f
+            #:install-source? #f
+            #:phases
+            #~(modify-phases %standard-phases
+                (add-after 'unpack 'prepare-install-docs
+                  (lambda* (#:key unpack-path #:allow-other-keys)
+                    (substitute* (string-append "src/"
+                                                unpack-path
+                                                "/docs/Makefile")
+                      (("../tests/tools/build/go-md2man")
+                       (which "go-md2man")))
+                    (substitute* (string-append "src/"
+                                                unpack-path
+                                                "/docs/Makefile")
+                      (("/usr/local") (string-append #$output)))))
+                (add-after 'build 'build-docs
+                  (lambda* (#:key unpack-path #:allow-other-keys)
+                    (let*
+                      ((doc-path (string-append "src/" unpack-path "/docs")))
+                      (invoke "make" "-C" doc-path))))
+                (add-after 'install 'install-docs
+                  (lambda* (#:key unpack-path #:allow-other-keys)
+                    (let*
+                      ((doc-path (string-append "src/" unpack-path "/docs")))
+                      (invoke "make" "-C" doc-path "install")))))))
+    (inputs (list btrfs-progs
+                  cni-plugins
+                  conmon
+                  eudev
+                  glib
+                  gpgme
+                  libassuan
+                  libseccomp
+                  lvm2
+                  runc))
+    (native-inputs
+     (list go-github-com-go-md2man
+           gnu-make
+           pkg-config))
+    (synopsis
+     "Build Open Container Initiative images")
+    (description
+     "Buildah is used to build Open Container Initiative
+@acronym{OCI, Open Container Initiative} compatible containers.")
+    (home-page "https://buildah.io")
+    (license license:asl2.0)))
--
2.37.1 (Apple Git-137.1)






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

* [bug#61682] [PATCH v3 1/1] gnu: buildah: Add 'buildah' package
  2023-03-25  9:15       ` Zongyuan Li via Guix-patches via
@ 2023-03-25 10:46         ` Liliana Marie Prikler
  2023-03-25 11:02           ` Zongyuan Li via Guix-patches via
  0 siblings, 1 reply; 17+ messages in thread
From: Liliana Marie Prikler @ 2023-03-25 10:46 UTC (permalink / raw)
  To: Zongyuan Li; +Cc: 61682

Am Samstag, dem 25.03.2023 um 09:15 +0000 schrieb Zongyuan Li:
> Tests of buildah requires root user to run. Is there any way for us
> to do that?
Can we try with fakeroot or something?




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

* [bug#61682] [PATCH v3 1/1] gnu: buildah: Add 'buildah' package
  2023-03-25 10:46         ` Liliana Marie Prikler
@ 2023-03-25 11:02           ` Zongyuan Li via Guix-patches via
  0 siblings, 0 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-25 11:02 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 61682

> On Mar 25, 2023, at 18:46, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
>
> Can we try with fakeroot or something?

I did some research on source code, and find following code under buildah tests:

> func failTestIfNotRoot(t *testing.T) {
>     u, err := user.Current()
>     if err != nil {
>         t.Log("Could not determine user.  Running without root may cause tests to fail")
>     } else if u.Uid != "0" {
>         t.Fatal("tests will fail unless run as root")
>     }
> }

There’s an hard coded uid. I haven’t seen any way to workaround it. Do we have any
facility to run ‘check’ phase under an isolated environment(eg. container)?

Thanks




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

* [bug#61682] [PATCH v4 1/1] gnu: buildah: Add 'buildah' package
  2023-03-25 10:25   ` [bug#61682] [PATCH v4 1/1] " Zongyuan Li via Guix-patches via
@ 2023-03-25 11:09     ` Liliana Marie Prikler
  2023-06-08 21:27     ` bug#61682: [PATCH] " Ludovic Courtès
  1 sibling, 0 replies; 17+ messages in thread
From: Liliana Marie Prikler @ 2023-03-25 11:09 UTC (permalink / raw)
  To: Zongyuan Li, 61682

Am Samstag, dem 25.03.2023 um 10:25 +0000 schrieb Zongyuan Li:
> gnu: buildah: Add 'buildah' package
> 
> Introduce new 'buildah' package
> 
> * gnu/packages/containers.scm: New 'buildah' package
gnu: Add buildah.

* gnu/packages/containers.scm (buildah): New variable.

> ---
>  gnu/packages/containers.scm | 66
> +++++++++++++++++++++++++++++++++++++
>  1 file changed, 66 insertions(+)
> 
> diff --git a/gnu/packages/containers.scm
> b/gnu/packages/containers.scm
> index b316588ea2..43d215ea6a 100644
> --- a/gnu/packages/containers.scm
> +++ b/gnu/packages/containers.scm
> @@ -406,3 +406,69 @@ (define-public podman
>  volumes mounted into those containers, and pods made from groups of
>  containers.")
>      (license license:asl2.0)))
> +
> +(define-public buildah
> +  (package
> +    (name "buildah")
> +    (version "1.29.1")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/containers/buildah")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +               
> "1mcqkz68fjccdla1bgxw57w268a586brm6x28fcm6x425ah0w07h"))))
> +    (build-system go-build-system)
> +    (arguments
> +      (list #:import-path
> "github.com/containers/buildah/cmd/buildah"
> +            #:unpack-path "github.com/containers/buildah"
> +            ; Some dependencies require go-1.18 to build
Single ; comments go on the same line.
> +            #:go go-1.18
> +            #:tests? #f
Again, no comment for #:tests? #f?
> +            #:install-source? #f
> +            #:phases
> +            #~(modify-phases %standard-phases
> +                (add-after 'unpack 'prepare-install-docs
> +                  (lambda* (#:key unpack-path #:allow-other-keys)
> +                    (substitute* (string-append "src/"
> +                                                unpack-path
> +                                                "/docs/Makefile")
> +                      (("../tests/tools/build/go-md2man")
> +                       (which "go-md2man")))
> +                    (substitute* (string-append "src/"
> +                                                unpack-path
> +                                                "/docs/Makefile")
> +                      (("/usr/local") (string-append #$output)))))
> +                (add-after 'build 'build-docs
> +                  (lambda* (#:key unpack-path #:allow-other-keys)
> +                    (let*
> +                      ((doc-path (string-append "src/" unpack-path
> "/docs")))
> +                      (invoke "make" "-C" doc-path))))
> +                (add-after 'install 'install-docs
> +                  (lambda* (#:key unpack-path #:allow-other-keys)
> +                    (let*
> +                      ((doc-path (string-append "src/" unpack-path
> "/docs")))
> +                      (invoke "make" "-C" doc-path "install")))))))
> +    (inputs (list btrfs-progs
> +                  cni-plugins
> +                  conmon
> +                  eudev
> +                  glib
> +                  gpgme
> +                  libassuan
> +                  libseccomp
> +                  lvm2
> +                  runc))
> +    (native-inputs
> +     (list go-github-com-go-md2man
> +           gnu-make
> +           pkg-config))
> +    (synopsis
> +     "Build Open Container Initiative images")
> +    (description
> +     "Buildah is used to build Open Container Initiative
> +@acronym{OCI, Open Container Initiative} compatible containers.")
Open Container Initiative Open Container Initiative compatible
containers.

Cheers

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

* bug#61682: [PATCH] gnu: buildah: Add 'buildah' package
  2023-03-25 10:25   ` [bug#61682] [PATCH v4 1/1] " Zongyuan Li via Guix-patches via
  2023-03-25 11:09     ` Liliana Marie Prikler
@ 2023-06-08 21:27     ` Ludovic Courtès
  1 sibling, 0 replies; 17+ messages in thread
From: Ludovic Courtès @ 2023-06-08 21:27 UTC (permalink / raw)
  To: Zongyuan Li; +Cc: 61682-done, liliana.prikler

[-- Attachment #1: Type: text/plain, Size: 298 bytes --]

Hi,

Zongyuan Li <zongyuan.li@c0x0o.me> skribis:

> gnu: buildah: Add 'buildah' package
>
> Introduce new 'buildah' package
>
> * gnu/packages/containers.scm: New 'buildah' package

Finally applied with the changes below, most of which were suggested by
Liliana.

Thanks,
Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 2647 bytes --]

diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 839d81cd0e..eb7699c505 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -414,8 +414,10 @@ (define-public buildah
     (arguments
      (list #:import-path "github.com/containers/buildah/cmd/buildah"
            #:unpack-path "github.com/containers/buildah"
-            ; Some dependencies require go-1.18 to build
+
+           ;; Some dependencies require go-1.18 to build.
            #:go go-1.18
+
            #:tests? #f
            #:install-source? #f
            #:phases
@@ -433,14 +435,12 @@ (define-public buildah
                      (("/usr/local") (string-append #$output)))))
                (add-after 'build 'build-docs
                  (lambda* (#:key unpack-path #:allow-other-keys)
-                    (let*
-                      ((doc-path (string-append "src/" unpack-path "/docs")))
-                      (invoke "make" "-C" doc-path))))
+                   (let ((doc (string-append "src/" unpack-path "/docs")))
+                     (invoke "make" "-C" doc))))
                (add-after 'install 'install-docs
                  (lambda* (#:key unpack-path #:allow-other-keys)
-                    (let*
-                      ((doc-path (string-append "src/" unpack-path "/docs")))
-                      (invoke "make" "-C" doc-path "install")))))))
+                   (let ((doc (string-append "src/" unpack-path "/docs")))
+                     (invoke "make" "-C" doc "install")))))))
     (inputs (list btrfs-progs
                   cni-plugins
                   conmon
@@ -455,10 +455,23 @@ (define-public buildah
      (list go-github-com-go-md2man
            gnu-make
            pkg-config))
-    (synopsis
-     "Build Open Container Initiative images")
+    (synopsis "Build @acronym{OCI, Open Container Initiative} images")
     (description
-     "Buildah is used to build Open Container Initiative
-@acronym{OCI, Open Container Initiative} compatible containers.")
+     "Buildah is a command-line tool to build @acronym{OCI, Open Container
+Initiative} container images.  More generally, it can be used to:
+
+@itemize
+@item
+create a working container, either from scratch or using an image as a
+starting point;
+@item
+create an image, either from a working container or via the instructions
+in a @file{Dockerfile};
+@item
+mount a working container's root filesystem for manipulation;
+@item
+use the updated contents of a container's root filesystem as a filesystem
+layer to create a new image.
+@end itemize")
     (home-page "https://buildah.io")
     (license license:asl2.0)))

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

end of thread, other threads:[~2023-06-08 21:28 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
2023-02-23  7:04 ` [bug#61682] [PATCH v2] " Zongyuan Li via Guix-patches via
2023-02-23 11:31 ` Zongyuan Li via Guix-patches via
2023-02-23 12:26 ` Zongyuan Li via Guix-patches via
2023-02-24  5:20   ` Liliana Marie Prikler
2023-02-24  7:12     ` Zongyuan Li via Guix-patches via
2023-02-23 12:50 ` Zongyuan Li via Guix-patches via
2023-03-24 10:14 ` [bug#61682] [PATCH v3 0/1] " Zongyuan Li via Guix-patches via
2023-03-24 10:14   ` [bug#61682] [PATCH v3 1/1] " Zongyuan Li via Guix-patches via
2023-03-24 18:00     ` Liliana Marie Prikler
2023-03-25  9:15       ` Zongyuan Li via Guix-patches via
2023-03-25 10:46         ` Liliana Marie Prikler
2023-03-25 11:02           ` Zongyuan Li via Guix-patches via
2023-03-25 10:23 ` [bug#61682] [PATCH v4 0/1] " Zongyuan Li via Guix-patches via
2023-03-25 10:25   ` [bug#61682] [PATCH v4 1/1] " Zongyuan Li via Guix-patches via
2023-03-25 11:09     ` Liliana Marie Prikler
2023-06-08 21:27     ` bug#61682: [PATCH] " Ludovic Courtès

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