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