summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 6a27eef8c8ce87cf490f89c1a2f880416225d551 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Maintainer: Andreas Radke <andyrtr@archlinux.org>

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 <git-admin@x2go.org>
              '9BFBAEE86C0AA5FFBF2207829AF46B3025771B31') # Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

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}
}