Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions srcpkgs/guile-avahi/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Template file for 'guile-avahi'
pkgname=guile-avahi
version=0.4.1
revision=1
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="pkgconf guile-devel"
makedepends="guile-devel avahi-libs-devel gmp-devel"
depends="avahi-libs"
short_desc="Avahi bindings for GNU Guile"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="LGPL-3.0-or-later"
homepage="https://www.nongnu.org/guile-avahi"
distfiles="${NONGNU_SITE}/guile-avahi/guile-avahi-${version}.tar.gz"
checksum=db9de9e19df728b40d23c0381caa9f8eda2b175fa7f69f153be8f3f078044ca5
19 changes: 19 additions & 0 deletions srcpkgs/guile-bytestructures/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Template file for 'guile-bytestructures'
pkgname=guile-bytestructures
version=2.0.2
revision=1
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="autoconf automake libtool pkgconf texinfo guile-devel"
makedepends="guile-devel"
short_desc="Structured access to bytevector contents for Guile"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="GPL-3.0-or-later"
homepage="https://github.com/TaylanUB/scheme-bytestructures"
changelog="https://github.com/TaylanUB/scheme-bytestructures/releases"
distfiles="https://github.com/TaylanUB/scheme-bytestructures/archive/refs/tags/v${version}.tar.gz"
checksum=b0681daa006c80efd2fce5dc174ac439d44be8a9c2e70938e497efad08cd5659

pre_configure() {
autoreconf -vfi
}
19 changes: 19 additions & 0 deletions srcpkgs/guile-gcrypt/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Template file for 'guile-gcrypt'
pkgname=guile-gcrypt
version=0.5.0
revision=1
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="autoconf automake libtool pkgconf texinfo guile-devel"
makedepends="guile-devel libgcrypt-devel"
depends="libgcrypt-devel"
short_desc="Guile Scheme bindings for libgcrypt"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="GPL-3.0-or-later"
homepage="https://codeberg.org/guile-gcrypt/guile-gcrypt"
distfiles="https://codeberg.org/guile-gcrypt/guile-gcrypt/archive/v${version}.tar.gz"
checksum=92dd5d2253ecb96a30483850528a76f6e1d7e53e5163670a7d9126f78fe4cfbe

pre_configure() {
./bootstrap.sh
}
18 changes: 18 additions & 0 deletions srcpkgs/guile-lib/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Template file for 'guile-lib'
pkgname=guile-lib
version=0.2.8.1
revision=1
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="guile-devel pkgconf"
makedepends="guile-devel texinfo"
short_desc="Repository of useful code written in Guile Scheme"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="GPL-3.0-or-later AND LGPL-3.0-or-later"
homepage="http://www.nongnu.org/guile-lib/"
distfiles="https://download.savannah.gnu.org/releases/guile-lib/guile-lib-${version}.tar.gz"
checksum=1374c2d839e6a33d190cd1dabd9c7f87753f8384f55b866f3e142155c22b49b1

post_install() {
rm -f ${DESTDIR}/usr/share/info/dir
}
19 changes: 19 additions & 0 deletions srcpkgs/guile-lzlib/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Template file for 'guile-lzlib'
pkgname=guile-lzlib
version=0.3.0
revision=1
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="autoconf automake libtool pkgconf guile-devel"
makedepends="guile-devel lzlib-devel"
depends="lzlib-devel"
short_desc="Guile bindings for lzlib"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="GPL-3.0-or-later"
homepage="https://codeberg.org/guile-compression/guile-lzlib"
distfiles="https://codeberg.org/guile-compression/guile-lzlib/archive/${version}.tar.gz"
checksum=a7f99c8d2a143e05ea22db2dc8b9ce6c27cae942162b45ee3015ed9027af0ff2

pre_configure() {
autoreconf -vfi
}
15 changes: 15 additions & 0 deletions srcpkgs/guile-semver/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Template file for 'guile-semver'
pkgname=guile-semver
version=0.1.1
revision=1
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="autoconf automake libtool pkgconf guile-devel"
makedepends="guile-devel zlib-devel"
depends="zlib-devel"
short_desc="Guile library for semantic versions"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="GPL-3.0-or-later"
homepage="https://ngyro.com/software/guile-semver.html"
distfiles="https://files.ngyro.com/guile-semver/guile-semver-${version}.tar.gz"
checksum=4f790919375feb204a8ea2eda92a291d9bb4de4c8eb1c6776784589a86253781
19 changes: 19 additions & 0 deletions srcpkgs/guile-sqlite3/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Template file for 'guile-sqlite3'
pkgname=guile-sqlite3
version=0.1.3
revision=1
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="autoconf automake libtool pkgconf guile-devel"
makedepends="guile-devel sqlite-devel"
depends="sqlite-devel"
short_desc="Guile bindings for SQLite"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="LGPL-3.0-or-later"
homepage="https://codeberg.org/guile-sqlite3/guile-sqlite3"
distfiles="https://codeberg.org/guile-sqlite3/guile-sqlite3/archive/v${version}.tar.gz"
checksum=158cb82958c6329319f911412999ea125980f327f54185bf0dad271d6f8f45c2

pre_configure() {
autoreconf -vfi
}
21 changes: 21 additions & 0 deletions srcpkgs/guile-ssh/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Template file for 'guile-ssh'
pkgname=guile-ssh
version=1.0.0
revision=1
archs="x86_64 aarch64"
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="autoconf automake libtool pkgconf texinfo guile-devel"
makedepends="guile-devel libssh-devel"
short_desc="SSH module for Guile based on libssh"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="GPL-3.0-or-later"
homepage="https://github.com/artyom-poptsov/guile-ssh"
distfiles="https://github.com/artyom-poptsov/guile-ssh/archive/v${version}.tar.gz"
checksum=9be26290cdd65ffe812d1e69d4bb87a2d41d2ee72ff8db65dee817fc315f153c
# tests fail due to libssh API mismatch (signature/key API changed in libssh 1.x)
make_check=no

pre_configure() {
autoreconf -fi
}
14 changes: 14 additions & 0 deletions srcpkgs/guile-zlib/patches/zlib.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
--- a/zlib.scm 2025-01-19 00:55:26.000000000 +0400
+++ b/zlib.scm 2026-04-17 00:35:52.268609895 +0400
@@ -63,7 +63,10 @@
;;; Code:

(define %zlib
- (delay (dynamic-link %libz)))
+ (delay
+ (or (false-if-exception (dynamic-link "libz.so.1"))
+ (false-if-exception (dynamic-link "libz"))
+ (error "zlib: unable to load libz library"))))

(define (zlib-procedure ret name parameters)
"Return a procedure corresponding to C function NAME in libz, or #f if
19 changes: 19 additions & 0 deletions srcpkgs/guile-zlib/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Template file for 'guile-zlib'
pkgname=guile-zlib
version=0.2.2
revision=1
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="autoconf automake libtool pkgconf guile-devel"
makedepends="guile-devel zlib-devel"
depends="zlib-devel"
short_desc="Guile bindings for zlib"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="GPL-3.0-or-later"
homepage="https://codeberg.org/guile-compression/guile-zlib"
distfiles="https://codeberg.org/guile-compression/guile-zlib/archive/v${version}.tar.gz"
checksum=6f6cca4b32ca79f3f4627cdb7ea68569a3cc38be60468991e2b5c085783e38c1

pre_configure() {
autoreconf -vfi
}
19 changes: 19 additions & 0 deletions srcpkgs/guile-zstd/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Template file for 'guile-zstd'
pkgname=guile-zstd
version=0.1.1
revision=1
build_style=gnu-configure
configure_args="--with-guile-site-dir=no"
hostmakedepends="autoconf automake libtool pkgconf guile-devel"
makedepends="guile-devel libzstd-devel"
depends="libzstd-devel"
short_desc="Guile bindings for zstd"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="GPL-3.0-or-later"
homepage="https://codeberg.org/guile-compression/guile-zstd"
distfiles="https://codeberg.org/guile-compression/guile-zstd/archive/v${version}.tar.gz"
checksum=6e57ef524f20cab79ca5fd62366c5435f71cf652f582fc1e7d62585e90d499c5

pre_configure() {
autoreconf -vfi
}
5 changes: 5 additions & 0 deletions srcpkgs/guix/files/guix-daemon/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh

exec 2>&1
# https://guix.gnu.org/manual/1.5.0/en/html_node/Build-Environment-Setup.html#unprivileged_002ddaemon_002dmigration
exec chpst -u _guix_daemon guix-daemon
53 changes: 53 additions & 0 deletions srcpkgs/guix/files/guix.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Explicitly initialize XDG base directory variables to ease compatibility
# with Guix System: see <https://issues.guix.gnu.org/56050#3>.
export XCURSOR_PATH="${XCURSOR_PATH:-$HOME/.local/share/icons:$HOME/.icons:/usr/local/share/icons:/usr/share/icons}"
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"
export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}"
export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
# no default for XDG_RUNTIME_DIR (depends on foreign distro for semantics)

# `guix pull` profile
GUIX_PROFILE="$HOME/.config/guix/current"
export PATH="$GUIX_PROFILE/bin${PATH:+:}$PATH"
# Add to INFOPATH and MANPATH so the latest Guix documentation is available to
# info and man readers. When INFOPATH is unset, add a trailing colon so Emacs
# searches 'Info-default-directory-list'. When MANPATH is unset, add a
# trailing colon so the system default search path is used.
export INFOPATH="$GUIX_PROFILE/share/info:$INFOPATH"
export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"

# User's default profile, if it exists
GUIX_PROFILE="$HOME/.guix-profile"
if [ -f "$GUIX_PROFILE/etc/profile" ]; then
. "$GUIX_PROFILE/etc/profile"

# see info '(guix) Application Setup'
export GUIX_LOCPATH="$GUIX_PROFILE/lib/locale${GUIX_LOCPATH:+:}$GUIX_LOCPATH"

# Documentation search paths may be handled by $GUIX_PROFILE/etc/profile if
# the user installs info and man readers via Guix. If the user doesn’t,
# explicitly add to them so documentation for software from ‘guix install’
# is available to the system info and man readers.
case $INFOPATH in
*$GUIX_PROFILE/share/info*) ;;
*) export INFOPATH="$GUIX_PROFILE/share/info:$INFOPATH" ;;
esac
case $MANPATH in
*$GUIX_PROFILE/share/man*) ;;
*) export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
esac

case $XDG_DATA_DIRS in
*$GUIX_PROFILE/share*) ;;
*) export XDG_DATA_DIRS="$GUIX_PROFILE/share:$XDG_DATA_DIRS"
esac
fi

# NOTE: Guix Home handles its own profile initialization in ~/.profile. See
# info '(guix) Configuring the Shell'.

# Clean up after ourselves.
unset GUIX_PROFILE
90 changes: 90 additions & 0 deletions srcpkgs/guix/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Template file for 'guix'
pkgname=guix
version=1.5.0
revision=1
# Guix currently requires a glibc-based host system.
archs="x86_64 aarch64"
build_style=gnu-configure
configure_args="
--prefix=${XBPS_CROSS_BASE}/usr
--sysconfdir=${XBPS_CROSS_BASE}/etc
--localstatedir=${XBPS_CROSS_BASE}/var
--disable-rpath
--with-bash-completion-dir=${XBPS_CROSS_BASE}/usr/share/bash-completion/completions
--with-fish-completion-dir=${XBPS_CROSS_BASE}/usr/share/fish/vendor_completions.d
"
hostmakedepends="pkgconf texinfo help2man git gettext po4a guile-devel guile-gnutls guile-gcrypt guile-git guile-gnutls
guile-json guile-lzlib guile-sqlite3 guile-lib guile-semver guile-ssh guile-zlib guile-zstd guile-avahi"
makedepends="bzip2-devel guile-devel zlib-devel libgcrypt-devel linux-headers sqlite-devel"
depends="guile guile-gcrypt guile-git guile-gnutls guile-json guile-lzlib guile-semver guile-zlib guile-sqlite3 guile-lib
guile-zstd guile-avahi guile-ssh shadow"
short_desc="Functional package manager based on Guile Scheme"
maintainer="nerdyslacker <karyan40024@gmail.com>"
license="GPL-3.0-or-later"
homepage="https://guix.gnu.org"
changelog="https://guix.gnu.org/en/blog/tags/releases"
distfiles="${GNU_SITE}/guix/guix-${version}.tar.gz"
checksum=df2102eed00aff0b17275654a42f094c8a1117ec065884eb1ff76005e47415c5
system_groups="_guix_daemon _guixbuild kvm"
system_accounts="_guix_daemon _guixbuild"
_guix_daemon_pgroup="_guix_daemon"
_guix_daemon_groups="kvm"
_guixbuild_pgroup="_guixbuild"
make_dirs="
/gnu 0755 _guix_daemon _guix_daemon
/etc/guix 0755 _guix_daemon _guix_daemon
/var/guix 0755 _guix_daemon _guix_daemon
/var/guix/daemon-socket 0755 _guix_daemon _guix_daemon
/var/guix/db 0755 _guix_daemon _guix_daemon
/var/guix/discover 0755 _guix_daemon _guix_daemon
/var/guix/gcroots 0755 _guix_daemon _guix_daemon
/var/guix/offload 0755 _guix_daemon _guix_daemon
/var/guix/substitute 0755 _guix_daemon _guix_daemon
/var/guix/temproots 0755 _guix_daemon _guix_daemon
/var/log/guix 0755 _guix_daemon _guix_daemon
"
# Tests are disabled because they require:
# - network access and bootstrap downloads
# - unprivileged user/pid/mount namespaces
make_check=no

pre_configure() {
local guix_system="${XBPS_TARGET_MACHINE}-linux"

case "${XBPS_TARGET_MACHINE}" in
i686) guix_system="i686-linux" ;;
armv7l) guix_system="armhf-linux" ;;
ppc64le) guix_system="powerpc64le-linux" ;;
esac

configure_args+=" --with-system=${guix_system}"

export GUILE_LOAD_PATH="/usr/share/guile/site/3.0:/usr/share/guile/3.0"
export GUILE_LOAD_COMPILED_PATH="/usr/lib/guile/3.0/site-ccache:/usr/lib/guile/3.0/ccache"
}

post_install() {
vmkdir etc/profile.d
vcopy "${FILESDIR}/guix.sh" etc/profile.d

rm -rf \
"${DESTDIR}/usr/lib/upstart" \
"${DESTDIR}/etc/init.d" \
"${DESTDIR}/etc/openrc" \
"${DESTDIR}/usr/lib/systemd" \
"${DESTDIR}/usr/share/selinux" \
"${DESTDIR}/etc/apparmor.d"

vsv guix-daemon

vmkdir etc/guix
{
printf '(acl\n (entry\n'
sed -e 's,^, ,g' -e 's, $$,,g' \
etc/substitutes/ci.guix.gnu.org.pub
printf ' (tag\n (guix import)\n )\n )\n (entry\n'
sed -e 's,^, ,g' -e 's, $$,,g' \
etc/substitutes/bordeaux.guix.gnu.org.pub
printf ' (tag\n (guix import)\n )\n )\n )\n'
} > "${DESTDIR}/etc/guix/acl"
}
Loading