net-misc/nx: 3.5.99.23 bump
authorBernard Cafarelli <voyageur@gentoo.org>
Mon, 4 May 2020 21:16:17 +0000 (23:16 +0200)
committerBernard Cafarelli <voyageur@gentoo.org>
Mon, 4 May 2020 21:23:24 +0000 (23:23 +0200)
Switch to ArcticaProject releases
Move host.def config to src_configure
Temporarily run with forced -fcommon until bug is fixed upstream

Closes: https://bugs.gentoo.org/706926
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
net-misc/nx/Manifest
net-misc/nx/metadata.xml
net-misc/nx/nx-3.5.99.23.ebuild [new file with mode: 0644]

index 282d7c4dbe23ba35f23a1510298f70be897b4ce6..ff7233844af9e4973d573967bfa606363d76b201 100644 (file)
@@ -1,2 +1,3 @@
 DIST nx-libs-3.5.99.16-full.tar.gz 5269745 BLAKE2B c968b8dde07e397e84786131cede0dd82979c52069a653de540ec833e5189751db15347aa34cf68db523207aa13ae7507cce0b28b09e897606becdc6effd7fcc SHA512 6b80530345da879e62f9ea506a04c77bd918d3c48d46a22548d1534dab14cae5a715290942fdd5c77708f119522312cd667b6b9f286f106463c5a0debbb0451c
 DIST nx-libs-3.5.99.22-full.tar.gz 5280116 BLAKE2B 1a15ba04ace5fd46b007652897aa911a883fa2840c07f4e89db970d3235556ee83600f5cd4d9c4b64f7ce4767dd448a3654412051496754d73a2815a7573692f SHA512 53e7f1ffd8bf9dfd08426e30b0a18433b64f926959ab95132c28960f9a2390e67a34b1e07c923bf11f889088711d7d97c1fd123507f39c2077211d2c3cd6857f
+DIST nx-libs-3.5.99.23.tar.gz 11073366 BLAKE2B 0e06e9c90f73a0264d8363ee3f75914ada884f469d9ba15b062675625a9922be5ec963eb7611484ef2abea83a100e58b05e6421da67d8b5c5f840737e6b37321 SHA512 b627d521f7a3c43c9c000f770bd1e228842099e794cda32b37df621ac86c650990bdc69810b7ff6117cbd60f0339dda93d1e2acdcfac03ddaa50407d71668b60
index 1b5df39c0204cc073643edb3cde4ee29c28c1ca7..d639b5037599e0ac7dd91d0d8aae889d98040a78 100644 (file)
@@ -5,5 +5,8 @@
        <email>voyageur@gentoo.org</email>
        <name>Bernard Cafarelli</name>
 </maintainer>
+<upstream>
+       <remote-id type="github">ArcticaProject/nx-libs</remote-id>
+</upstream>
 <longdescription>Special versions of the X11 libraries to support NX compression</longdescription>
 </pkgmetadata>
diff --git a/net-misc/nx/nx-3.5.99.23.ebuild b/net-misc/nx/nx-3.5.99.23.ebuild
new file mode 100644 (file)
index 0000000..55b6eb9
--- /dev/null
@@ -0,0 +1,140 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="NX compression technology core libraries"
+HOMEPAGE="https://github.com/ArcticaProject/nx-libs"
+
+SRC_URI="https://github.com/ArcticaProject/nx-libs/archive/${PV}.tar.gz -> nx-libs-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="elibc_glibc"
+
+RDEPEND="dev-libs/libxml2
+       >=media-libs/libpng-1.2.8:0=
+       >=sys-libs/zlib-1.2.3
+       virtual/jpeg:*
+       x11-libs/libX11
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXdmcp
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXfont2
+       x11-libs/libXinerama
+       x11-libs/libXpm
+       x11-libs/libXrandr
+       x11-libs/libXrender
+       x11-libs/libXtst
+       x11-libs/pixman"
+
+DEPEND="${RDEPEND}
+       x11-base/xorg-proto
+       x11-libs/libfontenc
+       x11-misc/gccmakedep
+       x11-misc/imake"
+
+BDEPEND="
+       virtual/pkgconfig"
+
+S="${WORKDIR}/nx-libs-${PV}"
+
+src_prepare() {
+       default
+
+       # We want predictable behavior. So let's assume we never
+       # have quilt installed.
+       sed 's@which quilt@false@' -i mesa-quilt || die
+
+       # Do not compress man pages by default
+       sed '/^[[:space:]]*gzip.*man/d' -i Makefile || die
+
+       # run autoreconf in all needed folders
+       local subdir
+       for subdir in nxcomp nxdialog nx-X11/lib nxcompshad nxproxy ; do
+               pushd ${subdir} || die
+               eautoreconf
+               popd || die
+       done
+}
+
+src_configure() {
+       # Workaround until fixed upstream
+       # https://github.com/ArcticaProject/nx-libs/issues/907
+       append-cflags -fcommon
+
+       # From xorg-x11-6.9.0-r3.ebuild
+       pushd nx-X11 || die
+       HOSTCONF="config/cf/host.def"
+       echo "#define CcCmd $(tc-getCC)" >> ${HOSTCONF}
+       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}
+       # Disable SunRPC, #370767
+       echo "#define HasSecureRPC NO" >> ${HOSTCONF}
+       popd || die
+
+       local subdir
+       for subdir in nxcomp nxdialog nxcompshad nxproxy ; do
+               pushd ${subdir} || die
+               econf
+               popd || die
+       done
+
+       pushd "nx-X11/lib" || die
+       econf --disable-poll
+       popd || die
+}
+
+src_compile() {
+       # First set up the build environment
+       emake build-env
+
+       # We replicate the "build-full" make target here because
+       # we cannot call "make build-full" as it
+       #  - calls autoreconf several times
+       #  - invokes make directly but we prefer our emake
+
+       emake -C nxcomp
+       emake -C nx-X11/lib
+
+       mkdir -p nx-X11/exports/lib/ || die
+       local nxlib
+       for nxlib in libNX_X11.so{,.6{,.3.0}} ; do
+               ln -s ../../lib/src/.libs/${nxlib} nx-X11/exports/lib/${nxlib} || die
+       done
+
+       emake -C nxcompshad
+
+       ./mesa-quilt push -a || die
+
+       emake -C nx-X11 BuildDependsOnly
+       # Parallel make issue resurfaced, upstream working on autotools switch
+       emake -j1 -C nx-X11 World \
+               USRLIBDIR="/usr/$(get_libdir)/${PN}/X11" \
+               SHLIBDIR="/usr/$(get_libdir)"
+
+       emake -C nxproxy
+}
+
+src_install() {
+       emake \
+               DESTDIR="${D}" \
+               PREFIX="/usr" \
+               NXLIBDIR="/usr/$(get_libdir)/${PN}" \
+               SHLIBDIR="/usr/$(get_libdir)" \
+               USRLIBDIR="/usr/$(get_libdir)/${PN}/X11" \
+               install
+
+       # Already provided by mesa & related packages
+       rm -r "${ED}"/usr/include/GL || die
+
+       # Get rid of libtool files and static libs.
+       find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+}