Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Contributor: Clemmitt Sigler <[email protected]>
- pkgbase=nx-git
- pkgname=('libxcomp-git' 'nxproxy-git' 'nx-x11-git' 'nx-xcompext-git' 'nxagent-git' 'nx-headers-git')
- pkgver=3.5.0.32.r19.gdebe460
- pkgrel=1
- arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
- url="http://wiki.x2go.org/"
- license=('GPL')
- #options=('!makeflags') # '!strip')
- makedepends=('libjpeg-turbo' 'libpng' 'bash' 'perl' 'libxml2' 'fontconfig' # runtime dependencies from subpackages
- 'xproto' 'freetype2' 'libxaw' 'libxrender' 'libxp' 'libxpm' 'libxdamage' 'libxrandr'
- 'libxcomposite' 'libxtst' 'xorg-sessreg' 'libfontenc' # makedepends
- 'git' # For git CVS operations
- )
- source=("${pkgbase%-git}::git+http://code.x2go.org/git/nx-libs.git")
- sha256sums=('SKIP')
- ###
- pkgver() {
- cd ${srcdir}/${pkgbase%-git}
- # git describe --long --tags | sed -r 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
- # printf "%s" "$(git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g')"
- printf "%s" "$(git describe --long --tags | awk -F/ '{print $2}' | sed 's/\([^-]*-g\)/r\1/;s/-/./g')"
- }
- prepare() {
- cd ${srcdir}/${pkgbase%-git}
- # debug flags
- # export CFLAGS="-march=x86-64 -O1 -g -pipe"
- # export CXXFLAGS="-march=x86-64 -O1 -g -pipe"
- # # Disable "-jN" jobs flag in MAKEFLAGS
- # MAKEFLAGS="echo $MAKEFLAGS | sed -e 's|-j[1-9][0-9]*||'" && export MAKEFLAGS
- # honour CFLAGS in X11 build - upstream fixed so far only the other libs
- # From xorg-x11-6.9.0-r3.ebuild
- cd ${srcdir}/${pkgbase%-git}/nx-X11
- HOSTCONF="config/cf/host.def"
- echo "#define OptimizedCDebugFlags ${CFLAGS} GccAliasingArgs" >> ${HOSTCONF}
- echo "#define OptimizedCplusplusDebugFlags ${CXXFLAGS} GccAliasingArgs" >> ${HOSTCONF}
- # Respect LDFLAGS
- echo "#define ExtraLoadFlags ${LDFLAGS}" >> ${HOSTCONF}
- echo "#define SharedLibraryLoadFlags -shared ${LDFLAGS}" >> ${HOSTCONF}
- cd ${srcdir}/${pkgbase%-git}
- ###
- # In the git repository master/HEAD for some reason there isn't a toplevel
- # Makefile. We crib this Makefile from the latest release version of
- # nx-libs
- ###
- mkdir tmp
- cd tmp
- wget http://code.x2go.org/releases/source/nx-libs/nx-libs-3.5.0.32-full.tar.gz
- tar xzvf nx-libs-3.5.0.32-full.tar.gz nx-libs-3.5.0.32/Makefile
- mv -f nx-libs-3.5.0.32/Makefile ..
- rmdir nx-libs-3.5.0.32
- rm -f nx-libs-3.5.0.32-full.tar.gz
- cd ..
- rmdir tmp
- ###
- # No longer applicable
- # # fix a broken Makefiles
- # sed -i "s:-o root -g root ::" nxcompshad/Makefile.in
- # let makepkg zip the man files
- sed -i "s:gzip:#gzip:g" Makefile
- }
- build() {
- # cd to source tree root
- cd ${srcdir}/${pkgbase%-git}
- ########
- # As the nx-libs git repository master/HEAD pull didn't build using the
- # "standard" top-level Makefile supplied with nx-libs-3.5.0.32-full.tar.gz
- # I tried to roll my own approach for the five code subdirs, using a mix
- # (optimistically) of imake under nx-X11 and make elsewhere.
- # Didn't work. So I'm going back to using the top-level Makefile shipped
- # with the last version 3.5.0.32.
- # Guess I'll have to patch the code somehow -- good luck patching stuff
- # (nx-X11) related to the X11 build system -- or get help from the x2go
- # project mailing lists/IRC.
- ########
- make -j1 \
- PREFIX=/usr \
- CONFIGURE="./configure --prefix=/usr --sbindir=/usr/bin --libdir=/usr/lib --libexecdir=/usr/lib --includedir=/usr/include"
- # fake install
- mkdir -p ${srcdir}/fakeinstall
- make -j1 PREFIX=/usr SBINDIR=/usr/bin DESTDIR=${srcdir}/fakeinstall install
- }
- package_libxcomp-git() {
- 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-git() {
- pkgdesc="NX proxy"
- depends=('libxcomp')
- install -dm755 ${pkgdir}/usr/{bin,share/man/man1,lib/nx/bin}
- cp -a ${srcdir}/fakeinstall/usr/lib/nx/bin/nxproxy ${pkgdir}/usr/lib/nx/bin/nxproxy
- 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-git() {
- pkgdesc="NX-X11 lib for the NX framework"
- depends=('libxcomp' 'fontconfig')
- optdepends=('libxext: for Xinerama support')
- install -dm755 ${pkgdir}/{usr/bin,usr/lib/nx/{X11,bin},usr/share/man/man1}
- cp -aR ${srcdir}/fakeinstall/usr/lib/nx/X11/* ${pkgdir}/usr/lib/nx/X11
- cp -aR ${srcdir}/fakeinstall/usr/lib/libNX* ${pkgdir}/usr/lib
- # nxauth
- cp -a ${srcdir}/fakeinstall/usr/lib/nx/bin/nxauth ${pkgdir}/usr/lib/nx/bin
- cp -a ${srcdir}/fakeinstall/usr/share/man/man1/nxauth.1 ${pkgdir}/usr/share/man/man1
- # the wrapper
- cp -a ${srcdir}/fakeinstall/usr/bin/nxauth ${pkgdir}/usr/bin
- # add symlinks required for proper Xinerama support # FS#41037
- 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
- }
- package_nx-xcompext-git() {
- pkgdesc="Xcompext/Xcompshad library for NX"
- depends=('libxcomp' 'nx-x11')
- install -dm755 ${pkgdir}/usr/lib
- cp -a ${srcdir}/fakeinstall/usr/lib/libXcompext.so* ${pkgdir}/usr/lib
- }
- package_nxagent-git() {
- pkgdesc="NX X server based on Xnest"
- backup=(etc/nxagent/{keystrokes.cfg,nxagent.keyboard,rgb})
- depends=('nx-xcompext' 'libxml2')
- 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
- cp -a ${srcdir}/fakeinstall/usr/share/pixmaps/nxagent.xpm ${pkgdir}/usr/share/pixmaps
- # the wrapper
- cp -a ${srcdir}/fakeinstall/usr/bin/nxagent ${pkgdir}/usr/bin
- # additional files for documentation
- cp -a ${srcdir}/fakeinstall/usr/share/nx/{rgb,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,nxagent.keyboard,rgb} ${pkgdir}/etc/nxagent
- }
- package_nx-headers-git() {
- pkgdesc="NX headers"
- install -dm755 ${pkgdir}/usr/include/nx
- cp -aR ${srcdir}/fakeinstall/usr/include/nx/* ${pkgdir}/usr/include/nx
- }
Advertisement
Add Comment
Please, Sign In to add comment