cmsigler

nx-git: PKGBUILD -- _Not yet working!_

Sep 1st, 2016
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.40 KB | None | 0 0
  1. # Contributor: Clemmitt Sigler <[email protected]>
  2.  
  3. pkgbase=nx-git
  4. pkgname=('libxcomp-git' 'nxproxy-git' 'nx-x11-git' 'nx-xcompext-git' 'nxagent-git' 'nx-headers-git')
  5. pkgver=3.5.0.32.r19.gdebe460
  6. pkgrel=1
  7. arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
  8. url="http://wiki.x2go.org/"
  9. license=('GPL')
  10. #options=('!makeflags') # '!strip')
  11. makedepends=('libjpeg-turbo' 'libpng' 'bash' 'perl' 'libxml2' 'fontconfig' # runtime dependencies from subpackages
  12. 'xproto' 'freetype2' 'libxaw' 'libxrender' 'libxp' 'libxpm' 'libxdamage' 'libxrandr'
  13. 'libxcomposite' 'libxtst' 'xorg-sessreg' 'libfontenc' # makedepends
  14. 'git' # For git CVS operations
  15. )
  16. source=("${pkgbase%-git}::git+http://code.x2go.org/git/nx-libs.git")
  17. sha256sums=('SKIP')
  18. ###
  19. pkgver() {
  20. cd ${srcdir}/${pkgbase%-git}
  21. # git describe --long --tags | sed -r 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
  22. # printf "%s" "$(git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g')"
  23. printf "%s" "$(git describe --long --tags | awk -F/ '{print $2}' | sed 's/\([^-]*-g\)/r\1/;s/-/./g')"
  24. }
  25.  
  26. prepare() {
  27. cd ${srcdir}/${pkgbase%-git}
  28.  
  29. # debug flags
  30. # export CFLAGS="-march=x86-64 -O1 -g -pipe"
  31. # export CXXFLAGS="-march=x86-64 -O1 -g -pipe"
  32.  
  33. # # Disable "-jN" jobs flag in MAKEFLAGS
  34. # MAKEFLAGS="echo $MAKEFLAGS | sed -e 's|-j[1-9][0-9]*||'" && export MAKEFLAGS
  35.  
  36. # honour CFLAGS in X11 build - upstream fixed so far only the other libs
  37. # From xorg-x11-6.9.0-r3.ebuild
  38. cd ${srcdir}/${pkgbase%-git}/nx-X11
  39.  
  40. HOSTCONF="config/cf/host.def"
  41. echo "#define OptimizedCDebugFlags ${CFLAGS} GccAliasingArgs" >> ${HOSTCONF}
  42. echo "#define OptimizedCplusplusDebugFlags ${CXXFLAGS} GccAliasingArgs" >> ${HOSTCONF}
  43. # Respect LDFLAGS
  44. echo "#define ExtraLoadFlags ${LDFLAGS}" >> ${HOSTCONF}
  45. echo "#define SharedLibraryLoadFlags -shared ${LDFLAGS}" >> ${HOSTCONF}
  46. cd ${srcdir}/${pkgbase%-git}
  47. ###
  48. # In the git repository master/HEAD for some reason there isn't a toplevel
  49. # Makefile. We crib this Makefile from the latest release version of
  50. # nx-libs
  51. ###
  52. mkdir tmp
  53. cd tmp
  54. wget http://code.x2go.org/releases/source/nx-libs/nx-libs-3.5.0.32-full.tar.gz
  55. tar xzvf nx-libs-3.5.0.32-full.tar.gz nx-libs-3.5.0.32/Makefile
  56. mv -f nx-libs-3.5.0.32/Makefile ..
  57. rmdir nx-libs-3.5.0.32
  58. rm -f nx-libs-3.5.0.32-full.tar.gz
  59. cd ..
  60. rmdir tmp
  61. ###
  62.  
  63. # No longer applicable
  64. # # fix a broken Makefiles
  65. # sed -i "s:-o root -g root ::" nxcompshad/Makefile.in
  66.  
  67. # let makepkg zip the man files
  68. sed -i "s:gzip:#gzip:g" Makefile
  69. }
  70.  
  71. build() {
  72. # cd to source tree root
  73. cd ${srcdir}/${pkgbase%-git}
  74.  
  75. ########
  76. # As the nx-libs git repository master/HEAD pull didn't build using the
  77. # "standard" top-level Makefile supplied with nx-libs-3.5.0.32-full.tar.gz
  78. # I tried to roll my own approach for the five code subdirs, using a mix
  79. # (optimistically) of imake under nx-X11 and make elsewhere.
  80. # Didn't work. So I'm going back to using the top-level Makefile shipped
  81. # with the last version 3.5.0.32.
  82. # Guess I'll have to patch the code somehow -- good luck patching stuff
  83. # (nx-X11) related to the X11 build system -- or get help from the x2go
  84. # project mailing lists/IRC.
  85. ########
  86. make -j1 \
  87. PREFIX=/usr \
  88. CONFIGURE="./configure --prefix=/usr --sbindir=/usr/bin --libdir=/usr/lib --libexecdir=/usr/lib --includedir=/usr/include"
  89.  
  90. # fake install
  91. mkdir -p ${srcdir}/fakeinstall
  92. make -j1 PREFIX=/usr SBINDIR=/usr/bin DESTDIR=${srcdir}/fakeinstall install
  93. }
  94.  
  95. package_libxcomp-git() {
  96. pkgdesc="NX X compression library"
  97. depends=('libjpeg-turbo' 'libpng' 'gcc-libs')
  98.  
  99. install -dm755 ${pkgdir}/usr/lib
  100. cp -a ${srcdir}/fakeinstall/usr/lib/libXcomp.so* ${pkgdir}/usr/lib
  101. }
  102.  
  103. package_nxproxy-git() {
  104. pkgdesc="NX proxy"
  105. depends=('libxcomp')
  106.  
  107. install -dm755 ${pkgdir}/usr/{bin,share/man/man1,lib/nx/bin}
  108. cp -a ${srcdir}/fakeinstall/usr/lib/nx/bin/nxproxy ${pkgdir}/usr/lib/nx/bin/nxproxy
  109. cp -a ${srcdir}/fakeinstall/usr/share/man/man1/nxproxy.1 ${pkgdir}/usr/share/man/man1
  110. # the wrapper
  111. cp -a ${srcdir}/fakeinstall/usr/bin/nxproxy ${pkgdir}/usr/bin
  112. }
  113.  
  114. package_nx-x11-git() {
  115. pkgdesc="NX-X11 lib for the NX framework"
  116. depends=('libxcomp' 'fontconfig')
  117. optdepends=('libxext: for Xinerama support')
  118.  
  119. install -dm755 ${pkgdir}/{usr/bin,usr/lib/nx/{X11,bin},usr/share/man/man1}
  120. cp -aR ${srcdir}/fakeinstall/usr/lib/nx/X11/* ${pkgdir}/usr/lib/nx/X11
  121. cp -aR ${srcdir}/fakeinstall/usr/lib/libNX* ${pkgdir}/usr/lib
  122.  
  123. # nxauth
  124. cp -a ${srcdir}/fakeinstall/usr/lib/nx/bin/nxauth ${pkgdir}/usr/lib/nx/bin
  125. cp -a ${srcdir}/fakeinstall/usr/share/man/man1/nxauth.1 ${pkgdir}/usr/share/man/man1
  126.  
  127. # the wrapper
  128. cp -a ${srcdir}/fakeinstall/usr/bin/nxauth ${pkgdir}/usr/bin
  129. # add symlinks required for proper Xinerama support # FS#41037
  130. cd ${pkgdir}/usr/lib/nx/X11/Xinerama
  131. ln -sv /usr/lib/libX11.so.6 libNX_X11.so.6
  132. ln -sv /usr/lib/libXext.so.6 libNX_Xext.so.6
  133. }
  134.  
  135. package_nx-xcompext-git() {
  136. pkgdesc="Xcompext/Xcompshad library for NX"
  137. depends=('libxcomp' 'nx-x11')
  138.  
  139. install -dm755 ${pkgdir}/usr/lib
  140. cp -a ${srcdir}/fakeinstall/usr/lib/libXcompext.so* ${pkgdir}/usr/lib
  141. }
  142.  
  143. package_nxagent-git() {
  144. pkgdesc="NX X server based on Xnest"
  145. backup=(etc/nxagent/{keystrokes.cfg,nxagent.keyboard,rgb})
  146. depends=('nx-xcompext' 'libxml2')
  147.  
  148. install -dm755 ${pkgdir}/usr/{bin,lib/nx/bin,share/nx,share/man/man1,share/pixmaps}
  149. cp -a ${srcdir}/fakeinstall/usr/lib/nx/bin/nxagent ${pkgdir}/usr/lib/nx/bin
  150. cp -a ${srcdir}/fakeinstall/usr/share/man/man1/nxagent.1 ${pkgdir}/usr/share/man/man1
  151. cp -a ${srcdir}/fakeinstall/usr/share/pixmaps/nxagent.xpm ${pkgdir}/usr/share/pixmaps
  152.  
  153. # the wrapper
  154. cp -a ${srcdir}/fakeinstall/usr/bin/nxagent ${pkgdir}/usr/bin
  155.  
  156. # additional files for documentation
  157. cp -a ${srcdir}/fakeinstall/usr/share/nx/{rgb,SecurityPolicy} ${pkgdir}/usr/share/nx
  158.  
  159. cp -a ${srcdir}/fakeinstall/usr/lib/libXcompshad.so* ${pkgdir}/usr/lib
  160.  
  161. # Needed for nxagent to find the keymap directory
  162. install -dm755 ${pkgdir}/usr/lib/X11/xkb
  163. touch ${pkgdir}/usr/lib/X11/xkb/keymap.dir
  164.  
  165. install -dm755 ${pkgdir}/etc/nxagent
  166. cp -a ${srcdir}/fakeinstall/etc/nxagent/{keystrokes.cfg,nxagent.keyboard,rgb} ${pkgdir}/etc/nxagent
  167. }
  168.  
  169. package_nx-headers-git() {
  170. pkgdesc="NX headers"
  171.  
  172. install -dm755 ${pkgdir}/usr/include/nx
  173. cp -aR ${srcdir}/fakeinstall/usr/include/nx/* ${pkgdir}/usr/include/nx
  174. }
Advertisement
Add Comment
Please, Sign In to add comment