void-packages/srcpkgs/firebird3/template

145 lines
4.4 KiB
Bash

# Template file for 'firebird3'
pkgname=firebird3
version=3.0.6.33328
revision=1
_build=0
_uver=${version//./_}
build_style=gnu-configure
build_helper="qemu"
configure_args="--prefix=/usr
--with-fbbin=/usr/bin
--with-fbconf=/etc/firebird
--with-fbdoc=/usr/share/doc/firebird
--with-fbhelp=/usr/share/doc/firebird/help
--with-fbinclude=/usr/include/firebird
--with-fblib=/usr/lib
--with-fblog=/var/log
--with-fbmsg=/usr/lib/firebird/msg
--with-fbplugins=/usr/lib/firebird/plugins
--with-fbsbin=/usr/lib/firebird/bin
--with-fbudf=/usr/lib/firebird/UDF
--with-fbsecure-db=/var/lib/firebird/system
--with-fbintl=/usr/lib/firebird/intl
--with-fbmisc
--without-fbsample
--without-fbsample-db
--with-system-icu
--with-system-editline"
hostmakedepends="automake libtool pkg-config icu"
makedepends="boost-devel libedit-devel icu-devel ncurses-devel libatomic_ops-devel
libtommath-devel zlib-devel"
short_desc="Relational database offering many ANSI SQL standard features (V3)"
maintainer="Orphaned <orphan@voidlinux.org>"
license="custom"
homepage="https://www.firebirdsql.org/en/start/"
distfiles="https://github.com/FirebirdSQL/firebird/releases/download/R${_uver%_*}/Firebird-${version}-${_build}.tar.bz2"
checksum=34c1d2a29bbaf288e682cd1b5f8083f2baf73f351062245ace0bee35a3f7d35f
replaces="firebird>=0"
nocross="Fails to build gpre_boot for host but builds for target"
CFLAGS="-fno-strict-aliasing"
CXXFLAGS="-fno-delete-null-pointer-checks -Wno-deprecated -Wno-deprecated-declarations"
if [ "$CROSS_BUILD" ]; then
configure_args+=" --enable-binreloc"
configure_args+=" ac_cv_func_sem_init=no"
configure_args+=" ac_cv_c_alignment=$((${XBPS_TARGET_WORDSIZE}/8))"
configure_args+=" ac_cv_c_double_align=$((${XBPS_TARGET_WORDSIZE}/8))"
configure_args+=" ac_cv_sys_file_offset_bits=64"
CXXFLAGS+=" -D_FILE_OFFSET_BITS=64"
fi
pre_configure() {
local _arch
if [ "$CROSS_BUILD" ]; then
# XXX: This is not yet working right and needs more work.
# The generated gpre_boot is built with the target C++ and can
# not be executed. Trying to run it with qemu-<target>-static
# fails because it cannot connect to a localhost port.
#
patch -Np0 -i ${FILESDIR}/cross-compile.patch
case "$XBPS_TARGET_MACHINE" in
aarch64*) _arch="linux_arm64";;
arm*) _arch="linux_arm";;
mipsel*) _arch="linux_mipsel";;
mips*) _arch="linux_mips";;
ppc64le*) _arch="linux_powerpc64le";;
ppc64*) _arch="linux_powerpc64";;
ppc*) _arch="linux_powerpc";;
x86_64*) _arch="linux_amd64";;
esac
configure_args+=" --with-cross-build=$_arch"
# Remove -msse4 for non-x86_64 arch because it leaks
# into the target CXXFLAGS.
if [ "$_arch" != "linux_amd64" ]; then
vsed -i builds/posix/prefix.linux{,_amd64} -e "s;-msse4;;"
fi
fi
if [ "$XBPS_TARGET_LIBC" = musl ]; then
vsed -i -e '/FLAGS=/s/ \-p / /g' \
builds/posix/prefix.linux_powerpc* \
builds/posix/prefix.linux_arm* \
builds/posix/prefix.linux_mips*
fi
# Avoid errors telling we are not 'root' and
# do not change ownership to root:root and
# do not change permissions to read-only
find -iname "*.sh.in" -exec sed -i "{}" \
-e 's;"`whoami`";"root";' \
-e 's;chown root:root;#&;' \
-e 's;chown -R;#&;' \
-e 's;chmod 0444;chmod 0644;' \
-e 's;chmod 0555;chmod 0755;' \;
NOCONFIGURE=1 ./autogen.sh
}
do_install() {
local _lib _v0=${version%.*} _v1=${version%.*.*} _v2=${version%.*.*.*}
cd ${wrksrc}/gen
./install/makeInstallImage.sh
cd ${wrksrc}
# Fix permissions
find gen/buildroot -type f -perm 0444 -exec chmod 0644 "{}" \;
find gen/buildroot -type f -perm 0555 -exec chmod 0755 "{}" \;
vlicense doc/license/IDPL.txt IDPL
vlicense doc/license/README.license.usage.txt LICENSE
cp -pR gen/buildroot/* ${DESTDIR}/
# TODO: create superserver?
# system account?
# runit service?
# Example https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=firebird-superserver
}
libfbclient3_package() {
short_desc+=" - client libraries"
replaces="libfbclient>=0"
pkg_install() {
vmove "usr/lib/libfbclient.so.*"
vmove usr/lib/firebird/msg/firebird.msg
vlicense doc/license/IDPL.txt IDPL
vlicense doc/license/README.license.usage.txt LICENSE
}
}
libfbclient3-devel_package() {
short_desc+=" - development files"
replaces="libfbclient-devel>=0"
depends="libfbclient3>=${version}_${revision}"
pkg_install() {
vmove usr/lib/firebird/bin/fb_config
vmkdir usr/bin
ln -s ../lib/firebird/bin/fb_config ${PKGDESTDIR}/usr/bin/fb_config
vmove usr/include/firebird
vmove usr/lib/libfbclient.so
}
}