diff options
author | Bernard Cafarelli <voyageur@gentoo.org> | 2009-01-07 09:02:40 +0000 |
---|---|---|
committer | Bernard Cafarelli <voyageur@gentoo.org> | 2009-01-07 09:02:40 +0000 |
commit | 31353f7f89c24b720357f81c9bf2915ed94b9563 (patch) | |
tree | 07c8d8f3cbfafa1c53f708668d8f5b27b843d252 /net-misc/nxserver-2xterminalserver/nxserver-2xterminalserver-1.5.0.ebuild | |
parent | Add ldap depends to x2goserver, some cleanups (diff) | |
download | nx-31353f7f89c24b720357f81c9bf2915ed94b9563.tar.gz nx-31353f7f89c24b720357f81c9bf2915ed94b9563.tar.bz2 nx-31353f7f89c24b720357f81c9bf2915ed94b9563.zip |
Add net-misc/nxclient-2xterminalserver and net-misc/nxserver-2xterminalserver, now that they're removed from portage
svn path=/testing/; revision=220
Diffstat (limited to 'net-misc/nxserver-2xterminalserver/nxserver-2xterminalserver-1.5.0.ebuild')
-rw-r--r-- | net-misc/nxserver-2xterminalserver/nxserver-2xterminalserver-1.5.0.ebuild | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/net-misc/nxserver-2xterminalserver/nxserver-2xterminalserver-1.5.0.ebuild b/net-misc/nxserver-2xterminalserver/nxserver-2xterminalserver-1.5.0.ebuild new file mode 100644 index 0000000..febce07 --- /dev/null +++ b/net-misc/nxserver-2xterminalserver/nxserver-2xterminalserver-1.5.0.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-2xterminalserver/nxserver-2xterminalserver-1.5.0.ebuild,v 1.6 2007/07/04 15:08:07 voyageur Exp $ + +inherit flag-o-matic eutils + +DESCRIPTION="GPL NX server, based on NoMachine 1.5 servers source code" +HOMEPAGE="http://www.2x.com/terminalserver/" +SRC_URI="http://code.2x.com/release/linuxterminalserver/src/linuxterminalserver-1.5.0-server-r21-src.tar.gz + http://code.2x.com/release/linuxterminalserver/src/linuxterminalserver-1.5.0-common-r21-src.tar.gz + http://code.2x.com/release/linuxterminalserver/src/linuxterminalserver-1.5.0-client-r21-src.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="rdesktop vnc" + +RDEPEND="dev-libs/glib + dev-libs/openssl + dev-perl/BSD-Resource + dev-perl/DateManip + dev-perl/DBD-SQLite + dev-perl/DBI + dev-perl/Error + dev-perl/GDGraph + dev-perl/Passwd-Linux + dev-perl/Unix-Syslog + media-libs/jpeg + media-libs/libpng + sys-libs/zlib + x11-libs/libICE + x11-libs/libXmu + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libXt + x11-libs/libXau + x11-libs/libXaw + x11-libs/libXp + x11-libs/libXpm + x11-libs/libXext + + media-fonts/font-misc-misc + media-fonts/font-cursor-misc + x11-apps/xauth" + +DEPEND="${RDEPEND} + app-text/rman + net-misc/nxclient-2xterminalserver + x11-misc/gccmakedep + x11-misc/imake + x11-proto/xproto + x11-proto/xextproto + x11-proto/fontsproto + !net-misc/nxserver-freeedition + !net-misc/nxserver-freenx" + +S="${WORKDIR}" + +pkg_preinst() { + enewuser nx -1 -1 /usr/NX/home/nx +} + +src_unpack() { + unpack ${A} + + cd ${S} + epatch ${FILESDIR}/1.5.0/nx-x11-1.5.0-amd64.patch || die + epatch ${FILESDIR}/1.5.0/nx-x11-1.5.0-plastik-render-fix.patch || die + epatch ${FILESDIR}/1.5.0/nx-x11-1.5.0-tmp-exec.patch || die + epatch ${FILESDIR}/1.5.0/nx-x11-1.5.0-xorg7-font-fix.patch || die + epatch ${FILESDIR}/1.5.0/nx-x11-1.5.0-windows-linux-resume.patch || die + + epatch ${FILESDIR}/1.5.0/${P}-insitu.patch || die + epatch ${FILESDIR}/1.5.0/${P}-external-nxcomp.patch || die + epatch ${FILESDIR}/1.5.0/${P}-setup.patch || die + epatch ${FILESDIR}/1.5.0/${P}-perl.patch || die + epatch ${FILESDIR}/1.5.0/${P}-nxagent-reduced-debugging.patch || die + sed -i 's/-Wnested-externs/-Wnested-externs -fPIC/' \ + common/nxcompext/Makefile.in || die "sed failed" + + # Set correct product name + einfo "Setting official product name" + find server/nxnode common/nx-X11/programs/Xserver/hw/nxagent/Args.c \ + -type f -exec sed -i "s/@PRODUCT_NAME@/2X TerminalServer/g" {} \; +} + +src_compile() { + cd ${S}/common/nxcompext + append-ldflags "-L/usr/NX/lib" + econf || die + emake || die + + cd ${S}/common/nx-X11 + emake World || die + + if use rdesktop; then + cd ${S}/client/nxdesktop + CC=(tc-getCC) ./configure || die + emake || die + fi + + if use vnc; then + cd ${S}/server/nxviewer + xmkmf -a || die + emake World || die + fi + + cd ${S}/server/nxspool/source + econf --without-ldap --without-krb5 || die + # We can't use emake here - it doesn't trigger the right target + # for some reason + make || die + + cd ${S}/server/nxsensor + emake || die + + cd ${S}/server/nxuexec + emake || die + + cd ${S}/server/nxnode/src + ./configure || die + make setversion + make nxnode.pl nxserver.pl || die + perl MakeConfigFile.pl DEBIAN > node-gentoo.cfg.sample +} + +src_install() { + NODE_SRC=${S}/server/nxnode/src + + # Main binaries + into /usr/NX + dobin ${S}/common/nx-X11/programs/Xserver/nxagent + dobin ${S}/server/nxsensor/nxsensor + dobin ${S}/server/nxnode/setup/nxsetup + newbin ${S}/server/nxspool/source/bin/smbspool nxspool + dobin ${S}/server/nxuexec/nxuexec + + if use rdesktop; then + dobin ${S}/client/nxdesktop/nxdesktop + fi + if use vnc; then + dobin ${S}/server/nxviewer/nxviewer/nxviewer + dobin ${S}/server/nxviewer/nxpasswd/nxpasswd + fi + + # Libraries + dodir /usr/NX/lib + cp -P ${S}/common/nxcompext/libXcompext.so* \ + ${S}/common/nx-X11/lib/X11/libX11.so* ${D}/usr/NX/lib || die + # And helper scripts + exeinto /usr/NX/scripts + newexe ${S}/server/nxnode/bin/nxnodeenv.sh nxenv.sh + newexe ${S}/server/nxnode/bin/nxnodeenv.csh nxenv.csh + exeinto /usr/NX/scripts/restricted + doexe ${S}/server/nxnode/bin/nxaddinitd.sh + doexe ${S}/server/nxnode/scripts/nxinit.sh + newexe ${S}/server/nxnode/bin/nxprinter.sh-LINUX nxprinter.sh + doexe ${S}/server/nxnode/bin/nxsessreg.sh + doexe ${S}/server/nxnode/bin/nxuseradd.sh + + # The server itself (and wrappers and perl modules) + dobin ${NODE_SRC}/nxnode.pl + dobin ${NODE_SRC}/nxserver.pl + make_wrapper nxnode "perl -I/usr/NX/lib/perl /usr/NX/bin/nxnode.pl" /usr/NX/bin /usr/NX/lib /usr/NX/bin + make_wrapper nxserver "perl -I/usr/NX/lib/perl /usr/NX/bin/nxserver.pl" /usr/NX/bin /usr/NX/lib /usr/NX/bin + + dodir /usr/NX/lib/perl + cp -RH ${NODE_SRC}/*.pm ${NODE_SRC}/Config ${NODE_SRC}/Exception \ + ${NODE_SRC}/NXShellDialogs ${NODE_SRC}/handlers ${NODE_SRC}/nxstat \ + ${D}/usr/NX/lib/perl/ || die + + # etc, var, home, ... + dodir /usr/NX/etc/keys + for x in passwords users administrators; do + cp ${S}/server/nxnode/etc/${x} ${D}/usr/NX/etc/${x}.db.sample + done + cp ${NODE_SRC}/node-gentoo.cfg.sample ${D}/usr/NX/etc/ || die + + # share/keys/server.id_dsa.key is installed with the client + dodir /usr/NX/share/keys + for x in config fonts keymaps; do + cp -R ${S}/server/nxnode/share/${x} ${D}/usr/NX/share/ || die + done + cp ${S}/server/nxnode/share/keys/default.id_dsa.key \ + ${D}/usr/NX/share/keys/ ||die + cp -R ${S}/server/nxnode/home ${D}/usr/NX || die + keepdir /usr/NX/var/log + keepdir /usr/NX/var/run + keepdir /usr/NX/var/db/closed + keepdir /usr/NX/var/db/failed + keepdir /usr/NX/var/db/nxstat + keepdir /usr/NX/var/db/running +} + +pkg_postinst() { + usermod -s /usr/NX/bin/nxserver nx || die "Unable to set login shell of nx user!!" + usermod -d /usr/NX/home/nx nx || die "Unable to set home directory of nx user!!" + # Workaround fonts link + if has_version '>=x11-base/xorg-x11-7.0' && ! [ -e /usr/lib/X11/fonts ]; + then + ln -s /usr/share/fonts /usr/lib/X11/fonts + fi + + # only run install when no configuration file is found + if [ -f /usr/NX/etc/node.cfg ]; then + einfo "Running 2X update script" + ${ROOT}/usr/NX/bin/nxsetup --update + else + einfo "Running 2X setup script" + ${ROOT}/usr/NX/bin/nxsetup --install + fi +} |