* [bug#56286] [PATCHSET] Add pkgconf
@ 2022-06-28 17:41 ( via Guix-patches via
2022-06-28 18:08 ` [bug#56286] [PATCH 1/3] gnu: pkg-config: Qualify import of (guix licenses) ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 1/6] gnu: Add atf ( via Guix-patches via
0 siblings, 2 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 17:41 UTC (permalink / raw)
To: 56286
This patchset adds the pkgconf <https://pkgconf.org> compiler
configuration toolkit.
-- (
^ permalink raw reply [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH 1/3] gnu: pkg-config: Qualify import of (guix licenses).
2022-06-28 17:41 [bug#56286] [PATCHSET] Add pkgconf ( via Guix-patches via
@ 2022-06-28 18:08 ` ( via Guix-patches via
2022-06-28 18:08 ` [bug#56286] [PATCH 2/3] gnu: pkg-config: Rearrange imports ( via Guix-patches via
2022-06-28 18:08 ` [bug#56286] [PATCH 3/3] gnu: Add pkgconf ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 1/6] gnu: Add atf ( via Guix-patches via
1 sibling, 2 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 18:08 UTC (permalink / raw)
To: 56286; +Cc: (
* 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(-)
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
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH 2/3] gnu: pkg-config: Rearrange imports.
2022-06-28 18:08 ` [bug#56286] [PATCH 1/3] gnu: pkg-config: Qualify import of (guix licenses) ( via Guix-patches via
@ 2022-06-28 18:08 ` ( via Guix-patches via
2022-06-28 18:08 ` [bug#56286] [PATCH 3/3] gnu: Add pkgconf ( via Guix-patches via
1 sibling, 0 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 18:08 UTC (permalink / raw)
To: 56286; +Cc: (
* gnu/packages/pkg-config.scm: Rearrange imports into a logical
ordering.
---
gnu/packages/pkg-config.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
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
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH 3/3] gnu: Add pkgconf.
2022-06-28 18:08 ` [bug#56286] [PATCH 1/3] gnu: pkg-config: Qualify import of (guix licenses) ( via Guix-patches via
2022-06-28 18:08 ` [bug#56286] [PATCH 2/3] gnu: pkg-config: Rearrange imports ( via Guix-patches via
@ 2022-06-28 18:08 ` ( via Guix-patches via
2022-06-28 19:13 ` Liliana Marie Prikler
1 sibling, 1 reply; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 18:08 UTC (permalink / raw)
To: 56286; +Cc: (
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(+)
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
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH 3/3] gnu: Add pkgconf.
2022-06-28 18:08 ` [bug#56286] [PATCH 3/3] gnu: Add pkgconf ( via Guix-patches via
@ 2022-06-28 19:13 ` Liliana Marie Prikler
2022-06-28 19:20 ` ( via Guix-patches via
0 siblings, 1 reply; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-06-28 19:13 UTC (permalink / raw)
To: (, 56286
Am Dienstag, dem 28.06.2022 um 19:08 +0100 schrieb (:
> 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 :)
> * 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.
> + ;; 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.
> + (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 :)
> + (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
^ permalink raw reply [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH 3/3] gnu: Add pkgconf.
2022-06-28 19:13 ` Liliana Marie Prikler
@ 2022-06-28 19:20 ` ( via Guix-patches via
2022-06-28 19:45 ` Liliana Marie Prikler
0 siblings, 1 reply; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 19:20 UTC (permalink / raw)
To: Liliana Marie Prikler, 56286
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?
> > + (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?
-- (
^ permalink raw reply [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH 3/3] gnu: Add pkgconf.
2022-06-28 19:20 ` ( via Guix-patches via
@ 2022-06-28 19:45 ` Liliana Marie Prikler
2022-06-28 19:46 ` Liliana Marie Prikler
0 siblings, 1 reply; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-06-28 19:45 UTC (permalink / raw)
To: (, 56286
Am Dienstag, dem 28.06.2022 um 20:20 +0100 schrieb (:
> 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))
> > > + (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
^ permalink raw reply [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH 3/3] gnu: Add pkgconf.
2022-06-28 19:45 ` Liliana Marie Prikler
@ 2022-06-28 19:46 ` Liliana Marie Prikler
2022-06-28 20:14 ` ( via Guix-patches via
0 siblings, 1 reply; 20+ messages in thread
From: Liliana Marie Prikler @ 2022-06-28 19:46 UTC (permalink / raw)
To: (, 56286
Am Dienstag, dem 28.06.2022 um 21:45 +0200 schrieb Liliana Marie
Prikler:
> 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
^ permalink raw reply [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH 3/3] gnu: Add pkgconf.
2022-06-28 19:46 ` Liliana Marie Prikler
@ 2022-06-28 20:14 ` ( via Guix-patches via
0 siblings, 0 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 20:14 UTC (permalink / raw)
To: Liliana Marie Prikler, 56286
On Tue Jun 28, 2022 at 8:46 PM BST, Liliana Marie Prikler wrote:
> 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 :)
-- (
^ permalink raw reply [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 1/6] gnu: Add atf.
2022-06-28 17:41 [bug#56286] [PATCHSET] Add pkgconf ( via Guix-patches via
2022-06-28 18:08 ` [bug#56286] [PATCH 1/3] gnu: pkg-config: Qualify import of (guix licenses) ( via Guix-patches via
@ 2022-06-28 20:34 ` ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 2/6] gnu: Add lutok ( via Guix-patches via
` (4 more replies)
1 sibling, 5 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 20:34 UTC (permalink / raw)
To: 56286; +Cc: (
* gnu/packages/check.scm (atf): New variable.
---
gnu/packages/check.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
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
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 2/6] gnu: Add lutok.
2022-06-28 20:34 ` [bug#56286] [PATCH v2 1/6] gnu: Add atf ( via Guix-patches via
@ 2022-06-28 20:34 ` ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 3/6] gnu: Add kyua ( via Guix-patches via
` (3 subsequent siblings)
4 siblings, 0 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 20:34 UTC (permalink / raw)
To: 56286; +Cc: (
* gnu/packages/lua.scm (lutok): New variable.
---
gnu/packages/lua.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
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
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 3/6] gnu: Add kyua.
2022-06-28 20:34 ` [bug#56286] [PATCH v2 1/6] gnu: Add atf ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 2/6] gnu: Add lutok ( via Guix-patches via
@ 2022-06-28 20:34 ` ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 4/6] gnu: pkg-config: Qualify import of (guix licenses) ( via Guix-patches via
` (2 subsequent siblings)
4 siblings, 0 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 20:34 UTC (permalink / raw)
To: 56286; +Cc: (
* gnu/packages/check.scm (kyua): New variable.
---
gnu/packages/check.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
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
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 4/6] gnu: pkg-config: Qualify import of (guix licenses).
2022-06-28 20:34 ` [bug#56286] [PATCH v2 1/6] gnu: Add atf ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 2/6] gnu: Add lutok ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 3/6] gnu: Add kyua ( via Guix-patches via
@ 2022-06-28 20:34 ` ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 5/6] gnu: pkg-config: Rearrange imports ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf ( via Guix-patches via
4 siblings, 0 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 20:34 UTC (permalink / raw)
To: 56286; +Cc: (
* 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(-)
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
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 5/6] gnu: pkg-config: Rearrange imports.
2022-06-28 20:34 ` [bug#56286] [PATCH v2 1/6] gnu: Add atf ( via Guix-patches via
` (2 preceding siblings ...)
2022-06-28 20:34 ` [bug#56286] [PATCH v2 4/6] gnu: pkg-config: Qualify import of (guix licenses) ( via Guix-patches via
@ 2022-06-28 20:34 ` ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf ( via Guix-patches via
4 siblings, 0 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 20:34 UTC (permalink / raw)
To: 56286; +Cc: (
* gnu/packages/pkg-config.scm: Rearrange imports into a logical
ordering.
---
gnu/packages/pkg-config.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
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
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf.
2022-06-28 20:34 ` [bug#56286] [PATCH v2 1/6] gnu: Add atf ( via Guix-patches via
` (3 preceding siblings ...)
2022-06-28 20:34 ` [bug#56286] [PATCH v2 5/6] gnu: pkg-config: Rearrange imports ( via Guix-patches via
@ 2022-06-28 20:34 ` ( via Guix-patches via
2022-06-28 23:34 ` Maxime Devos
2023-09-02 3:28 ` Vagrant Cascadian
4 siblings, 2 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-28 20:34 UTC (permalink / raw)
To: 56286; +Cc: (
* gnu/packages/pkg-config.scm (pkgconf): New variable.
---
gnu/packages/pkg-config.scm | 47 +++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
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
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf.
2022-06-28 20:34 ` [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf ( via Guix-patches via
@ 2022-06-28 23:34 ` Maxime Devos
2022-06-29 5:41 ` ( via Guix-patches via
2022-08-03 16:21 ` Efraim Flashner
2023-09-02 3:28 ` Vagrant Cascadian
1 sibling, 2 replies; 20+ messages in thread
From: Maxime Devos @ 2022-06-28 23:34 UTC (permalink / raw)
To: (, 56286
[-- Attachment #1: Type: text/plain, Size: 885 bytes --]
( 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).
Greetings,
Maxime.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf.
2022-06-28 23:34 ` Maxime Devos
@ 2022-06-29 5:41 ` ( via Guix-patches via
2022-08-03 16:21 ` Efraim Flashner
1 sibling, 0 replies; 20+ messages in thread
From: ( via Guix-patches via @ 2022-06-29 5:41 UTC (permalink / raw)
To: Maxime Devos, 56286
On Wed Jun 29, 2022 at 12:34 AM BST, Maxime Devos wrote:
> 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.
> (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.
-- (
^ permalink raw reply [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf.
2022-06-28 23:34 ` Maxime Devos
2022-06-29 5:41 ` ( via Guix-patches via
@ 2022-08-03 16:21 ` Efraim Flashner
1 sibling, 0 replies; 20+ messages in thread
From: Efraim Flashner @ 2022-08-03 16:21 UTC (permalink / raw)
To: Maxime Devos; +Cc: 56286, (
[-- Attachment #1: Type: text/plain, Size: 1390 bytes --]
On Wed, Jun 29, 2022 at 01:34:45AM +0200, Maxime Devos wrote:
> ( 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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf.
2022-06-28 20:34 ` [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf ( via Guix-patches via
2022-06-28 23:34 ` Maxime Devos
@ 2023-09-02 3:28 ` Vagrant Cascadian
2024-02-26 16:06 ` bug#56286: Add kyua, lutok, atf Maxim Cournoyer
1 sibling, 1 reply; 20+ messages in thread
From: Vagrant Cascadian @ 2023-09-02 3:28 UTC (permalink / raw)
To: (, 56286; +Cc: control
[-- Attachment #1: Type: text/plain, Size: 795 bytes --]
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.
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#56286: Add kyua, lutok, atf
2023-09-02 3:28 ` Vagrant Cascadian
@ 2024-02-26 16:06 ` Maxim Cournoyer
0 siblings, 0 replies; 20+ messages in thread
From: Maxim Cournoyer @ 2024-02-26 16:06 UTC (permalink / raw)
To: Vagrant Cascadian; +Cc: 56286-done, (
Hi,
Vagrant Cascadian <vagrant@debian.org> writes:
> 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/68813 series, 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
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2024-02-26 16:11 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-28 17:41 [bug#56286] [PATCHSET] Add pkgconf ( via Guix-patches via
2022-06-28 18:08 ` [bug#56286] [PATCH 1/3] gnu: pkg-config: Qualify import of (guix licenses) ( via Guix-patches via
2022-06-28 18:08 ` [bug#56286] [PATCH 2/3] gnu: pkg-config: Rearrange imports ( via Guix-patches via
2022-06-28 18:08 ` [bug#56286] [PATCH 3/3] gnu: Add pkgconf ( via Guix-patches via
2022-06-28 19:13 ` Liliana Marie Prikler
2022-06-28 19:20 ` ( via Guix-patches via
2022-06-28 19:45 ` Liliana Marie Prikler
2022-06-28 19:46 ` Liliana Marie Prikler
2022-06-28 20:14 ` ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 1/6] gnu: Add atf ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 2/6] gnu: Add lutok ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 3/6] gnu: Add kyua ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 4/6] gnu: pkg-config: Qualify import of (guix licenses) ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 5/6] gnu: pkg-config: Rearrange imports ( via Guix-patches via
2022-06-28 20:34 ` [bug#56286] [PATCH v2 6/6] gnu: Add pkgconf ( via Guix-patches via
2022-06-28 23:34 ` Maxime Devos
2022-06-29 5:41 ` ( via Guix-patches via
2022-08-03 16:21 ` Efraim Flashner
2023-09-02 3:28 ` Vagrant Cascadian
2024-02-26 16:06 ` bug#56286: Add kyua, lutok, atf Maxim Cournoyer
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).