# Maintainer: Andreas Radke pkgbase=nx pkgname=('libxcomp' 'nxproxy' 'nx-x11' 'nxagent' 'nx-headers') pkgver=3.5.99.27 pkgrel=3 arch=('x86_64' 'aarch64') url="https://arctica-project.org" license=('GPL') # https://github.com/ArcticaProject/nx-libs/blob/3.6.x/nx-libs.spec makedepends=(# runtime dependencies from subpackages 'libjpeg-turbo' 'libpng' 'gcc-libs' 'libxml2' 'xkeyboard-config' 'xorg-xkbcomp' 'xorg-xkbcomp' 'libxfont2' 'libxinerama' 'xorg-font-util' 'pixman' 'libxrandr' 'libxtst' 'libxcomposite' 'libxpm' 'libxdamage' # make dependencies 'xorgproto' 'imake' ) source=(https://github.com/ArcticaProject/nx-libs/archive/$pkgver/nx-libs-$pkgver.tar.gz) sha256sums=('05d3d28a672475e5490c7b7ba39e1808794b6ae1443a7ec219974b50beddbeea') validpgpkeys=('1AD23D1B8F087A35AB74BDE9F4A7678C9C6B0B2B' # X2go Git Administrator '9BFBAEE86C0AA5FFBF2207829AF46B3025771B31') # Mike Gabriel prepare() { cd "${srcdir}/nx-libs-$pkgver" } build() { cd "${srcdir}/nx-libs-$pkgver" # let makepkg zip the man files sed -i "s:gzip:#gzip:g" Makefile # disable parallel compilation export MAKEFLAGS="-j1" make \ PREFIX=/usr \ CONFIGURE="./configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --includedir=/usr/include" \ IMAKE_DEFINES="-DUseTIRPC=YES" # fake install mkdir $srcdir/fakeinstall make install \ PREFIX=/usr \ DESTDIR="$srcdir/fakeinstall" \ LIBDIR=/usr/lib \ SHLIBDIR=/usr/lib \ INSTALL_DIR="install -dm0755" \ INSTALL_FILE="install -pm0644" \ INSTALL_PROGRAM="install -pm0755" } package_libxcomp() { pkgdesc="NX X compression library" depends=('libjpeg-turbo' 'libpng' 'gcc-libs') install -dm755 ${pkgdir}/usr/lib cp -a ${srcdir}/fakeinstall/usr/lib/libXcomp.so* ${pkgdir}/usr/lib } package_nxproxy() { pkgdesc="NX proxy" depends=('libxcomp' ) install -dm755 ${pkgdir}/usr/{bin,share/man/man1} cp -a ${srcdir}/fakeinstall/usr/share/man/man1/nxproxy.1 ${pkgdir}/usr/share/man/man1 # the wrapper cp -a ${srcdir}/fakeinstall/usr/bin/nxproxy ${pkgdir}/usr/bin } package_nx-x11() { pkgdesc="NX-X11 lib for the NX framework" depends=('libxcomp') install -dm755 ${pkgdir}/usr/{lib/nx/X11,share/nx} cp -aR ${srcdir}/fakeinstall/usr/lib/nx/X11/* ${pkgdir}/usr/lib/nx/X11 cp -aR ${srcdir}/fakeinstall/usr/lib/libNX* ${pkgdir}/usr/lib # fonts symlink ln -vsf /usr/share/fonts ${pkgdir}/usr/share/nx/fonts } package_nxagent() { pkgdesc="NX X server based on Xnest" backup=(etc/nxagent/keystrokes.cfg) depends=('nx-x11' 'libxcomp' 'libxml2' 'xkeyboard-config' 'xorg-xkbcomp' 'xorg-xkbcomp' 'libxfont2' 'libxinerama' 'xorg-font-util' 'libxfont2' 'libxinerama' 'pixman' 'libxrandr' 'libxtst' 'libxcomposite' 'libxpm' 'libxdamage' 'libtirpc') conflicts=('nx-xcompext') install -dm755 ${pkgdir}/usr/{bin,lib/nx/bin,share/nx,share/man/man1,share/pixmaps} cp -a ${srcdir}/fakeinstall/usr/lib/nx/bin/nxagent ${pkgdir}/usr/lib/nx/bin cp -a ${srcdir}/fakeinstall/usr/share/man/man1/nxagent.1 ${pkgdir}/usr/share/man/man1 # the wrapper cp -a ${srcdir}/fakeinstall/usr/bin/nxagent ${pkgdir}/usr/bin # additional files for documentation cp -a ${srcdir}/fakeinstall/usr/share/nx/SecurityPolicy ${pkgdir}/usr/share/nx cp -a ${srcdir}/fakeinstall/usr/lib/libXcompshad.so* ${pkgdir}/usr/lib # Needed for nxagent to find the keymap directory install -dm755 ${pkgdir}/usr/lib/X11/xkb touch ${pkgdir}/usr/lib/X11/xkb/keymap.dir install -dm755 ${pkgdir}/etc/nxagent cp -a ${srcdir}/fakeinstall/etc/nxagent/keystrokes.cfg ${pkgdir}/etc/nxagent # add symlinks required for proper Xinerama support # FS#41037 install -dm755 ${pkgdir}/usr/lib/nx/X11/Xinerama cd ${pkgdir}/usr/lib/nx/X11/Xinerama ln -sv /usr/lib/libX11.so.6 libNX_X11.so.6 ln -sv /usr/lib/libXext.so.6 libNX_Xext.so.6 ln -sv /usr/lib/libNX_Xinerama.so.1 libNX_Xinerama.so.1 } package_nx-headers() { pkgdesc="NX headers" install -dm755 ${pkgdir}/usr/include cp -aR ${srcdir}/fakeinstall/usr/include/* ${pkgdir}/usr/include # drop unneeded headers rm -rf ${pkgdir}/usr/include/GL rm -rf ${pkgdir}/usr/include/nx-X11/{extensions/XK*.h,nx-X11/extensions/*Xv*.h,nx-X11/Xtrans} }