nx-libs/nx-libs.spec

261 lines
7.6 KiB
RPMSpec
Raw Normal View History

%define sover %(echo %version | cut -d. -f1-3)
Name: nx-libs
Version: 3.5.99.26
Release: 1mamba
Summary: NX X11 protocol compression libraries redistributed by X2Go dev team
Group: System/X11
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://github.com/ArcticaProject/nx-libs
Source: https://github.com/ArcticaProject/nx-libs/archive/%{version}/%{name}-%{version}.tar.gz
Patch0: nx-libs-3.5.99.26-binutils-2.36.1.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libX11-devel
BuildRequires: libXau-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXdamage-devel
BuildRequires: libXdmcp-devel
BuildRequires: libXext-devel
BuildRequires: libXfixes-devel
BuildRequires: libXfont2-devel
BuildRequires: libXi-devel
BuildRequires: libXinerama-devel
BuildRequires: libXpm-devel
BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXtst-devel
BuildRequires: libbsd-devel
BuildRequires: libgcc
BuildRequires: libjpeg-devel
BuildRequires: libpixman-devel
BuildRequires: libpng-devel
BuildRequires: libstdc++6-devel
BuildRequires: libtirpc-devel
BuildRequires: libxcb-devel
BuildRequires: libxml2-devel
BuildRequires: libz-devel
## AUTOBUILDREQ-END
Requires: libnx = %{?epoch:%epoch:}%{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
NX X11 protocol compression libraries redistributed by X2Go dev team.
%package -n nxproxy
Group: System/Tools
Summary: X2GO Client proxy component
Requires: libnx = %{?epoch:%epoch:}%{version}-%{release}
%description -n nxproxy
X2GO Client proxy component.
%package -n nxagent
Group: System/Tools
Summary: X2GO Server Agent component
Requires: libnx = %{?epoch:%epoch:}%{version}-%{release}
Requires: xkeyboard-config
Provides: nx-libs
Obsoletes: nx-libs < 3.5.0.13
Provides: x2goagent
Obsoletes: x2goagent < 3.5.99.26
%description -n nxagent
X2GO Server Agent component.
%package -n nxdialog
Group: System/Libraries
Summary: X2GO nxdialog helper script
%description -n nxdialog
X2GO nxdialog helper script.
%package -n libnx
Group: System/Libraries
Summary: NX X11 protocol compression libraries redistributed by X2Go dev team.
%description -n libnx
NX X11 protocol compression libraries redistributed by X2Go dev team.
%package -n libnx-devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: libnx = %{?epoch:%epoch:}%{version}-%{release}
Requires: pkg-config
%description -n libnx-devel
This package contains libraries and header files for developing applications that use %{name}.
%debug_package
%prep
%setup -q
#-D -T
#:<< _EOF
%patch0 -p1
# Fix FSF address
find -name LICENSE | xargs sed -i \
-e 's/59 Temple Place/51 Franklin Street/' -e 's/Suite 330/Fifth Floor/' \
-e 's/MA 02111-1307/MA 02110-1301/'
# Fix source permissions
find -type f -name '*.[hc]' | xargs chmod -x
# Install into /usr
sed -i -e 's,/usr/local,/usr,' nx-X11/config/cf/site.def
:<< _OLD
# We're installing binaries into %%{_libdir}/nx/bin rather than %%{_libexedir}/nx
# because upstream expects libraries and binaries in the same directory
sed -i -e 's,/lib/nx,/%{_lib}/nx,' Makefile nx-X11/config/cf/X11.tmpl
sed -i -e 's,/lib/x2go,/%{_lib}/x2go,' Makefile
sed -i -e 's,/usr/lib/,/usr/%{_lib}/,' bin/*
%build
#:<< ___EOF
cat >"my_configure" <<'EOF'
%configure --disable-silent-rules "${@}"
EOF
chmod a+x my_configure;
# The RPM macro for the linker flags does not exist on EPEL
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
export SHLIBGLOBALSFLAGS="%{__global_ldflags}"
export LOCAL_LDFLAGS="%{__global_ldflags}"
export CDEBUGFLAGS="%{optflags}"
IMAKE_DEFINES="-DUseTIRPC=YES"
%make -j1 \
CONFIGURE="$PWD/my_configure" \
LIBDIR=%{_libdir} \
CDEBUGFLAGS="${CDEBUGFLAGS}" \
LOCAL_LDFLAGS="${LOCAL_LDFLAGS}" \
SHLIBGLOBALSFLAGS="${SHLIBGLOBALSFLAGS}" \
IMAKE_DEFINES="${IMAKE_DEFINES}"
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir} \
SHLIBDIR=%{_libdir} \
INSTALL_DIR="install -dm0755" \
INSTALL_FILE="install -pm0644" \
INSTALL_PROGRAM="install -pm0755"
ln -s ../X11/fonts %{buildroot}%{_datadir}/nx/fonts
# Remove static libs
rm -f %{buildroot}%{_libdir}/*.a
# Fix permissions on shared libraries
chmod 755 %{buildroot}%{_libdir}/lib*.so*
# Remove extras, GL, and other unneeded headers
rm -r %{buildroot}%{_includedir}/GL
rm -r %{buildroot}%{_includedir}/nx-X11/extensions/XK*.h
rm -r %{buildroot}%{_includedir}/nx-X11/extensions/*Xv*.h
rm -r %{buildroot}%{_includedir}/nx-X11/Xtrans
# Fix python scripts
sed -i "s|env python$|env python3|" %{buildroot}%{_bindir}/nxdialog
ln -s nxagent %{buildroot}%{_bindir}/x2goagent
:<< _OLD
## Make sure x2goagent is linked relative and on 64-bit
#mkdir -p %{buildroot}%{_libdir}/x2go/bin
#ln -sf ../../nx/bin/nxagent %{buildroot}%{_libdir}/x2go/bin/x2goagent
ln -s ../lib/NX3/bin/nxagent %{buildroot}%{_bindir}/x2goagent
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf << _EOF
%{_libdir}/nx
_EOF
# Fix '/usr/lib64/nx/libXcompext.so.3 is not a symbolic link'
rm -f %{buildroot}%{_libdir}/nx/libXcompext.so.3
ln -s libXcompext.so.%{sover} %{buildroot}%{_libdir}/nx/libXcompext.so.3
# Needed for Xinerama support
install -d -m0755 %{buildroot}%{_libdir}/nx/X11/Xinerama/
ln -s -f ../../../../%{_lib}/libX11.so.6 %{buildroot}%{_libdir}/nx/X11/Xinerama/libNX_X11.so.6
ln -s -f ../../../../%{_lib}/libXext.so.6 %{buildroot}%{_libdir}/nx/X11/Xinerama/libNX_Xext.so.6
ln -s -f ../../../../%{_lib}/libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/Xinerama/libXinerama.so.1
%find_lang %{name} || touch %{name}.lang
_OLD
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -n libnx -p /sbin/ldconfig
%postun -n libnx -p /sbin/ldconfig
%files -n nxproxy
%defattr(-,root,root)
%{_bindir}/nxproxy
%{_mandir}/man1/nxproxy.1*
%files -n nxagent
%defattr(-,root,root)
%dir %{_sysconfdir}/nxagent
%config(noreplace) %{_sysconfdir}/nxagent/keystrokes.cfg
%{_bindir}/nxagent
%{_bindir}/x2goagent
%dir %{_libdir}/nx/bin
%{_libdir}/nx/bin/nxagent
%dir %{_datadir}/nx
%{_datadir}/nx/SecurityPolicy
%{_datadir}/nx/VERSION.*
%dir %{_datadir}/nx/X11
%{_datadir}/nx/X11/XErrorDB
%{_datadir}/nx/X11/Xcms.txt
%{_datadir}/nx/fonts
%{_mandir}/man1/nxagent.1*
%files -n nxdialog
%defattr(-,root,root)
%{_bindir}/nxdialog
%{_mandir}/man1/nxdialog.1*
%files -n libnx
#-f %{name}.lang
%defattr(-,root,root)
%{_libdir}/libNX_*.so.*
%{_libdir}/libXcomp.so.*
%{_libdir}/libXcompshad.so.*
%dir %{_libdir}/nx
%dir %{_libdir}/nx/X11
%{_libdir}/nx/X11/libX11.so.*
%files -n libnx-devel
%defattr(-,root,root)
%dir %{_includedir}/nx
%{_includedir}/nx/*.h
%dir %{_includedir}/nx-X11
%{_includedir}/nx-X11/*.h
%dir %{_includedir}/nx-X11/extensions
%{_includedir}/nx-X11/extensions/*.h
%{_libdir}/libNX_*.so
%{_libdir}/libNX_X11.la
%{_libdir}/libXcomp.la
%{_libdir}/libXcomp.so
%{_libdir}/libXcompshad.la
%{_libdir}/libXcompshad.so
%{_libdir}/pkgconfig/nx-x11.pc
%{_libdir}/pkgconfig/nxcomp.pc
%{_libdir}/pkgconfig/nxcompshad.pc
%changelog
* Sun Apr 25 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.5.99.26-1mamba
- update to 3.5.99.26
* Thu Mar 24 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 3.5.0.13-2mamba
- added nxproxy and x2goagent packages; fix ldconfig problems
* Thu Nov 26 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 3.5.0.13-1mamba
- package created using the webbuild interface