diff options
author | Ting-Wei Lan <lantw44@gmail.com> | 2021-02-19 21:41:52 +0800 |
---|---|---|
committer | Ting-Wei Lan <lantw44@gmail.com> | 2021-02-19 21:41:52 +0800 |
commit | 1eded90dc595e1cf32d238aa3d68f720ff7cdf78 (patch) | |
tree | eef37b19fddcef1adfdac12fe5f622ec5b0084b7 /guix | |
parent | 172768315ff3bde20cf31d983de9652938c89379 (diff) | |
download | copr-rpm-spec-1eded90dc595e1cf32d238aa3d68f720ff7cdf78.tar copr-rpm-spec-1eded90dc595e1cf32d238aa3d68f720ff7cdf78.tar.gz copr-rpm-spec-1eded90dc595e1cf32d238aa3d68f720ff7cdf78.tar.bz2 copr-rpm-spec-1eded90dc595e1cf32d238aa3d68f720ff7cdf78.tar.lz copr-rpm-spec-1eded90dc595e1cf32d238aa3d68f720ff7cdf78.tar.xz copr-rpm-spec-1eded90dc595e1cf32d238aa3d68f720ff7cdf78.tar.zst copr-rpm-spec-1eded90dc595e1cf32d238aa3d68f720ff7cdf78.zip |
guix: Guix 1.1.0 -> 1.2.0
Diffstat (limited to 'guix')
-rw-r--r-- | guix/guile-avahi/guile-avahi.spec | 75 | ||||
-rw-r--r-- | guix/guile-json/guile-json.spec | 15 | ||||
-rw-r--r-- | guix/guile-lzlib/guile-lzlib.spec | 56 | ||||
-rw-r--r-- | guix/guile-semver/guile-semver.spec | 60 | ||||
-rw-r--r-- | guix/guile-zlib/guile-zlib.spec | 54 | ||||
-rw-r--r-- | guix/guile-zstd/guile-zstd.spec | 53 | ||||
-rw-r--r-- | guix/guix/guix-1.2.0-guile-json-4.5.patch | 65 | ||||
-rw-r--r-- | guix/guix/guix-1.2.0-json-crate.patch | 84 | ||||
-rw-r--r-- | guix/guix/guix-1.2.0-json-cve-swh.patch | 44 | ||||
-rw-r--r-- | guix/guix/guix-1.2.0-revert-verify-swh-certificate.patch | 159 | ||||
-rw-r--r-- | guix/guix/guix.spec | 106 |
11 files changed, 738 insertions, 33 deletions
diff --git a/guix/guile-avahi/guile-avahi.spec b/guix/guile-avahi/guile-avahi.spec new file mode 100644 index 0000000..d76c7d7 --- /dev/null +++ b/guix/guile-avahi/guile-avahi.spec @@ -0,0 +1,75 @@ +Name: guile-avahi +Version: 0.4 +Release: 1%{?dist} +Summary: Avahi bindings for GNU Guile + +License: LGPLv3+ +URL: https://www.nongnu.org/guile-avahi +Source0: https://download.savannah.nongnu.org/releases/%{name}/%{name}-%{version}.tar.gz + +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache + +BuildRequires: gcc +BuildRequires: autoconf, automake, libtool, texinfo, gettext-devel +BuildRequires: pkgconfig(guile-2.2), pkgconfig(avahi-client), gmp-devel +Requires: guile22 +Requires(post): info +Requires(preun): info + +%description +Guile-Avahi is a set of Avahi bindings for GNU Guile. It allows programmers to +use functionalities of the Avahi client library from Guile Scheme programs. + + +%prep +%autosetup -p1 + + +%build +# Regenerate configure to allow using Guile < 3. +autoreconf -fiv +%configure \ + --disable-rpath \ + --disable-static \ + --with-guilemoduledir=%{guile_source_dir} \ + guile_snarf=%{_bindir}/guile-snarf2.2 +%make_build + + +%check +%{__make} %{?_smp_mflags} check + + +%install +%make_install +rm %{buildroot}%{_libdir}/libguile-avahi-v-0.la + + +%post +/sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir || : + + +%preun +if [ "$1" = 0 ]; then + /sbin/install-info --del %{_infodir}/%{name}.info.gz %{_infodir}/dir || : +fi + + +%files +%license COPYING COPYING.LESSER +%doc AUTHORS ChangeLog NEWS README THANKS +%{_libdir}/libguile-avahi-v-0.so* +%{guile_source_dir}/avahi.scm +%dir %{guile_source_dir}/avahi +%{guile_source_dir}/avahi/client.scm +%dir %{guile_source_dir}/avahi/client +%{guile_source_dir}/avahi/client/lookup.scm +%{guile_source_dir}/avahi/client/publish.scm +%{_infodir}/%{name}.info.gz +%exclude %{_infodir}/dir + + +%changelog +* Mon Feb 15 2021 Ting-Wei Lan <lantw44@gmail.com> - 0.4-1 +- Initial packaging diff --git a/guix/guile-json/guile-json.spec b/guix/guile-json/guile-json.spec index c738a39..344cb2c 100644 --- a/guix/guile-json/guile-json.spec +++ b/guix/guile-json/guile-json.spec @@ -1,8 +1,8 @@ %global debug_package %{nil} Name: guile-json -Version: 3.4.0 -Release: 2%{?dist} +Version: 4.5.2 +Release: 1%{?dist} Summary: JSON module for Guile License: GPLv3+ @@ -35,6 +35,10 @@ features: %make_build +%check +%{__make} %{?_smp_mflags} check + + %install %make_install @@ -50,10 +54,15 @@ features: %{guile_ccache_dir}/json/builder.go %{guile_source_dir}/json/parser.scm %{guile_ccache_dir}/json/parser.go - +%{guile_source_dir}/json/record.scm +%{guile_ccache_dir}/json/record.go %changelog +* Mon Feb 15 2021 Ting-Wei Lan <lantw44@gmail.com> - 4.5.2-1 +- Update to 4.5.2 +- Run tests + * Sun Nov 1 2020 Ting-Wei Lan <lantw44@gmail.com> - 3.4.0-2 - Rebuilt for Fedora 33 and 34 diff --git a/guix/guile-lzlib/guile-lzlib.spec b/guix/guile-lzlib/guile-lzlib.spec new file mode 100644 index 0000000..046c2c9 --- /dev/null +++ b/guix/guile-lzlib/guile-lzlib.spec @@ -0,0 +1,56 @@ +%global debug_package %{nil} + +Name: guile-lzlib +Version: 0.0.2 +Release: 1%{?dist} +Summary: Guile bindings for lzlib + +License: GPLv3+ +URL: https://notabug.org/guile-lzlib/guile-lzlib +Source0: https://notabug.org/guile-lzlib/guile-lzlib/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz + +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache + +BuildRequires: gcc +BuildRequires: autoconf, automake, pkgconfig(guile-2.2), lzlib-devel +Requires: guile22, lzlib-devel + +%description +Guile-lzlib: Guile bindings for lzlib, a C library for in-memory LZMA +compression and decompression. The bindings are written in pure Scheme by using +Guile's foreign function interface. + + +%prep +%autosetup -n %{name} -p1 + + +%build +autoreconf -fiv +%configure +%make_build + + +%check +%{__make} %{?_smp_mflags} check + + +%install +%make_install + + +%files +%license COPYING +%doc AUTHORS ChangeLog NEWS README.org +%{guile_source_dir}/lzlib.scm +%{guile_ccache_dir}/lzlib.go +%dir %{guile_source_dir}/lzlib +%dir %{guile_ccache_dir}/lzlib +%{guile_source_dir}/lzlib/config.scm +%{guile_ccache_dir}/lzlib/config.go + + +%changelog +* Mon Feb 15 2021 Ting-Wei Lan <lantw44@gmail.com> - 0.0.2-1 +- Initial packaging diff --git a/guix/guile-semver/guile-semver.spec b/guix/guile-semver/guile-semver.spec new file mode 100644 index 0000000..a3fb1e0 --- /dev/null +++ b/guix/guile-semver/guile-semver.spec @@ -0,0 +1,60 @@ +%global debug_package %{nil} + +Name: guile-semver +Version: 0.1.1 +Release: 1%{?dist} +Summary: Guile library for Semantic Versioning + +License: GPLv3+ +URL: https://ngyro.com/software/guile-semver.html +Source0: https://files.ngyro.com/%{name}/%{name}-%{version}.tar.gz + +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache + +BuildRequires: pkgconfig(guile-2.2) +Requires: guile22 + +%description +guile-semver is a Guile library that handles Semantic Versions and NPM-style +ranges. It supports: + +- reading and writing Semantic Versions; +- comparing Semantic Versions; +- reading Semantic Version ranges; and +- testing membership of Semantic Versions in ranges. + + +%prep +%autosetup -p1 + + +%build +%configure +%make_build + + +%check +%{__make} %{?_smp_mflags} check + + +%install +%make_install + + +%files +%license COPYING COPYING.CC0 +%doc AUTHORS ChangeLog NEWS README THANKS +%{guile_source_dir}/semver.scm +%{guile_ccache_dir}/semver.go +%dir %{guile_source_dir}/semver +%dir %{guile_ccache_dir}/semver +%{guile_source_dir}/semver/partial.scm +%{guile_ccache_dir}/semver/partial.go +%{guile_source_dir}/semver/ranges.scm +%{guile_ccache_dir}/semver/ranges.go + + +%changelog +* Mon Feb 15 2021 Ting-Wei Lan <lantw44@gmail.com> - 0.1.1-1 +- Initial packaging diff --git a/guix/guile-zlib/guile-zlib.spec b/guix/guile-zlib/guile-zlib.spec new file mode 100644 index 0000000..893a6e3 --- /dev/null +++ b/guix/guile-zlib/guile-zlib.spec @@ -0,0 +1,54 @@ +%global debug_package %{nil} + +Name: guile-zlib +Version: 0.0.1 +Release: 1%{?dist} +Summary: Guile bindings for zlib + +License: GPLv3+ +URL: https://notabug.org/guile-zlib/guile-zlib +Source0: https://notabug.org/guile-zlib/guile-zlib/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz + +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache + +BuildRequires: autoconf, automake, pkgconfig(guile-2.2), pkgconfig(zlib) +Requires: guile22, zlib-devel + +%description +Guile-zlib: Guile bindings for zlib, a lossless data-compression library. The +bindings are written in pure Scheme by using Guile's foreign function interface. + + +%prep +%autosetup -n %{name} -p1 + + +%build +autoreconf -fiv +%configure +%make_build + + +%check +%{__make} %{?_smp_mflags} check + + +%install +%make_install + + +%files +%license COPYING +%doc AUTHORS ChangeLog NEWS README.org +%{guile_source_dir}/zlib.scm +%{guile_ccache_dir}/zlib.go +%dir %{guile_source_dir}/zlib +%dir %{guile_ccache_dir}/zlib +%{guile_source_dir}/zlib/config.scm +%{guile_ccache_dir}/zlib/config.go + + +%changelog +* Mon Feb 15 2021 Ting-Wei Lan <lantw44@gmail.com> - 0.0.1-1 +- Initial packaging diff --git a/guix/guile-zstd/guile-zstd.spec b/guix/guile-zstd/guile-zstd.spec new file mode 100644 index 0000000..5260765 --- /dev/null +++ b/guix/guile-zstd/guile-zstd.spec @@ -0,0 +1,53 @@ +%global debug_package %{nil} + +Name: guile-zstd +Version: 0.1.1 +Release: 1%{?dist} +Summary: GNU Guile bindings to the zstd compression library + +License: GPLv3+ +URL: https://notabug.org/guile-zstd/guile-zstd +Source0: https://notabug.org/guile-zstd/guile-zstd/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz + +%global guile_source_dir %{_datadir}/guile/site/2.2 +%global guile_ccache_dir %{_libdir}/guile/2.2/site-ccache + +BuildRequires: autoconf, automake, pkgconfig(guile-2.2), pkgconfig(libzstd) +Requires: guile22, libzstd-devel + +%description +Guile-zstd: GNU Guile bindings to the zstd compression library. + + +%prep +%autosetup -n %{name} -p1 + + +%build +autoreconf -fiv +%configure +%make_build + + +%check +%{__make} %{?_smp_mflags} check + + +%install +%make_install + + +%files +%license COPYING +%doc AUTHORS ChangeLog NEWS README +%{guile_source_dir}/zstd.scm +%{guile_ccache_dir}/zstd.go +%dir %{guile_source_dir}/zstd +%dir %{guile_ccache_dir}/zstd +%{guile_source_dir}/zstd/config.scm +%{guile_ccache_dir}/zstd/config.go + + +%changelog +* Mon Feb 15 2021 Ting-Wei Lan <lantw44@gmail.com> - 0.1.1-1 +- Initial packaging diff --git a/guix/guix/guix-1.2.0-guile-json-4.5.patch b/guix/guix/guix-1.2.0-guile-json-4.5.patch new file mode 100644 index 0000000..07f7140 --- /dev/null +++ b/guix/guix/guix-1.2.0-guile-json-4.5.patch @@ -0,0 +1,65 @@ +From 3d43b7aef3d5b7ad2ba0418d2afd657e5fedeaf5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> +Date: Wed, 20 Jan 2021 11:35:10 +0100 +Subject: [PATCH] import, swh: Adjust to Guile-JSON 4.5.x unspecified value + handling. + +* guix/import/cpan.scm (<cpan-release>)[home-page]: Add 'unspecified?' +case. +* guix/import/gem.scm (<gem>)[licenses]: Likewise. +(json->gem-dependency-list): Likewise. +* guix/swh.scm (<directory-entry>)[checksums]: Likewise. +--- + guix/import/cpan.scm | 3 ++- + guix/import/gem.scm | 5 +++-- + guix/swh.scm | 3 ++- + 3 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm +index 514417f781..87abe9c2f1 100644 +--- a/guix/import/cpan.scm ++++ b/guix/import/cpan.scm +@@ -109,6 +109,7 @@ + (home-page cpan-release-home-page "resources" + (match-lambda + (#f #f) ++ ((? unspecified?) #f) + ((lst ...) (assoc-ref lst "homepage")))) + (dependencies cpan-release-dependencies "dependency" + (lambda (vector) +diff --git a/guix/import/gem.scm b/guix/import/gem.scm +index 1f6f94532e..418d716be6 100644 +--- a/guix/import/gem.scm ++++ b/guix/import/gem.scm +@@ -49,6 +49,7 @@ + ;; This is sometimes #nil (the JSON 'null' value). Arrange + ;; to always return a list. + (cond ((not licenses) '()) ++ ((unspecified? licenses) '()) + ((vector? licenses) (vector->list licenses)) + (else '())))) + (info gem-info) +@@ -69,7 +70,7 @@ + json->gem-dependency-list)) + + (define (json->gem-dependency-list vector) +- (if vector ++ (if (and vector (not (unspecified? vector))) + (map json->gem-dependency (vector->list vector)) + '())) + +diff --git a/guix/swh.scm b/guix/swh.scm +index 0b765cc743..f11b7ea2d5 100644 +--- a/guix/swh.scm ++++ b/guix/swh.scm +@@ -348,6 +348,7 @@ FALSE-IF-404? is true, return #f upon 404 responses." + (checksums directory-entry-checksums "checksums" + (match-lambda + (#f #f) ++ ((? unspecified?) #f) + (lst (json->checksums lst)))) + (id directory-entry-id "dir_id") + (length directory-entry-length) +-- +2.29.2 + diff --git a/guix/guix/guix-1.2.0-json-crate.patch b/guix/guix/guix-1.2.0-json-crate.patch new file mode 100644 index 0000000..3677946 --- /dev/null +++ b/guix/guix/guix-1.2.0-json-crate.patch @@ -0,0 +1,84 @@ +From 23862011c3d02814181399765a024c7fa3fadd97 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> +Date: Wed, 13 Jan 2021 22:42:49 +0100 +Subject: [PATCH] tests: Fix JSON syntax error in 'crate.scm'. + +This issue is caught with Guile-JSON 4.4.1, but not by 4.3.2. + +* tests/crate.scm (test-root-dependencies): Add missing comma. +--- + tests/crate.scm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/crate.scm b/tests/crate.scm +index bb7032c344..b6c3a7ee2e 100644 +--- a/tests/crate.scm ++++ b/tests/crate.scm +@@ -36,8 +36,8 @@ + \"description\": \"summary\", + \"homepage\": \"http://example.com\", + \"repository\": \"http://example.com\", +- \"keywords\": [\"dummy\" \"test\"], +- \"categories\": [\"test\"] ++ \"keywords\": [\"dummy\", \"test\"], ++ \"categories\": [\"test\"], + \"actual_versions\": [ + { \"id\": \"foo\", + \"num\": \"1.0.0\", +@@ -68,7 +68,7 @@ + \"description\": \"summary\", + \"homepage\": \"http://example.com\", + \"repository\": \"http://example.com\", +- \"keywords\": [\"dummy\" \"test\"], ++ \"keywords\": [\"dummy\", \"test\"], + \"categories\": [\"test\"] + \"actual_versions\": [ + { \"id\": \"foo\", +@@ -92,7 +92,7 @@ + { + \"crate_id\": \"intermediate-2\", + \"kind\": \"normal\" +- } ++ }, + { + \"crate_id\": \"leaf-alice\", + \"kind\": \"normal\" +@@ -112,7 +112,7 @@ + \"description\": \"summary\", + \"homepage\": \"http://example.com\", + \"repository\": \"http://example.com\", +- \"keywords\": [\"dummy\" \"test\"], ++ \"keywords\": [\"dummy\", \"test\"], + \"categories\": [\"test\"] + \"actual_versions\": [ + { \"id\": \"intermediate-1\", +@@ -152,7 +152,7 @@ + \"description\": \"summary\", + \"homepage\": \"http://example.com\", + \"repository\": \"http://example.com\", +- \"keywords\": [\"dummy\" \"test\"], ++ \"keywords\": [\"dummy\", \"test\"], + \"categories\": [\"test\"] + \"actual_versions\": [ + { \"id\": \"intermediate-2\", +@@ -184,7 +184,7 @@ + \"description\": \"summary\", + \"homepage\": \"http://example.com\", + \"repository\": \"http://example.com\", +- \"keywords\": [\"dummy\" \"test\"], ++ \"keywords\": [\"dummy\", \"test\"], + \"categories\": [\"test\"] + \"actual_versions\": [ + { \"id\": \"leaf-alice\", +@@ -211,7 +211,7 @@ + \"description\": \"summary\", + \"homepage\": \"http://example.com\", + \"repository\": \"http://example.com\", +- \"keywords\": [\"dummy\" \"test\"], ++ \"keywords\": [\"dummy\", \"test\"], + \"categories\": [\"test\"] + \"actual_versions\": [ + { \"id\": \"leaf-bob\", +-- +2.29.2 + diff --git a/guix/guix/guix-1.2.0-json-cve-swh.patch b/guix/guix/guix-1.2.0-json-cve-swh.patch new file mode 100644 index 0000000..aff4c89 --- /dev/null +++ b/guix/guix/guix-1.2.0-json-cve-swh.patch @@ -0,0 +1,44 @@ +From 9608f4003dedd8dfe99327c15668ca1a43ebd93b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> +Date: Mon, 21 Dec 2020 11:44:19 +0100 +Subject: [PATCH] tests: Fix malformed JSON. + +Guile-JSON 4.3.2 would parse in spite of these typos, but 4.4.1 is +stricter. + +* tests/swh.scm (%directory-entries): Add missing comma. +* tests/cve-sample.json: Likewise. +--- + tests/cve-sample.json | 2 +- + tests/swh.scm | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/cve-sample.json b/tests/cve-sample.json +index 39816f9dd4..11b71817bb 100644 +--- a/tests/cve-sample.json ++++ b/tests/cve-sample.json +@@ -49,7 +49,7 @@ + "vulnerable" : true, + "cpe23Uri" : "cpe:2.3:o:juniper:junos:16.1:*:*:*:*:*:*:*" + } ] +- } { ++ }, { + "operator" : "OR", + "cpe_match" : [ { + "vulnerable" : true, +diff --git a/tests/swh.scm b/tests/swh.scm +index aef68acbe7..06984b2a80 100644 +--- a/tests/swh.scm ++++ b/tests/swh.scm +@@ -33,7 +33,7 @@ + "[ { \"name\": \"one\", + \"type\": \"regular\", + \"length\": 123, +- \"dir_id\": 1 } ++ \"dir_id\": 1 }, + { \"name\": \"two\", + \"type\": \"regular\", + \"length\": 456, +-- +2.29.2 + diff --git a/guix/guix/guix-1.2.0-revert-verify-swh-certificate.patch b/guix/guix/guix-1.2.0-revert-verify-swh-certificate.patch new file mode 100644 index 0000000..567896f --- /dev/null +++ b/guix/guix/guix-1.2.0-revert-verify-swh-certificate.patch @@ -0,0 +1,159 @@ +From 951f5cca43676dbdde2f5c01118bce63905f7444 Mon Sep 17 00:00:00 2001 +From: Ting-Wei Lan <lantw44@gmail.com> +Date: Wed, 17 Feb 2021 21:53:27 +0800 +Subject: [PATCH 1/2] Revert "git-download: Don't verify X.509 certificate of + SWH." + +This reverts commit a7696b9733d4ede9817a0a0accb5ce5b85d9a2d3. +--- + guix/git-download.scm | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/guix/git-download.scm b/guix/git-download.scm +index 8e575e3b5f..1267986fe8 100644 +--- a/guix/git-download.scm ++++ b/guix/git-download.scm +@@ -131,11 +131,9 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." + (download-nar #$output) + + ;; As a last resort, attempt to download from Software Heritage. +- ;; Disable X.509 certificate verification to avoid depending +- ;; on nss-certs--we're authenticating the checkout anyway. + ;; XXX: Currently recursive checkouts are not supported. + (and (not recursive?) +- (parameterize ((%verify-swh-certificate? #f)) ++ (begin + (format (current-error-port) + "Trying to download from Software Heritage...~%") + (swh-download (getenv "git url") (getenv "git commit") +-- +2.29.2 + + +From bf6def8cc3bf569a93cb66dd76f0b78f06ed393b Mon Sep 17 00:00:00 2001 +From: Ting-Wei Lan <lantw44@gmail.com> +Date: Wed, 17 Feb 2021 21:53:28 +0800 +Subject: [PATCH 2/2] Revert "swh: Allow callers to disable X.509 certificate + verification." + +This reverts commit 722ad41c44a499d2250c79527ef7d069ca728de0. +--- + guix/swh.scm | 34 +++++++++------------------------- + 1 file changed, 9 insertions(+), 25 deletions(-) + +diff --git a/guix/swh.scm b/guix/swh.scm +index 0b765cc743..d9f7d6f508 100644 +--- a/guix/swh.scm ++++ b/guix/swh.scm +@@ -34,7 +34,6 @@ + #:use-module (ice-9 popen) + #:use-module ((ice-9 ftw) #:select (scandir)) + #:export (%swh-base-url +- %verify-swh-certificate? + %allow-request? + + request-rate-limit-reached? +@@ -126,10 +125,6 @@ + ;; Presumably we won't need to change it. + (make-parameter "https://archive.softwareheritage.org")) + +-(define %verify-swh-certificate? +- ;; Whether to verify the X.509 HTTPS certificate for %SWH-BASE-URL. +- (make-parameter #t)) +- + (define (swh-url path . rest) + ;; URLs returned by the API may be relative or absolute. This has changed + ;; without notice before. Handle both cases by detecting whether the path +@@ -147,13 +142,6 @@ + url + (string-append url "/"))) + +-;; XXX: Work around a bug in Guile 3.0.2 where #:verify-certificate? would +-;; be ignored (<https://bugs.gnu.org/40486>). +-(define* (http-get* uri #:rest rest) +- (apply http-request uri #:method 'GET rest)) +-(define* (http-post* uri #:rest rest) +- (apply http-request uri #:method 'POST rest)) +- + (define %date-regexp + ;; Match strings like "2014-11-17T22:09:38+01:00" or + ;; "2018-09-30T23:20:07.815449+00:00"". +@@ -190,7 +178,7 @@ Software Heritage." + + (define %allow-request? + ;; Takes a URL and method (e.g., the 'http-get' procedure) and returns true +- ;; to keep going. This can be used to disallow requests when ++ ;; to keep going. This can be used to disallow a requests when + ;; 'request-rate-limit-reached?' returns true, for instance. + (make-parameter (const #t))) + +@@ -206,7 +194,7 @@ Software Heritage." + (string->uri url)) + + (define reset-time +- (if (and (eq? method http-post*) ++ (if (and (eq? method http-post) + (string-prefix? "/api/1/origin/save/" (uri-path uri))) + %save-rate-limit-reset-time + %general-rate-limit-reset-time)) +@@ -219,23 +207,21 @@ RESPONSE." + (let ((uri (string->uri url))) + (match (assq-ref (response-headers response) 'x-ratelimit-reset) + ((= string->number (? number? reset)) +- (if (and (eq? method http-post*) ++ (if (and (eq? method http-post) + (string-prefix? "/api/1/origin/save/" (uri-path uri))) + (set! %save-rate-limit-reset-time reset) + (set! %general-rate-limit-reset-time reset))) + (_ + #f)))) + +-(define* (call url decode #:optional (method http-get*) ++(define* (call url decode #:optional (method http-get) + #:key (false-if-404? #t)) + "Invoke the endpoint at URL using METHOD. Decode the resulting JSON body + using DECODE, a one-argument procedure that takes an input port. When + FALSE-IF-404? is true, return #f upon 404 responses." + (and ((%allow-request?) url method) + (let*-values (((response port) +- (method url #:streaming? #t +- #:verify-certificate? +- (%verify-swh-certificate?)))) ++ (method url #:streaming? #t))) + ;; See <https://archive.softwareheritage.org/api/#rate-limiting>. + (match (assq-ref (response-headers response) 'x-ratelimit-remaining) + (#f #t) +@@ -480,7 +466,7 @@ directory entries; if it has type 'file, return its <content> object." + (define* (save-origin url #:optional (type "git")) + "Request URL to be saved." + (call (swh-url "/api/1/origin/save" type "url" url) json->save-reply +- http-post*)) ++ http-post)) + + (define-query (save-origin-status url type) + "Return the status of a /save request for URL and TYPE (e.g., \"git\")." +@@ -502,7 +488,7 @@ directory entries; if it has type 'file, return its <content> object." + to the vault. Return a <vault-reply>." + (call (swh-url "/api/1/vault" (symbol->string kind) id) + json->vault-reply +- http-post*)) ++ http-post)) + + (define* (vault-fetch id kind + #:key (log-port (current-error-port))) +@@ -521,10 +507,8 @@ revision, it is a gzip-compressed stream for 'git fast-import'." + ('done + ;; Fetch the bundle. + (let-values (((response port) +- (http-get* (swh-url (vault-reply-fetch-url reply)) +- #:streaming? #t +- #:verify-certificate? +- (%verify-swh-certificate?)))) ++ (http-get (swh-url (vault-reply-fetch-url reply)) ++ #:streaming? #t))) + (if (= (response-code response) 200) + port + (begin ;shouldn't happen +-- +2.29.2 + diff --git a/guix/guix/guix.spec b/guix/guix/guix.spec index b134a27..5d187b2 100644 --- a/guix/guix/guix.spec +++ b/guix/guix/guix.spec @@ -5,14 +5,26 @@ %global selinuxmodule guix-daemon Name: guix -Version: 1.1.0 -Release: 2%{?dist} +Version: 1.2.0 +Release: 1%{?dist} Summary: A purely functional package manager for the GNU system License: GPLv3+ URL: https://guix.gnu.org Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz +# Fix invalid JSON strings in tests. +Patch0: guix-1.2.0-json-cve-swh.patch +Patch1: guix-1.2.0-json-crate.patch + +# Make it compatible with Guile-JSON 4.5. +Patch2: guix-1.2.0-guile-json-4.5.patch + +# Revert changes using features unavailable in Guile 2.2. +# https://issues.guix.gnu.org/44745 +# https://issues.guix.gnu.org/44751 +Patch3: guix-1.2.0-revert-verify-swh-certificate.patch + %global guix_user guixbuild %global guix_group guixbuild %global guile_source_dir %{_datadir}/guile/site/2.2 @@ -26,49 +38,51 @@ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz %global fish_completion_dir %{_datadir}/fish/vendor_completions.d %endif -# We require Guile 2.2.4 here because both Guile 2.2.2 and 2.2.3 are known to -# miscompile guix/build/debug-link.scm, causing the test tests/debug-link.scm -# to fail because the function debuglink-crc32 returns a wrong result. -# -# To test the bug yourself, run the command: -# guile2.2 -c '(use-modules (guix build debug-link))(display (debuglink-crc32 (open-input-string "a")))' -# It should print 3904355907, but Guile 2.2.2 and 2.2.3 return 4294967295. -# -# Note that it is not a runtime issue but a compiler issue, so simply upgrading -# Guile to 2.2.4 is not going to fix the test. You have to delete the broken -# bytecode and recompile them from sources to pass the test. +# We require Guile 2.2.7 here because Guile 2.2.6 is known to crash with +# mmap(PROT_NONE) failed +# during the build. BuildRequires: gcc-c++ BuildRequires: autoconf, automake, gettext-devel, po4a, help2man, texinfo -BuildRequires: pkgconfig(guile-2.2) >= 2.2.4 -BuildRequires: pkgconfig(sqlite3) -BuildRequires: zlib-devel, lzlib-devel, bzip2-devel, libgcrypt-devel +BuildRequires: bzip2-devel, libgcrypt-devel, pkgconfig(sqlite3) BuildRequires: gettext, help2man, graphviz BuildRequires: bash-completion, fish -BuildRequires: guile-git, guile-gcrypt, guile-json >= 3, guile-sqlite3 -BuildRequires: guile-ssh +BuildRequires: selinux-policy, systemd + +BuildRequires: pkgconfig(guile-2.2) >= 2.2.7 +BuildRequires: guile-gcrypt >= 0.1.0 +BuildRequires: guile-sqlite3 >= 0.1.0 +BuildRequires: guile-zlib +BuildRequires: guile-lzlib +BuildRequires: guile-avahi +BuildRequires: guile-git >= 0.3.0 +BuildRequires: guile-json >= 4.3.0 +BuildRequires: guile-ssh >= 0.13.0 +BuildRequires: guile-zstd +BuildRequires: guile-semver %if 0%{?fedora} >= 31 BuildRequires: gnutls-guile %else BuildRequires: gnutls-guile22 %endif -BuildRequires: selinux-policy -BuildRequires: systemd - -%{?systemd_requires} -Requires: guile22 >= 2.2.4 -Requires: guile-git, guile-gcrypt, guile-json >= 3, guile-sqlite3 +Requires: guile22 >= 2.2.7 +Requires: guile-gcrypt >= 0.1.0 +Requires: guile-sqlite3 >= 0.1.0 +Requires: guile-zlib +Requires: guile-lzlib +Requires: guile-avahi +Requires: guile-git >= 0.3.0 +Requires: guile-json >= 4.3.0 %if 0%{?fedora} >= 31 Requires: gnutls-guile %else Requires: gnutls-guile22 %endif + Requires: gzip, bzip2, xz Requires: selinux-policy Requires: %{_bindir}/dot -Requires: %{_libdir}/libz.so -Requires: %{_libdir}/liblz.so Requires: %{_libdir}/libgcrypt.so Requires(post): /usr/sbin/useradd Requires(post): /usr/sbin/usermod @@ -79,7 +93,11 @@ Requires(post): libselinux-utils, policycoreutils Requires(post): info Requires(preun): info -Recommends: guile-ssh +%{?systemd_requires} + +Recommends: guile-ssh >= 0.13.0 +Recommends: guile-zstd +Recommends: guile-semver Suggests: emacs-guix %description @@ -233,6 +251,8 @@ fi %doc AUTHORS ChangeLog CODE-OF-CONDUCT NEWS README ROADMAP THANKS TODO %{_bindir}/guix %{_bindir}/guix-daemon +%dir %{_libexecdir}/guix +%{_libexecdir}/guix/guile %{guile_source_dir}/gnu.scm %{guile_ccache_dir}/gnu.go %dir %{guile_source_dir}/gnu @@ -251,6 +271,8 @@ fi %{guile_ccache_dir}/gnu/build/*.go %{guile_source_dir}/gnu/ci.scm %{guile_ccache_dir}/gnu/ci.go +%{guile_source_dir}/gnu/image.scm +%{guile_ccache_dir}/gnu/image.go %{guile_source_dir}/gnu/installer.scm %dir %{guile_source_dir}/gnu/installer %{guile_source_dir}/gnu/installer/*.scm @@ -272,7 +294,6 @@ fi %{guile_source_dir}/gnu/packages/*.scm %{guile_ccache_dir}/gnu/packages/*.go %{guile_source_dir}/gnu/packages/ld-wrapper.in -%{guile_source_dir}/gnu/packages/ld-wrapper-next.in %dir %{guile_source_dir}/gnu/packages/aux-files %dir %{guile_source_dir}/gnu/packages/aux-files/chromium %{guile_source_dir}/gnu/packages/aux-files/chromium/master-preferences.json @@ -283,9 +304,12 @@ fi %{guile_source_dir}/gnu/packages/aux-files/linux-libre/*-arm64.conf %{guile_source_dir}/gnu/packages/aux-files/linux-libre/*-i686.conf %{guile_source_dir}/gnu/packages/aux-files/linux-libre/*-x86_64.conf +%{guile_source_dir}/gnu/packages/aux-files/pack-audit.c %{guile_source_dir}/gnu/packages/aux-files/run-in-namespace.c %dir %{guile_source_dir}/gnu/packages/patches +%{guile_source_dir}/gnu/packages/patches/*.diff %{guile_source_dir}/gnu/packages/patches/*.patch +%{guile_source_dir}/gnu/packages/patches/java-antlr4-fix-code-too-large.java %{guile_source_dir}/gnu/services.scm %{guile_ccache_dir}/gnu/services.go %dir %{guile_source_dir}/gnu/services @@ -301,11 +325,18 @@ fi %dir %{guile_source_dir}/gnu/system/examples %{guile_source_dir}/gnu/system/examples/asus-c201.tmpl %{guile_source_dir}/gnu/system/examples/bare-bones.tmpl +%{guile_source_dir}/gnu/system/examples/bare-hurd.tmpl %{guile_source_dir}/gnu/system/examples/beaglebone-black.tmpl %{guile_source_dir}/gnu/system/examples/desktop.tmpl %{guile_source_dir}/gnu/system/examples/docker-image.tmpl %{guile_source_dir}/gnu/system/examples/lightweight-desktop.tmpl %{guile_source_dir}/gnu/system/examples/vm-image.tmpl +%dir %{guile_source_dir}/gnu/system/images +%dir %{guile_ccache_dir}/gnu/system/images +%{guile_source_dir}/gnu/system/images/hurd.scm +%{guile_ccache_dir}/gnu/system/images/hurd.go +%{guile_source_dir}/gnu/system/images/pine64.scm +%{guile_ccache_dir}/gnu/system/images/pine64.go %{guile_source_dir}/gnu/tests.scm %{guile_ccache_dir}/gnu/tests.go %dir %{guile_source_dir}/gnu/tests @@ -322,6 +353,10 @@ fi %dir %{guile_ccache_dir}/guix/build %{guile_source_dir}/guix/build/*.scm %{guile_ccache_dir}/guix/build/*.go +%dir %{guile_source_dir}/guix/build/maven +%dir %{guile_ccache_dir}/guix/build/maven +%{guile_source_dir}/guix/build/maven/*.scm +%{guile_ccache_dir}/guix/build/maven/*.go %dir %{guile_source_dir}/guix/build-system %dir %{guile_ccache_dir}/guix/build-system %{guile_source_dir}/guix/build-system/*.scm @@ -338,6 +373,10 @@ fi %dir %{guile_ccache_dir}/guix/scripts/container %{guile_source_dir}/guix/scripts/container/*.scm %{guile_ccache_dir}/guix/scripts/container/*.go +%dir %{guile_source_dir}/guix/scripts/git +%dir %{guile_ccache_dir}/guix/scripts/git +%{guile_source_dir}/guix/scripts/git/*.scm +%{guile_ccache_dir}/guix/scripts/git/*.go %dir %{guile_source_dir}/guix/scripts/import %dir %{guile_ccache_dir}/guix/scripts/import %{guile_source_dir}/guix/scripts/import/*.scm @@ -354,9 +393,9 @@ fi %dir %{guile_ccache_dir}/guix/tests %{guile_ccache_dir}/guix/tests/*.go %dir %{_datadir}/guix +%{_datadir}/guix/berlin.guix.gnu.org.pub %{_datadir}/guix/ci.guix.gnu.org.pub %{_datadir}/guix/ci.guix.info.pub -%{_datadir}/guix/berlin.guixsd.org.pub %{_datadir}/selinux/packages/%{selinuxmodule}.cil %{_infodir}/%{name}.info* %{_infodir}/%{name}.de.info* @@ -372,7 +411,7 @@ fi %{_infodir}/images/coreutils-bag-graph.png.gz %{_infodir}/images/coreutils-graph.png.gz %{_infodir}/images/coreutils-size-map.png.gz -%{_infodir}/images/gcc-mesboot-bag-graph.png.gz +%{_infodir}/images/gcc-core-mesboot0-graph.png.gz %{_infodir}/images/installer-network.png.gz %{_infodir}/images/installer-partitions.png.gz %{_infodir}/images/installer-resume.png.gz @@ -383,6 +422,7 @@ fi %{_mandir}/man1/guix-build.1* %{_mandir}/man1/guix-challenge.1* %{_mandir}/man1/guix-daemon.1* +%{_mandir}/man1/guix-deploy.1* %{_mandir}/man1/guix-download.1* %{_mandir}/man1/guix-edit.1* %{_mandir}/man1/guix-environment.1* @@ -396,12 +436,15 @@ fi %{_mandir}/man1/guix-refresh.1* %{_mandir}/man1/guix-size.1* %{_mandir}/man1/guix-system.1* +%{_mandir}/man1/guix-time-machine.1* +%{_mandir}/man1/guix-weather.1* %{_mandir}/man1/guix.1* %{bash_completion_dir}/guix %{bash_completion_dir}/guix-daemon %{fish_completion_dir}/guix.fish %{_datadir}/zsh/site-functions/_guix %dir %{_sysconfdir}/guix +%{_unitdir}/gnu-store.mount %{_unitdir}/guix-daemon.service %{_unitdir}/guix-daemon-latest.service %{_unitdir}/guix-publish.service @@ -410,6 +453,9 @@ fi %changelog +* Wed Feb 17 2021 Ting-Wei Lan <lantw44@gmail.com> - 1.2.0-1 +- Update to 1.2.0 + * Sun Nov 1 2020 Ting-Wei Lan <lantw44@gmail.com> - 1.1.0-2 - Rebuilt for Fedora 33 and 34 - Update project website URL |