Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37730737
en ru br
Репозитории ALT
5.1: 3.4.0-alt9
4.1: 3.3.0-alt7.M41.8
4.0: 3.3.0-alt7.M40.8
+backports:3.2.0-alt0.M40.3
www.altlinux.org/Changes

Группа :: Сети/Удалённый доступ
Пакет: nx

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define tjpg_ver 0.0.93
%def_with tjpg

Name: nx
Version: 3.4.0
Release: alt9

Summary: Next Generation Remote Display
Group: Networking/Remote access
License: GPL, MIT/X11 for X11 bits
Url: http://www.nomachine.com

Source: nxagent-%version-8.tar.gz
Source1: nxauth-%version-2.tar.gz
Source3: nxcomp-%version-6.tar.gz
Source4: nxcompext-%version-1.tar.gz
Source5: nxcompsh-%version-1.tar.gz
Source6: nxcompshad-%version-3.tar.gz
Source7: nxesd-%version-2.tar.gz
Source9: nxproxy-%version-2.tar.gz
Source10: nxscripts-%version-1.tar.gz
Source12: nxservice-%version-2.tar.gz
Source13: nxssh-%version-2.tar.gz
Source15: nxwin-%version-5.tar.gz
Source16: nx-X11-%version-3.tar.gz
Source17: http://sourceforge.net/projects/libjpeg-turbo/files/%tjpg_ver/libjpeg-turbo-%tjpg_ver.tar.gz
Source18: docs.tar.bz2
Source19: nxfind-provides.sh
Source50: nxagent.1
Source51: nxagent.keyboard

# alt

Patch: nx-X11-alt-SecurityPolicy-path.patch
Patch2: nxcomp-3.2.0-gcc43.patch
Patch3: nxcompsh-3.2.0-gcc43.patch
Patch4: nxcompshad-3.2.0-gcc43.patch
Patch5: nxcompshad-3.3.0-Xext.patch
Patch6: nx-X11-utf8_copy_clipboard.patch
Patch7: nxesd-3.3.0-esd.patch
Patch9: nxcomp-mdv.patch

# linuxforum.ru

Patch40: nx-X11-dimbor.patch
Patch41: nxagent.MotifWMHints_Utf8Names.dimbor.patch
Patch42: nxa_wine_close_delay.patch
Patch43: nx-X11-dimbor_x64.patch

# gentoo

Patch50: nx-3.3.0-cflags.patch

# list

Patch60: createpixmap_bounds_check.patch
Patch61: nx-X11-fix_format.patch

# debian

Patch85: 85_nx-X11_debian-ld.patch
Patch90: 90_set_X0-config_path.patch
Patch91: 91_enable_debug.patch
Patch93: 93_export_remote_keyboard_config.patch

#other

Patch100: wmclass.patch
Patch101: byerace.patch
Patch102: sa_restorer.patch

Packager: Boris Savelev <boris at altlinux.org>

Obsoletes: NX
Provides: NX = %version

Obsoletes: libXcomp
Provides: libXcomp = %version

Obsoletes: libXcompext
Provides: libXcompext = %version

Obsoletes: libXcompshad
Provides: libXcompshad = %version

%define _use_internal_dependency_generator 0
%define __find_provides %SOURCE19

BuildRequires: docbook-utils gcc-c++ groff-base imake libXrender-devel
BuildRequires: libXdamage-devel libXrandr-devel libXt-devel libXtst-devel libXext-devel
BuildRequires: libarts-devel libjpeg-devel libpam-devel libesd-devel
BuildRequires: libssl-devel libstdc++-devel makedepend libXmu-devel libXi-devel
BuildRequires: xorg-cf-files xorg-inputproto-devel xorg-sdk xorg-xextproto-devel
BuildRequires: nasm libXcomposite libXpm libfreetype

%description
NX is an exciting new technology for remote display. It provides near local
speed application responsiveness over high latency, low bandwidth links. The
core libraries for NX are provided by NoMachine under the GPL.

%prep
rm -rf nxbuild
mkdir -p nxbuild
cd nxbuild
tar xzf %SOURCE0
tar xzf %SOURCE1
tar xzf %SOURCE3
tar xzf %SOURCE4
tar xzf %SOURCE5
tar xzf %SOURCE6
tar xzf %SOURCE7
tar xzf %SOURCE9
tar xzf %SOURCE10
tar xzf %SOURCE12
tar xzf %SOURCE13
tar xzf %SOURCE15
tar xzf %SOURCE16
tar xzf %SOURCE17

%patch0 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p0
%patch6 -p0
%patch7 -p0
%patch9 -p1

%patch40 -p0
%patch41 -p0
%patch42 -p0
%patch43 -p0

%patch50 -p0

%patch60 -p0

cd nx-X11
%patch61 -p2
%patch85 -p1
%patch90 -p1
# disable debug?
# %patch91 -p2
%patch93 -p1
cd ..

cd nxproxy
%patch100 -p1
cd ..

cd nxcomp
%patch101 -p1
%patch102 -p1
cd ..

cat >> nx-X11/config/cf/host.def << EOF
#ifdef  i386Architecture
#undef  DefaultGcc2i386Opt
#define DefaultGcc2i386Opt      $RPM_OPT_FLAGS -fno-strict-aliasing
#endif
#ifdef  MipsArchitecture
#undef  DefaultGcc2MipsOpt
#define DefaultGcc2MipsOpt      $RPM_OPT_FLAGS -fno-strict-aliasing
#endif
#ifdef s390xArchitecture
#undef OptimizedCDebugFlags
#define OptimizedCDebugFlags $RPM_OPT_FLAGS -fno-strict-aliasing
#endif
#ifdef  AMD64Architecture
#undef  DefaultGcc2AMD64Opt
#define DefaultGcc2AMD64Opt $RPM_OPT_FLAGS -fno-strict-aliasing
#endif
#define ProjectRoot %_libdir/nxserver
#define MotifDir %_libdir/nxserver
#define XPrintDir %_libdir/nxserver/server
EOF

subst "s:/usr/lib/xserver/SecurityPolicy:%_libdir/nxserver/xserver/SecurityPolicy:" nx-X11/programs/Xserver/Xext/security.c
subst "s:\$(NLSSUBDIR):nls:" nx-X11/Imakefile

%build
cd nxbuild
export CFLAGS="%optflags"
export CXXFLAGS="%optflags"
sed -i "s|CXXFLAGS=.-O.*|CXXFLAGS=\"$CXXFLAGS\"|" */configure.in

%if_with tjpg
sed -i "s|-ljpeg|-ljpeg-turbo|" nx*/configure.in nx*/configure
# turbo-jpeg
cd libjpeg-turbo-%tjpg_ver
sed -i -e 's|libjpeg|libjpeg-turbo|g' -e 's|-ljpeg|-ljpeg-turbo|g' Makefile.* configure
%configure
%make_build
export LDFLAGS="-L`pwd`/.libs -Wl,-rpath-link,`pwd`/.libs"
cd -
%endif

#fix another zlib headers compilation

rm -rf nx-X11/exports
# build Compression Library and Proxy
for i in nxcomp nxproxy nxcompshad; do
pushd $i
%autoreconf
%configure
%ifarch x86_64 s390x ia64 ppc64
sed -i "s,/usr/X11R6/lib ,/usr/X11R6/lib64 ,g" Makefile
%endif
%make_build
popd
done

# build Extended Compression Library

pushd nxcompext
%autoreconf
%configure
%make_build
popd
# build nxssh
pushd nxssh
%configure --without-zlib-version-check
%make
popd
# build nxesd
pushd nxesd
sed -i -e "s|libesd.la|libesd.a|g" -e "s|libesd_la|libesd_a|g" -e "s|\.libs/libesd.a|libesd.a|g" Makefile.in
%configure
# multi proc build is broken on many systems
%make nxesd
popd
# build nxcompsh
pushd nxcompsh
%configure
%make_build
popd
# build nxservice
pushd nxservice
%configure
%make_build
popd

# build X11 Support Libraries and Agents

pushd nx-X11
%if_with tjpg
%make_build TURBOJPG="$LDFLAGS" World
%else
%make_build World
%endif
popd

%install
cd nxbuild

pushd nx-X11
%makeinstall_std -C lib
%makeinstall_std -C nls
%makeinstall_std -C programs/Xserver/Xext
popd

mkdir -p %buildroot%_bindir
mkdir -p %buildroot%_libdir
mkdir -p %buildroot%_sysconfdir/nxagent
mkdir -p %buildroot%_man1dir

# install X11 Support Libraries and Agents

cp -a nx-X11/lib/X11/libX11-nx.so.* \
    nx-X11/lib/Xext/libXext-nx.so.* \
    nx-X11/lib/Xrender/libXrender-nx.so.* \
%buildroot%_libdir/

install -m 755 nx-X11/programs/Xserver/nxagent \
%buildroot%_bindir/

%if_with tjpg
cp -a libjpeg-turbo-%tjpg_ver/.libs/libjpeg-turbo.so.* %buildroot%_libdir/
%endif

# install Compression Libraries and Proxy

cp -a nxcomp/libXcomp.so.* %buildroot%_libdir/
cp -a nxcompext/libXcompext.so.* %buildroot%_libdir/
cp -a nxcompshad/libXcompshad.so.* %buildroot%_libdir/
cp -a nxcompsh/libXcompsh.so.* %buildroot%_libdir/
install -m 755 nxproxy/nxproxy %buildroot%_bindir/
# install nxssh
pushd nxssh
install -m755 nxssh %buildroot%_bindir/
popd
# install nxesd
pushd nxesd
install -m755 nxesd %buildroot%_bindir/
popd

pushd nxservice
install -m755 nxservice %buildroot%_bindir/
popd

# install scripts

if [ ! -d %buildroot%_docdir/%name-%version ]; then
mkdir -p %buildroot%_docdir/%name-%version/
fi
cp -r nxscripts %buildroot%_docdir/%name-%version/
# documentation and license
tar xjf %SOURCE18 -C %buildroot%_docdir/%name-%version/
install -m 644 nxcomp/LICENSE %buildroot%_docdir/%name-%version/
if [ ! -d %buildroot%_docdir/%name-%version/nxcomp ]; then
mkdir %buildroot%_docdir/%name-%version/nxcomp
fi
install -m 644 nxcomp/README %buildroot%_docdir/%name-%version/nxcomp

install %SOURCE50 %buildroot%_man1dir/
gzip -3 %buildroot%_man1dir/*
install %SOURCE51 %buildroot%_sysconfdir/nxagent/

# for backcompat

ln -s ../bin/nxagent %buildroot%_libdir

# lost secpol file

mkdir -p %buildroot%_libdir/nxserver/xserver
mv %buildroot%_sysconfdir/X11/xserver/SecurityPolicy %buildroot%_libdir/nxserver/xserver/SecurityPolicy

mkdir -p %buildroot%_sysconfdir/nxagent/xkb
ln -fs ../../../var/lib/xkb %buildroot%_sysconfdir/nxagent/xkb/compiled
ln -fs ../../../../../etc/nxagent/xkb %buildroot%_libdir/nxserver/lib/X11/

rm -rf %buildroot%_sysconfdir/X11
rm -rf %buildroot%_sysconfdir/fonts
rm -rf %buildroot%_includedir
rm -rf %buildroot%_libdir/nxserver/bin
rm -rf %buildroot%_libdir/nxserver/include
rm -rf %buildroot%_libdir/nxserver/lib*/X11/*.so*
rm -rf %buildroot%_libdir/nxserver/lib*/X11/config
rm -rf %buildroot%_libdir/nxserver/lib*/X11/config
rm -rf %buildroot%_libdir/nxserver/lib*/X11/xserver
rm -rf %buildroot%_libdir/nxserver/lib*/pkgconfig
rm -rf %buildroot%_libdir/nxserver/lib*/*.so*
rm -rf %buildroot%_libdir/nxserver/lib*/*.a

%if %_vendor == "alt"
%else
%post
%post_ldconfig
%postun
%postun_ldconfig
%endif

%files
%doc %_docdir/%name-%version
%dir %_sysconfdir/nxagent
%config %_sysconfdir/nxagent/nxagent.keyboard
%_sysconfdir/nxagent/xkb
%_bindir/nxagent
%_bindir/nxesd
%_bindir/nxproxy
%_bindir/nxssh
%_bindir/nxservice
%_libdir/lib*.so.*
%_libdir/nxagent
%dir %_libdir/nxserver
%dir %_libdir/nxserver/lib
%dir %_libdir/nxserver/lib/X11
%dir %_libdir/nxserver/xserver
%_libdir/nxserver/lib/X11/locale
%_libdir/nxserver/lib/X11/Xcms.txt
%_libdir/nxserver/lib/X11/XKeysymDB
%_libdir/nxserver/lib/X11/XErrorDB
%_libdir/nxserver/lib/X11/xkb
%_libdir/nxserver/xserver/SecurityPolicy
%_man1dir/*

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin