Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37750936
en ru br
Репозитории ALT
4.0: 1.0.7676-alt17
3.0: 1.0.7676-alt14
www.altlinux.org/Changes

Группа :: Система/Ядро и оборудование
Пакет: nvidia_glx_src_1.0.7676

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

%define distr_type sysyphus
%if "%{get_version xorg-x11-libs}" == "6.8.2"
%define distr_type compact30
%endif

%define tbname         NVIDIA-Linux-x86
%define virtualPkgName NVIDIA_GLX
%define binPkgName     nvidia_glx
%define module_name    nvidia
%define tbsuffix pkg0

# version-release

%define VERSION 1.0
%define RELEASE 7676
%define rel_prefix alt14
%define rel_suffix .sisyphus
%if "%distr_type" == "compact30"
%define rel_suffix %nil
%endif
%define rel %rel_prefix%rel_suffix

%define verrel %{VERSION}-%{RELEASE}
%define module_version %RELEASE
%define module_release %rel

%define myGroup System/Kernel and hardware
%define mySummary NVIDIA drivers and OpenGL libraries for XFree86 4.x X-server
%define mySummaryRu п■я─п╟п╧п╡п╣я─я▀ NVIDIA п╦ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ OpenGL п╢п╩я▐ п╔-я│п╣я─п╡п╣я─п╟ XFree86 4.x
%define myUrl http://www.nvidia.com
%define myVendor NVIDIA Corp.
%define myLicense NVIDIA

%define exts /modules/extensions
%define drvs /modules/drivers
%define nvlibdir %_x11libdir/nvidia_%VERSION.%RELEASE
%define syml_dir %_sysconfdir/X11/lib
%define nv_syml_dir %{syml_dir}_nvidia
%define syml_d %_sysconfdir/X11/drv.d
%define xdrv_d %_x11dir/lib/drv.d

%add_findreq_skiplist %_x11libdir/*.so*

Source: ftp://download.nvidia.com/XFree86/Linux-x86/%verrel/%tbname-%verrel-%tbsuffix.run
Source1: set_gl_nvidia-0.2.3.tar.gz

BuildRequires: kernel-build-tools XFree86-libs
ExclusiveArch: %ix86
#ExcludeArch: ppc64 x86_64 ppc s390 s390x ia64

Name: %{binPkgName}_src_%{VERSION}.%{RELEASE}
Version: %VERSION.%RELEASE
Release: %rel


Group: %myGroup
Summary: %mySummary
Summary(ru_RU.UTF-8): %mySummaryRu
Url: %myUrl
Vendor: %myVendor
License: %myLicense
%description
Sources for %{binPkgName}_%{version} package



%package -n %{binPkgName}_common
#Obsoletes: %virtualPkgName < %version-%release
Conflicts: xorg-x11-mesagl <= 6.8.2-alt7
#
Group: %myGroup
Summary: This is common package for usability NVIDIA drivers.
Summary(ru_RU.UTF-8): п÷п╟п╨п╣я┌ п╢п╩я▐ я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌п╦ п╢я─п╟п╧п╡п╣я─п╬п╡ NVIDIA.
Url: %myUrl
Vendor: %myVendor
License: %myLicense
#
%description -n %{binPkgName}_common
This is common package for NVIDIA drivers.
#
%description -n %{binPkgName}_common -l ru_RU.UTF-8
п╜я┌п╬я┌ п©п╟п╨п╣я┌ п╫я┐п╤п╣п╫ п╢п╩я▐ я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌п╦ п©я─п╦ п╬я┌я│я┐я┌я│я┌п╡п╦п╦
п╬п╢п╫п╬п╧ п╦п╥ п╨п╬п╪п©п╬п╫п╣п╫я┌ п╢я─п╟п╧п╡п╣я─п╬п╡ п╢п╩я▐ NVIDIA.



%package -n %{binPkgName}_%{version}
PreReq: %{binPkgName}_common >= %version
Requires(post,postun): x11setupdrv
#Requires: XFree86-server >= 4.0.3
#Requires: libGLwrapper
#Requires: NVIDIA_kernel = %version
#Provides: libGL
Provides: %virtualPkgName = %version-%release
Provides: x11-driver-nvidia = %version-%release
Obsoletes: %virtualPkgName < %version-%release
#
Group: %myGroup
Summary: %mySummary
Summary(ru_RU.UTF-8): %mySummaryRu
Url: %myUrl
Vendor: %myVendor
License: %myLicense
#
%description -n %{binPkgName}_%{version}
NVIDIA XFree86 4.x server drivers and OpenGL libraries for RIVA TNT/TNT2
and GeForce/Quadro based video cards.  Older RIVA 128 based video cards are
supported by the server module shipping with XFree86 4.x, nv_drv.o. You
should install this package if you have one of the newer cards.

You must also install the NVIDIA_kernel package if you want
NVIDIA module and OpenGL libraries for XFree86 4.x X server.
#
%description -n %{binPkgName}_%{version} -l ru_RU.UTF-8
п■я─п╟п╧п╡п╣я─я▀ п╦ OpenGL-п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ п╢п╩я▐ п╔-я│п╣я─п╡п╣я─п╟ XFree86 4.x п╦ п╡п╦п╢п╣п╬п╨п╟я─я┌ NVIDIA
п╫п╟ п╠п╟п╥п╣ RIVA TNT/TNT2 п╦ GeForce/Quadro. п▒п╬п╩п╣п╣ я─п╟п╫п╫п╦п╣ п╡п╣я─я│п╦п╦ п╡п╦п╢п╣п╬п╨п╟я─я┌ п╫п╟ п╠п╟п╥п╣
RIVA 128 п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐ п╪п╬п╢я┐п╩п╣п╪ nv_drv.o, п╡я┘п╬п╢я▐я┴п╦п╪ п╡ я│п╬я│я┌п╟п╡ я│п╣я─п╡п╣я─п╟ XFree86 4.x.
п∙я│п╩п╦ п╡я▀ п╦п╪п╣п╣я┌п╣ п╬п╢п╫я┐ п╦п╥ я█я┌п╦я┘ п╫п╬п╡я▀я┘ п╡п╦п╢п╣п╬п╨п╟я─я┌, я┌п╬ п╡п╟п╪ п╤п╣п╩п╟я┌п╣п╩я▄п╫п╬ я┐я│я┌п╟п╫п╬п╡п╦я┌я▄ п╢п╟п╫п╫я▀п╧
п©п╟п╨п╣я┌.

п∙я│п╩п╦ п╡я▀ п╤п╣п╩п╟п╣я┌п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╪п╬п╢я┐п╩п╦ NVIDIA п╦ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ OpenGL п╢п╩я▐ п╔-я│п╣я─п╡п╣я─п╟ XFree86 4.0,
я┌п╬ п╡я▀ п╢п╬п╩п╤п╫я▀ я┌п╟п╨п╤п╣ я┐я│я┌п╟п╫п╬п╡п╦я┌я▄ п©п╟п╨п╣я┌ NVIDIA_kernel.

%package -n kernel-source-%module_name-%module_version
Group: Development/Kernel
Summary: Linux %module_name modules sources
Vendor: %myVendor
License: %myLicense
Packager: Kernel Maintainer Team <kernel at packages.altlinux.org>
#
%description -n kernel-source-%module_name-%module_version
%module_name modules sources for Linux kernel

%package -n %{binPkgName}-devel
Group: Development/C
Summary: Development files for NVIDIA OpenGL
Vendor: %myVendor
License: %myLicense
#
%description -n %{binPkgName}-devel
Development files for NVIDIA OpenGL

%prep
%setup -T -c -n %tbname-%verrel-%tbsuffix
rm -rf %_builddir/%tbname-%verrel-%tbsuffix
cd %_builddir
sh %SOURCE0 -x
cd %tbname-%verrel-%tbsuffix
tar xvfz %SOURCE1
pushd set_gl_nvidia*
cp settings.h.in settings.h
subst "s| at DEFAULT_VERSION at |%version|" settings.h
subst "s| at SYML_DIR at |%syml_dir|" settings.h
subst "s| at NV_SYML_DIR at |%nv_syml_dir|" settings.h
subst "s| at TLS_LIB_DIR at |%_libdir/tls|" settings.h
subst "s| at LIB_DIR at |%_libdir|" settings.h
subst "s| at XLIB_DIR at |%_x11libdir|" settings.h
subst "s| at XDRV_DIR at |%_x11libdir%drvs|" settings.h
subst "s| at XEXT_DIR at |%_x11libdir%exts|" settings.h
subst "s| at DRV_DIR_PREFIX at |%_x11libdir/nvidia_|" settings.h
popd

pushd usr/src/nv/
%__rm -rf precompiled
popd


%build
%if "%distr_type" == "compact30"
%add_optflags -DDONT_RESTORE_NEW_LIBGLX
%endif
make OPTFLAGS="%optflags" -C set_gl_nvidia*
strip set_gl_nvidia*/nvidia
>nvidianull.c
gcc %optflags -c nvidianull.c -o nvidianull.o
ld --shared nvidianull.o -o libnvidianull.so
strip libnvidianull.so

%install
%set_verify_elf_method textrel=relaxed
%set_strip_method none
%add_findprov_lib_path %nvlibdir

soname()
{
   readelf -a $1| grep SONAME| sed 's/.*\[//'| sed 's/\].*//'
}

%__mkdir_p %buildroot/%_sbindir
%__mkdir_p %buildroot/%_x11libdir
%__mkdir_p %buildroot/%nvlibdir
%__mkdir_p %buildroot/%xdrv_d
%__mkdir_p %buildroot/%syml_d

%__install -m 0755 set_gl_nvidia*/nvidia %buildroot/%xdrv_d/nvidia
%__ln_s ../../..%xdrv_d/nvidia %buildroot/%syml_d/nvidia

%__install -m 0755 libnvidianull.so %buildroot/%_x11libdir/

%__install -m 0644 usr/X11R6/lib/%drvs/nvidia_drv.o      %buildroot/%nvlibdir/
[ -f usr/X11R6/lib/%drvs/nvidia_drv.so ] && \
%__install -m 0644 usr/X11R6/lib/%drvs/nvidia_drv.so      %buildroot/%nvlibdir/

%__install -m 0644 usr/X11R6/lib/%exts/libglx.so.%version %buildroot/%nvlibdir/libglx.so
%__ln_s libglx.so %buildroot/%nvlibdir/libglx.a

%__install -m 0644 usr/lib/libGL.so.%version  %buildroot/%nvlibdir/libGL.so

%__install -m 0644 usr/lib/libGLcore.so.%version %buildroot/%nvlibdir/libGLcore.so

%__install -m 0644 usr/X11R6/lib/libXvMCNVIDIA.so.%version %buildroot/%nvlibdir/libXvMCNVIDIA.so
%__ln_s libXvMCNVIDIA.so %buildroot/%nvlibdir/libNVIDIAXvMC.so

%__install -m 0644 usr/lib/libnvidia-tls.so.%version %buildroot/%nvlibdir/libnvidia-tls.so
%__install -m 0644 usr/bin/tls_test %buildroot/%nvlibdir/tls_test
%__install -m 0644 usr/bin/tls_test_dso.so %buildroot/%nvlibdir/tls_test_dso.so

/sbin/ldconfig -n %buildroot/%nvlibdir

%__mkdir_p %buildroot/%_x11libdir/modules/{drivers,extensions}/
%__mkdir_p %buildroot/%nv_syml_dir
%__mkdir_p %buildroot/%_libdir/tls

%__ln_s ../../..%_x11libdir/libnvidianull.so %buildroot/%nv_syml_dir/nvidia_drv.o
%__ln_s ../../..%_x11libdir/libnvidianull.so %buildroot/%nv_syml_dir/nvidia_drv.so
%__ln_s ../../..%_x11libdir/libnvidianull.so %buildroot/%nv_syml_dir/`soname %buildroot/%nvlibdir/libGLcore.so`
%__ln_s ../../..%_x11libdir/libnvidianull.so %buildroot/%nv_syml_dir/`soname %buildroot/%nvlibdir/libNVIDIAXvMC.so`
%__ln_s ../../..%_x11libdir/libnvidianull.so %buildroot/%nv_syml_dir/libNVIDIAXvMC.so
%__ln_s ../../..%_x11libdir/libnvidianull.so %buildroot/%nv_syml_dir/`soname %buildroot/%nvlibdir/libnvidia-tls.so`

%__ln_s ../../../../..%nv_syml_dir/nvidia_drv.o \
   %buildroot/%_x11libdir/modules/drivers/nvidia_drv.o
%__ln_s ../../../../..%nv_syml_dir/nvidia_drv.so \
   %buildroot/%_x11libdir/modules/drivers/nvidia_drv.so
%__ln_s ../../..%nv_syml_dir/`soname %buildroot/%nvlibdir/libGLcore.so` \
   %buildroot/%_x11libdir/`soname %buildroot/%nvlibdir/libGLcore.so`
%__ln_s ../../..%nv_syml_dir/`soname %buildroot/%nvlibdir/libNVIDIAXvMC.so` \
   %buildroot/%_x11libdir/`soname %buildroot/%nvlibdir/libNVIDIAXvMC.so`
%__ln_s ../../..%nv_syml_dir/libNVIDIAXvMC.so \
   %buildroot/%_x11libdir/libNVIDIAXvMC.so
%__ln_s ../..%nv_syml_dir/`soname %buildroot/%nvlibdir/libnvidia-tls.so` \
   %buildroot/%_libdir/`soname %buildroot/%nvlibdir/libnvidia-tls.so`

# kernel-source install

%__rm -rf kernel-source-%module_name-%module_version/
%__mkdir_p %buildroot/%_usrsrc/kernel/sources/ kernel-source-%module_name-%module_version/
%__cp -ar usr/src/nv/* kernel-source-%module_name-%module_version/
%__cp LICENSE kernel-source-%module_name-%module_version/
tar -c kernel-source-%module_name-%module_version | bzip2 -c > \
   %buildroot%_usrsrc/kernel/sources/kernel-source-%module_name-%module_version.tar.bz2

# install headers

%__mkdir_p %buildroot/%_includedir/nvidia
%__cp -ar usr/include/GL %buildroot/%_includedir/nvidia

%post -n %{binPkgName}_%{version}
if [ -z "$DURING_INSTALL" ]; then
   NV_KERN_VER_FILE=/%_lib/modules/`uname -r`/.versions/nvidia
   if [ -f $NV_KERN_VER_FILE ]; then
REQ_VER="%version"
NV_KERN_VER=`cat $NV_KERN_VER_FILE`
if [ "$NV_KERN_VER" == "$REQ_VER" ]; then
   X11SETUPDRV=`which x11setupdrv 2>/dev/null`
   if [ -n "$X11SETUPDRV" ]; then
$X11SETUPDRV ||:
   else
echo "Warning! x11setupdrv program not found!" >&2
   fi
else
   echo "Warning! Required nvidia kernel version is $REQ_VER" >&2
   echo "but found $NV_KERN_VER :-(" >&2
fi
   else
echo "Warning! $NV_KERN_VER_FILE not found" >&2
   fi
fi
%post_ldconfig
%postun -n %{binPkgName}_%{version}
X11SETUPDRV=`which x11setupdrv 2>/dev/null`
if [ -n "$X11SETUPDRV" ]; then
   $X11SETUPDRV ||:
else
   echo "Warning! x11setupdrv program not found!" >&2
fi
%postun_ldconfig

%post -n %{binPkgName}_common
%postun -n %{binPkgName}_common

%files -n %{binPkgName}_%{version}
%doc LICENSE
%doc usr/share/doc/*
%doc usr/include
#
%defattr (0555, root, root)
#
%dir %nvlibdir
%nvlibdir/nvidia_drv.o
%nvlibdir/nvidia_drv.so
%nvlibdir/libglx.a
%nvlibdir/libglx.so
%nvlibdir/libGL.so*
%nvlibdir/libGLcore.so*
%nvlibdir/lib*XvMC*.so*
%nvlibdir/libnvidia-tls.so*
%nvlibdir/tls_test*

%files -n %{binPkgName}_common
%dir %xdrv_d/
%xdrv_d/nvidia
%dir %syml_d/
%syml_d/nvidia
%_x11libdir/libnvidianull.so
%dir %nv_syml_dir/
#
%nv_syml_dir/nvidia_drv.o
%_x11libdir/%drvs/nvidia_drv.o
#
%nv_syml_dir/nvidia_drv.so
%_x11libdir/%drvs/nvidia_drv.so
#
%nv_syml_dir/libGLcore.so.?
%_x11libdir/libGLcore.so.?
#
%nv_syml_dir/libXvMCNVIDIA_dynamic.so.?
%_x11libdir/libXvMCNVIDIA_dynamic.so.?
#
%nv_syml_dir/libNVIDIAXvMC.so
%_x11libdir/libNVIDIAXvMC.so
#
%nv_syml_dir/libnvidia-tls.so.?
%_libdir/libnvidia-tls.so.?

%files -n %{binPkgName}-devel
%_includedir/nvidia

%files -n kernel-source-%module_name-%module_version
%_usrsrc/*

%changelog

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

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