summaryrefslogtreecommitdiff
path: root/dev-scheme/guile-zstd/guile-zstd-0.1.1-r1.ebuild
blob: 7d00f87e4450d57fc0262e355022dee81713ab97 (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
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit autotools

DESCRIPTION="GNU Guile bindings to the zstd compression library"
HOMEPAGE="https://notabug.org/guile-zstd/guile-zstd/"
SRC_URI="https://notabug.org/${PN}/${PN}/archive/v${PV}.tar.gz
	-> ${P}.tar.gz"
S="${WORKDIR}"/${PN}

LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"

# In zstd-1.5.2-r2 library was moved from /usr/lib to /lib
RDEPEND="
	>=dev-scheme/guile-2.0.0:=
	>=app-arch/zstd-1.5.2-r2
"
DEPEND="${RDEPEND}"

DOCS=( AUTHORS ChangeLog NEWS README )

# guile generates ELF files without use of C or machine code
# It's a portage's false positive. bug #677600
QA_PREBUILT='*[.]go'

src_prepare() {
	default

	# Workaround gentoo-specific deviation where
	# /usr/lib64/libzstd.so is a linker script that points to:
	#   GROUP ( /lib64/libzstd.so.1 )
	# This confuses guile-zstd and fails to open the library:
	#   substitute: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
	#   substitute: In procedure load-foreign-library: file: "/usr/lib64/libzstd.so.1",
	#     message: "file not found"
	#   guix environment: error: `/usr/bin/guix substitute' died unexpectedly
	sed "s|@ZSTD_LIBDIR@/libzstd.so.1|/$(get_libdir)/libzstd.so.1|" \
		-i "${S}"/zstd/config.scm.in || die

	# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
	find "${S}" -name "*.scm" -exec touch {} + || die

	eautoreconf
}

src_install() {
	default

	# Workaround llvm-strip problem of mangling guile ELF debug
	# sections: https://bugs.gentoo.org/905898
	dostrip -x "/usr/$(get_libdir)/guile"
}