File nx-libs.spec of Package nx-libs
#
# spec file for package nx-libs
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: nx-libs
Version: 3.5.99.26
Release: 0
Summary: X2Go core libraries
License: GPL-2.0-only
Group: Productivity/Networking/Remote Desktop
URL: https://github.com/ArcticaProject/nx-libs
Source: https://github.com/ArcticaProject/nx-libs/archive/%version/%name-%version.tar.gz
Source3: %name.keyring
Source4: %name-rpmlintrc
Source5: baselibs.conf
Patch1: symvers.diff
Patch2: Makefile.patch
# PATCH-FIX-UPSTREAM fix_building_with_binutils_ge_2.36.patch - https://github.com/ArcticaProject/nx-libs/pull/1012
Patch3: fix_building_with_binutils_ge_2.36.patch
BuildRequires: autoconf >= 2.13
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: imake
BuildRequires: libjpeg-devel
BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: zlib-devel
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(fontenc)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libtirpc)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(pixman-1)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xdmcp)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xextproto)
BuildRequires: pkgconfig(xfont2)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xtst)
%description
NX is a software suite which implements very efficient compression of
the X11 protocol. This increases performance when using X
applications over a network, especially a slow one.
This package provides the core nx-X11 libraries customized for
nxagent.
%package -n libNX_X11-6
Summary: Core NX protocol client library
Group: System/Libraries
%description -n libNX_X11-6
The X Window System is a network-transparent window system that was
designed at MIT. X display servers run on computers with either
monochrome or color bitmap display hardware. The server distributes
user input to and accepts output requests from various client
programs located either on the same machine or elsewhere in the
network. Xlib is a C subroutine library that application programs
(clients) use to interface with the window system by means of a
stream connection.
%package -n libNX_X11-devel
Summary: NX development files for the Core X protocol library
Group: Development/Libraries/C and C++
Requires: libNX_X11-6 = %version-%release
Requires: nx-proto-devel = %version-%release
%description -n libNX_X11-devel
The X Window System is a network-transparent window system that was
designed at MIT. X display servers run on computers with either
monochrome or color bitmap display hardware. The server distributes
user input to and accepts output requests from various client
programs located either on the same machine or elsewhere in the
network. Xlib is a C subroutine library that application programs
(clients) use to interface with the window system by means of a
stream connection.
This package contains all necessary include files and libraries
needed to develop applications that require these.
%package -n libNX_xkbfile-devel
Summary: NX development files for the X keyboard file manipulation library
Group: Development/Libraries/C and C++
Requires: libNX_X11-devel
Requires: nx-proto-devel
%description -n libNX_xkbfile-devel
libxkbfile is used by the X servers and utilities to parse the XKB
configuration data files.
This package contains all necessary include files and libraries
needed to develop applications that require these.
%package -n libXcomp3
Summary: NX differential compression library
Group: System/Libraries
Conflicts: nx
%description -n libXcomp3
NX is a software suite from NoMachine which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
This package contains the NX differential compression library for X11.
%package -n libXcomp-devel
Summary: Development files for the NX differential compression library
Group: Development/Libraries/C and C++
Requires: libXcomp3 = %version
Requires: nx-proto-devel
%description -n libXcomp-devel
The development files for the NX differential compression library.
%package -n libXcompext3
Summary: NX protocol compression extensions library
Group: System/Libraries
Conflicts: nx
%description -n libXcompext3
NX is a software suite from NoMachine which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
This package provides the library to support additional features to
the core NX library.
%package -n libXcompext-devel
Summary: Development files for the NX compression extensions library
Group: Development/Libraries/C and C++
Requires: libNX_X11-devel
Requires: libXcompext3 = %version
Requires: nx-proto-devel
%description -n libXcompext-devel
The NX compression extensions library's development files.
%package -n libXcompshad3
Summary: NX session shadowing Library
Group: System/Libraries
Conflicts: nx
%description -n libXcompshad3
NX is a software suite from NoMachine which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
This package provides the session shadowing library.
%package -n libXcompshad-devel
Summary: Development files for the NX session shadowing library
Group: Development/Libraries/C and C++
Requires: libNX_X11-devel
Requires: libNX_Xext-devel
Requires: libXcompshad3 = %version
Requires: nx-devel
Requires: nx-proto-devel
%description -n libXcompshad-devel
The development files for the NX session shadowing library.
%package -n nx-Mesa-devel
Summary: Libraries, includes and more to develop NX Mesa applications
Group: Development/Libraries/C and C++
Requires: libNX_X11-devel
%description -n nx-Mesa-devel
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL.* To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
Silicon Graphics, Inc.(SGI). However, the author does not possess an
OpenGL license from SGI, and makes no claim that Mesa is in any way a
compatible replacement for OpenGL or associated with SGI. Those who
want a licensed implementation of OpenGL should contact a licensed
vendor.
Please do not refer to the library as MesaGL (for legal reasons).
It is just Mesa or The Mesa 3-D graphics library.
* OpenGL is a trademark of Silicon Graphics Incorporated.
%package devel
Summary: Include files and libraries for NX development
Group: Development/Libraries/C and C++
Requires: %name = %version-%release
Requires: libNX_X11-devel = %version-%release
Requires: nx-proto-devel = %version-%release
Obsoletes: libNX_Xau-devel < %version-%release
Obsoletes: libNX_Xdmcp-devel < %version-%release
Obsoletes: libNX_Xext-devel < %version-%release
Obsoletes: libNX_Xfixes-devel < %version-%release
Obsoletes: libNX_Xpm-devel < %version-%release
Obsoletes: libNX_Xrender-devel < %version-%release
%description devel
NX is a software suite from NoMachine which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
This package contains all necessary include files and libraries
needed to develop nx-X11 applications that require these.
%package -n nx-proto-devel
Summary: Include files for NX development
Group: Development/Libraries/C and C++
%description -n nx-proto-devel
This package contains all necessary include files and libraries
needed to develop X11 applications that require these.
%package -n nx-xtrans-devel
Summary: Library to handle network protocol transport in X
Group: Development/Libraries/C and C++
%description -n nx-xtrans-devel
xtrans is a library of code that is shared among various X packages to
handle network protocol transport in a modular fashion, allowing a
single place to add new transport types. It is used by the X server,
libX11, libICE, the X font server, and related components.
%package -n nxdialog
Summary: NX dialog
Group: Productivity/Networking/Remote Desktop
Requires: xorg-x11-fonts-core
Conflicts: nx
%description -n nxdialog
NX is a software suite which implements very efficient compression of
the X11 protocol. This increases performance when using X
applications over a network, especially a slow one.
%package -n nxagent
Summary: NX agent
Group: Productivity/Networking/Remote Desktop
Requires: xorg-x11-fonts-core
Conflicts: nx
Obsoletes: nxauth < %version-%release
%description -n nxagent
NX is a software suite which implements very efficient compression of
the X11 protocol. This increases performance when using X
applications over a network, especially a slow one.
nxagent is an agent providing NX transport of X sessions. The
application is based on the well-known Xnest server. nxagent, like
Xnest, is an X server for its own clients, and at the same time, an X
client for a system's local X server.
The main scope of nxagent is to eliminate X round-trips or transform
them into asynchronous replies. nxagent works together with nxproxy.
nxproxy itself does not make any effort to minimize round-trips by
itself, this is demanded of nxagent.
Being an X server, nxagent is able to resolve all the property/atoms
related requests locally, ensuring that the most common source of
round-trips are nearly reduced to zero.
%package -n nxauth
Summary: NX xauth
Group: Productivity/Networking/Remote Desktop
%description -n nxauth
NX is a software suite which implements very efficient compression of
the X11 protocol. This increases performance when using X
applications over a network, especially a slow one.
This package provides the NX xauth binary.
%package -n nxproxy
Summary: NX proxy
Group: Productivity/Networking/Remote Desktop
Conflicts: nx
%description -n nxproxy
NX is a software suite which implements very efficient compression of
the X11 protocol. This increases performance when using X
applications over a network, especially a slow one.
This package provides the NX proxy (client) binary.
%prep
%autosetup -p1
sed -i -e 's|\/usr\/bin\/env python|\/usr\/bin\/python|g' nxdialog/bin/nxdialog
%build
sed -i -e 's|$(PREFIX)/lib|%_libdir|g' Makefile
%make_build -j1 \
PREFIX=%_prefix \
BINDIR=%_bindir \
LIBDIR=%_libdir \
INCLUDEDIR=%_includedir \
IMAKE_DEFINES="-DUseTIRPC"
%install
%make_install \
PREFIX=%_prefix \
LIBDIR=%_libdir \
INSTALL_DIR="install -dm0755" \
INSTALL_FILE="install -pm0644" \
INSTALL_PROGRAM="install -pm0755"
ln -s ../fonts %buildroot%_datadir/nx/fonts
rm -f %buildroot%_libdir/*.a
find %buildroot -type f -name "*.la" -delete -print
%fdupes %buildroot%_prefix
%post -n libNX_X11-6 -p /sbin/ldconfig
%postun -n libNX_X11-6 -p /sbin/ldconfig
%post -n libXcomp3 -p /sbin/ldconfig
%postun -n libXcomp3 -p /sbin/ldconfig
%post -n libXcompext3 -p /sbin/ldconfig
%postun -n libXcompext3 -p /sbin/ldconfig
%post -n libXcompshad3 -p /sbin/ldconfig
%postun -n libXcompshad3 -p /sbin/ldconfig
%files
%license COPYING LICENSE
%dir %_libdir/nx
%dir %_datadir/nx/
%dir %_datadir/nx/X11
%_datadir/nx/SecurityPolicy
%_datadir/nx/X11/XErrorDB
%_datadir/nx/X11/Xcms.txt
%files devel
%dir %_includedir/nx-X11/extensions
%_includedir/nx-X11/extensions/panoramiXext.h
%_includedir/nx-X11/extensions/record.h
%_includedir/nx-X11/misc.h
%_includedir/nx-X11/os.h
%files -n libNX_X11-6
%_libdir/libNX_X11.so.6*
%files -n libNX_X11-devel
%_libdir/pkgconfig/nx-x11.pc
%_libdir/libNX_X11.so
%dir %_includedir/nx-X11/
%_includedir/nx-X11/ImUtil.h
%_includedir/nx-X11/XKBlib.h
%_includedir/nx-X11/Xcms.h
%_includedir/nx-X11/Xlib.h
%_includedir/nx-X11/XlibConf.h
%_includedir/nx-X11/Xlibint.h
%_includedir/nx-X11/Xlocale.h
%_includedir/nx-X11/Xregion.h
%_includedir/nx-X11/Xresource.h
%_includedir/nx-X11/Xutil.h
%_includedir/nx-X11/cursorfont.h
%_includedir/nx-X11/Xauth.h
%files -n libNX_xkbfile-devel
%dir %_includedir/nx-X11/
%dir %_includedir/nx-X11/extensions
%_includedir/nx-X11/extensions/XKBconfig.h
###%%_includedir/nx-X11/extensions/XKBfile.h
###%%_includedir/nx-X11/extensions/XKBrules.h
%_includedir/nx-X11/extensions/XKM.h
%_includedir/nx-X11/extensions/XKMformat.h
%files -n libXcomp3
%_libdir/libXcomp.so.3*
%files -n libXcomp-devel
%_libdir/pkgconfig/nxcomp.pc
%_libdir/libXcomp.so
%dir %_includedir/nx
%_includedir/nx//MD5.h
%_includedir/nx/NX.h
%_includedir/nx/NXalert.h
%_includedir/nx/NXpack.h
%_includedir/nx/NXproto.h
%_includedir/nx/NXvars.h
%files -n libXcompshad3
%_libdir/libXcompshad.so.3*
%files -n libXcompshad-devel
%_libdir/pkgconfig/nxcompshad.pc
%_libdir/libXcompshad.so
%_includedir/nx/Shadow.h
%files -n nx-Mesa-devel
%dir %_includedir/GL
%_includedir/GL/gl.h
%_includedir/GL/glext.h
%_includedir/GL/glx.h
%_includedir/GL/glxext.h
%_includedir/GL/osmesa.h
%files -n nx-proto-devel
%dir %_includedir/GL
%_includedir/GL/glxint.h
%_includedir/GL/glxmd.h
%_includedir/GL/glxproto.h
%_includedir/GL/glxtokens.h
%dir %_includedir/nx-X11/
%_includedir/nx-X11/DECkeysym.h
%_includedir/nx-X11/HPkeysym.h
%_includedir/nx-X11/Sunkeysym.h
%_includedir/nx-X11/X.h
%_includedir/nx-X11/XF86keysym.h
###%%_includedir/nx-X11/XWDFile.h
###%%_includedir/nx-X11/Xalloca.h
%_includedir/nx-X11/Xarch.h
%_includedir/nx-X11/Xatom.h
%_includedir/nx-X11/Xdefs.h
%_includedir/nx-X11/Xfuncproto.h
%_includedir/nx-X11/Xfuncs.h
%_includedir/nx-X11/Xmd.h
%_includedir/nx-X11/Xos.h
%_includedir/nx-X11/Xos_r.h
%_includedir/nx-X11/Xosdefs.h
%_includedir/nx-X11/Xpoll.h
%_includedir/nx-X11/Xproto.h
%_includedir/nx-X11/Xprotostr.h
%_includedir/nx-X11/Xthreads.h
%_includedir/nx-X11/keysym.h
%_includedir/nx-X11/keysymdef.h
%_includedir/nx-X11/extensions/XI.h
%_includedir/nx-X11/extensions/XIproto.h
%_includedir/nx-X11/extensions/XKB.h
%_includedir/nx-X11/extensions/XKBgeom.h
%_includedir/nx-X11/extensions/XKBproto.h
%_includedir/nx-X11/extensions/XKBsrv.h
%_includedir/nx-X11/extensions/XKBstr.h
%_includedir/nx-X11/extensions/XResproto.h
%_includedir/nx-X11/extensions/Xv.h
%_includedir/nx-X11/extensions/XvMC.h
%_includedir/nx-X11/extensions/XvMCproto.h
%_includedir/nx-X11/extensions/Xvproto.h
%_includedir/nx-X11/extensions/bigreqstr.h
%_includedir/nx-X11/extensions/composite.h
%_includedir/nx-X11/extensions/compositeproto.h
%_includedir/nx-X11/extensions/damageproto.h
%_includedir/nx-X11/extensions/damagewire.h
%_includedir/nx-X11/extensions/panoramiXproto.h
%_includedir/nx-X11/extensions/randr.h
%_includedir/nx-X11/extensions/randrproto.h
%_includedir/nx-X11/extensions/recordstr.h
%_includedir/nx-X11/extensions/render.h
%_includedir/nx-X11/extensions/renderproto.h
%_includedir/nx-X11/extensions/syncstr.h
%_includedir/nx-X11/extensions/xcmiscstr.h
%_includedir/nx-X11/extensions/xf86bigfont.h
%_includedir/nx-X11/extensions/xfixesproto.h
%_includedir/nx-X11/extensions/xfixeswire.h
%_includedir/nx-X11/extensions/dpms.h
%_includedir/nx-X11/extensions/dpmsstr.h
%_includedir/nx-X11/extensions/Xdbeproto.h
%_includedir/nx-X11/extensions/saver.h
%_includedir/nx-X11/extensions/saverproto.h
###%%_includedir/nx-X11/extensions/scrnsaver.h
%_includedir/nx-X11/extensions/security.h
%_includedir/nx-X11/extensions/securstr.h
%_includedir/nx-X11/extensions/shapeconst.h
%_includedir/nx-X11/extensions/sync.h
%_includedir/nx-X11/extensions/xf86bigfproto.h
%_includedir/nx-X11/extensions/xtestconst.h
%_includedir/nx-X11/extensions/xteststr.h
%files -n nx-xtrans-devel
%dir %_includedir/nx-X11/
%dir %_includedir/nx-X11/Xtrans
%_includedir/nx-X11/Xtrans/*.h
%files -n nxdialog
%_bindir/nxdialog
%_mandir/man1/nxdialog.1%{?ext_man}
%files -n nxagent
%doc doc/nxagent/README.keystrokes
%dir %_sysconfdir/nxagent
%config(noreplace) %_sysconfdir/nxagent/keystrokes.cfg
%_bindir/nxagent
%dir %_libdir/nx
%dir %_libdir/nx/bin
%_libdir/nx/bin/nxagent
%dir %_libdir/nx/X11
%_libdir/nx/X11/libX11.so*
%dir %_datadir/nx
%_datadir/nx/VERSION.nxagent
%_mandir/man1/nxagent.1%{?ext_man}
%_datadir/nx/fonts
%files -n nxproxy
%doc doc/nxproxy/README-VALGRIND
%_bindir/nxproxy
%_mandir/man1/nxproxy.1%{?ext_man}
%dir %_datadir/nx
%_datadir/nx/VERSION.nxproxy
%changelog