summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 803821cbfebf4d59f76f12ddc1871b594e32ecbb (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
# Maintainer: Alexandre Bouvier <contact@amb.tf>
_pkgname=fmt
pkgname=${_pkgname}9
pkgver=9.1.0
pkgrel=6
pkgdesc="Open-source formatting library for C++"
arch=('aarch64' 'armv7h' 'i486' 'i686' 'pentium4' 'x86_64')
url="https://fmt.dev/"
license=('MIT')
depends=('glibc')
makedepends=('cmake' 'git' 'libgcc' 'libstdc++')
provides=('libfmt.so')
source=("$_pkgname::git+https://github.com/fmtlib/fmt.git#tag=$pkgver")
b2sums=('5a26a3545833033833302b1ad2a6fb2c0b53c5fe95114faa254affabf226dadb1cb319f05f1ceb1cdb100706045fbc11e3c162f95df517173af424b4e2c03965')

prepare() {
	cd $_pkgname
	# hip workaround
	git cherry-pick -n 0b0f7cfbfcebd021c910078003d413354bd843e2
	# https://github.com/fmtlib/fmt/pull/3563
	git cherry-pick -n eacd51c249bd9e2eb714969331dae3c0c5535523
}

build() {
	local options=(
		-D BUILD_SHARED_LIBS=ON
		-D CMAKE_BUILD_TYPE=Release
		-D CMAKE_CXX_FLAGS_RELEASE="-DNDEBUG"
		-D CMAKE_INSTALL_PREFIX=/usr
		-D FMT_CMAKE_DIR="lib/cmake/$pkgname"
		-D FMT_DOC=OFF
		-D FMT_INC_DIR="include/$pkgname"
		-D FMT_PKGCONFIG_DIR="lib/$pkgname/pkgconfig"
		-D FMT_TEST="$CHECKFUNC"
		-Wno-dev
	)
	cmake "${options[@]}" -B build -S $_pkgname
	cmake --build build
}

check() {
	ctest --output-on-failure --test-dir build
}

package() {
	depends+=('libgcc_s.so' 'libstdc++.so')
	# shellcheck disable=SC2154
	DESTDIR="$pkgdir" cmake --install build
	install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname $_pkgname/LICENSE.rst
	cd "$pkgdir"
	ln -sf ../libfmt.so.9 usr/lib/$pkgname/libfmt.so
	rm usr/lib/libfmt.so
	sed -i "/libdir/s/\/lib/&\/$pkgname/" usr/lib/$pkgname/pkgconfig/*.pc
}