aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2017-12-10 01:56:21 +0800
committerTing-Wei Lan <lantw44@gmail.com>2017-12-10 14:17:32 +0800
commitebfa81e8a10908864df718154e19f84638592033 (patch)
tree53a0de11619d282b668d27970474da4ee41717e0
parent393a8a2118ccd7c1de9840e2a3015fd5f71ac9b9 (diff)
downloadcopr-rpm-spec-ebfa81e8a10908864df718154e19f84638592033.tar
copr-rpm-spec-ebfa81e8a10908864df718154e19f84638592033.tar.gz
copr-rpm-spec-ebfa81e8a10908864df718154e19f84638592033.tar.bz2
copr-rpm-spec-ebfa81e8a10908864df718154e19f84638592033.tar.lz
copr-rpm-spec-ebfa81e8a10908864df718154e19f84638592033.tar.xz
copr-rpm-spec-ebfa81e8a10908864df718154e19f84638592033.tar.zst
copr-rpm-spec-ebfa81e8a10908864df718154e19f84638592033.zip
guix: Guix 0.13.0 -> 0.14.0
-rw-r--r--guix/guile-bytestructures/guile-bytestructures.spec62
-rw-r--r--guix/guile-git/guile-git.spec78
-rw-r--r--guix/guix/guix.spec82
3 files changed, 200 insertions, 22 deletions
diff --git a/guix/guile-bytestructures/guile-bytestructures.spec b/guix/guile-bytestructures/guile-bytestructures.spec
new file mode 100644
index 0000000..7da31ab
--- /dev/null
+++ b/guix/guile-bytestructures/guile-bytestructures.spec
@@ -0,0 +1,62 @@
+%global commit 7ed31b1e93a4bf8960f1d4aedbea84f4f594af6d
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global project scheme-bytestructures
+
+Name: guile-bytestructures
+Version: 0.1
+Release: 0.1.20171209git%{shortcommit}%{?dist}
+Summary: Structured access library to bytevector contents for Guile
+
+License: GPLv3+
+URL: https://github.com/TaylanUB/scheme-bytestructures
+Source0: https://github.com/TaylanUB/scheme-bytestructures/archive/%{commit}/%{project}-%{commit}.tar.gz
+
+%global debug_package %{nil}
+%global guile_source_dir %{_datadir}/guile/site/2.0
+%global guile_ccache_dir %{_libdir}/guile/2.0/site-ccache
+
+BuildRequires: autoconf, automake, pkgconfig(guile-2.0)
+Requires: guile
+
+%description
+This library offers a system imitating the type system of the C programming
+language, to be used on bytevectors. C's type system works on raw memory, and
+ours works on bytevectors which are an abstraction over raw memory in Scheme.
+The system is in fact more powerful than the C type system, elevating types to
+first-class status.
+
+
+%prep
+%autosetup -n %{project}-%{commit} -p1
+
+
+%build
+autoreconf -fi
+%configure
+%make_build
+
+
+%install
+%make_install
+
+
+%files
+%license COPYING
+%doc README.md TODO.org
+%dir %{guile_source_dir}/bytestructures
+%dir %{guile_ccache_dir}/bytestructures
+%{guile_source_dir}/bytestructures/guile.scm
+%{guile_ccache_dir}/bytestructures/guile.go
+%dir %{guile_source_dir}/bytestructures/guile
+%dir %{guile_ccache_dir}/bytestructures/guile
+%{guile_source_dir}/bytestructures/guile/*.scm
+%{guile_ccache_dir}/bytestructures/guile/*.go
+%dir %{guile_source_dir}/bytestructures/r6
+%dir %{guile_ccache_dir}/bytestructures/r6
+%{guile_source_dir}/bytestructures/r6/bytevectors.scm
+%{guile_ccache_dir}/bytestructures/r6/bytevectors.go
+
+
+%changelog
+* Sat Dec 09 2017 Ting-Wei Lan <lantw44@gmail.com> - 0.1-0.1.20171209git7ed31b1
+- Initial packaging
diff --git a/guix/guile-git/guile-git.spec b/guix/guile-git/guile-git.spec
new file mode 100644
index 0000000..42c96a1
--- /dev/null
+++ b/guix/guile-git/guile-git.spec
@@ -0,0 +1,78 @@
+%global commit 951a32c56cc4d80f8836e3c7394783e69c1fcbad
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+
+Name: guile-git
+Version: 0.1
+Release: 0.1.20171106git%{shortcommit}%{?dist}
+Summary: Guile bindings of libgit2
+
+License: GPLv3+
+URL: https://gitlab.com/guile-git/guile-git
+Source0: https://gitlab.com/guile-git/guile-git/repository/%{commit}/archive.tar.bz2#/%{name}-%{commit}.tar.bz2
+
+%global debug_package %{nil}
+%global guile_source_dir %{_datadir}/guile/site/2.0
+%global guile_ccache_dir %{_libdir}/guile/2.0/site-ccache
+
+BuildRequires: autoconf, automake, texinfo
+BuildRequires: pkgconfig(guile-2.0), pkgconfig(libgit2), guile-bytestructures
+Requires: guile, guile-bytestructures, libgit2-devel
+Requires(post): info
+Requires(preun): info
+
+%description
+Guile-Git provides Guile bindings to libgit2, a library to manipulate
+repositories of the Git version control system.
+
+
+%prep
+%autosetup -n %{name}-%{commit}-%{commit} -p1
+
+
+%build
+./bootstrap
+%configure
+%make_build
+
+
+%check
+# segfault on i686
+%ifnarch %{ix86}
+make %{?_smp_mflags} check
+%endif
+
+
+%install
+%make_install
+
+
+%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
+%doc README.md
+%{guile_source_dir}/git.scm
+%{guile_ccache_dir}/git.go
+%dir %{guile_source_dir}/git
+%dir %{guile_ccache_dir}/git
+%{guile_source_dir}/git/*.scm
+%{guile_ccache_dir}/git/*.go
+%dir %{guile_source_dir}/git/web
+%dir %{guile_ccache_dir}/git/web
+%{guile_source_dir}/git/web/*.scm
+%{guile_ccache_dir}/git/web/*.go
+%{_infodir}/%{name}.info.gz
+%exclude %{_infodir}/dir
+
+
+%changelog
+* Sat Dec 09 2017 Ting-Wei Lan <lantw44@gmail.com> - 0.1-0.1.20171106git951a32c
+- Initial packaging
diff --git a/guix/guix/guix.spec b/guix/guix/guix.spec
index a78b190..539db54 100644
--- a/guix/guix/guix.spec
+++ b/guix/guix/guix.spec
@@ -2,8 +2,8 @@
%global _missing_build_ids_terminate_build 0
Name: guix
-Version: 0.13.0
-Release: 2%{?dist}
+Version: 0.14.0
+Release: 1%{?dist}
Summary: A purely functional package manager for the GNU system
License: GPLv3+
@@ -27,7 +27,7 @@ BuildRequires: pkgconfig(sqlite3)
BuildRequires: zlib-devel, bzip2-devel, libgcrypt-devel
BuildRequires: gettext, help2man, graphviz
BuildRequires: bash-completion
-BuildRequires: guile-json, guile-ssh, gnutls-guile
+BuildRequires: guile-git, guile-json, guile-ssh, gnutls-guile
BuildRequires: systemd
%{?systemd_requires}
@@ -43,7 +43,7 @@ Requires(post): /usr/bin/gpasswd
Requires(post): info
Requires(preun): info
-Recommends: guile-json, guile-ssh, gnutls-guile
+Recommends: guile-git, guile-json, guile-ssh, gnutls-guile
Suggests: emacs-guix
%description
@@ -70,29 +70,28 @@ cp %{SOURCE5} gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
%build
-%configure --disable-rpath \
- --with-bash-completion-dir=%{completionsdir} \
- GUILE=%{_bindir}/guile \
- GUILD=%{_bindir}/guild
-# try a few more times before failing
-for i in {1..4}; do
- make %{?_smp_mflags} && exit 0
-done
-exit 1
+%configure --disable-rpath --with-bash-completion-dir=%{completionsdir} \
+ GUILE=%{_bindir}/guile GUILD=%{_bindir}/guild
+%make_build
%check
-# user namespace is not supported in chroot
-if unshare -Ur true; then :; else
+# user namespace may be unsupported
+if ! unshare -Ur true; then
sed -i 's|tests/syscalls.scm||' Makefile
sed -i 's|tests/containers.scm||' Makefile
sed -i 's|tests/guix-environment-container.sh||' Makefile
fi
-# try a few more times before failing
-for i in {1..4}; do
+# don't run tests as root
+if [ "$(id -u)" = "0" ]; then
+ if [ "%{_topdir}" = "/builddir/build" ]; then
+ chown -R nobody:nobody %{_topdir}
+ setfacl -m u:nobody:x /builddir
+ fi
+ runuser nobody -s /bin/sh -c "make %{?_smp_mflags} check" && exit 0
+else
make %{?_smp_mflags} check && exit 0
-done
-exit 1
+fi
%install
@@ -128,15 +127,37 @@ mkdir -p %{buildroot}%{_sysconfdir}/guix
%post
+cat << EOF | ( cd "%{guile_source_dir}/gnu/packages/bootstrap" && sha256sum -c ) || exit 1
+e3bf6ffe357eebcc28221ffdbb5b00b4ed1237cb101aba4b1b8119b08c732387 aarch64-linux/bash
+444c2af9fefd11d4fc20ee9281fa2c46cbe3cfb3df89cc30bcd50d20cdb6d6c0 aarch64-linux/mkdir
+05273f978a072269193e3a09371c23d6d149f6d807f8e413a4f79aa5a1bb6f25 aarch64-linux/tar
+48e9baa8a6c2527a5b4ecb8f0ac87767e2b055979256acab2a3dbff4f6171637 aarch64-linux/xz
+2ad82bb9ee6e77eaff284222e1d43a2829b5a1e2bcf158b08564a26da48e0045 armhf-linux/bash
+a19e386b31ebc8a46b5f934c11bca86e28f8aa997272a5fcd052b52d5019f790 armhf-linux/mkdir
+da56be0b332fac3880b151abe60c1eeb2649cd192379b18658b1d872f7aa53e8 armhf-linux/tar
+6507d04d55210e3a8cdc2e5758d79a4b0da3cb53bb142f60a78788af7b915ab1 armhf-linux/xz
+ed059a9ae964d538605c923c4e73128bd5ca912994709b3fe2d71d061751e8c5 i686-linux/bash
+b369264bda7bbb98d1acf0bf53ebc9077e82f48b190f3956fa23cb73d6e99f92 i686-linux/mkdir
+9f7e79e52aa369fc9ed69359e503d4f8179117842df8261fc0cae5629cc896cb i686-linux/tar
+d23173dfe66c41e1c8d8eef905d14d1f39aaa52c9d70621f366c275e9139b415 i686-linux/xz
+213cfb8794ffdf4a71cb321a89987ee61704edcec5d1203912575f0a626a239c mips64el-linux/bash
+d436070fde044366d72d7e59d8d12b1ba72b32d7b0f13e409b61118bdc8254c8 mips64el-linux/mkdir
+d27fcb52f9b4a42fafdae3164fffd200f52e04d142574dcf06212dbf7701cbb8 mips64el-linux/tar
+107eac7523b0148d18f461d81bec9d0db6154d6c61e4caf3a4cdb43a9a6afb3c mips64el-linux/xz
+265d2f633a5ab35747fc4836b5e3ca32bf56ad44cc24f3bd358f1ff6cf0779a5 x86_64-linux/bash
+50689abdf2d5374e17ea8c51801f04f7590ad604af33a12a940cc11d137a4a2f x86_64-linux/mkdir
+16440b4495a2ff9c6aa50c05a8c9066e1004a5990b75aa891f08cdf8753c8689 x86_64-linux/tar
+930ad7e88ca0b2275dc459b24aea912fadd5b7c9e95be06788d4b61efc7ef470 x86_64-linux/xz
+EOF
/sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir || :
if [ "$1" = 1 ]; then
/usr/sbin/groupadd -r %{guix_group}
- /usr/sbin/useradd -r -M -N -g %{guix_group} -d /gnu/store -s /sbin/nologin \
+ /usr/sbin/useradd -r -M -N -g %{guix_group} -d /var/empty -s /sbin/nologin \
-c "Guix build user" %{guix_user}
/usr/bin/gpasswd -a %{guix_user} %{guix_group} >/dev/null
elif [ "$1" -gt 1 ]; then
/usr/sbin/groupmod -n %{guix_group} guix-builder 2>/dev/null || :
- /usr/sbin/usermod -l %{guix_user} -d /gnu/store guix-builder 2>/dev/null || :
+ /usr/sbin/usermod -l %{guix_user} -d /var/empty guix-builder 2>/dev/null || :
fi
%systemd_post guix-daemon.service guix-daemon-latest.service
%systemd_post guix-publish.service guix-publish-latest.service
@@ -174,6 +195,12 @@ fi
%{guile_ccache_dir}/gnu/artwork.go
%dir %{guile_source_dir}/gnu/build
%dir %{guile_ccache_dir}/gnu/build
+%{guile_source_dir}/gnu/bootloader.scm
+%{guile_ccache_dir}/gnu/bootloader.go
+%dir %{guile_source_dir}/gnu/bootloader
+%dir %{guile_ccache_dir}/gnu/bootloader
+%{guile_source_dir}/gnu/bootloader/*.scm
+%{guile_ccache_dir}/gnu/bootloader/*.go
%{guile_source_dir}/gnu/build/*.scm
%{guile_ccache_dir}/gnu/build/*.go
%{guile_source_dir}/gnu/packages.scm
@@ -187,6 +214,7 @@ fi
%dir %{guile_source_dir}/gnu/packages/aux-files/emacs
%{guile_source_dir}/gnu/packages/aux-files/emacs/guix-emacs.el
%dir %{guile_source_dir}/gnu/packages/aux-files/linux-libre
+%{guile_source_dir}/gnu/packages/aux-files/linux-libre/*-arm.conf
%{guile_source_dir}/gnu/packages/aux-files/linux-libre/*-i686.conf
%{guile_source_dir}/gnu/packages/aux-files/linux-libre/*-x86_64.conf
%dir %{guile_source_dir}/gnu/packages/patches
@@ -275,6 +303,10 @@ fi
%dir %{guile_ccache_dir}/guix/scripts/import
%{guile_source_dir}/guix/scripts/import/*.scm
%{guile_ccache_dir}/guix/scripts/import/*.go
+%dir %{guile_source_dir}/guix/scripts/system
+%dir %{guile_ccache_dir}/guix/scripts/system
+%{guile_source_dir}/guix/scripts/system/*.scm
+%{guile_ccache_dir}/guix/scripts/system/*.go
%dir %{guile_source_dir}/guix/store
%dir %{guile_ccache_dir}/guix/store
%{guile_source_dir}/guix/store/ssh.scm
@@ -282,7 +314,7 @@ fi
%dir %{guile_ccache_dir}/guix/tests
%{guile_ccache_dir}/guix/tests/*.go
%dir %{_datadir}/guix
-%{_datadir}/guix/bayfront.guixsd.org.pub
+%{_datadir}/guix/berlin.guixsd.org.pub
%{_datadir}/guix/hydra.gnu.org.pub
%{_infodir}/%{name}.info*
%dir %{_infodir}/images
@@ -323,6 +355,12 @@ fi
%changelog
+* Sat Dec 09 2017 Ting-Wei Lan <lantw44@gmail.com> - 0.14.0-1
+- Update to 0.14.0
+- Avoid running tests as root
+- Use /var/empty as the home directory because it is what the manual uses
+- Validate bootstrap binraies during installation
+
* Mon Oct 16 2017 Ting-Wei Lan <lantw44@gmail.com> - 0.13.0-2
- Rebuilt for Fedora 27 and 28