Add kyua, lutok, atf

  • Done
  • quality assurance status badge
Details
6 participants
  • Efraim Flashner
  • Liliana Marie Prikler
  • Maxim Cournoyer
  • Maxime Devos
  • (
  • Vagrant Cascadian
Owner
unassigned
Submitted by
(
Severity
normal
(
[PATCHSET] Add pkgconf
(address . guix-patches@gnu.org)
CL1YAOXNREOB.20REY1UUNZSW6@guix-aspire
This patchset adds the pkgconf https://pkgconf.org compiler
configuration toolkit.

-- (
(
[PATCH 3/3] gnu: Add pkgconf.
(address . 56286@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220628180831.9792-3-paren@disroot.org
Note that this package produces a `guix lint` warning that is basically
unfixable:

```
/home/paren/code/guix/gnu/packages/pkg-config.scm:213:16:
pkgconf@1.8.0-0.b0802cb: TLS certificate error: X.509 server certificate
for 'pkgconf.org' does not match:
C=US,ST=California,L=San Francisco,O=GitHub\, Inc.,CN=*.github.com
```

This is because pkgconf.org is actually hosted via Github Pages.

* gnu/packages/pkg-config.scm (pkgconf): New variable.
---
gnu/packages/pkg-config.scm | 48 +++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index dcd6ba3353..8c826ca25d 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -24,9 +24,11 @@ (define-module (gnu packages pkg-config)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix memoization)
#:use-module (guix packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:export (pkg-config))
@@ -168,3 +170,49 @@ (define where (string-append #$output "/bin/pkg-config"))
(inherit original)
(variable "PKG_CONFIG_PATH_FOR_BUILD")))
(package-native-search-paths %pkg-config)))))
+
+(define-public pkgconf
+ ;; The last release was tagged on 2021-07-25, and there's been a lot of activity
+ ;; since then.
+ (let ((commit "b0802cb3d19b5b963ad20eed464a2da6e7d7b0b5")
+ (revision "0"))
+ (package
+ (name "pkgconf")
+ (version (git-version "1.8.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pkgconf/pkgconf")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xcpvzahrp34jhdfsazdhbj9byr2wqwmjx7jfarhpc1x4z3l37a0"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; Kyua, which pkgconf uses for testing, is not packaged in Guix,
+ ;; though it should be trivial to add; the problem is that it "cannot
+ ;; find test programs" that it needs when run during this package's
+ ;; check phase.
+ ;;
+ ;; The silver lining is that omitting Kyua means we drop dependencies
+ ;; on pkg-config, Lua, and C++. It does not, in fact, seem as if the
+ ;; tests are even supposed to be run by anyone but the pkgconf
+ ;; developers, as <https://pkgconf.org> touts pkgconf's dependency-free
+ ;; nature as an advantage over pkg-config.
+ (list #:tests? #f))
+ (native-inputs (list ;; pkgconf's autotools setup forbids the use of any
+ ;; earlier version of autoconf than 2.71.
+ autoconf-2.71
+ automake
+ libtool))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "PKG_CONFIG_PATH")
+ (files '("lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig")))))
+ (home-page "https://pkgconf.org")
+ (synopsis "Package compiler and linker metadata toolkit")
+ (description "@code{pkgconf} is a compiler and linker configuration toolkit,
+mostly compatible with freedesktop.org's @code{pkg-config}. A library called
+@code{libpkgconf} is provided so that programs can embed its functionality.")
+ (license license:isc))))
--
2.36.1
(
[PATCH 1/3] gnu: pkg-config: Qualify import of (guix licenses).
(address . 56286@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220628180831.9792-1-paren@disroot.org
* gnu/packages/pkg-config.scm: Qualify (guix licenses) import with
license: prefix.
(%pkg-config)[license]: Use qualified license:gpl2+ variable.
---
gnu/packages/pkg-config.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index 770426d779..1526d6f6e0 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2022 ( <paren@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,7 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages pkg-config)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -69,7 +70,7 @@ (define-public %pkg-config
(variable "PKG_CONFIG_PATH")
(files '("lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig")))))
(home-page "https://www.freedesktop.org/wiki/Software/pkg-config")
- (license gpl2+)
+ (license license:gpl2+)
(synopsis "Helper tool used when compiling applications and libraries")
(description
"pkg-config is a helper tool used when compiling applications and
--
2.36.1
(
[PATCH 2/3] gnu: pkg-config: Rearrange imports.
(address . 56286@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220628180831.9792-2-paren@disroot.org
* gnu/packages/pkg-config.scm: Rearrange imports into a logical
ordering.
---
gnu/packages/pkg-config.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index 1526d6f6e0..dcd6ba3353 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -20,14 +20,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages pkg-config)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
+ #:use-module (guix build-system trivial)
+ #:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system trivial)
- #:use-module (gnu packages bash)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix memoization)
+ #:use-module (guix packages)
+ #:use-module (gnu packages bash)
#:export (pkg-config))
;; This is the "primitive" pkg-config package. People should use `pkg-config'
--
2.36.1
L
L
Liliana Marie Prikler wrote on 28 Jun 2022 21:13
Re: [PATCH 3/3] gnu: Add pkgconf.
0d359aa389bbeae5cc6852067c995286e0cc3922.camel@gmail.com
Am Dienstag, dem 28.06.2022 um 19:08 +0100 schrieb (:
Toggle quote (12 lines)
> Note that this package produces a `guix lint` warning that is
> basically unfixable:
>
> ```
> /home/paren/code/guix/gnu/packages/pkg-config.scm:213:16:
> pkgconf@1.8.0-0.b0802cb: TLS certificate error: X.509 server
> certificate
> for 'pkgconf.org' does not match:
> C=US,ST=California,L=San Francisco,O=GitHub\, Inc.,CN=*.github.com
> ```
>
> This is because pkgconf.org is actually hosted via Github Pages.
Note that plain HTTP works :)

Toggle quote (58 lines)
> * gnu/packages/pkg-config.scm (pkgconf): New variable.
> ---
>  gnu/packages/pkg-config.scm | 48
> +++++++++++++++++++++++++++++++++++++
>  1 file changed, 48 insertions(+)
>
> diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-
> config.scm
> index dcd6ba3353..8c826ca25d 100644
> --- a/gnu/packages/pkg-config.scm
> +++ b/gnu/packages/pkg-config.scm
> @@ -24,9 +24,11 @@ (define-module (gnu packages pkg-config)
>    #:use-module (guix build-system gnu)
>    #:use-module (guix download)
>    #:use-module (guix gexp)
> +  #:use-module (guix git-download)
>    #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (guix memoization)
>    #:use-module (guix packages)
> +  #:use-module (gnu packages autotools)
>    #:use-module (gnu packages bash)
>    #:export (pkg-config))
>  
> @@ -168,3 +170,49 @@ (define where (string-append #$output "/bin/pkg-
> config"))
>               (inherit original)
>               (variable "PKG_CONFIG_PATH_FOR_BUILD")))
>            (package-native-search-paths %pkg-config)))))
> +
> +(define-public pkgconf
> +  ;; The last release was tagged on 2021-07-25, and there's been a
> lot of activity
> +  ;; since then.
> +  (let ((commit "b0802cb3d19b5b963ad20eed464a2da6e7d7b0b5")
> +        (revision "0"))
> +    (package
> +     (name "pkgconf")
> +     (version (git-version "1.8.0" revision commit))
> +     (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/pkgconf/pkgconf")
> +                    (commit commit)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +               
> "1xcpvzahrp34jhdfsazdhbj9byr2wqwmjx7jfarhpc1x4z3l37a0"))))
> +     (build-system gnu-build-system)
> +     (arguments
> +      ;; Kyua, which pkgconf uses for testing, is not packaged in
> Guix,
> +      ;; though it should be trivial to add; the problem is that it
> "cannot
> +      ;; find test programs" that it needs when run during this
> package's
> +      ;; check phase.
> +      ;;
Did you try running check after install? That is often required by
package which don't do pre-inst-env well.
Toggle quote (8 lines)
> +      ;; The silver lining is that omitting Kyua means we drop
> dependencies
> +      ;; on pkg-config, Lua, and C++. It does not, in fact, seem as
> if the
> +      ;; tests are even supposed to be run by anyone but the pkgconf
> +      ;; developers, as <https://pkgconf.org> touts pkgconf's
> dependency-free
> +      ;; nature as an advantage over pkg-config.
I think this is a misinterpretation on your part or a confusing wording
on theirs. Basically, pkgconf does not *link* against any "huge"
binary, so it's fine. Never mind that glib is a sane dependency to
have or that it also complains about pkg-config's license, which is
most meaningless in the context of tools you invoke at build time.
Toggle quote (12 lines)
> +      (list #:tests? #f))
> +     (native-inputs (list ;; pkgconf's autotools setup forbids the
> use of any
> +                          ;; earlier version of autoconf than 2.71.
> +                          autoconf-2.71
> +                          automake
> +                          libtool))
> +     (native-search-paths
> +      (list (search-path-specification
> +             (variable "PKG_CONFIG_PATH")
> +             (files '("lib/pkgconfig" "lib64/pkgconfig"
> "share/pkgconfig")))))
I'm not sure if we want to provide $PKG_CONFIG_PATH as a variable, but
there's at least two definitions within the same file now :)
Toggle quote (10 lines)
> +     (home-page "https://pkgconf.org")
> +     (synopsis "Package compiler and linker metadata toolkit")
> +     (description "@code{pkgconf} is a compiler and linker
> configuration toolkit,
> +mostly compatible with freedesktop.org's @code{pkg-config}.  A
> library called
> +@code{libpkgconf} is provided so that programs can embed its
> functionality.")
> +     (license license:isc))))

Cheers
(
CL20EI57NEWA.9KF4S1OONBT4@guix-aspire
On Tue Jun 28, 2022 at 8:13 PM BST, Liliana Marie Prikler wrote:
Toggle quote (6 lines)
> I think this is a misinterpretation on your part or a confusing wording
> on theirs. Basically, pkgconf does not *link* against any "huge"
> binary, so it's fine. Never mind that glib is a sane dependency to
> have or that it also complains about pkg-config's license, which is
> most meaningless in the context of tools you invoke at build time.

You make an excellent point there. I'll add the guixrus kyua package and
its dependencies in a moment. Hopefully your note about using check
after install will work. Is there an easy way to switch them around?

Toggle quote (14 lines)
> > +      (list #:tests? #f))
> > +     (native-inputs (list ;; pkgconf's autotools setup forbids the
> > use of any
> > +                          ;; earlier version of autoconf than 2.71.
> > +                          autoconf-2.71
> > +                          automake
> > +                          libtool))
> > +     (native-search-paths
> > +      (list (search-path-specification
> > +             (variable "PKG_CONFIG_PATH")
> > +             (files '("lib/pkgconfig" "lib64/pkgconfig"
> > "share/pkgconfig")))))
> I'm not sure if we want to provide $PKG_CONFIG_PATH as a variable, but
> there's at least two definitions within the same file now :)
What alternative would there be to providing $PKG_CONFIG_PATH as a
variable?

-- (
L
L
Liliana Marie Prikler wrote on 28 Jun 2022 21:45
4e2b6ef0e27ca5b3fa964d2f74a92a362e672e4c.camel@gmail.com
Am Dienstag, dem 28.06.2022 um 20:20 +0100 schrieb (:
Toggle quote (12 lines)
> On Tue Jun 28, 2022 at 8:13 PM BST, Liliana Marie Prikler wrote:
> > I think this is a misinterpretation on your part or a confusing
> > wording
> > on theirs.  Basically, pkgconf does not *link* against any "huge"
> > binary, so it's fine.  Never mind that glib is a sane dependency to
> > have or that it also complains about pkg-config's license, which is
> > most meaningless in the context of tools you invoke at build time.
>
> You make an excellent point there. I'll add the guixrus kyua package
> and its dependencies in a moment. Hopefully your note about using
> check after install will work. Is there an easy way to switch them
> around?
The standard way would be
(delete 'check)
(add-after 'install 'check (assoc-ref %standard-phases 'check))

Toggle quote (19 lines)
> > > +      (list #:tests? #f))
> > > +     (native-inputs (list ;; pkgconf's autotools setup forbids
> > > the
> > > use of any
> > > +                          ;; earlier version of autoconf than
> > > 2.71.
> > > +                          autoconf-2.71
> > > +                          automake
> > > +                          libtool))
> > > +     (native-search-paths
> > > +      (list (search-path-specification
> > > +             (variable "PKG_CONFIG_PATH")
> > > +             (files '("lib/pkgconfig" "lib64/pkgconfig"
> > > "share/pkgconfig")))))
> > I'm not sure if we want to provide $PKG_CONFIG_PATH as a variable,
> > but
> > there's at least two definitions within the same file now :)
> What alternative would there be to providing $PKG_CONFIG_PATH as a
> variable?
I mean as a Scheme variable, rather than typing it out twice. It's not
the biggest priority right now, but if another pkg-config
implementation rolls around, we might want to consider $PKG_CONFIG_PATH
a "standard" search-path.

Cheers
L
L
Liliana Marie Prikler wrote on 28 Jun 2022 21:46
3840bb9e97d7ecf608714647eff1d83df6db5391.camel@gmail.com
Am Dienstag, dem 28.06.2022 um 21:45 +0200 schrieb Liliana Marie
Prikler:
Toggle quote (4 lines)
> I mean as a Scheme variable, rather than typing it out twice.  It's
> not the biggest priority right now, but if another pkg-config
> implementation rolls around, we might want to consider
> $PKG_CONFIG_PATH a "standard" search-path.
Following up to that, I think I am slightly annoyed by typing out the
same thing twice. You could use (package-native-search-paths pkg-
config) instead, especially since they're in the same module and all.

Cheers
(
CL21JZ49OUQY.220PBUZL0D20C@guix-aspire
On Tue Jun 28, 2022 at 8:46 PM BST, Liliana Marie Prikler wrote:
Toggle quote (4 lines)
> Following up to that, I think I am slightly annoyed by typing out the
> same thing twice. You could use (package-native-search-paths pkg-
> config) instead, especially since they're in the same module and all.

Ah, nice idea! Thanks :)

-- (
(
[PATCH v2 2/6] gnu: Add lutok.
(address . 56286@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220628203426.31906-2-paren@disroot.org
* gnu/packages/lua.scm (lutok): New variable.
---
gnu/packages/lua.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index afebc6bc1f..31a0fe1034 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -45,9 +45,11 @@ (define-module (gnu packages lua)
#:use-module (guix build-system meson)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
+ #:use-module (gnu packages check)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libevent)
@@ -1284,3 +1286,35 @@ (define-public fnlfmt
"Fnlfmt is a tool for automatically formatting Fennel code in a consistent
way, following established lisp conventions.")
(license license:lgpl3+)))
+
+(define-public lutok
+ ;; The last tag was in 2014, the last commit in 2016.
+ (let ((commit "8f8eaefe8b7c76e286b96fcbe2e860af98de29ea")
+ (revision "0"))
+ (package
+ (name "lutok")
+ (version (git-version "0.4" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jmmv/lutok")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08ajd8bb4pzrbak3kq5arxgy82wg43vfdxilyfx1p6pyp6g18jj8"))))
+ (build-system gnu-build-system)
+ (inputs (list lua-5.2))
+ (native-inputs (list atf autoconf automake libtool pkg-config))
+ (arguments
+ ;; Tests require Kyua, which itself depends on Lutok.
+ (list #:tests? #f))
+ (home-page "https://github.com/jmmv/lutok")
+ (synopsis "Lightweight C++ API for Lua")
+ (description
+ "Lutok provides a lightweight wrapper around Lua's C interfaces that eases
+the interaction between C++ and Lua. These wrappers make intensive use of RAII
+to prevent resource leakage, expose C++-friendly data types, report errors by
+means of exceptions and ensure that the Lua stack is always left untouched in
+the face of errors.")
+ (license license:bsd-3))))
--
2.36.1
(
[PATCH v2 1/6] gnu: Add atf.
(address . 56286@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220628203426.31906-1-paren@disroot.org
* gnu/packages/check.scm (atf): New variable.
---
gnu/packages/check.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 6ad2b1acd8..3cc68987b3 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -38,6 +38,7 @@
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2022 ( <paren@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3168,3 +3169,28 @@ (define-public python-pytest-regressions
tables by saving expected data in a data directory (courtesy of pytest-datadir)
that can be used to verify that future runs produce the same data.")
(license license:expat)))
+
+(define-public atf
+ ;; Last tag was in 2014, last commit was in 2019.
+ (let ((commit "aa8e0fe2c17821a2e818375f901c8f37494ae33b")
+ (revision "0"))
+ (package
+ (name "atf")
+ (version (git-version "0.21" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jmmv/atf")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08vjkxjf5k8clp0a824frk0n70r5kdanx2s1da0i7ph34ahcqpsc"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake libtool))
+ (home-page "https://github.com/jmmv/atf")
+ (synopsis "Libraries for writing tests in C, C++ and shell")
+ (description
+ "ATF, or Automated Testing Framework, is a collection of libraries to
+write test programs in C, C++ and POSIX shell.")
+ (license license:bsd-3))))
--
2.36.1
(
[PATCH v2 3/6] gnu: Add kyua.
(address . 56286@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220628203426.31906-3-paren@disroot.org
* gnu/packages/check.scm (kyua): New variable.
---
gnu/packages/check.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (57 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 3cc68987b3..cfef07a6b0 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -67,6 +67,7 @@ (define-module (gnu packages check)
#:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -75,6 +76,7 @@ (define-module (gnu packages check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-science)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages time)
#:use-module (gnu packages xml)
#:use-module (guix utils)
@@ -3194,3 +3196,34 @@ (define-public atf
"ATF, or Automated Testing Framework, is a collection of libraries to
write test programs in C, C++ and POSIX shell.")
(license license:bsd-3))))
+
+(define-public kyua
+ ;; The last tag was in 2016; the last commit was in 2019.
+ (let ((commit "a685f911237e7badddbfb71f1301f640c71673d0")
+ (revision "0"))
+ (package
+ (name "kyua")
+ (version (git-version "0.13" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jmmv/kyua")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "174swi6fz5xhh9rvhzlqfg1ka06hh1aaj46mvi871mvqiwhh8psi"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; Many of the tests fail, likely due to bitrot, bad interactions with the
+ ;; isolated build environment, or a combination of the two.
+ (list #:tests? #f))
+ (inputs (list lua-5.2 lutok sqlite))
+ (native-inputs (list atf autoconf automake libtool pkg-config))
+ (home-page "https://github.com/jmmv/kyua")
+ (synopsis "Testing framework for infrastructure software")
+ (description "Kyua is a testing framework for infrastructure software,
+originally designed to equip BSD-based operating systems with a testing framework.
+It features a test suite definition language based on Lua, a runtime engine for
+test suites, and a powerful report generation engine.")
+ (license license:bsd-3))))
--
2.36.1
(
[PATCH v2 5/6] gnu: pkg-config: Rearrange imports.
(address . 56286@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220628203426.31906-5-paren@disroot.org
* gnu/packages/pkg-config.scm: Rearrange imports into a logical
ordering.
---
gnu/packages/pkg-config.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index 1526d6f6e0..dcd6ba3353 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -20,14 +20,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages pkg-config)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
+ #:use-module (guix build-system trivial)
+ #:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system trivial)
- #:use-module (gnu packages bash)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix memoization)
+ #:use-module (guix packages)
+ #:use-module (gnu packages bash)
#:export (pkg-config))
;; This is the "primitive" pkg-config package. People should use `pkg-config'
--
2.36.1
(
[PATCH v2 4/6] gnu: pkg-config: Qualify import of (guix licenses).
(address . 56286@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220628203426.31906-4-paren@disroot.org
* gnu/packages/pkg-config.scm: Qualify (guix licenses) import with
license: prefix.
(%pkg-config)[license]: Use qualified license:gpl2+ variable.
---
gnu/packages/pkg-config.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index 770426d779..1526d6f6e0 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2022 ( <paren@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,7 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages pkg-config)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -69,7 +70,7 @@ (define-public %pkg-config
(variable "PKG_CONFIG_PATH")
(files '("lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig")))))
(home-page "https://www.freedesktop.org/wiki/Software/pkg-config")
- (license gpl2+)
+ (license license:gpl2+)
(synopsis "Helper tool used when compiling applications and libraries")
(description
"pkg-config is a helper tool used when compiling applications and
--
2.36.1
(
[PATCH v2 6/6] gnu: Add pkgconf.
(address . 56286@debbugs.gnu.org)(name . ()(address . paren@disroot.org)
20220628203426.31906-6-paren@disroot.org
* gnu/packages/pkg-config.scm (pkgconf): New variable.
---
gnu/packages/pkg-config.scm | 47 +++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index dcd6ba3353..a22aa6969b 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -24,10 +24,13 @@ (define-module (gnu packages pkg-config)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix memoization)
#:use-module (guix packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages check)
#:export (pkg-config))
;; This is the "primitive" pkg-config package. People should use `pkg-config'
@@ -168,3 +171,47 @@ (define where (string-append #$output "/bin/pkg-config"))
(inherit original)
(variable "PKG_CONFIG_PATH_FOR_BUILD")))
(package-native-search-paths %pkg-config)))))
+
+(define-public pkgconf
+ ;; The last release was tagged on 2021-07-25, and there's been a lot of activity
+ ;; since then.
+ (let ((commit "b0802cb3d19b5b963ad20eed464a2da6e7d7b0b5")
+ (revision "0"))
+ (package
+ (name "pkgconf")
+ (version (git-version "1.8.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pkgconf/pkgconf")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xcpvzahrp34jhdfsazdhbj9byr2wqwmjx7jfarhpc1x4z3l37a0"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'set-home
+ ;; Kyua tries to access $HOME.
+ (lambda _
+ (setenv "HOME" (getcwd))))
+ (add-after 'set-home 'check
+ ;; Kyua won't work unless we move 'check to after 'install.
+ (assoc-ref %standard-phases 'check)))))
+ (native-inputs (list atf
+ ;; pkgconf's autotools setup forbids the use of any
+ ;; earlier version of autoconf than 2.71.
+ autoconf-2.71
+ automake
+ kyua
+ libtool))
+ (native-search-paths (package-native-search-paths %pkg-config))
+ (home-page "https://pkgconf.org")
+ (synopsis "Package compiler and linker metadata toolkit")
+ (description "@code{pkgconf} is a compiler and linker configuration toolkit,
+mostly compatible with freedesktop.org's @code{pkg-config}. A library called
+@code{libpkgconf} is provided so that programs can embed its functionality.")
+ (license license:isc))))
--
2.36.1
M
M
Maxime Devos wrote on 29 Jun 2022 01:34
6d32a73d69dfd8cb73d2d7c876973778583eafdf.camel@telenet.be
( via Guix-patches via schreef op di 28-06-2022 om 21:34 [+0100]:
Toggle quote (2 lines)
> +     (native-search-paths (package-native-search-paths %pkg-config))

If it's anything like 'pkg-config', it should usually be in
'search-paths' for cross-compilation (for cross-pkg-config)
(native-search-paths would work too when compiling natively,
but only because currently then native-inputs and inputs are
merged together).

OTOH, I think those kind of changes are best done with some
concrete test cases in mind (maybe the package depending on pkgconf
that will be packaged later?) otherwise it's a bit speculative on what
will works and what not, but I believe it's something to keep in mind
for later.

(So TBC: I don't expect changes to the patch, but I expect changes will
be needed later, though only once we have concrete packages to actually
test them on).

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYruQFRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7ukFAP9HEOS59YC++yXoInxAFSefxJ7E
uxmR1Qwy18YwQfoUAwD+NW46IA7c0DIAMkqE71/Z1zed5kAfaWUHP82qd2N1EQ8=
=AFiC
-----END PGP SIGNATURE-----


(
CL2DM1H2RNYB.94KGSH1HAHOI@guix-aspire
On Wed Jun 29, 2022 at 12:34 AM BST, Maxime Devos wrote:
Toggle quote (5 lines)
> If it's anything like 'pkg-config', it should usually be in
> 'search-paths' for cross-compilation (for cross-pkg-config)
> (native-search-paths would work too when compiling natively,
> but only because currently then native-inputs and inputs are
> merged together).
Ah, yeah, I think we'd need a cross-pkgconf package.

Toggle quote (1 lines)
> (maybe the package depending on pkgconf that will be packaged later?)
I'm working on a project that needs to be able to use pkg-config
functionality, which is why I packaged pkgconf, so I guess we'll find
out when it's ready.

-- (
E
E
Efraim Flashner wrote on 3 Aug 2022 18:21
(name . Maxime Devos)(address . maximedevos@telenet.be)
YuqgcsW0Gzwqp9gZ@pbp
On Wed, Jun 29, 2022 at 01:34:45AM +0200, Maxime Devos wrote:
Toggle quote (19 lines)
> ( via Guix-patches via schreef op di 28-06-2022 om 21:34 [+0100]:
> > +     (native-search-paths (package-native-search-paths %pkg-config))
>
> If it's anything like 'pkg-config', it should usually be in
> 'search-paths' for cross-compilation (for cross-pkg-config)
> (native-search-paths would work too when compiling natively,
> but only because currently then native-inputs and inputs are
> merged together).
>
> OTOH, I think those kind of changes are best done with some
> concrete test cases in mind (maybe the package depending on pkgconf
> that will be packaged later?) otherwise it's a bit speculative on what
> will works and what not, but I believe it's something to keep in mind
> for later.
>
> (So TBC: I don't expect changes to the patch, but I expect changes will
> be needed later, though only once we have concrete packages to actually
> test them on).

I talked with some Debian folks at Debconf, pkgconf is supposed to be
able to function as a drop-in replacement for pkg-config, so I assume we
should be able to reuse the search-paths exactly from pkg-config.


--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmLqoHIACgkQQarn3Mo9
g1FKdA/+KZAehjCwyM8FeEi2jrD4sgxHZZa0TgIZ25al23S9jfQHx0+MTbBMAYf0
dKot7rAdC4MBdIFceaLavPyhsS8Pl+PIDPH1tDvRuIecp5T1k1Zl95oFE3CZ7ylV
yJb/0zy5DUicoRTq27zB0impnD61egpUyoJ4U50TsvqDoWH43XKL/o2gjIyhGDnJ
xvjDmTOnNXBQSM4Bw8l1s8+g1UNIT9hv/Pqf4+7dy7h/sjppeiPPPBFCsHrsrIw/
OC3YoCC4nwgozCW1qj/Ciw5cW841liZqE7bkJ97y0Njj3hPEH/ZnLy856G0vzmJB
mDZ+0ZiR9tG11iZo4HpBgRG7Ly+1dCWTHV+6++5c6kEUyFXx5DsK91Bw5JhKECoV
nNEnefd2qtU4IkE+N7uNU4oD3apTJyD/RXZynkwAGwVGOGtv4y+V2V4CHCgucT3R
faAnBwmxgY0BchvS+DRbq+VoqDT+8BvJufyfk6l39buYB8W2BYn7103K40u8TbBX
RuDcIBDoARqcRXUQVSqIalIpB5wxE26KbW4AEgC4WscHl/A6BX3mZzcPUXXcY5Yk
8iHo0FpdWmGYK3JF0GrCfKgqnTu+6PSHP2JJ6Br9pGHfMPfVYq5+9GgTGlooYBdM
f/UXltQsE5bs+8MAs7QA5o2HR3BzHSSTc3q4mZlzEn6oycq2w0M=
=lIk2
-----END PGP SIGNATURE-----


V
V
Vagrant Cascadian wrote on 2 Sep 2023 05:28
(address . control@debbugs.gnu.org)
87o7ilp82l.fsf@wireframe
retitle 56286 Add kyua, lutok, atf
thanks

On 2022-06-28, ( wrote:
Toggle quote (1 lines)
> * gnu/packages/pkg-config.scm (pkgconf): New variable.
....
Toggle quote (9 lines)
> +(define-public pkgconf
> + ;; The last release was tagged on 2021-07-25, and there's been a lot of activity
> + ;; since then.
> + (let ((commit "b0802cb3d19b5b963ad20eed464a2da6e7d7b0b5")
> + (revision "0"))
> + (package
> + (name "pkgconf")
> + (version (git-version "1.8.0" revision commit))

pkgconf was since merged and updated up to 2.2.0:

eda94d13d4b1845c398ceee34c6bff7364bceaa6 gnu: Add pkgconf.
eeb71d778f149834015858467fbeeb1276d96d1d gnu: pkgconf: Update to 2.0.2.

Though other packages were not yet merged, as well as possibly some
other miscelaneous changes, retitling bug to match the remaining items.


live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCZPKr4gAKCRDcUY/If5cW
qiJ9AQC6ys/T6kcjE8RW9k4UYi7KjVfs74eztJ2Y/bKk4RazlwD/dLt7MS/09HbV
UijqMLBgpJUW39RKeSLW2scXV5kqRA4=
=QVYC
-----END PGP SIGNATURE-----

M
M
Maxim Cournoyer wrote on 26 Feb 17:06 +0100
Re: bug#56286: Add kyua, lutok, atf
(name . Vagrant Cascadian)(address . vagrant@debian.org)
877cirky5i.fsf_-_@gmail.com
Hi,

Vagrant Cascadian <vagrant@debian.org> writes:

Toggle quote (20 lines)
> retitle 56286 Add kyua, lutok, atf
> thanks
>
> On 2022-06-28, ( wrote:
>> * gnu/packages/pkg-config.scm (pkgconf): New variable.
> ....
>> +(define-public pkgconf
>> + ;; The last release was tagged on 2021-07-25, and there's been a lot of activity
>> + ;; since then.
>> + (let ((commit "b0802cb3d19b5b963ad20eed464a2da6e7d7b0b5")
>> + (revision "0"))
>> + (package
>> + (name "pkgconf")
>> + (version (git-version "1.8.0" revision commit))
>
> pkgconf was since merged and updated up to 2.2.0:
>
> eda94d13d4b1845c398ceee34c6bff7364bceaa6 gnu: Add pkgconf.
> eeb71d778f149834015858467fbeeb1276d96d1d gnu: pkgconf: Update to 2.0.2.

I've also sent a series containing kyua (with its test suite enabled!),
lutok af atf (apologies for not noticing about this series earlier) in
the https://issues.guix.gnu.org/68813series, which also have our
pkg-config replaced with pkgconf-as-pkg-config, which reduces the need
to propagate things (there's no need to propagate *.private pkg-config
fields anymore).

I'm thus closing this series.

--
Thanks,
Maxim
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 56286@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 56286
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch