From f026c381487e1fe78002082c4b9faf33e098448b Mon Sep 17 00:00:00 2001 From: Bernard Cafarelli Date: Fri, 19 Dec 2008 16:12:11 +0000 Subject: Ebuild cleanup, fix depend, and CC/CFLAGS handling, closes bug #246819 (Portage version: 2.2_rc17/cvs/Linux 2.6.26-gentoo x86_64) --- net-misc/nxserver-freenx/ChangeLog | 9 +- .../files/nxserver-freenx-0.7.3-cflags.patch | 22 ++++ .../nxserver-freenx-0.7.3-r2.ebuild | 129 +++++++++++++++++++++ 3 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 net-misc/nxserver-freenx/files/nxserver-freenx-0.7.3-cflags.patch create mode 100644 net-misc/nxserver-freenx/nxserver-freenx-0.7.3-r2.ebuild (limited to 'net-misc') diff --git a/net-misc/nxserver-freenx/ChangeLog b/net-misc/nxserver-freenx/ChangeLog index 178dd283ca83..d9e665cc5c18 100644 --- a/net-misc/nxserver-freenx/ChangeLog +++ b/net-misc/nxserver-freenx/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-misc/nxserver-freenx # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/ChangeLog,v 1.54 2008/11/24 14:14:11 voyageur Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/ChangeLog,v 1.55 2008/12/19 16:12:10 voyageur Exp $ + +*nxserver-freenx-0.7.3-r2 (19 Dec 2008) + + 19 Dec 2008; Bernard Cafarelli + +files/nxserver-freenx-0.7.3-cflags.patch, + +nxserver-freenx-0.7.3-r2.ebuild: + Ebuild cleanup, fix depend, and CC/CFLAGS handling, closes bug #246819 24 Nov 2008; Bernard Cafarelli -nxserver-freenx-0.7.3.ebuild, nxserver-freenx-0.7.3-r1.ebuild: diff --git a/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.3-cflags.patch b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.3-cflags.patch new file mode 100644 index 000000000000..cfb71f139439 --- /dev/null +++ b/net-misc/nxserver-freenx/files/nxserver-freenx-0.7.3-cflags.patch @@ -0,0 +1,22 @@ +--- nx-session-launcher/Makefile.orig 2008-12-19 16:34:02.000000000 +0100 ++++ nx-session-launcher/Makefile 2008-12-19 16:34:55.000000000 +0100 +@@ -1,7 +1,6 @@ + .PHONY: all install + +-CC=gcc +-CFLAGS=-g -O2 -Wall -fPIC ++CFLAGS+=-fPIC + + SOURCES = nx-session-launcher-suid.c + PROGRAMS = nx-session-launcher-suid +--- nxredir/Makefile.orig 2008-12-19 16:33:53.000000000 +0100 ++++ nxredir/Makefile 2008-12-19 16:34:48.000000000 +0100 +@@ -1,7 +1,6 @@ + all: libnxredir.so.0 + +-CC=gcc +-CFLAGS=-g -O2 -Wall -fPIC ++CFLAGS+=-fPIC + LIBNAME=libnxredir.so.0 + + libnxredir.so.0: nxredir.o diff --git a/net-misc/nxserver-freenx/nxserver-freenx-0.7.3-r2.ebuild b/net-misc/nxserver-freenx/nxserver-freenx-0.7.3-r2.ebuild new file mode 100644 index 000000000000..1a5a183f80ae --- /dev/null +++ b/net-misc/nxserver-freenx/nxserver-freenx-0.7.3-r2.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/nxserver-freenx-0.7.3-r2.ebuild,v 1.1 2008/12/19 16:12:10 voyageur Exp $ + +inherit multilib eutils toolchain-funcs + +MY_PN="freenx-server" +DESCRIPTION="Free Software Implementation of the NX Server" +HOMEPAGE="http://freenx.berlios.de/" +SRC_URI="mirror://berlios/freenx/${MY_PN}-${PV}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="strip" +IUSE="arts cups esd nxclient" + +DEPEND="x11-misc/gccmakedep + x11-misc/imake" +RDEPEND="dev-tcltk/expect + media-fonts/font-misc-misc + media-fonts/font-cursor-misc + net-analyzer/gnu-netcat + >=net-misc/nx-2.1.0 + sys-apps/gawk + virtual/ssh + x11-apps/xauth + x11-apps/xrdb + x11-apps/sessreg + arts? ( kde-base/arts ) + cups? ( net-print/cups ) + esd? ( media-sound/esound ) + nxclient? ( net-misc/nxclient ) + !nxclient? ( !net-misc/nxclient + || ( x11-misc/xdialog + x11-apps/xmessage ) ) + !net-misc/nxserver-freeedition + !net-misc/nxserver-2xterminalserver" + +S=${WORKDIR}/${MY_PN}-${PV} + +export NX_HOME_DIR=/var/lib/nxserver/home + +pkg_setup () { + enewuser nx -1 -1 ${NX_HOME_DIR} +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/${P}-nxloadconfig.patch + epatch "${FILESDIR}"/${P}-roundrobin.patch + epatch "${FILESDIR}"/${P}-cflags.patch + epatch "${FILESDIR}"/${PN}-0.7.2-cups.patch + + sed -e "s/3\.\[012\]/3.[0123]/g" \ + -e "/PATH_LIB=/s/lib/$(get_libdir)/g" \ + -e "/REAL_PATH_BIN=/s/lib/$(get_libdir)/g" \ + -i nxloadconfig || die "nxloadconfig sed failed" + + # Change the defaults in nxloadconfig to meet the users needs. + if use arts ; then + einfo "Enabling arts support." + sed -i '/ENABLE_ARTSD_PRELOAD=/s/"0"/"1"/' nxloadconfig || die + sed -i '/ENABLE_ARTSD_PRELOAD=/s/"0"/"1"/' node.conf.sample || die + fi + if use esd ; then + einfo "Enabling esd support." + sed -i '/ENABLE_ESD_PRELOAD=/s/"0"/"1"/' nxloadconfig || die + sed -i '/ENABLE_ESD_PRELOAD=/s/"0"/"1"/' node.conf.sample || die + fi + if use cups ; then + einfo "Enabling cups support." + sed -i '/ENABLE_KDE_CUPS=/s/"0"/"1"/' nxloadconfig || die + sed -i '/ENABLE_KDE_CUPS=/s/"0"/"1"/' node.conf.sample || die + fi +} + +src_compile() { + emake CC=$(tc-getCC) CDEBUGFLAGS="${CFLAGS}" || die "compilation failed" +} + +src_install() { + export NX_ETC_DIR=/etc/nxserver + export NX_SESS_DIR=/var/lib/nxserver/db + + emake DESTDIR="${D}" install || die "install failed" + + # This should be renamed to remove the blocker on net-misc/nxclient + use nxclient && rm "${D}"/usr/bin/nxprint + + mv "${D}"/etc/nxserver/node.conf.sample "${D}"/etc/nxserver/node.conf || + die "cannot find default configuration file" + + dodir ${NX_ETC_DIR} + for x in passwords passwords.orig ; do + touch "${D}"${NX_ETC_DIR}/$x + chmod 600 "${D}"${NX_ETC_DIR}/$x + done + + dodir ${NX_HOME_DIR} + + for x in closed running failed ; do + keepdir ${NX_SESS_DIR}/$x + fperms 0700 ${NX_SESS_DIR}/$x + done + + newinitd "${FILESDIR}"/nxserver.init nxserver +} + +pkg_postinst () { + # Other NX servers ebuilds may have already created the nx account + # However they use different login shell/home directory paths + if [[ ${ROOT} == "/" ]]; then + usermod -s /usr/bin/nxserver nx || die "Unable to set login shell of nx user!!" + usermod -d ${NX_HOME_DIR} nx || die "Unable to set home directory of nx user!!" + usermod -G utmp nx || die "Unable to add nx user to utmp group!!" + else + elog "If you had another NX server installed before, please make sure" + elog "the nx user account is correctly set to:" + elog " * login shell: /usr/bin/nxserver" + elog " * home directory: ${NX_HOME_DIR}" + elog " * supplementary groups: utmp" + fi + + elog "To complete the installation, run:" + elog " nxsetup --install --setup-nomachine-key --clean --purge" + elog "This will use the default Nomachine SSH key" +} -- cgit v1.2.3-65-gdbad