void-packages/srcpkgs/boinc/template
2020-07-02 18:01:00 +02:00

151 lines
4.1 KiB
Bash

# Template file for 'boinc'
pkgname=boinc
version=7.16.7
revision=2
_majorver=${version%.*}
wrksrc=boinc-client_release-${_majorver}-${version}
build_style=gnu-configure
hostmakedepends="automake libtool pkg-config python xorgproto shared-mime-info"
makedepends="glu-devel libfreeglut-devel libcurl-devel
libjpeg-turbo-devel libnotify-devel sqlite-devel libxcb-devel
libXmu-devel libXi-devel gtk+-devel webkit2gtk-devel wxWidgets-gtk3-devel"
depends="curl ca-certificates"
conf_files="/etc/default/boinc-client"
short_desc="Berkely Infrastructure for Network Computing"
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
license="LGPL-3.0-or-later"
homepage="https://boinc.berkeley.edu/"
distfiles="https://github.com/BOINC/boinc/archive/client_release/${_majorver}/${version}.tar.gz>boinc-${version}.tar.gz"
checksum=38130d532031e75701eee910da64b9eb837e5bfeff9979dbb200c37146be3fed
system_accounts="boinc"
boinc_homedir="/var/lib/boinc"
boinc_shell="/bin/bash"
conflicts="boinc-nox>=0"
CXXFLAGS="-Wno-redundant-decls"
case "$XBPS_TARGET_MACHINE" in
armv6l) broken="arm-linux-gnueabihf-g++: error: libwhetvfp.a: No such file or directory" ;;
esac
pre_configure() {
autoreconf -if
}
do_configure() {
if [ -n "$CROSS_BUILD" ]; then
# XXX: cross building used to be a lot easier
# Set include paths for configure to find dependencies.
CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/glib-2.0"
CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/lib/glib-2.0/include"
CXXFLAGS+=" ${CFLAGS}"
echo "CFLAGS: $CFLAGS"
echo "CXXFLAGS: $CXXFLAGS"
export LIBNOTIFY_CFLAGS="${CFLAGS}"
export LIBNOTIFY_LIBS="-L${XBPS_CROSS_BASE}/usr/lib -lnotify"
fi
mkdir /tmp/x11
mv * /tmp/x11
mv /tmp/x11 .
mkdir nox
cp -ar x11/* nox
cd ${wrksrc}/x11
PKG_CONFIG=pkg-config \
PKG_CONFIG_PATH=${XBPS_CROSS_BASE}/usr/lib/pkgconfig \
LDFLAGS="${LDFLAGS} -lX11" \
./configure \
${configure_args} \
--enable-libraries \
--enable-unicode \
--enable-shared \
--enable-static \
--enable-dynamic-client-linkage \
--enable-client \
--enable-manager \
--disable-server \
--with-ssl=${XBPS_CROSS_BASE}/usr \
--with-x=${XBPS_CROSS_BASE}/usr \
--with-wx-config=${XBPS_CROSS_BASE}/usr/bin/wx-config-gtk3 \
--with-wx-prefix=${XBPS_CROSS_BASE}/usr
cd ${wrksrc}/nox
PKG_CONFIG=pkg-config \
PKG_CONFIG_PATH=${XBPS_CROSS_BASE}/usr/lib/pkgconfig \
./configure \
${configure_args} \
--enable-libraries \
--enable-unicode \
--enable-shared \
--enable-static \
--enable-dynamic-client-linkage \
--enable-client \
--disable-manager \
--disable-server \
--disable-server \
--with-ssl=${XBPS_CROSS_BASE}/usr \
--without-x \
--without-wxdir
}
do_build() {
cd ${wrksrc}/x11
make ${makejobs}
cd ${wrksrc}/nox
make ${makejobs}
}
do_install() {
cd ${wrksrc}/x11
make ${makejobs} DESTDIR="${DESTDIR}" install
if [ -f "${DESTDIR}/etc/boinc-client.conf" ]; then
vmkdir etc/default
mv "${DESTDIR}"/etc/boinc-client.conf \
"${DESTDIR}"/etc/default/boinc-client
fi
# Bash completion
vinstall ${FILESDIR}/boinc.bash 644 usr/share/bash-completion/completions boinc
# Desktop
vmkdir usr/share/applications
vinstall ${FILESDIR}/boinc.desktop 644 usr/share/applications
for size in 16 24 32 64 128 256; do
vinstall ${FILESDIR}/boinc${size}.png 644 \
usr/share/icons/hicolor/${size}x${size}/apps \
boinc.png
done
vinstall ${FILESDIR}/boinc32.png 644 usr/share/pixmaps boinc.png
vsv boinc
}
boinc-devel_package() {
depends="${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
}
}
boinc-nox_package() {
short_desc+=" - no X"
conflicts="boinc>=0"
pkg_install() {
cd ${wrksrc}/nox
make ${makejobs} DESTDIR=${PKGDESTDIR} install
if [ -f "${PKGDESTDIR}/etc/boinc-client.conf" ]; then
vmkdir etc/default
mv "${PKGDESTDIR}"/etc/boinc-client.conf \
"${PKGDESTDIR}"/etc/default/boinc-client
fi
# no devel package - no includes, *.a and *.so
rm -rf ${PKGDESTDIR}/usr/include
rm -f ${PKGDESTDIR}/usr/lib/*.a
rm -f ${PKGDESTDIR}/usr/lib/*.so
# Bash completion
vinstall ${FILESDIR}/boinc.bash 644 usr/share/bash-completion/completions boinc
vsv boinc
}
}