From 2d97b369d9db2d147cb4d9e07a82e38bb7c08322 Mon Sep 17 00:00:00 2001 From: Ting-Wei Lan Date: Wed, 18 Sep 2019 20:49:50 +0800 Subject: guix: Guix 1.0.1 -> 1.0.2-0.1.20190917 Upstream still calls this version 1.0.1, but it seems that the preferred way to package unreleased snapshots in RPM is to use the next version number. The commit hash used here is obtained from the source code of guix itself. The reason to update it to a git snapshot is to fix test failure and 'guix pull' command, which has been broken for months. https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/package-management.scm?id=f8ddfb505a51a2c794531e090dd7ee97022d1096#n121 --- guix/guile-json/guile-json.spec | 7 +++-- guix/guix/guix.spec | 57 +++++++++++++++++++++++---------- guix/lzlib/lzlib.spec | 70 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+), 19 deletions(-) create mode 100644 guix/lzlib/lzlib.spec diff --git a/guix/guile-json/guile-json.spec b/guix/guile-json/guile-json.spec index d03d58b..0543f4b 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: 1.3.2 -Release: 4%{?dist} +Version: 3.2.0 +Release: 1%{?dist} Summary: JSON module for Guile License: GPLv3+ @@ -54,6 +54,9 @@ features: %changelog +* Wed Sep 18 2019 Ting-Wei Lan - 3.2.0-1 +- Update to 3.2.0 + * Tue Sep 17 2019 Ting-Wei Lan - 1.3.2-4 - Rebuilt for Fedora 31 and 32 diff --git a/guix/guix/guix.spec b/guix/guix/guix.spec index 50037c2..dd04f7b 100644 --- a/guix/guix/guix.spec +++ b/guix/guix/guix.spec @@ -1,3 +1,6 @@ +%global commit 0ed97e69805253656df929a6ad678016aa81f08a +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + # Bootstrap binaries provided by guix don't have build IDs %global _missing_build_ids_terminate_build 0 @@ -5,13 +8,14 @@ %global selinuxmodule guix-daemon Name: guix -Version: 1.0.1 -Release: 2%{?dist} +Version: 1.0.2 +Release: 0.1.20190917git%{shortcommit}%{?dist} Summary: A purely functional package manager for the GNU system License: GPLv3+ URL: https://www.gnu.org/software/guix -Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz +# Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz +Source0: https://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-%{commit}.tar.gz %global guix_user guixbuild %global guix_group guixbuild @@ -39,12 +43,14 @@ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz # bytecode and recompile them from sources to pass the test. 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, bzip2-devel, libgcrypt-devel +BuildRequires: zlib-devel, lzlib-devel, bzip2-devel, libgcrypt-devel BuildRequires: gettext, help2man, graphviz BuildRequires: bash-completion, fish -BuildRequires: guile-git, guile-gcrypt, guile-json, guile-sqlite3, guile-ssh +BuildRequires: guile-git, guile-gcrypt, guile-json >= 3, guile-sqlite3 +BuildRequires: guile-ssh %if 0%{?fedora} >= 31 BuildRequires: gnutls-guile %else @@ -56,7 +62,7 @@ BuildRequires: systemd %{?systemd_requires} Requires: guile22 >= 2.2.4 -Requires: guile-git, guile-gcrypt, guile-sqlite3 +Requires: guile-git, guile-gcrypt, guile-json >= 3, guile-sqlite3 %if 0%{?fedora} >= 31 Requires: gnutls-guile %else @@ -65,6 +71,8 @@ Requires: gnutls-guile22 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 @@ -75,7 +83,7 @@ Requires(post): libselinux-utils, policycoreutils Requires(post): info Requires(preun): info -Recommends: guile-json, guile-ssh +Recommends: guile-ssh Suggests: emacs-guix %description @@ -88,10 +96,16 @@ composed. %prep -%autosetup -p1 +%autosetup -n %{name}-%{commit} -p1 +# The commit hash is too long to run tests. We have to make it shorter. +cd .. +rm -rf %{name}-%{shortcommit} +mv %{name}-%{commit} %{name}-%{shortcommit} +%setup -n %{name}-%{shortcommit} -D -T %build +./bootstrap # Rename test-tmp to t to save the length of the path. %configure \ --disable-rpath \ @@ -136,10 +150,16 @@ if [ "$(id -u)" = 0 ]; then chown -R nobody:nobody %{_topdir} setfacl -m u:nobody:x /builddir fi - runuser -u nobody -- %{__make} %{?_smp_mflags} check && exit 0 + runuser -u nobody -- %{__make} %{?_smp_mflags} check else - %{__make} %{?_smp_mflags} check && exit 0 + %{__make} %{?_smp_mflags} check +fi +# print the log on failure +ret="$?" +if [ "${ret}" != 0 ]; then + cat test-suite.log fi +exit "${ret}" %install @@ -239,12 +259,6 @@ fi %doc AUTHORS ChangeLog CODE-OF-CONDUCT NEWS README ROADMAP THANKS TODO %{_bindir}/guix %{_bindir}/guix-daemon -%dir %{_libexecdir}/guix -%{_libexecdir}/guix/authenticate -%{_libexecdir}/guix/download -%{_libexecdir}/guix/list-runtime-roots -%{_libexecdir}/guix/offload -%{_libexecdir}/guix/substitute %{guile_source_dir}/gnu.scm %{guile_ccache_dir}/gnu.go %dir %{guile_source_dir}/gnu @@ -269,6 +283,12 @@ fi %{guile_source_dir}/gnu/installer/logo.txt %dir %{guile_source_dir}/gnu/installer/newt %{guile_source_dir}/gnu/installer/newt/*.scm +%{guile_source_dir}/gnu/machine.scm +%{guile_ccache_dir}/gnu/machine.go +%dir %{guile_source_dir}/gnu/machine +%dir %{guile_ccache_dir}/gnu/machine +%{guile_source_dir}/gnu/machine/ssh.scm +%{guile_ccache_dir}/gnu/machine/ssh.go %{guile_source_dir}/gnu/packages.scm %{guile_ccache_dir}/gnu/packages.go %dir %{guile_source_dir}/gnu/packages @@ -387,7 +407,6 @@ fi %{_datadir}/guix/ci.guix.gnu.org.pub %{_datadir}/guix/ci.guix.info.pub %{_datadir}/guix/berlin.guixsd.org.pub -%{_datadir}/guix/hydra.gnu.org.pub %{_datadir}/selinux/packages/%{selinuxmodule}.cil %{_infodir}/%{name}.info* %{_infodir}/%{name}.de.info* @@ -438,6 +457,10 @@ fi %changelog +* Wed Sep 18 2019 Ting-Wei Lan - 1.0.2-0.1.20190917git0ed97e6 +- Update to a git snapshot from master branch to fix tests +- Move guile-json from Recommends to Requires because emacs-guix needs it + * Tue Sep 17 2019 Ting-Wei Lan - 1.0.1-2 - Use gnutls-guile on Fedora 31 and later diff --git a/guix/lzlib/lzlib.spec b/guix/lzlib/lzlib.spec new file mode 100644 index 0000000..15e02e4 --- /dev/null +++ b/guix/lzlib/lzlib.spec @@ -0,0 +1,70 @@ +# This spec file is based on: +# [1] https://github.com/PhantomX/chinforpms/blob/991712ffa984e7fa/lzlib/lzlib.spec + +Name: lzlib +Version: 1.11 +Release: 2%{?dist} +Summary: A compression library for the lzip file format + +License: GPLv2+ +URL: https://www.nongnu.org/lzip/%{name}.html +Source0: https://download.savannah.gnu.org/releases/lzip/%{name}/%{name}-%{version}.tar.gz + +BuildRequires: gcc + + +%description +Lzlib is a data compression library providing in-memory LZMA compression +and decompression functions, including integrity checking of the +decompressed data. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%autosetup -p1 + + +%build +%configure \ + --disable-static \ + --enable-shared \ + --disable-ldconfig \ + CFLAGS+='%{build_cflags}' \ + LDFLAGS='%{build_ldflags}' +%make_build + + +%install +%make_install + + + +%files +%license COPYING COPYING.GPL +%doc AUTHORS ChangeLog NEWS README +%{_libdir}/liblz.so.* +%{_infodir}/%{name}.info* +%exclude %{_infodir}/dir + +%files devel +%{_includedir}/%{name}.h +%{_libdir}/liblz.so + + +%changelog +* Wed Sep 18 2019 Ting-Wei Lan - 1.11-2 +- Use HTTPS links +- Use CFLAGS+= instead of CFLAGS= +- Use exclude macro to drop info dir file +- Don't use wildcards to specify the name of the library + +* Fri May 31 2019 Phantom X - 1.11-1 +- Initial spec -- cgit v1.2.3