Blob Blame History Raw
# _hardened_build not working for EL6, at least define __global_ldflags for now
%global _hardened_build 1
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro -Wl,-z,now}

Name:           nx-libs
Version:        3.5.0.32
Release:        3%{?dist}
Summary:        NX X11 protocol compression libraries

Group:          System Environment/Libraries
License:        GPLv2+
URL:            http://x2go.org/
Source0:        http://code.x2go.org/releases/source/%{name}/%{name}-%{version}-full.tar.gz
# git clone git://code.x2go.org/nx-libs
# cd nx-libs
# debian/roll-tarballs.sh HEAD server
# mv _releases_/source/nx-libs/nx-libs-HEAD-full.tar.gz .
#Source0:       ns-libs-HEAD-full.tar.gz

BuildRequires:  autoconf
BuildRequires:  expat-devel
BuildRequires:  fontconfig-devel
BuildRequires:  freetype-devel
BuildRequires:  imake
BuildRequires:  libfontenc-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libpng-devel
BuildRequires:  libxml2-devel
# For imake
BuildRequires:  xorg-x11-proto-devel
BuildRequires:  zlib-devel

Obsoletes:      nx < 3.5.0-19
Provides:       nx = %{version}-%{release}
Obsoletes:      nx%{?_isa} < 3.5.0-19
Provides:       nx%{?_isa} = %{version}-%{release}

%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/x2goagent.


%package -n libNX_X11
Group:          System Environment/Libraries
Summary:        Core NX protocol client library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_X11
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
Group:          Development/Libraries
Summary:        Development files for the Core NX protocol library
Requires:       libNX_X11%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel%{?_isa} = %{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_Xau-devel
Group:          Development/Libraries
Summary:        Development files for the NX authorization protocol library
Requires:       libNX_Xau%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel%{?_isa} = %{version}-%{release}

%description -n libNX_Xau-devel
libXau provides mechanisms for individual access to an X Window
System display. It uses existing core protocol and library hooks for
specifying authorization data in the connection setup block to
restrict use of the display to only those clients that show that they
know a server-specific key called a "magic cookie".

This package contains all necessary include files and libraries
needed to develop applications that require these.


%package -n libNX_Xau
Group:          System Environment/Libraries
Summary:        NX authorization protocol library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xau
libXau provides mechanisms for individual access to an X Window
System display. It uses existing core protocol and library hooks for
specifying authorization data in the connection setup block to
restrict use of the display to only those clients that show that they
know a server-specific key called a "magic cookie".


%package -n libNX_Xcomposite
Group:          System Environment/Libraries
Summary:        NX protocol Composite extension client library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xcomposite
The Composite extension causes a entire sub-tree of the window
hierarchy to be rendered to an off-screen buffer. Applications can
then take the contents of that buffer and do whatever they like. The
off-screen buffer can be automatically merged into the parent window
or merged by external programs, called compositing managers.


%package -n libNX_Xdamage
Group:          System Environment/Libraries
Summary:        NX Damage Extension library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xdamage
The X Damage Extension allows applications to track modified regions
of drawables.


%package -n libNX_Xdmcp-devel
Group:          Development/Libraries
Summary:        Development files for the NXDM Control Protocol library
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       libNX_Xdmcp%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel%{?_isa} = %{version}-%{release}

%description -n libNX_Xdmcp-devel
The X Display Manager Control Protocol (XDMCP) provides a uniform
mechanism for an autonomous display to request login service from a
remote host. By autonomous, we mean the display consists of hardware
and processes that are independent of any particular host where login
service is desired. An X terminal (screen, keyboard, mouse,
processor, network interface) is a prime example of an autonomous
display.

This package contains all necessary include files and libraries
needed to develop applications that require these.


%package -n libNX_Xdmcp
Group:          System Environment/Libraries
Summary:        NX Display Manager Control Protocol library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xdmcp
The X Display Manager Control Protocol (XDMCP) provides a uniform
mechanism for an autonomous display to request login service from a
remote host. By autonomous, we mean the display consists of hardware
and processes that are independent of any particular host where login
service is desired. An X terminal (screen, keyboard, mouse,
processor, network interface) is a prime example of an autonomous
display.


%package -n libNX_Xext-devel
Group:          Development/Libraries
Summary:        Development files for the NX Common Extensions library
Requires:       libNX_Xext%{?_isa} = %{version}-%{release}
Requires:       libNX_Xau-devel%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel%{?_isa} = %{version}-%{release}

%description -n libNX_Xext-devel
The Xext library contains a handful of X11 extensions:
- Double Buffer extension (DBE/Xdbe)
- Display Power Management Signaling (DPMS) extension
- X11 Nonrectangular Window Shape extension (Xshape)
- The MIT Shared Memory extension (MIT-SHM/Xshm)
- TOG-CUP (colormap) protocol extension (Xcup)
- X Extended Visual Information extension (XEvi)
- X11 Double-Buffering, Multi-Buffering, and Stereo extension (Xmbuf)

This package contains all necessary include files and libraries
needed to develop applications that require these.


%package -n libNX_Xext
Group:          System Environment/Libraries
Summary:        Common extensions to the NX protocol
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xext
The Xext library contains a handful of X11 extensions:
- Double Buffer extension (DBE/Xdbe)
- Display Power Management Signaling (DPMS) extension
- X11 Nonrectangular Window Shape extension (Xshape)
- The MIT Shared Memory extension (MIT-SHM/Xshm)
- TOG-CUP (colormap) protocol extension (Xcup)
- X Extended Visual Information extension (XEvi)
- X11 Double-Buffering, Multi-Buffering, and Stereo extension (Xmbuf)


%package -n libNX_Xfixes-devel
Group:          Development/Libraries
Summary:        Development files for the NX Xfixes extension library
Requires:       libNX_Xfixes%{?_isa} = %{version}-%{release}
Requires:       libNX_X11-devel%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel%{?_isa} = %{version}-%{release}

%description -n libNX_Xfixes-devel
The X Fixes extension provides applications with work-arounds for
various limitations in the core protocol.

This package contains all necessary include files and libraries
needed to develop applications that require these.


%package -n libNX_Xfixes
Group:          System Environment/Libraries
Summary:        NX miscellaneous "fixes" extension library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xfixes
The X Fixes extension provides applications with work-arounds for
various limitations in the core protocol.


%package -n libNX_Xinerama
Group:          System Environment/Libraries
Summary:        Xinerama extension to the NX Protocol
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       libX11%{?_isa}
Requires:       libXext%{?_isa}

%description -n libNX_Xinerama
Xinerama is an extension to the X Window System which enables
multi-headed X applications and window managers to use two or more
physical displays as one large virtual display.


%package -n libNX_Xpm-devel
Group:          Development/Libraries
Summary:        Development files for the NX Pixmap image file format library
Requires:       libNX_Xpm%{?_isa} = %{version}-%{release}

%description -n libNX_Xpm-devel
libXpm facilitates working with XPM (X PixMap), a format for
storing/retrieving X pixmaps to/from files.

This package contains all necessary include files and libraries
needed to develop applications that require these.


%package -n libNX_Xpm
Group:          System Environment/Libraries
Summary:        NX Pixmap image file format library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xpm
libXpm facilitates working with XPM (X PixMap), a format for
storing/retrieving X pixmaps to/from files.


%package -n libNX_Xrandr
Group:          System Environment/Libraries
Summary:        NX Resize, Rotate and Reflection extension library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xrandr
The X Resize, Rotate and Reflect Extension (RandR) allows clients to
dynamically change X screens, so as to resize, to change the
orientation and layout of the root window of a screen.


%package -n libNX_Xrender-devel
Group:          Development/Libraries
Summary:        Development files for the NX Render Extension library
Requires:       libNX_Xrender%{?_isa} = %{version}-%{release}
Requires:       libNX_X11-devel%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel%{?_isa} = %{version}-%{release}

%description -n libNX_Xrender-devel
The Xrender library is designed as a lightweight library interface to
the Render extension.

This package contains all necessary include files and libraries
needed to develop applications that require these.


%package -n libNX_Xrender
Group:          System Environment/Libraries
Summary:        NX Rendering Extension library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xrender
The Xrender library is designed as a lightweight library interface to
the Render extension.


%package -n libNX_Xtst
Group:          System Environment/Libraries
Summary:        Xlib-based client API for the XTEST and RECORD extensions on NX
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libNX_Xtst
The XTEST extension is a minimal set of client and server extensions
required to completely test the X11 server with no user intervention.
This extension is not intended to support general journaling and
playback of user actions.

The RECORD extension supports the recording and reporting of all core
X protocol and arbitrary X extension protocol.


%package -n libXcomp-devel
Group:          Development/Libraries
Summary:        Development files for the NX differential compression library
Requires:       libXcomp%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel = %{version}-%{release}

%description -n libXcomp-devel
The NX differential compression library's development files.


%package -n libXcomp
Group:          System Environment/Libraries
Summary:        NX differential compression library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libXcomp
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 libXcompext-devel
Group:          Development/Libraries
Summary:        Development files for the NX compression extensions library
Requires:       libXcompext%{?_isa} = %{version}-%{release}
Requires:       libNX_X11-devel%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel%{?_isa} = %{version}-%{release}

%description -n libXcompext-devel
The NX compression extensions library's development files.


%package -n libXcompext
Group:          System Environment/Libraries
Summary:        NX protocol compression extensions library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libXcompext
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 libXcompshad-devel
Group:          Development/Libraries
Summary:        Development files for the NX session shadowing library
Requires:       libXcompshad%{?_isa} = %{version}-%{release}
Requires:       libNX_X11-devel%{?_isa} = %{version}-%{release}
Requires:       libNX_Xext-devel%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel%{?_isa} = %{version}-%{release}
Requires:       %{name}-devel%{?_isa} = %{version}-%{release}

%description -n libXcompshad-devel
The NX session shadowing library's development files.


%package -n libXcompshad
Group:          System Environment/Libraries
Summary:        NX session shadowing Library
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description -n libXcompshad
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 devel
Group:          Development/Libraries
Summary:        Include files and libraries for NX development
Requires:       libNX_X11-devel%{?_isa} = %{version}-%{release}
Requires:       libNX_Xau-devel%{?_isa} = %{version}-%{release}
Requires:       libNX_Xdmcp-devel%{?_isa} = %{version}-%{release}
Requires:       libNX_Xext-devel%{?_isa} = %{version}-%{release}
Requires:       libNX_Xfixes-devel%{?_isa} = %{version}-%{release}
Requires:       libNX_Xpm-devel%{?_isa} = %{version}-%{release}
Requires:       libNX_Xrender-devel%{?_isa} = %{version}-%{release}
Requires:       nx-proto-devel%{?_isa} = %{version}-%{release}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description devel
This package contains all necessary include files and libraries
needed to develop X11 applications that require these.


%package -n nx-proto-devel
Group:          Development/Libraries
Summary:        Include files for NX development

%description -n nx-proto-devel
This package contains all necessary include files and libraries
needed to develop X11 applications that require these.


%package -n nxagent
Group:          Applications/System
Summary:        NX agent
# For /usr/share/X11/xkb
Requires:       xkeyboard-config
Obsoletes:      nx < 3.5.0-19
Provides:       nx = %{version}-%{release}
Obsoletes:      nx%{?_isa} < 3.5.0-19
Provides:       nx%{?_isa} = %{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
Group:          Applications/System
Summary:        NX Auth

%description -n nxauth
This package provides the NX xauth binary.


%package -n nxproxy
Group:          Applications/System
Summary:        NX Proxy
Obsoletes:      nx < 3.5.0-19
Provides:       nx = %{version}-%{release}
Obsoletes:      nx%{?_isa} < 3.5.0-19
Provides:       nx%{?_isa} = %{version}-%{release}

%description -n nxproxy
This package provides the NX proxy (client) binary.


%package -n x2goagent
Group:          Applications/System
Summary:        X2Go Agent
Requires:       nxagent
Requires:       x2goserver

%description -n x2goagent
X2Go agent functionality has been completely incorporated into
nxagent's code base. If the nxagent binary is executed under the name
of "x2goagent", the X2Go functionalities get activated.

The x2goagent package is a wrapper that activates X2Go branding in
nxagent. Please refer to the nxagent package's description for more
information on NX.


%prep
%setup -q
# Install into /usr
sed -i -e 's,/usr/local,/usr,' nx-X11/config/cf/site.def
# Use rpm optflags
sed -i -e 's#-O3#%{optflags}#' nx-X11/config/cf/host.def
sed -i -e 's#-O3#%{optflags}#' nx-X11/config/cf/linux.cf
echo "#define DefaultGcc2Ppc64Opt %{optflags}" >> nx-X11/config/cf/host.def
# Use multilib dirs
# We're installing binaries into %%{_libdir}/nx/bin rather than %%{_libexedir}/nx
# becuase 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/*
# 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

# Bundled nx-X11/extras
# Xpm - Is needed and needs to get linked to libXcomp
# Mesa - Used by the X server

# Xcursor - Other code still references files in it
# Xfont - Statically linked to nxarget, others?
# Xpm


%build
cat >"my_configure" <<'EOF'
%configure
EOF
chmod a+x my_configure;
export SHLIBGLOBALSFLAGS="%{__global_ldflags}"
make %{?_smp_mflags} CONFIGURE="$PWD/my_configure" USRLIBDIR=%{_libdir}/nx SHLIBDIR=%{_libdir}/nx


%install
make install \
        DESTDIR=%{buildroot} \
        PREFIX=%{_prefix} \
        USRLIBDIR=%{_libdir}/nx SHLIBDIR=%{_libdir}/nx \
        INSTALL_DIR="install -dm0755" \
        INSTALL_FILE="install -pm0644" \
        INSTALL_PROGRAM="install -pm0755"

# Remove static libs
rm %{buildroot}%{_libdir}/*.a

# 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

# Fix permissions on shared libraries
chmod 755  %{buildroot}%{_libdir}/{,nx/}lib*.so*

# Linker
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/
echo %{_libdir}/nx > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
echo %{_libdir}/nx/X11 >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf

# Needed for nxagent to find the keymap directory
mkdir -p %{buildroot}%{_datadir}/X11/xkb
touch %{buildroot}%{_datadir}/X11/xkb/keymap.dir

# Remove extras, GL, and other unneeded headers
rm -r %{buildroot}%{_includedir}/nx/GL
rm -r %{buildroot}%{_includedir}/nx/X11/bitmaps
rm -r %{buildroot}%{_includedir}/nx/X11/extensions/XInput.h
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

# Needed for Xinerama support
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 ../../libNX_Xinerama.so.1 %{buildroot}%{_libdir}/nx/X11/Xinerama/libXinerama.so.1


%post -p /sbin/ldconfig
%post -n libNX_X11 -p /sbin/ldconfig
%post -n libNX_Xau -p /sbin/ldconfig
%post -n libNX_Xcomposite -p /sbin/ldconfig
%post -n libNX_Xdamage -p /sbin/ldconfig
%post -n libNX_Xdmcp -p /sbin/ldconfig
%post -n libNX_Xext -p /sbin/ldconfig
%post -n libNX_Xfixes -p /sbin/ldconfig
%post -n libNX_Xinerama -p /sbin/ldconfig
%post -n libNX_Xpm -p /sbin/ldconfig
%post -n libNX_Xrandr -p /sbin/ldconfig
%post -n libNX_Xrender -p /sbin/ldconfig
%post -n libNX_Xtst -p /sbin/ldconfig
%post -n libXcomp -p /sbin/ldconfig
%post -n libXcompext -p /sbin/ldconfig
%post -n libXcompshad -p /sbin/ldconfig

%postun -p /sbin/ldconfig
%postun -n libNX_X11 -p /sbin/ldconfig
%postun -n libNX_Xau -p /sbin/ldconfig
%postun -n libNX_Xcomposite -p /sbin/ldconfig
%postun -n libNX_Xdamage -p /sbin/ldconfig
%postun -n libNX_Xdmcp -p /sbin/ldconfig
%postun -n libNX_Xext -p /sbin/ldconfig
%postun -n libNX_Xfixes -p /sbin/ldconfig
%postun -n libNX_Xinerama -p /sbin/ldconfig
%postun -n libNX_Xpm -p /sbin/ldconfig
%postun -n libNX_Xrandr -p /sbin/ldconfig
%postun -n libNX_Xrender -p /sbin/ldconfig
%postun -n libNX_Xtst -p /sbin/ldconfig
%postun -n libXcomp -p /sbin/ldconfig
%postun -n libXcompext -p /sbin/ldconfig
%postun -n libXcompshad -p /sbin/ldconfig

%files
%doc nx-X11/{COPYING,LICENSE,README}
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
%dir %{_libdir}/nx
%dir %{_datadir}/nx
%{_datadir}/nx/rgb
%{_datadir}/nx/SecurityPolicy

%files -n libNX_X11
%{_libdir}/nx/libNX_X11.so.6*

%files -n libNX_X11-devel
%{_libdir}/nx/libNX_X11.so
%dir %{_includedir}/nx
%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

%files -n libNX_Xau-devel
%{_libdir}/nx/libNX_Xau.so
%{_includedir}/nx/X11/Xauth.h

%files -n libNX_Xau
%{_libdir}/nx/libNX_Xau.so.6*

%files -n libNX_Xcomposite
%{_libdir}/nx/libNX_Xcomposite.so.1*

%files -n libNX_Xdamage
%{_libdir}/nx/libNX_Xdamage.so.1*

%files -n libNX_Xdmcp-devel
%{_libdir}/nx/libNX_Xdmcp.so
%{_includedir}/nx/X11/Xdmcp.h

%files -n libNX_Xdmcp
%{_libdir}/nx/libNX_Xdmcp.so.6*

%files -n libNX_Xext-devel
%{_libdir}/nx/libNX_Xext.so
%dir %{_includedir}/nx/X11/extensions
%{_includedir}/nx/X11/extensions/MITMisc.h
%{_includedir}/nx/X11/extensions/XEVI.h
%{_includedir}/nx/X11/extensions/XEVIstr.h
%{_includedir}/nx/X11/extensions/XLbx.h
%{_includedir}/nx/X11/extensions/XShm.h
%{_includedir}/nx/X11/extensions/Xag.h
%{_includedir}/nx/X11/extensions/Xagsrv.h
%{_includedir}/nx/X11/extensions/Xagstr.h
%{_includedir}/nx/X11/extensions/Xcup.h
%{_includedir}/nx/X11/extensions/Xcupstr.h
%{_includedir}/nx/X11/extensions/Xdbe.h
%{_includedir}/nx/X11/extensions/Xdbeproto.h
%{_includedir}/nx/X11/extensions/Xext.h
%{_includedir}/nx/X11/extensions/dpms.h
%{_includedir}/nx/X11/extensions/dpmsstr.h
%{_includedir}/nx/X11/extensions/extutil.h
%{_includedir}/nx/X11/extensions/lbxstr.h
%{_includedir}/nx/X11/extensions/mitmiscstr.h
%{_includedir}/nx/X11/extensions/multibuf.h
%{_includedir}/nx/X11/extensions/multibufst.h
%{_includedir}/nx/X11/extensions/security.h
%{_includedir}/nx/X11/extensions/securstr.h
%{_includedir}/nx/X11/extensions/shape.h
%{_includedir}/nx/X11/extensions/sync.h
%{_includedir}/nx/X11/extensions/xtestext1.h
%{_includedir}/nx/X11/extensions/xteststr.h

%files -n libNX_Xext
%{_libdir}/nx/libNX_Xext.so.6*

%files -n libNX_Xfixes-devel
%{_libdir}/nx/libNX_Xfixes.so
%{_includedir}/nx/X11/extensions/Xfixes.h

%files -n libNX_Xfixes
%{_libdir}/nx/libNX_Xfixes.so.3*

%files -n libNX_Xinerama
%{_libdir}/nx/libNX_Xinerama.so.1*
%{_libdir}/nx/X11/Xinerama/

%files -n libNX_Xpm-devel
%{_libdir}/nx/libNX_Xpm.so
%{_includedir}/nx/X11/xpm.h

%files -n libNX_Xpm
%{_libdir}/nx/libNX_Xpm.so.4*

%files -n libNX_Xrandr
%{_libdir}/nx/libNX_Xrandr.so.2*

%files -n libNX_Xrender-devel
%{_libdir}/nx/libNX_Xrender.so
%{_includedir}/nx/X11/extensions/Xrender.h

%files -n libNX_Xrender
%{_libdir}/nx/libNX_Xrender.so.1*

%files -n libNX_Xtst
%{_libdir}/nx/libNX_Xtst.so.6*

%files -n libXcomp-devel
%_libdir/libXcomp.so
%{_includedir}/nx/MD5.h
%{_includedir}/nx/NX.h
%{_includedir}/nx/NXalert.h
%{_includedir}/nx/NXmitshm.h
%{_includedir}/nx/NXpack.h
%{_includedir}/nx/NXproto.h
%{_includedir}/nx/NXrender.h
%{_includedir}/nx/NXvars.h

%files -n libXcomp
%doc nxcomp/{COPYING,LICENSE,README}
%_libdir/libXcomp.so.3*

%files -n libXcompext-devel
%_libdir/libXcompext.so
%{_includedir}/nx/NXlib.h
%{_includedir}/nx/NXlibint.h

%files -n libXcompext
%doc nxcompext/{COPYING,LICENSE,README}
%_libdir/libXcompext.so.3*

%files -n libXcompshad-devel
%_libdir/libXcompshad.so
%{_includedir}/nx/Core.h
%{_includedir}/nx/Input.h
%{_includedir}/nx/Logger.h
%{_includedir}/nx/Manager.h
%{_includedir}/nx/Misc.h
%{_includedir}/nx/Poller.h
%{_includedir}/nx/Regions.h
%{_includedir}/nx/Shadow.h
%{_includedir}/nx/Updater.h
%{_includedir}/nx/Win.h
%{_includedir}/nx/X11.h

%files -n libXcompshad
%doc nxcompshad/{CHANGELOG,COPYING,LICENSE}
%_libdir/libXcompshad.so.3*

%files devel
%{_libdir}/nx/libNX_Xcomposite.so
%{_libdir}/nx/libNX_Xdamage.so
%{_libdir}/nx/libNX_Xinerama.so
%{_libdir}/nx/libNX_Xrandr.so
%{_libdir}/nx/libNX_Xtst.so
%{_includedir}/nx/X11/X10.h
%dir %{_includedir}/nx/X11/extensions
%{_includedir}/nx/X11/extensions/XRes.h
%{_includedir}/nx/X11/extensions/XTest.h
%{_includedir}/nx/X11/extensions/Xcomposite.h
%{_includedir}/nx/X11/extensions/Xdamage.h
%{_includedir}/nx/X11/extensions/Xevie.h
%{_includedir}/nx/X11/extensions/Xinerama.h
%{_includedir}/nx/X11/extensions/Xrandr.h
%{_includedir}/nx/X11/extensions/dmxext.h
%{_includedir}/nx/X11/extensions/lbxbuf.h
%{_includedir}/nx/X11/extensions/lbxbufstr.h
%{_includedir}/nx/X11/extensions/lbxdeltastr.h
%{_includedir}/nx/X11/extensions/lbximage.h
%{_includedir}/nx/X11/extensions/lbxopts.h
%{_includedir}/nx/X11/extensions/lbxzlib.h
%{_includedir}/nx/X11/extensions/panoramiXext.h
%{_includedir}/nx/X11/extensions/record.h
%{_includedir}/nx/X11/extensions/xf86dga1.h
%{_includedir}/nx/X11/extensions/xf86vmode.h
%dir %{_includedir}/nx/X11/fonts
%{_includedir}/nx/X11/fonts/bdfint.h
%{_includedir}/nx/X11/fonts/bitmap.h
%{_includedir}/nx/X11/fonts/bufio.h
%{_includedir}/nx/X11/fonts/fntfil.h
%{_includedir}/nx/X11/fonts/fntfilio.h
%{_includedir}/nx/X11/fonts/fntfilst.h
%{_includedir}/nx/X11/fonts/fontencc.h
%{_includedir}/nx/X11/fonts/fontmisc.h
%{_includedir}/nx/X11/fonts/fontmod.h
%{_includedir}/nx/X11/fonts/fontshow.h
%{_includedir}/nx/X11/fonts/fontutil.h
%{_includedir}/nx/X11/fonts/fontxlfd.h
%{_includedir}/nx/X11/fonts/pcf.h
%{_includedir}/nx/X11/misc.h
%{_includedir}/nx/X11/os.h

%files -n nx-proto-devel
%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/ap_keysym.h
%{_includedir}/nx/X11/keysym.h
%{_includedir}/nx/X11/keysymdef.h
%{_includedir}/nx/X11/extensions/Print.h
%{_includedir}/nx/X11/extensions/Printstr.h
%{_includedir}/nx/X11/extensions/XI.h
%{_includedir}/nx/X11/extensions/XIproto.h
%{_includedir}/nx/X11/extensions/XResproto.h
%{_includedir}/nx/X11/extensions/Xeviestr.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/dmxproto.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/shapestr.h
%{_includedir}/nx/X11/extensions/shmstr.h
%{_includedir}/nx/X11/extensions/syncstr.h
%{_includedir}/nx/X11/extensions/xcmiscstr.h
%{_includedir}/nx/X11/extensions/xf86bigfont.h
%{_includedir}/nx/X11/extensions/xf86bigfstr.h
%{_includedir}/nx/X11/extensions/xf86dga.h
%{_includedir}/nx/X11/extensions/xf86dga1str.h
%{_includedir}/nx/X11/extensions/xf86dgastr.h
%{_includedir}/nx/X11/extensions/xf86misc.h
%{_includedir}/nx/X11/extensions/xf86mscstr.h
%{_includedir}/nx/X11/extensions/xf86vmstr.h
%{_includedir}/nx/X11/extensions/xfixesproto.h
%{_includedir}/nx/X11/extensions/xfixeswire.h
%{_includedir}/nx/X11/extensions/xtrapbits.h
%{_includedir}/nx/X11/extensions/xtrapddmi.h
%{_includedir}/nx/X11/extensions/xtrapdi.h
%{_includedir}/nx/X11/extensions/xtrapemacros.h
%{_includedir}/nx/X11/extensions/xtraplib.h
%{_includedir}/nx/X11/extensions/xtraplibp.h
%{_includedir}/nx/X11/extensions/xtrapproto.h
%dir %{_includedir}/nx/X11/fonts
%{_includedir}/nx/X11/fonts/FS.h
%{_includedir}/nx/X11/fonts/FSproto.h
%{_includedir}/nx/X11/fonts/font.h
%{_includedir}/nx/X11/fonts/fontstruct.h
%{_includedir}/nx/X11/fonts/fsmasks.h

%files -n nxagent
%dir %{_sysconfdir}/nxagent
%config(noreplace) %{_sysconfdir}/nxagent/keystrokes.cfg
%config(noreplace) %{_sysconfdir}/nxagent/nxagent.keyboard
%config(noreplace) %{_sysconfdir}/nxagent/rgb
%{_bindir}/nxagent
%{_datadir}/X11/xkb/keymap.dir
%dir %{_libdir}/nx/bin
%{_libdir}/nx/bin/nxagent
%{_datadir}/pixmaps/nxagent.xpm
%{_mandir}/man1/nxagent.1*

%files -n nxauth
%{_bindir}/nxauth
%dir %{_libdir}/nx/bin
%{_libdir}/nx/bin/nxauth
%{_mandir}/man1/nxauth.1*

%files -n nxproxy
%{_bindir}/nxproxy
%dir %{_libdir}/nx/bin
%{_libdir}/nx/bin/nxproxy
%{_mandir}/man1/nxproxy.1*

%files -n x2goagent
%dir %{_sysconfdir}/x2go
%config(noreplace) %{_sysconfdir}/x2go/keystrokes.cfg
%config(noreplace) %{_sysconfdir}/x2go/x2goagent.keyboard
%config(noreplace) %{_sysconfdir}/x2go/rgb
%{_bindir}/x2goagent
%{_libdir}/x2go/bin/x2goagent
%{_datadir}/pixmaps/x2go.xpm
%{_datadir}/x2go/
%{_mandir}/man1/x2goagent.1*


%changelog
* Thu Oct 29 2015 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.32-3
- Fix libXinerama symlink (bug #1256724)

* Tue Aug 25 2015 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.32-2
- Make libXinerama symlink (bug #1256724)

* Mon Jul 6 2015 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.32-1
- Update to 3.5.0.32

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0.31-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon Apr 27 2015 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.31-1
- Update to 3.5.0.31
- Own /etc/x2go to ensure proper cleanup

* Fri Mar 13 2015 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.29-1
- Update to 3.5.0.29

* Thu Nov 13 2014 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.28-1
- Update to 3.5.0.28
- Fix unowned directories
- Minor cleanup

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0.27-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Mon Jul 7 2014 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.27-1
- Update to 3.5.0.27
- Drop aarch64 patch applied upstream

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0.24-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Wed May 7 2014 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.24-2
- Add patch for aarch64 support attempt

* Wed May 7 2014 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.24-1
- Update to 3.5.0.24
- Drop format patch applied upstream

* Tue May 6 2014 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.23-1
- Update to 3.5.0.23
- Drop ppc64 and imake patches applied upstream

* Fri Jan 24 2014 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.22-3
- Add patch to fix imake build
- Add patch to fix -Werror=format-security build

* Fri Jan 24 2014 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.22-2
- Set compile flags properly on arm and ppc64
- Add patch to fix ppc64 build

* Sun Jan 5 2014 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.22-1
- Update to 3.5.0.22
- Drop bundled patch applied upstream
- Fix Xinerama support

* Fri Jan 3 2014 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.21-5
- Provide /usr/share/X11/xkb/keymap.dir so nxagent can find keymap dir (bug #1033876)

* Thu Oct 10 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.21-4
- Do not build/ship unneeded xlib18n libs

* Wed Sep 4 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.21-3
- Fix nx obsoletes version

* Tue Sep 3 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.21-2
- Have nxagent and nxproxy also obsolete/provide nx

* Fri Aug 30 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.21-1
- Update to 3.5.0.21
- Many bundled libs removed upstream
- Drop initgroups patch applied upstream
- Fix macro in comments
- Remove execute permissions from source files
- Add %%postun ldconfig scripts
- Rename nx-devel nx-libs-devel

* Thu Aug 29 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.20-7
- Add patch to call initgroups()

* Thu Jul 11 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.20-6
- Drop building and/or shipping a bunch of unneeded libraries

* Thu Jun 13 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.20-5
- Add more explicit verioned requires
- Drop unnecessary directory ownership by sub-packages
- Remove many bundled libraries

* Tue Jun 11 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.20-4
- Fix 775 library permissions
- Move nx/X11 .so files to -devel
- Fix nx obsoletes
- Mark ld.so.conf.d files config(noreplace)
- Fix requires

* Fri May 31 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.20-3
- Fix quoting when creating my_configure script

* Thu May 30 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.20-2
- Use optflags for compiling, __global_ldflags for linking

* Thu Apr 4 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.20-1
- Update to 3.5.0.20

* Mon Mar 25 2013 Orion Poplawski <orion@cora.nwra.com> - 3.5.0.18-1
- Initial package