aboutsummaryrefslogtreecommitdiffstats
path: root/guix
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2021-02-19 21:41:52 +0800
committerTing-Wei Lan <lantw44@gmail.com>2021-02-19 21:41:52 +0800
commit1eded90dc595e1cf32d238aa3d68f720ff7cdf78 (patch)
treeeef37b19fddcef1adfdac12fe5f622ec5b0084b7 /guix
parent172768315ff3bde20cf31d983de9652938c89379 (diff)
downloadcopr-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.spec75
-rw-r--r--guix/guile-json/guile-json.spec15
-rw-r--r--guix/guile-lzlib/guile-lzlib.spec56
-rw-r--r--guix/guile-semver/guile-semver.spec60
-rw-r--r--guix/guile-zlib/guile-zlib.spec54
-rw-r--r--guix/guile-zstd/guile-zstd.spec53
-rw-r--r--guix/guix/guix-1.2.0-guile-json-4.5.patch65
-rw-r--r--guix/guix/guix-1.2.0-json-crate.patch84
-rw-r--r--guix/guix/guix-1.2.0-json-cve-swh.patch44
-rw-r--r--guix/guix/guix-1.2.0-revert-verify-swh-certificate.patch159
-rw-r--r--guix/guix/guix.spec106
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