# $Id$ PNAME="nx" PVER="3.5.99.16" PBUILD="r1" SPLIT_PACKAGES="nxcomp nxcompshad nxlibs nxagent nxproxy" PCAT="net-misc" HOMEPAGE="https://arctica-project.org/" COMMON_DEPEND=">= x11-libs/libXdamage-1.1 >= x11-libs/libXext-1.3 >= x11-libs/libXfixes-5 >= x11-libs/libXi-1.7 >= x11-libs/libXrandr-1.5 >= x11-libs/libXrender-0.9 >= x11-libs/libXtst-1.2 >= x11-libs/libfontenc-1.1" STD_DEPEND=">= sys-libs/libstdc++-6.3" MEDIA_DEPEND=">= virtual/libjpeg >= media-libs/libpng-1.5 >= sys-libs/zlib-1.2" X11_DEPEND=">= x11-libs/libX11-1.6 >= x11-libs/libXcomposite-0.4 >= x11-libs/libXfont2-2 >= x11-libs/libXinerama-1.1 >= x11-libs/libXpm-3.5 >= x11-libs/pixman-0.34" NX_DEPEND="${COMMON_DEPEND} ${X11_DEPEND} ${MEDIA_DEPEND}" NXCOMP_DEPEND="${STD_DEPEND} ${MEDIA_DEPEND}" NXCOMPSHAD_DEPEND="${X11_DEPEND} ${COMMON_DEPEND}" NXAGENT_DEPEND="${X11_DEPEND} ${COMMON_DEPEND} >= media-libs/freetype-2.6 >= media-fonts/font-util-1.3 >= x11-misc/xkeyboard-config-2.20" NXPROXY_DEPEND="${STD_DEPEND} ${MEDIA_DEPEND}" SDEPEND="${NX_DEPEND} ${NXCOMP_DEPEND} ${NXCOMPSHAD_DEPEND} ${NXAGENT_DEPEND} ${NXPROXY_DEPEND} >= x11-misc/gccmakedep-1 >= x11-misc/imake-1 >= virtual/xproto" SRCFILE="nx-libs-${PVER}-full.tar.gz" SRCDIR="${BUILDDIR}/nx-libs-${PVER}" # parallel make not supported MAKEOPTS="-j1" sminclude mtools cleanutils SRC_URI=( http://code.x2go.org/releases/source/nx-libs/${SRCFILE} mirror://${PNAME}/nx-libs/${SRCFILE} mirror://${PNAME}/${NXWRAPPER_SRCFILE} ) UP2DATE="updatecmd http://code.x2go.org/releases/source/nx-libs/ | grep 'nx-libs-.*-full.tar.gz ' | sed 's/.*-\(.*\)-full.tar.gz.*/\1/' | upsort_pipe" split_info_nxcomp() { DESCRIPTION="Nomachine NX compression library." DEPEND="${NXCOMP_DEPEND}" } split_info_nxcompshad() { DESCRIPTION="Nomachine NX compression shadowing library." DEPEND="${NXCOMPSHAD_DEPEND} == net-misc/nxlibs-${PVER}" } split_info_nxlibs() { DESCRIPTION="Nomachine NX X11 libs." DEPEND="${NX_DEPEND}" } split_info_nxagent() { DESCRIPTION="Nomachine NX X11 agent server." DEPEND="${NXAGENT_DEPEND} == net-misc/nxlibs-${PVER} == net-misc/nxcomp-${PVER} == net-misc/nxcompshad-${PVER}" } split_info_nxproxy() { DESCRIPTION="Nomachine NX X11 forwarding proxy server." DEPEND="${NXPROXY_DEPEND} == net-misc/nxcomp-${PVER}" } split_info_nx() { DESCRIPTION="Meta package to pull in all Nomachine NX support packages." DEPEND="== net-misc/nxcomp-${PVER} == net-misc/nxcompshad-${PVER} == net-misc/nxlibs-${PVER} == net-misc/nxagent-${PVER} == net-misc/nxproxy-${PVER}" PKGTYPE="virtual" } src_prepare() { munpack ${SRCFILE} || die # do not compress man pages cd ${SRCDIR} sed -i "s:gzip:#gzip:g" Makefile || die } src_compile() { cd ${SRCDIR} mmake \ PREFIX=/usr \ LIBDIR=/usr/$(mlibdir) \ NXLIBDIR=/usr/$(mlibdir)/nx \ CONFIGURE="./configure --prefix=/usr --libdir=/usr/$(mlibdir) --libexecdir=/usr/$(mlibdir) --includedir=/usr/include" \ || die } src_install_nxcomp() { cd ${SRCDIR} mmake -C ${SRCDIR}/nxcomp DESTDIR=${BINDIR} install || die minstalldocs COPYING ChangeLog LICENSE LICENSE.nxcomp || die } src_install_nxcompshad() { cd ${SRCDIR} # nxcomp required for successful linking mmake -C ${SRCDIR}/nxcomp DESTDIR=${BINDIR} install || die # install nxcompshad mmake -C ${SRCDIR}/nxcompshad DESTDIR=${BINDIR} install || die # remove nxcomp mmake -C ${SRCDIR}/nxcomp DESTDIR=${BINDIR} uninstall || die minstalldocs COPYING ChangeLog LICENSE || die } src_install_nxlibs() { cd ${SRCDIR} mmake PREFIX=/usr LIBDIR=/usr/$(mlibdir) NXLIBDIR=/usr/$(mlibdir)/nx DESTDIR=${BINDIR} install || die # remove nxcomp, nxcompshad, nxproxy mmake -C ${SRCDIR}/nxcomp DESTDIR=${BINDIR} uninstall || die mmake -C ${SRCDIR}/nxcompshad DESTDIR=${BINDIR} uninstall || die mmake -C ${SRCDIR}/nxproxy DESTDIR=${BINDIR} uninstall || die # cleanup the rest zapmost ${BINDIR} usr/include/nx-X11 usr/$(mlibdir) || die mdelete -r /usr/$(mlibdir)/nx/bin ||die # fix Xinerama support using real libX11 and libXext not the one provided by nx-X11 minstalldir /usr/$(mlibdir)/nx/X11/Xinerama || die mlink /usr/$(mlibdir)/libX11.so.6 /usr/$(mlibdir)/nx/X11/Xinerama/libNX_X11.so.6 || die mlink /usr/$(mlibdir)/libXext.so.6 /usr/$(mlibdir)/nx/X11/Xinerama/libNX_Xext.so.6 || die mlink /usr/$(mlibdir)/libNX_Xinerama.so.1 /usr/$(mlibdir)/nx/X11/Xinerama/libNX_Xinerama.so.1 || die minstalldocs COPYING ChangeLog LICENSE || die } src_install_nxagent() { cd ${SRCDIR} # parallel make not supported mmake -j1 PREFIX=/usr LIBDIR=/usr/$(mlibdir) NXLIBDIR=/usr/$(mlibdir)/nx DESTDIR=${BINDIR} install || die # remove nxcomp, nxcompshad, nxproxy mmake -C ${SRCDIR}/nxcomp DESTDIR=${BINDIR} uninstall || die mmake -C ${SRCDIR}/nxcompshad DESTDIR=${BINDIR} uninstall || die mmake -C ${SRCDIR}/nxproxy DESTDIR=${BINDIR} uninstall || die # cleanup the rest zapmost ${BINDIR} \ etc/nxagent \ usr/bin/nxagent \ usr/$(mlibdir)/nx/bin/nxagent \ usr/share/man/man1/nxagent.1 \ usr/share/nx/SecurityPolicy \ usr/share/nx/VERSION.nxagent \ usr/share/nx/X11/XErrorDB \ usr/share/nx/X11/Xcms.txt \ usr/share/pixmaps/nxagent.xpm \ || die # fake file required for nxagent to find the keymap directory minstalldir /usr/$(mlibdir)/X11/xkb || die memptyfile /usr/$(mlibdir)/X11/xkb/keymap.dir || die minstalldocs COPYING ChangeLog LICENSE || die } src_install_nxproxy() { cd ${SRCDIR} mmake -C ${SRCDIR}/nxproxy DESTDIR=${BINDIR} install || die # install missing version file minstalldir /usr/share/nx || die minstallfile ${SRCDIR}/nxproxy/VERSION /usr/share/nx/VERSION.nxproxy || die minstalldocs COPYING ChangeLog LICENSE || die }