SHA256
1
0
forked from pool/guix

Accepting request 622346 from devel:languages:misc

OBS-URL: https://build.opensuse.org/request/show/622346
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/guix?expand=0&rev=10
This commit is contained in:
Dominique Leuenberger 2018-07-27 08:54:55 +00:00 committed by Git OBS Bridge
commit 2246b95055
12 changed files with 281 additions and 88 deletions

View File

@ -0,0 +1,32 @@
From 8dd0e2f057a63231ffe3f8c41dbf4c7f8b4dbdf6 Mon Sep 17 00:00:00 2001
From: Jonathan Brielmaier <jbrielmaier@suse.de>
Date: Tue, 10 Jul 2018 12:16:41 +0200
Subject: [PATCH 1/1] gnu: local.mk: Add missing patches.
---
gnu/local.mk | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gnu/local.mk b/gnu/local.mk
index dad664ca1..5b1e634dd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1018,6 +1018,7 @@ dist_patch_DATA = \
%D%/packages/patches/perl-no-sys-dirs.patch \
%D%/packages/patches/perl-module-pluggable-search.patch \
%D%/packages/patches/perl-reproducible-build-date.patch \
+ %D%/packages/patches/perl-text-markdown-discount-unbundle.patch \
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
%D%/packages/patches/picprog-non-intel-support.patch \
%D%/packages/patches/pidgin-add-search-path.patch \
@@ -1094,6 +1095,7 @@ dist_patch_DATA = \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quassel-qt-5.11.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
+ %D%/packages/patches/racket-fix-xform-issue.patch \
%D%/packages/patches/rapicorn-isnan.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoison-shell.patch \
--
2.18.0

View File

@ -1,31 +0,0 @@
From 7f04197fef905790fd392f8d686d00ae95a0d04c Mon Sep 17 00:00:00 2001
From: Eric Bavier <bavier@cray.com>
Date: Mon, 4 Dec 2017 10:33:31 -0600
Subject: utils: Fix cond-expand for Guile 2.0.
* guix/build/download.scm (tls-wrap): Use 'guile-2.2' feature instead.
---
guix/build/download.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 4490d22..609a100 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -308,10 +308,10 @@ host name without trailing dot."
(register-tls-record-port record port)
;; Write HTTP requests line by line rather than byte by byte:
- ;; <https://bugs.gnu.org/22966>. This is not possible on Guile 2.0.
+ ;; <https://bugs.gnu.org/22966>. This is possible with Guile >= 2.2.
(cond-expand
- (guile-2.0 #f)
- (else (setvbuf record 'line)))
+ (guile-2.2 (setvbuf record 'line))
+ (else #f))
record)))
--
cgit v1.0-41-gc330

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:86efc3f110349a901dda4c2aa8f1d0ad82a003b5533d3a6f75378686c7e90d85
size 19852695

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAloo/AoACgkQCQsRmT2a
67UfLA//dFj/S1EXTLFbKyscuY1DVKbZCvsuRwswe+bk2Zn7m9Rp+WCqlCdJwosx
kZp5PEqgWdAnUYkNkLXC+EcvlUdHq6TJ8wI+f00Xi+xA7JYiAGfoD1Nq5geD2OPZ
bsouFNwHhsGoig3H59PYxWdXNF/ESDl0x0q84UHlj7kNTyglkpNjtMCgl6/sOtbv
QOI8GSHAohNS6nlTRoUdi6zeAGfQW4+6ErBt4aesQsEbs5AVYVoF6n0Hb6Pf9PjW
kHhvHhPGn/TRpvb4GAf40gHq484Tb5JKPaVV76+t6FcCT2r4DXqritps2dISmP24
4W/cuUeLyExnS7kbFnCZW1JQAL87mjFSxjQ/7A6WVdmEUsEVGoxnyLhofaaVi5N+
tBcH4F65W2f7BmZ1hbiir3EGFZk01n10XRu2wb/jMjPLZlMQrkUFtvmF2NIvPp/S
fvKJqES7xpoCsc36/rr25yCMw51yIrYY3j3v5qHTzznBNZkbr6GJPr5cbyTly+bw
jHvUbQjN6ZknxMDiLa94gLChUZlqL9AhMejQfFviWFm7DjDGvg5bEdZlcsL2rNZN
3hq9Mu/iuATbD5fk2VmqqJzbZZ/CNC33PeVLSC/5fqzrnHCAJ9ZbWKCF4+3jWQt+
r6FDvrG8DndqkWIpOgmIXF18GJKBDzcvczHy3rWRjm3UCtaS1Us=
=DRze
-----END PGP SIGNATURE-----

3
guix-0.15.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:571572d38d6fe11201546d76697ab92a3becc80b4f8b5f745ae2c1b2f093cb1d
size 22704560

16
guix-0.15.0.tar.gz.sig Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAls/NF8ACgkQCQsRmT2a
67WXNA//aIopXlLO9OHouthLOSEialZj7HyjdCYKGdZ5MpsJgxEUyER8IW7L6b6d
Abldb/7orubGwqJjbYqndK5odxvsI3RyccBu1Mmap6pYX4J3xpBSNeDCmpYZDFY7
r4WG4DvcXnP4LevgBrffaEwivIZ0USqkIijH3a09nMMO94Ds/aI65XjOE8SVH2E3
34tbP/OMpR3YqUwRXAQOHM0Rv6uLzKLAMyz84Nagm9dqYvFhMhV8BJLurSyGf1od
L8qNU1gxjB81+a5hKOaKpTpe0IV4dJ0MuINOIhG7zJwpwOgOanGTXUrJYk9VsPSO
YB0yHZoRKNuBAOpiNH48RgDNEcCgEjRfUbcpozkPgBYTj8C6o9ywUPHCa/jFEono
4NQVvpmDot3vRu284cE8mlU+UNSB2RTOdOTQXdMuXm/Qc7HJ+MnM3Ts1XNXzL29h
lTr4yMLSFveXi9O13mJoHVua3nnPUPduaDzYZw6K08141PpG1z56je88NGbBymb7
3U+Yyx9dclLp5XgR8SNI+T2ihj+I2ba94WOHcbE3FNQr9DO62UaEgESoa109N6BD
xp++QHjcUuwg+MKqNPKUt3M34guM5BiwUtUcMeJpZ27f/1tXqPmlIzvLFNXBM1Eb
GHp3FvSqTJ/0vUJhk8YW2ms9mlUTACr5bLc1xLiNrWww7056+EM=
=1MjC
-----END PGP SIGNATURE-----

View File

@ -15,6 +15,9 @@ addFilter("W: statically-linked-binary /usr/share/guile/site/2.[02]/gnu/packages
# they are foreign
addFilter("W: missing-PT_GNU_STACK-section /usr/share/guile/site/2.[02]/gnu/packages/bootstrap/.*")
# they are not position independent. Upstream consider to build them as PIE
addFilter("W: position-independent-executable-suggested /usr/share/guile/site/2.[02]/gnu/packages/bootstrap/.*")
# I will add guixbuild group into rpmlint once I know that everything
# else is correct
addFilter("W: non-standard-gid /gnu/store guixbuild")

View File

@ -1,3 +1,75 @@
-------------------------------------------------------------------
Thu Jul 12 13:10:08 UTC 2018 - jbrielmaier@suse.de
- bump version to 0.15
Package management:
* guix pull has been overhauled; it now populates ~/.config/guix/current
* guix pull has a new --list-generations option
* guix pack now supports building SquashFS images
* guix pack can now build tarballs with relocatable executables
* guix environment and guix pack have a new --manifest option
* New guix environment options: --user, --link-profile
* guix package has a new --allow-collisions option
* guix package no longer warns about harmless file collisions
* The --with-source option now accepts “PACKAGE=URI” specs
* Profiles now include a separate dir.LANGUAGE Info file
* New profile hook generates a gschemas.compiled file as needed
* guix build provides hints for unbound variables
* guix weather now reports continuous integration statistics
* guix gc has a new --derivers option
* guix publish now publishes build logs at /log URLs
* guix import elpa has a new --recursive option
* guix graph has a new “module” node type
* New guix offload status command
* guix-daemon now comes with an SELinux policy
* guix-daemon now rejects garbage collection requests from remote clients
* guix-daemon supports ARMv7 builds on AArch64
* guix-daemon has relaxed tests to allow for binfmt_misc execution
* guix-daemon has a new --log-compression option, with gzip support
Noteworthy bug fixes:
* guix pull doesnt keep rebuilding all of Guix
(<https://bugs.gnu.org/27284>)
* guix pack now honors package transformation options
* guix package --search no longer shows superseded packages
(<https://bugs.gnu.org/30566>)
* guix offload test reports errors more nicely
(<https://bugs.gnu.org/28057>)
* postgresql service is started through pg_ctl
(<https://bugs.gnu.org/29992>)
* urandom-seed service is now a dependency of user-processes
(<https://bugs.gnu.org/29773>)
* fuse kernel module is now automatically loaded on demand
(<https://bugs.gnu.org/22050>)
* guix pack --localstatedir now produces a bit-reproducible database
(<https://bugs.gnu.org/21073>)
* Package lookups by name and version correctly honor version prefixes
(<https://bugs.gnu.org/28446>)
* guix pull --commit now accepts show commit IDs
(<https://bugs.gnu.org/30716>)
1200 new packages
2231 packages updated
For more details see: /usr/share/doc/packages/guix/NEWS
- add patches missing in release tarball leading to errors in guix
weather/challenge
* perl-text-markdown-discount-unbundle.patch
* racket-fix-xform-issue.patch
* 0001-gnu-local.mk-Add-missing-patches.patch
- enable them by running bootstrap script and add dependencies
therefor
- add new build dependencies as well as missing runtime requirements
- add run_guix_publish.sh script and make guix publish service
working
- enable shell completions for bash, fish and zsh
- enable "binary substitutes" by default in %post
- disable run-in-namspace.c (guix pack -R) for now
- remove support for SysV init, because guix doesn't build on such
old systems anymore (due to old guile versions...)
- remove obsolte patch
* gnutls-fix.patch
- order files section alphabetical
- guix-rpmlintrc: filter PIE warnings
-------------------------------------------------------------------
Tue Jun 5 08:58:20 UTC 2018 - jbrielmaier@suse.de

View File

@ -16,12 +16,10 @@
#
# if there is systemd present, systemd_requires is defined
%define systemd_present %{defined systemd_requires}
%define guile guile-2.0.9.tar.xz
%define guix_builder_group guixbuild
Name: guix
Version: 0.14.0
Version: 0.15.0
Release: 0
Summary: GNU Package manager
License: GPL-3.0-only
@ -45,38 +43,52 @@ Source11: armhf-linux-guile-2.0.11.tar.xz.sig
Source12: aarch64-linux-guile-2.0.14.tar.xz
Source13: aarch64-linux-guile-2.0.14.tar.xz.sig
Source20: run_guix_daemon.sh
# PATCH-FIX-UPSTREAM -- HTTPS is not working correctly for GnuTLS built against Guile 2.0 -- sleep_walker@opensuse.org boo#1095970
Patch0: https://git.savannah.gnu.org/cgit/guix.git/patch/?id=7f04197fef905790fd392f8d686d00ae95a0d04c#./gnutls-fix.patch
Source21: run_guix_publish.sh
# In the release tarball these two patches missing, leading to errors in guix weather
# and guix challenge. Upstream: 57ac5261fec345b16cf80f87aa03212abc2c5a11
Source30: perl-text-markdown-discount-unbundle.patch
Source31: racket-fix-xform-issue.patch
Patch0: 0001-gnu-local.mk-Add-missing-patches.patch
BuildRequires: gcc-c++
BuildRequires: gnutls-guile
BuildRequires: guile-charting
BuildRequires: guile-devel >= 2.0
BuildRequires: guile-git
BuildRequires: guile-json
BuildRequires: guile-sqlite3
BuildRequires: guile-ssh-devel
# this is actually just to make guile-git working
BuildRequires: libgcrypt-devel
BuildRequires: libgit2-devel
BuildRequires: pkgconfig
BuildRequires: shepherd
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(sqlite3)
# Needed for creating the Makefile including the two missing patches
BuildRequires: automake
BuildRequires: help2man
BuildRequires: makeinfo
Requires: gnutls-guile
Requires: guile
Requires: guile-json
Requires: guile-sqlite3
Requires: guile-ssh-devel
Requires: libgcrypt-devel
Requires: libguile-ssh11
Requires(pre): %{install_info_prereq}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
%{?systemd_requires}
%if %{systemd_present}
BuildRequires: systemd-rpm-macros
%endif
%description
Purely functional package manager and a distribution thereof.
%prep
%setup -q
# Create the Makefile including two missing patches
%patch0 -p1
./bootstrap
# install service file to _unitdir
sed -i 's@\$(libdir)/systemd/system@%{_unitdir}@' Makefile.in
mkdir -p gnu/packages/bootstrap/{i686,x86_64,mips64el,armhf}-linux
@ -85,12 +97,15 @@ cp %{SOURCE4} gnu/packages/bootstrap/x86_64-linux/%{guile}
cp %{SOURCE5} gnu/packages/bootstrap/mips64el-linux/%{guile}
cp %{SOURCE6} gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz
cp %{SOURCE12} gnu/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz
# copy the patches to correct location
cp %{SOURCE30} gnu/packages/patches
cp %{SOURCE31} gnu/packages/patches
%build
export GUILE_WARN_DEPRECATED
%configure \
--disable-silent-rules
--disable-silent-rules \
--with-bash-completion-dir=%{_datadir}/bash-completion/completions
make %{?_smp_mflags}
%install
@ -100,15 +115,14 @@ make %{?_smp_mflags}
rm %{buildroot}%{_infodir}/dir
install -d -m 0755 %{buildroot}/gnu
install -d -m 0755 %{buildroot}/gnu/store
%if ! %{systemd_present}
rm -rvf %{buildroot}%{_unitdir}
%else
# if systemd is used, upstart files are not needed
# only systemd is used, so upstart files are not needed
rm -rvf %{buildroot}%{_libdir}/upstart
%endif
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcguix-daemon
install -m 0755 -t %{buildroot}%{_bindir} %{SOURCE20}
install -m 0755 -t %{buildroot}%{_bindir} %{SOURCE21}
sed -i 's@^ExecStart=.*@ExecStart=/usr/bin/run_guix_daemon.sh@' %{buildroot}%{_unitdir}/guix-daemon.service
sed -i 's@^ExecStart=.*@ExecStart=/usr/bin/run_guix_publish.sh@' %{buildroot}%{_unitdir}/guix-publish.service
# RPM throws error, due to be a development file. It's needed for guix pack -R. Disable it for now
rm %{buildroot}%{_datadir}/guile/site/2.0/gnu/packages/aux-files/run-in-namespace.c
%pre
%{_sbindir}/groupadd -r %{guix_builder_group} >/dev/null 2>/dev/null || :
@ -117,49 +131,46 @@ for i in `seq 1 5`; do
-u $((60+$i)) -c "Guix builder $i" -s /sbin/nologin \
-d %{_localstatedir}/empty guix-builder$i 2> /dev/null || :
done
%if %{systemd_present}
%service_add_pre guix-daemon.service
%service_add_pre guix-publish.service
%preun
%service_del_preun guix-daemon.service
%endif
%service_del_preun guix-publish.service
%post
%install_info --info-dir=%{_infodir} %{_infodir}/guix.info.gz
%if %{systemd_present}
%service_add_post guix-daemon.service
%endif
%service_add_post guix-publish.service
# Authorize official key of Guix build farm to enable binary substitutes
guix archive --authorize < %{_datadir}/guix/hydra.gnu.org.pub
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/guix.info.gz
%if %{systemd_present}
%service_del_postun guix-daemon.service
%endif
%service_del_postun guix-publish.service
%files -f %{name}.lang -f guix-packages.lang
%defattr(-,root,root)
%license COPYING
%doc README
# bash completion script is not configuration file but who would argue
# with RPM lint :b
%{_sysconfdir}/bash_completion.d/guix
%doc README NEWS
%{_bindir}/*guix*
%{_datadir}/bash-completion
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_completions.d
%{_datadir}/fish/vendor_completions.d/guix.fish
%{_datadir}/guile
%{_datadir}/guix
%dir %{_datadir}/selinux
%{_datadir}/selinux/guix-daemon.cil
%{_datadir}/zsh
%{_bindir}/*guix*
%{_sbindir}/*guix*
%{_libexecdir}/guix
%{_libexecdir}/guix-authenticate
%{_libdir}/guile/*
%if !0%{?systemd_present}
%{_libdir}/upstart
%endif
%{_infodir}/guix*
%{_infodir}/images
%if %{systemd_present}
%{_unitdir}/guix*.service
%endif
%{_libdir}/guile/*
%{_libexecdir}/guix
%{_libexecdir}/guix-authenticate
%{_mandir}/man1/guix*
%{_unitdir}/guix*.service
%attr(755,root,root) %dir /gnu
%attr(775,root,%{guix_builder_group}) %dir /gnu/store

View File

@ -0,0 +1,32 @@
Description: Use the markdown library provided by the libmarkdown2 package.
Author: Alessandro Ghedini <al3xbio@gmail.com>
Origin: vendor
Forwarded: not-needed
Last-Update: 2012-01-01
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -57,12 +57,6 @@
-sub MY::postamble {
- return sprintf('
-$(MYEXTLIB):
- %s
-', qq{( cd $extdir; CC='cc -fPIC' sh configure.sh; make )\n});
-}
WriteMakefile(
NAME => 'Text::Markdown::Discount',
@@ -71,8 +65,6 @@
($] >= 5.005 ?
(ABSTRACT_FROM => 'lib/Text/Markdown/Discount.pm',
AUTHOR => 'Masayoshi Sekimura <sekimura@cpan.org>') : ()),
- LIBS => '-L' . $extdir,
- INC => '-I. -I' . $extdir,
- MYEXTLIB => $myextlib,
- clean => { FILES => $clean_files },
+ LIBS => '-lmarkdown',
+ INC => '-I.',
);

View File

@ -0,0 +1,63 @@
050cdb59839896b41431791f8ee0ef2564231b8f
Author: Matthew Flatt <mflatt@racket-lang.org>
AuthorDate: Tue Mar 6 09:05:08 2018 -0700
Commit: Matthew Flatt <mflatt@racket-lang.org>
CommitDate: Tue Mar 6 09:05:08 2018 -0700
Parent: efb9a919fc ffi docs: clarification on `unsafe-socket->port`
Containing: master
Follows: v5.0.1 (21612)
xform: avoid problems with `__signbitf128`
Closes #1962 and uses the suggested patch there, among other changes.
2 files changed, 6 insertions(+), 3 deletions(-)
racket/collects/compiler/private/xform.rkt | 2 +-
racket/src/racket/src/number.c | 7 +++++--
diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt
index 28a425c057..89ae848f9c 100644
--- a/collects/compiler/private/xform.rkt
+++ b/collects/compiler/private/xform.rkt
@@ -904,7 +904,7 @@
strlen cos cosl sin sinl exp expl pow powl log logl sqrt sqrtl atan2 atan2l frexp
isnan isinf fpclass signbit _signbit _fpclass __fpclassify __fpclassifyf __fpclassifyl
- _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl
+ _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl __signbitf128
__isinff __isinfl isnanf isinff __isinfd __isnanf __isnand __isinf __isinff128
__inline_isnanl __inline_isnan __inline_signbit __inline_signbitf __inline_signbitd __inline_signbitl
__builtin_popcount __builtin_clz __builtin_isnan __builtin_isinf __builtin_signbit
diff --git a/racket/src/racket/src/number.c b/racket/src/racket/src/number.c
index 71f42aaf3c..3bbad3ba83 100644
--- a/src/racket/src/number.c
+++ b/src/racket/src/number.c
@@ -1796,6 +1796,7 @@ double scheme_real_to_double(Scheme_Object *r)
}
XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d)
+ XFORM_SKIP_PROC
{
#ifdef MZ_IS_NEG_ZERO
return MZ_IS_NEG_ZERO(d);
@@ -1809,7 +1810,9 @@ int scheme_minus_zero_p(double d)
return minus_zero_p(d);
}
-static int rational_dbl_p(double f) {
+XFORM_NONGCING static int rational_dbl_p(double f)
+ XFORM_SKIP_PROC
+{
return !(MZ_IS_NAN(f)
|| MZ_IS_INFINITY(f));
}
@@ -1955,7 +1958,7 @@ real_p(int argc, Scheme_Object *argv[])
return (SCHEME_REALP(o) ? scheme_true : scheme_false);
}
-static int is_rational(const Scheme_Object *o)
+XFORM_NONGCING static int is_rational(const Scheme_Object *o)
{
if (SCHEME_FLOATP(o))
return rational_dbl_p(SCHEME_FLOAT_VAL(o));

11
run_guix_publish.sh Normal file
View File

@ -0,0 +1,11 @@
#!/bin/sh
# if there is newer Guix compiled by `guix pull`, use it
if [ -x /var/guix/profiles/per-user/root/guix-profile/bin/guix-publish ]; then
BINARY=/var/guix/profiles/per-user/root/guix-profile/bin/guix
else
# otherwise use the one installed with our package
BINARY=/usr/bin/guix
fi
exec "$BINARY" publish --user=nobody --port=8181