- Remove install dependency on specific version of libguile-ssh

OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/guix?expand=0&rev=55
This commit is contained in:
Jonathan Brielmaier 2025-03-03 17:23:30 +00:00 committed by Git OBS Bridge
commit 18beba4ece
18 changed files with 3440 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3939909f24dcb955621aa7f81ecde6844bea8a083969c2d275c55699af123ebe
size 2948976

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAljw80AACgkQCQsRmT2a
67XkWRAAkMuJBflWFjdC4jSlY9Sy7SeVAaLvpfAANZ+b5Bm4rz0rdopr9j3DxwgF
ByRk1e9XgLMzzpjxEnEBT+VDGaw21TTv0ClTsQkJdr+EcPotRM6DR8wisP9QZrzq
98B9OsVwX6kLdgqn/ve1KDVYLQmZmLuE/Fjq8JRcazhKvg14Yhn9BSa083s/Wgh/
TjluDAlkfuIy8MAm8rP2Ie2TfhkrjQR9UXpNWlDjrtVa/VzbzhJsF1nAEkY4/HRP
TjuTpdhJ1SvssMjlO8N3FoE8+yx8eA8WU+wbo7pH1RFsUhg9Yq7RBKKcfkH+Xrpa
oiSqWSO0ObSmPZluDNwWVn5q88ruwQ9MA/7MhjPVcYlDHyrh/XaU/I376Gd/z1ah
tV5vo1NQEVDEf9Ap+HCIC6k7rSgSqWBHd3hwLjZtadEz1TfntBCXZR5OjKrOHtEF
bDXQyL2q7AHzG0tWoZbnUlXp6f/hbdU8d49sG2+47AgUzrErcoytRMS9cW6X8Vss
VUisY8T492jQOMhOuTqQPtmWJLNmsFI8NvzaYET+FvoVAzSk+cAFMXCoookUi1rT
tSrEYm2yCw1LHFLwqxcq32TBUz7txDxrwdS2umtpaL69Z7Kv3ynhTydgENDFMZCB
9wuyMo7Wh5e+Fg9jVx+DbTrm60DNATSTIEWACW/Fhl4IMaKk7ss=
=nipT
-----END PGP SIGNATURE-----

View File

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

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABAgAGBQJUpvQPAAoJEAkLEZk9muu13I8P/iN/1zQQ8p26VYr4pVvGDAHR
77JFyDUd9YT/SgpcqQf+7xGcb0UWXnnLohQU8r+tm+MVzfkr892TUktC1Hqa4Cy6
Z/hvhmdld8EHeCOk/uKhwvp4OMpSPp4vOln6KyxUEaqarUIrNpS9dTB/Hu6eHX04
emZ0haqqwx67GK3TuAqUXDwgnjd8pXmfVa0fu631yDoZjrGMVqOD/0rtn6wO794D
GzABUb5HZ0PT1bEQXD80xZ53yJeQC38bv5bXC0rqTpzFrizpruZBlUJ5ZZIXeUwi
/eGMcDXYGATBYFSUtyDbiVLNtwtxtf7VtUwCwtw0pHx0eSJ0E57OlS40sF9QC4Q8
vsOgMtOKGvn1N883aR7K8JD3+6U8YOE5YNCs/O+RvgNY3rcFave8z432flQTtoJh
ri5fxAmB+LxdGQ+zL5GdVTK+VSFblVQTIcupTeXaCMMGmswArEUhfp0pRLYPNwMN
zbcCe6+t8SQWxVaxmZCJqDqiI0iATQyIqKnore7qypY0tRoGMqXaqMzjqN7g5IhB
Hw8XtoPdAPidvr0miIkJqWIJywQLJSTM4fJFfSKxrpb1uq1qin9iZIYTRNrhhNJo
LwaV5xJRQu2yKqXz/2Ikc75vNHrDJGuSJM4lbwXz+O+XR32MQrHWpec2N/9vWhK2
uupWdaZ3z5YdqW4Ye6Ak
=oy4c
-----END PGP SIGNATURE-----

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:43c769cbf632ef05449ac1fa48c1ba152c33494c6abc7e47137bba7b2149f8a4
size 40563275

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

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAmOfgXMACgkQCQsRmT2a
67WqmA/9HTcfW7Ud12BPoiaP2eIDYVbRx6y457Jv0wTF5JmB0xTVuzSAxJlCZjBp
t4nxHyPkVoExn+o+G6Oz+qFnyg0XBy9xWcZn2NZ7ScmEXQ3hcXsw3BPpFKnceuVz
DMRKQUo3pl4oca20ToskEreFq2m/xKTdNj9H/aUlLGE9AMslqiIdgohtzs2n4KN2
z9nd0jnDKeu4hpW/UAikN/7/9Eq3Jg4ZxJlCaqn0A1lt5P2gsn0elNU+hirdTatb
HnATQbezy0IMfo5icxfShC7YfRL9Dxy/ksm2kHr1FGwzPy9bsLpaL4g5JLOozVYA
lnQTVPDUPeE/tOhGxM4c4LvSDbXXq0DHWmxIkMfLBUDSZ+KuOEbghnZR3C1BwMjj
VSX2KV4bozBvILMrtKEaVkeCubAeP1pS7Bo5sU88Aa3zQFOUP0CEjfcVcOiSa3Bq
X+uqYVs/YG8kPh0STyqzjORxAbFvDqA9iZ6cp8XP3aCNxhaIJ4Hl/SaPaekgW+H3
70Xqa1RRq6E/zjCCpG0TXW9VgKzBzKx6SZc/T19SzY2gPHM8XQ2YB4azKn6wi62h
6VSl49y8dNiaQkfR1H9yv2y2Ef/0t78DclBJnG+JxgsxHHRsbN0ua+lLQx1V7K1r
nVPTlxeF+Vxk3udmb2mAH0WuhkcMaoxU4GTByM0VVT/CDwEawMo=
=T6fA
-----END PGP SIGNATURE-----

5
guix-rpmlintrc Normal file
View File

@ -0,0 +1,5 @@
# 4] Other
# Needed for "guix pack --relocatable", needed at runtime so no devel file
# This file gots compiled by Guix with a compiler from Guix right before the
# resulting "pack" gets build
addFilter("E: devel-file-in-non-devel-package *")

12
guix-user.conf Normal file
View File

@ -0,0 +1,12 @@
#Type Name ID GECOS Home directory Shell
g guixbuild -
u guix-builder1 -:guixbuild "Guix builder 1" /var/empty /sbin/nologin
m guix-builder1 guixbuild
u guix-builder2 -:guixbuild "Guix builder 2" /var/empty /sbin/nologin
m guix-builder2 guixbuild
u guix-builder3 -:guixbuild "Guix builder 3" /var/empty /sbin/nologin
m guix-builder3 guixbuild
u guix-builder4 -:guixbuild "Guix builder 4" /var/empty /sbin/nologin
m guix-builder4 guixbuild
u guix-builder5 -:guixbuild "Guix builder 5" /var/empty /sbin/nologin
m guix-builder5 guixbuild

1495
guix.changes Normal file

File diff suppressed because it is too large Load Diff

1637
guix.keyring Normal file

File diff suppressed because it is too large Load Diff

178
guix.spec Normal file
View File

@ -0,0 +1,178 @@
#
# spec file for package guix
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2023 Jonathan Brielmaier <j.brielmaier@opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define guile guile-2.0.9.tar.xz
%define guix_builder_group guixbuild
Name: guix
Version: 1.4.0
Release: 0
Summary: GNU Package manager
License: GPL-3.0-only
Group: System/Packages
URL: http://www.gnu.org/software/guix/
Source0: https://ftp.gnu.org/gnu/guix/%{name}-%{version}.tar.gz
Source1: https://ftp.gnu.org/gnu/guix/%{name}-%{version}.tar.gz.sig
Source2: %{name}.keyring
# source file renamed - this would lead to 3 same file names
# http://alpha.gnu.org/gnu/guix/bootstrap/i686-linux/20131110/%%{guile}
Source3: i686-linux-%{guile}
# http://alpha.gnu.org/gnu/guix/bootstrap/x86_64-linux/20131110/%%{guile}
Source4: x86_64-linux-%{guile}
# http://alpha.gnu.org/gnu/guix/bootstrap/mips64el-linux/20131110/%%{guile}
Source5: mips64el-linux-%{guile}
# http://alpha.gnu.org/gnu/guix/bootstrap/armhf-linux/20150101/guile-2.0.11.tar.xz
Source6: armhf-linux-guile-2.0.11.tar.xz
Source10: guix-rpmlintrc
Source11: armhf-linux-guile-2.0.11.tar.xz.sig
# http://alpha.gnu.org/gnu/guix/bootstrap/aarch64-linux/20170217/guile-2.0.14.tar.xz
Source12: aarch64-linux-guile-2.0.14.tar.xz
Source13: aarch64-linux-guile-2.0.14.tar.xz.sig
Source20: run_guix_daemon.sh
Source21: run_guix_publish.sh
Source22: %{name}-user.conf
BuildRequires: gcc-c++
BuildRequires: gnutls-guile
BuildRequires: guile-charting
BuildRequires: guile-devel >= 2.2
BuildRequires: guile-gcrypt
BuildRequires: guile-git
BuildRequires: guile-json
BuildRequires: guile-lzlib
BuildRequires: guile-sqlite3
BuildRequires: guile-ssh-devel
BuildRequires: guile-zlib
# this is actually just to make guile-git working
BuildRequires: libgcrypt-devel
BuildRequires: libgit2-devel
BuildRequires: pkgconfig
BuildRequires: shepherd
BuildRequires: systemd-rpm-macros
BuildRequires: sysuser-tools
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(libgcrypt)
BuildRequires: pkgconfig(sqlite3)
%sysusers_requires
Requires: gnutls-guile
Requires: guile
Requires: guile-gcrypt
Requires: guile-git
Requires: guile-json
Requires: guile-lzlib
Requires: guile-sqlite3
Requires: guile-ssh-devel
Requires: guile-zlib
Requires: gzip
Requires: libgcrypt-devel
Requires(pre): %{install_info_prereq}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64 ppc64le
Provides: %{_libexecdir}/guix/guile
%description
Purely functional package manager and a distribution thereof.
It offers transactional upgrades, roll-backs, unprivileged package management.
As a GNU distribution it contains only free software.
%prep
%setup -q
# install service file to _unitdir
sed -i 's@\$(libdir)/systemd/system@%{_unitdir}@' Makefile.in
mkdir -p gnu/packages/bootstrap/{i686,x86_64,mips64el,armhf,aarch64}-linux
cp %{SOURCE3} gnu/packages/bootstrap/i686-linux/%{guile}
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
%build
%sysusers_generate_pre %{SOURCE22} %{name} %{name}-user.conf
export GUILE_WARN_DEPRECATED
%configure \
--disable-silent-rules \
--with-bash-completion-dir=%{_datadir}/bash-completion/completions
# guile 2.2.6 core dumps while build guix with more then 3 threads. See https://issues.guix.gnu.org/issue/36811
# building in parallel makes build results nondeterministic (boo#1170378)
make
%install
%make_install
%find_lang %{name}
%find_lang guix-packages
rm %{buildroot}%{_infodir}/dir
install -d -m 0755 %{buildroot}/gnu
install -d -m 0755 %{buildroot}/gnu/store
# only systemd is used, so upstart or sysv init files are not needed
rm -rvf %{buildroot}%{_libdir}/upstart %{buildroot}%{_sysconfdir}/init.d/guix-daemon %{buildroot}%{_sysconfdir}/openrc
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
install -D -m 0644 %{SOURCE22} %{buildroot}%{_sysusersdir}/%{name}-user.conf
%pre -f %{name}.pre
%service_add_pre guix-daemon.service
%service_add_pre guix-publish.service
%preun
%service_del_preun guix-daemon.service
%service_del_preun guix-publish.service
%post
%install_info --info-dir=%{_infodir} %{_infodir}/guix.info.gz
%service_add_post guix-daemon.service
%service_add_post guix-publish.service
# Authorize official keys of Guix build farm to enable binary substitutes
for key in %{_datadir}/guix/*.pub; do
guix archive --authorize < "$key"
done
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/guix.info.gz
%service_del_postun guix-daemon.service
%service_del_postun guix-publish.service
%files -f %{name}.lang -f guix-packages.lang
%defattr(-,root,root)
%license COPYING
%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
%{_infodir}/guix*
%{_infodir}/images
%{_libdir}/guile/*
# Guile wrapper shipped by Guix to silence locale warnings
%dir %{_libexecdir}/guix
%{_libexecdir}/guix/guile
%{_mandir}/man1/guix*
%{_unitdir}/guix*.service
%{_unitdir}/gnu-store.mount
%attr(755,root,root) %dir /gnu
%attr(775,root,%{guix_builder_group}) %dir /gnu/store
%{_sysusersdir}/%{name}-user.conf
%changelog

View File

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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b
size 2734180

11
run_guix_daemon.sh Normal file
View File

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

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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:037b103522a2d0d7d69c7ffd8de683dfe5bb4b59c1fafd70b4ffd397fd2f57f0
size 2885996