summaryrefslogtreecommitdiff
path: root/pcr/guix/PKGBUILD
blob: 477c1829e2784901ac3830c3e5978bb42c63089b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Maintainer (Arch): lantw44 (at) gmail (dot) com
# Modified from guix-git 20130119 PKGBUILD

# In order to verify the PGP signature of the source archive, you may need to
# use this command to download the needed public key:
#   gpg --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5

pkgname=guix
pkgver=0.11.0
pkgrel=2
pkgdesc="A purely functional package manager for the GNU system"
arch=('x86_64' 'i686')
url="https://www.gnu.org/software/guix/"
license=('GPL')
options=('!strip')
makedepends=(
  'bash-completion'
  'emacs'    # Please remove this if you are not going to use guix in emacs
  'graphviz' # Please remove this if you are not going to use guix in emacs
  'guile-json'
  'help2man')
depends=(
  'guile>=2.0.7'
  'sqlite>=3.6.19'
  'bzip2'
  'gnutls'
  'libgcrypt'
  'zlib')
optdepends=(
  'bash-completion: to enable bash programmable completion'
  'emacs: to enable Emacs Interface'
  'graphviz: to enable Emacs Interface'
  'guile-json: to import packages from cpan, gem, pypi')
source=(
  "ftp://alpha.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig})
install="${pkgname}.install"
sha1sums=('bd12d65a46c8eef3b490efea6ac953b995d524eb'
          'a9080412df96832d22e57a1bcc76e3016f93f0b0')
validpgpkeys=('3CE464558A84FDC69DB40CFB090B11993D9AEBB5')

build() {
	bash_completion_dir="`pkg-config --variable=completionsdir bash-completion`"
	cd ${srcdir}/${pkgname}-${pkgver}
	./configure --prefix=/usr --sbindir=/usr/bin \
		--libexecdir=/usr/lib/${pkgname} --localstatedir=/var \
		--sysconfdir=/etc --with-bash-completion-dir="${bash_completion_dir}" \
		--disable-rpath
	make
}

check() {
	cd ${srcdir}/${pkgname}-${pkgver}
	# Don't run tests requiring user namespace
	if unshare -Ur true; then :; else
		sed -i 's|tests/syscalls.scm||' Makefile
		sed -i 's|tests/containers.scm||' Makefile
		sed -i 's|tests/guix-environment-container.sh||' Makefile
	fi
	# Make sure we have a valid shell accepting -c option
	SHELL=/bin/sh make check
}

package() {
	cd ${srcdir}/${pkgname}-${pkgver}
	make DESTDIR="${pkgdir}" install
	# Remove the unused upstart service file
	rm -r ${pkgdir}/usr/lib/upstart
	# The default makepkg strip option cannot be used here because binaries
	# installed in /usr/share must not be stripped.
	# To keep user-defined 'strip' and 'debug' options useful, we still
	# depend on 'tidy_strip' function provided by makepkg to do the stripping
	# work. To make the function useful, we have to temporarily remove the
	# '!strip' option from 'options' array. However, assignments to 'options'
	# cause mksrcinfo to insert wrong lines to .SRCINFO, so they have to be
	# put in eval.
	eval 'options=()'
	cd ${pkgdir}/usr/bin
	tidy_strip
	cd ${pkgdir}/usr/lib
	tidy_strip
	eval 'options=("!strip")'
}