diff options
Diffstat (limited to 'guix/PKGBUILD')
-rw-r--r-- | guix/PKGBUILD | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/guix/PKGBUILD b/guix/PKGBUILD new file mode 100644 index 0000000..2c6f93c --- /dev/null +++ b/guix/PKGBUILD @@ -0,0 +1,139 @@ +# Copyright (C) 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> +# This program is free software: you can redistribute it and/or modify +# it under the terms of the CC0 1.0 License. +# Maintainer: Parabola Hackers <dev@lists.parabola.nu> +_distro=guix +pkgbase=guix +pkgname=("${pkgbase}" + "${pkgbase}-all" + "${pkgbase}-src" + "${pkgbase}-1.4.0-x86_64-linux" + "${pkgbase}-1.4.0-i686-linux") +pkgver=1.4.0 +pkgrel=1 +pkgdesc="Guix docker image(s)" +arch=('x86_64') +url='https://guix.gnu.org/' +license=('FSDG') +# This docker image follows the Free System Distribution Guidelines (GNU FSDG) +# The FSDG itself is under the CC-BY-ND-4.0 +source=('free-system-distribution-guidelines.html' + 'CC-BY-ND-4.0.txt' + 'docker-image.scm' + 'GPL3.txt' + "${pkgbase}.sha512") +sha512sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +prepare(){ + mkdir -p build + mkdir -p sources +} + +_build_tarball(){ + _version="$1" + _system="$2" + _guix="${HOME}/.config/guix/current/bin/guix" + + cd "${srcdir}/build" + + install \ + -m644 \ + $(${_guix} time-machine --commit="v${_version}" -- \ + system image -s "${_system}" \ + -t docker \ + "${srcdir}/docker-image.scm") \ + "${pkgbase}-${_version}-${_system}.tar.gz" + + # Comment the gunzip and xz commands and uncomment the mv + # command if you want to do faster builds for testing + # some modifications. + gunzip -f -v "${pkgbase}-${_version}-${_system}.tar.gz" + xz -f -9e --verbose -T 0 "${pkgbase}-${_version}-${_system}.tar" + # mv -f "${pkgbase}-v${_version}-${_system}.tar.gz" \ + # "${pkgbase}-v${_version}-${_system}.tar.xz" +} + +_build_source_tarball(){ + _version="$1" + _system="$2" + _guix="${HOME}/.config/guix/current/bin/guix" + + cd "${srcdir}/sources" + + tar cf "${pkgbase}-${_version}-${_system}-src.tar" \ + $(${_guix} time-machine --commit="v${_version}" -- \ + build -s "${_system}" \ + --source \ + -e '(@@ (gnu system) %base-packages)') +} + +build(){ + _build_tarball "${pkgver}" "x86_64-linux" + _build_source_tarball "${pkgver}" "x86_64-linux" + _build_tarball "${pkgver}" "i686-linux" + _build_source_tarball "${pkgver}" "i686-linux" +} + +_install_tarball(){ + _tarball="$1" + + cd "${srcdir}/build" + install \ + -d "${pkgdir}/usr/share/docker-images/${pkgbase}/" + install "${_tarball}" \ + -t "${pkgdir}/usr/share/docker-images/${pkgbase}/" +} + +_install_source_tarball(){ + _version="$1" + _system="$2" + _tarball="${pkgbase}-${_version}-${_system}-src.tar" + + cd "${srcdir}/sources" + install \ + -d "${pkgdir}/usr/share/docker-images/${pkgbase}/" + install "${_tarball}" \ + -t "${pkgdir}/usr/share/docker-images/${pkgbase}/" +} + +package_guix() { + install \ + -d "${pkgdir}/usr/share/licenses/${pkgbase}/" + install free-system-distribution-guidelines.html \ + -t "${pkgdir}/usr/share/licenses/${pkgbase}/" + install CC-BY-ND-4.0.txt \ + -t "${pkgdir}/usr/share/licenses/${pkgbase}/" + install GPL3.txt \ + -t "${pkgdir}/usr/share/licenses/${pkgbase}/" + + install \ + -d "${pkgdir}/usr/share/docker-images/${pkgbase}/" + install "docker-image.scm" \ + -t "${pkgdir}/usr/share/docker-images/${pkgbase}/" +} + +package_guix-all(){ + depends=("${pkgbase}" + "${pkgbase}-1.4.0-x86_64-linux" + "${pkgbase}-1.4.0-i686-linux") +} + +package_guix-1.4.0-x86_64-linux(){ + _install_tarball "${pkgname}.tar.xz" +} +package_guix-1.4.0-i686-linux(){ + _install_tarball "${pkgname}.tar.xz" +} +package_guix-src(){ + _install_source_tarball "${pkgver}" "x86_64-linux" + _install_source_tarball "${pkgver}" "i686-linux" +} + +check(){ + cd "${srcdir}/build" + sha512sum -c "${srcdir}/${pkgbase}.sha512" +} |