1SUMMARY="Data compression utilities and libraries"
2DESCRIPTION="LZ4 is a very fast lossless compression algorithm, providing \
3compression speed at 400 MB/s per core, scalable with multi-core CPUs. It \
4also features an extremely fast decoder, with speed in multiple GB/s per \
5core, typically reaching RAM speed limits on multi-core systems."
6HOMEPAGE="https://lz4.github.io/lz4/"
7COPYRIGHT="2011-2020 Yann Collet"
8LICENSE="BSD (2-clause)
9	GNU GPL v2"
10REVISION="1"
11SOURCE_URI="https://github.com/lz4/lz4/archive/v$portVersion.tar.gz"
12SOURCE_FILENAME="lz4-$portVersion.tar.gz"
13CHECKSUM_SHA256="0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b"
14
15ARCHITECTURES="all"
16SECONDARY_ARCHITECTURES="x86_gcc2 x86"
17
18libVersion="$portVersion"
19libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
20
21PROVIDES="
22	lz4$secondaryArchSuffix = $portVersion
23	lib:liblz4$secondaryArchSuffix = $libVersionCompat
24	"
25
26if [ -z "$secondaryArchSuffix" ]; then
27PROVIDES="$PROVIDES
28	cmd:lz4 = $portVersion
29	cmd:lz4c = $portVersion
30	cmd:lz4cat = $portVersion
31	cmd:unlz4 = $portVersion
32	"
33fi
34
35REQUIRES="
36	haiku$secondaryArchSuffix
37	"
38
39PROVIDES_devel="
40	lz4${secondaryArchSuffix}_devel = $portVersion
41	devel:liblz4$secondaryArchSuffix = $libVersionCompat
42	"
43REQUIRES_devel="
44	lz4$secondaryArchSuffix == $portVersion base
45	"
46
47BUILD_REQUIRES="
48	haiku${secondaryArchSuffix}_devel
49	"
50BUILD_PREREQUIRES="
51	cmd:ar
52	cmd:gcc$secondaryArchSuffix
53	cmd:g++$secondaryArchSuffix
54	cmd:ld$secondaryArchSuffix
55	cmd:make
56	"
57
58TEST_REQUIRES="
59	cmd:diff
60	cmd:find
61	cmd:python3
62	"
63
64PATCH()
65{
66	if [ "$effectiveTargetArchitecture" = x86_gcc2 ]; then
67		sed -i \
68			-e "s/-Wextra//" \
69			-e "s/-Wswitch-enum//" \
70			-e "s/-Wdeclaration-after-statement//" \
71			-e "s/-Wstrict-aliasing=1//" \
72			-e "s/-fvisibility=hidden//" \
73			lib/Makefile \
74			programs/Makefile \
75			tests/Makefile \
76			Makefile
77	fi
78}
79
80BUILD()
81{
82	make -C lib BUILD_STATIC=no $jobArgs
83	make -C programs $jobArgs lz4 lz4c
84}
85
86INSTALL()
87{
88	make BUILD_STATIC=no install \
89		LIBDIR="$libDir" \
90		INCLUDEDIR="$includeDir" \
91		BINDIR="$binDir" \
92		MANDIR="$manDir"
93
94	if [ -n "$secondaryArchSuffix" ]; then
95		rm -rf "$binDir"
96		rm -rf "$manDir"
97	fi
98
99	prepareInstalledDevelLibs liblz4
100	fixPkgconfig
101
102	packageEntries devel \
103		"$developDir"
104}
105
106TEST()
107{
108	LIBRARY_PATH="$sourceDir/libs${LIBRARY_PATH:+:$LIBRARY_PATH}" \
109	make check test
110}
111