packages/fltk/PKGBUILD
2024-01-10 15:52:48 +01:00

116 lines
2.6 KiB
Bash

# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: David Runge <dvzrv@archlinux.org>
pkgbase=fltk
pkgname=(fltk fltk-docs)
pkgver=1.3.9
pkgrel=1
pkgdesc="Graphical user interface toolkit for X"
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
license=('LGPL-2.0-only WITH FLTK-exception')
url="https://www.fltk.org/"
makedepends=(
alsa-lib
cmake
doxygen
fontconfig
libglvnd
libjpeg-turbo
libpng
libx11
libxcursor
libxfixes
libxft
libxinerama
libxrender
mesa
)
source=(https://github.com/$pkgbase/$pkgbase/archive/release-$pkgver/$pkgbase-release-$pkgver.tar.gz)
sha512sums=('2dfeeed9fdc6db62a6620e7c846dbe0bf97dacce3077832e314a35bf16ba6a45803373188a7b3954eada5829385b9914241270b71f12aaf3e9e3df45eb2b1b95')
b2sums=('94914a23b679ac01915686a678b82a91f81ea01a7d1d5a39f2e8b0c0b7f55276dde3e9c4f07e48e752a5cdc3ee2c75ff6591404a3ba5f1f6690f7b2b5786f158')
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
build() {
local cmake_options=(
-B build
-D CMAKE_INSTALL_PREFIX=/usr
-D CMAKE_BUILD_TYPE=None
-D FLTK_LIBDIR=/usr/lib
-D OPTION_BUILD_SHARED_LIBS=ON
-D OPTION_BUILD_HTML_DOCUMENTATION=ON
-D OPTION_INSTALL_HTML_DOCUMENTATION=ON
-S $pkgbase-release-$pkgver
-W no-dev
)
# fat-lto-objects is required for non-mangled .a files in fltk
CFLAGS+=" -ffat-lto-objects"
CXXFLAGS+=" -ffat-lto-objects"
cmake "${cmake_options[@]}"
cmake --build build --verbose
# build documentation explicitly as it is otherwise not generated/ installed
make VERBOSE=1 -C build/documentation html
}
check() {
ctest --test-dir build --output-on-failure
}
package_fltk() {
depends=(
gcc-libs
glibc
hicolor-icon-theme
fontconfig libfontconfig.so
libglvnd
libjpeg-turbo
libpng
libx11
libxcursor
libxext
libxfixes
libxft
libxinerama
libxrender
sh
)
provides=(
libfltk_images.so
libfltk_gl.so
libfltk_forms.so
libfltk.so
)
options=(
!docs
staticlibs
)
DESTDIR="$pkgdir" cmake --install build
install -vDm 644 $pkgbase-release-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
# remove man pages of examples
rm -rvf "$pkgdir/usr/share/man/man6"
(
cd "$pkgdir"
_pick $pkgbase-docs usr/share/doc/$pkgname/html
)
}
package_fltk-docs() {
pkgdesc+=" - documentation"
mv -v $pkgname/* "$pkgdir"
install -vDm 644 $pkgbase-release-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
}