]> git.pld-linux.org Git - packages/nvidia-settings.git/blobdiff - nvidia-settings.spec
up to 470.74
[packages/nvidia-settings.git] / nvidia-settings.spec
index 26e3d4aeeb51839bb51d05d5ce60675a102351d7..12a37e5c8c4d7634f69a7c3319c3d0f9f6d4356b 100644 (file)
@@ -1,33 +1,47 @@
 #
 # Conditional build:
+%bcond_without gtk3            # GTK+ 3.x GUI library for nvidia-settings
 %bcond_without nvidia_settings # build the main package
-%bcond_without libXNVCtrl      # build libXNVCtrl for http://websvn.kde.org/trunk/kdenonbeta/nvidia/
-#
-%define                _buildid        20061219
-%define                _rel    2
+%bcond_without utils           # build utils from samples dir
+%bcond_without libXNVCtrl      # build libXNVCtrl for external packages
+
 Summary:       Tool for configuring the NVIDIA driver
+Summary(pl.UTF-8):     Narzędzie do konfigurowania sterownika NVIDIA
 Name:          nvidia-settings
-Version:       1.0
-Release:       0.%{_buildid}.%{_rel}
-License:       GPL
-Group:         X11
-Source0:       ftp://download.nvidia.com/XFree86/nvidia-settings/%{name}-%{version}.tar.gz
-# Source0-md5: 414a838f01093ceb0ae8535c35e21eac
-Patch0:                libXNVCtrl-shared.patch
-Patch1:                %{name}-xlibs.patch
+# keep the version in sync with xorg-driver-video-nvidia.spec
+Version:       470.74
+Release:       1
+License:       GPL v2 (with MIT parts)
+Group:         X11/Applications
+Source0:       https://download.nvidia.com/XFree86/nvidia-settings/%{name}-%{version}.tar.bz2
+# Source0-md5: 03922ef16d4fefd44c062cade41156e1
+Source1:       %{name}.desktop
+Source2:       %{name}.png
+Source3:       %{name}-autostart.desktop
 URL:           ftp://download.nvidia.com/XFree86/nvidia-settings/
-BuildRequires: XFree86-devel
+BuildRequires: OpenGL-devel
+BuildRequires: libvdpau-devel >= 1.0
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXv-devel
+BuildRequires: xorg-lib-libXxf86vm-devel
 %if %{with nvidia_settings}
-BuildRequires: gtk+2-devel
+BuildRequires: gtk+2-devel >= 2.0
+%{?with_gtk3:BuildRequires:    gtk+3-devel >= 3.0}
+BuildRequires: jansson-devel >= 2.2
 BuildRequires: m4
 BuildRequires: pkgconfig
 %endif
-Requires:      libXNVCtrl = %{version}-%{release}
+Requires:      %{name}-guilib = %{version}-%{release}
+Requires:      libvdpau >= 1.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+# requires symbols from main binary
+%define                skip_post_check_so      libnvidia-gtk[23].so.*
+
 %description
-The `nvidia-settings` utility is a tool for configuring the NVIDIA
-Linux graphics driver. It operates by communicating with the NVIDIA X
+The nvidia-settings utility is a tool for configuring the NVIDIA Linux
+graphics driver. It operates by communicating with the NVIDIA X
 driver, querying and updating state as appropriate. This communication
 is done with the NV-CONTROL X extension.
 
@@ -41,125 +55,199 @@ the current settings. When nvidia-settings exits, it queries the
 current settings from the X server and saves them to the configuration
 file.
 
-%description -l pl
-Narzêdzie nvidia-settings s³u¿y do konfiguracji sterownika do kart
-graficznych firmy NVIDIA. Dzia³a komunikuj±c siê ze sterownikiem X
-NVIDIA, sprawdzaj±c i uaktualniaj±c stan w razie potrzeby. Komunikacja
-odbywa siê poprzez rozszerzenie X NV-CONTROL.
+%description -l pl.UTF-8
+Narzędzie nvidia-settings służy do konfiguracji sterownika do kart
+graficznych firmy NVIDIA. Działa komunikując się ze sterownikiem X
+NVIDIA, sprawdzając i uaktualniając stan w razie potrzeby. Komunikacja
+odbywa się poprzez rozszerzenie X NV-CONTROL.
 
-Za pomoc± nvidia-settings mo¿na odczytywaæ i zmieniaæ warto¶ci takie
-jak jasno¶æ i korekcja gamma, atrybuty XVideo, temperatura barw i
+Za pomocą nvidia-settings można odczytywać i zmieniać wartości takie
+jak jasność i korekcja gamma, atrybuty XVideo, temperatura barw i
 ustawienia OpenGL.
 
-Przy uruchamianiu nvidia-settings odczytuje bie¿±ce ustawienia z pliku
-konfiguracyjnego i wysy³a te ustawienia do serwera X. Nastêpnie
-wy¶wietla graficzny interfejs u¿ytkownika (GUI) do konfiguracji
-ustawieñ. Przy wy³±czniu nvidia-settings odczytuje bie¿±ce ustawienia
+Przy uruchamianiu nvidia-settings odczytuje bieżące ustawienia z pliku
+konfiguracyjnego i wysyła te ustawienia do serwera X. Następnie
+wyświetla graficzny interfejs użytkownika (GUI) do konfiguracji
+ustawień. Przy wyłączniu nvidia-settings odczytuje bieżące ustawienia
 z serwera X i zapisuje je do pliku konfiguracyjnego.
 
-%package -n libXNVCtrl
-Summary:       libXNVCtrl library
-Summary(pl):   Biblioteka libXNVCtrl
-Group:         Libraries
+%package gtk2
+Summary:       GTK+ 2.x GUI library for nvidia-settings
+Summary(pl.UTF-8):     Biblioteka interfejsu graficznego GTK+ 2.x dla nvidia-settings
+Group:         X11/Libraries
+Requires:      %{name} = %{version}-%{release}
+Provides:      %{name}-guilib = %{version}-%{release}
 
-%description -n libXNVCtrl
-Library for accessing NV-CONTROL extension in NVIDIA's latest drivers.
+%description gtk2
+GTK+ 2.x GUI library for nvidia-settings.
 
-%description -n libXNVCtrl -l pl
-Biblioteka do obs³ugi rozszerzenia NV-CONTROL z najnowszych
-sterowników NVIDIA.
+%description gtk2 -l pl.UTF-8
+Biblioteka interfejsu graficznego GTK+ 2.x dla nvidia-settings.
 
-%package -n libXNVCtrl-devel
-Summary:       libXNVCtrl development headers
-Summary(pl):   Pliki nag³ówkowe biblioteki libXNVCtrl
-Group:         Development/Libraries
-Requires:      XFree86-devel
-Requires:      libXNVCtrl = %{version}-%{release}
+%package gtk3
+Summary:       GTK+ 3.x GUI library for nvidia-settings
+Summary(pl.UTF-8):     Biblioteka interfejsu graficznego GTK+ 3.x dla nvidia-settings
+Group:         X11/Libraries
+Requires:      %{name} = %{version}-%{release}
+Provides:      %{name}-guilib = %{version}-%{release}
 
-%description -n libXNVCtrl-devel
-Development headers for libXNVCtrl.
+%description gtk3
+GTK+ 3.x GUI library for nvidia-settings.
 
-%description -n libXNVCtrl-devel -l pl
-Pliki nag³ówkowe biblioteki libXNVCtrl.
+%description gtk3 -l pl.UTF-8
+Biblioteka interfejsu graficznego GTK+ 3.x dla nvidia-settings.
 
-%package -n libXNVCtrl-static
-Summary:       libXNVCtrl static library
-Summary(pl):   Biblioteka statyczna libXNVCtrl
+%package -n libXNVCtrl-devel
+Summary:       libXNVCtrl development files
+Summary(pl.UTF-8):     Pliki programistyczne biblioteki libXNVCtrl
+License:       MIT
 Group:         Development/Libraries
-Requires:      libXNVCtrl-devel = %{version}-%{release}
+Requires:      xorg-lib-libX11-devel
+Requires:      xorg-lib-libXext-devel
+Requires:      xorg-lib-libXxf86vm-devel
+Obsoletes:     libXNVCtrl-static
 
-%description -n libXNVCtrl-static
-Static library for libXNVCtrl.
+%description -n libXNVCtrl-devel
+Library for accessing NV-CONTROL extension in NVIDIA's latest drivers.
 
-%description -n libXNVCtrl-static -l pl
-Biblioteka statyczna libXNVCtrl.
+%description -n libXNVCtrl-devel -l pl.UTF-8
+Biblioteka do obsługi rozszerzenia NV-CONTROL z najnowszych
+sterowników NVIDIA.
 
 %prep
 %setup -q
-%patch0 -p1
-%patch1 -p1
 
 %build
 %if %{with libXNVCtrl}
-cd src/libXNVCtrl
-xmkmf
-%{__make} clean
-%{__make} \
+CFLAGS="%{rpmcppflags} %{rpmcflags} -fPIC" \
+%{__make} -C src/libXNVCtrl \
+       NV_VERBOSE=1 \
        CC="%{__cc}" \
-       CFLAGS="%{rpmcflags}"
-cd ../..
+       OUTPUTDIR=.
 %endif
 
-%if %{with nvidia_settings}
-%{__make} \
+%if %{with utils}
+CFLAGS="%{rpmcppflags} %{rpmcflags} -fPIC" \
+%{__make} -C samples \
+       NV_VERBOSE=1 \
        CC="%{__cc}" \
-       CFLAGS="%{rpmcflags}" \
-       LDFLAGS="%{rpmldflags}"
+       OUTPUTDIR=$(pwd)/_out/utils \
+%endif
+
+%if %{with nvidia_settings}
+CFLAGS="%{rpmcppflags} %{rpmcflags}" \
+LDFLAGS="%{rpmldflags}" \
+%{__make} -C src \
+       %{!?with_gtk3:BUILD_GTK3LIB=} \
+       NV_USE_BUNDLED_LIBJANSSON=0 \
+       NV_VERBOSE=1 \
+       STRIP_CMD=: \
+       CC="%{__cc}"
+
+%{__make} -C doc \
+       NV_VERBOSE=1
 %endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 %if %{with nvidia_settings}
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
-install nvidia-settings $RPM_BUILD_ROOT%{_bindir}
-install doc/nvidia-settings.1 $RPM_BUILD_ROOT%{_mandir}/man1/nvidia-settings.1
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_desktopdir},%{_pixmapsdir},/etc/xdg/autostart}
+%{__make} install \
+       NV_USE_BUNDLED_LIBJANSSON=0 \
+       NV_VERBOSE=1 \
+       INSTALL="install -p" \
+       LIBDIR="$RPM_BUILD_ROOT%{_libdir}" \
+       PREFIX=%{_prefix} \
+       DESTDIR=$RPM_BUILD_ROOT
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_pixmapsdir}
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/xdg/autostart/%{name}.desktop
+
+# let RPM autogenerate deps
+chmod 755 $RPM_BUILD_ROOT%{_libdir}/lib*.so*
 %endif
 
 %if %{with libXNVCtrl}
-install -d $RPM_BUILD_ROOT%{_examplesdir}/libXNVCtrl-%{version}
+install -d $RPM_BUILD_ROOT%{_examplesdir}/libXNVCtrl-%{version} \
+       $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/NVCtrl}
 cp -a samples/* $RPM_BUILD_ROOT%{_examplesdir}/libXNVCtrl-%{version}
-%{__make} install \
-       -C src/libXNVCtrl \
-       DESTDIR=$RPM_BUILD_ROOT
+cp -p src/libXNVCtrl/nv_control.h $RPM_BUILD_ROOT%{_includedir}/NVCtrl
+cp -p src/libXNVCtrl/NVCtrl.h $RPM_BUILD_ROOT%{_includedir}/NVCtrl
+cp -p src/libXNVCtrl/NVCtrlLib.h $RPM_BUILD_ROOT%{_includedir}/NVCtrl
+cp -p src/libXNVCtrl/libXNVCtrl.a $RPM_BUILD_ROOT%{_libdir}
+
+install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
+cat <<'EOF' > $RPM_BUILD_ROOT%{_pkgconfigdir}/libXNVCtrl.pc
+prefix=%{_prefix}
+libdir=%{_libdir}
+includedir=${prefix}/include/NVCtrl
+
+Name: libXNVCtrl
+Description: Library for accessing NV-CONTROL extension in NVIDIA's latest drivers.
+Version: %{version}
+Libs: -L${libdir} -lXNVCtrl
+Cflags: -I${includedir}
+EOF
+#'
+%endif
+
+%if %{with utils}
+install -d $RPM_BUILD_ROOT%{_bindir}
+for prog in _out/utils/nv-control-*; do
+       case "$prog" in
+       *.*)
+               continue
+               ;;
+       esac
+       install -p $prog $RPM_BUILD_ROOT%{_bindir}
+done
 %endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post  -n libXNVCtrl -p /sbin/ldconfig
-%postun        -n libXNVCtrl -p /sbin/ldconfig
+%post  gtk2 -p /sbin/ldconfig
+%postun        gtk2 -p /sbin/ldconfig
+
+%post  gtk3 -p /sbin/ldconfig
+%postun        gtk3 -p /sbin/ldconfig
 
 %if %{with nvidia_settings}
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{name}
-%{_mandir}/man1/*
+%attr(755,root,root) %{_bindir}/nvidia-settings
+%if %{with utils}
+%attr(755,root,root) %{_bindir}/nv-control-3dvisionpro
+%attr(755,root,root) %{_bindir}/nv-control-dpy
+%attr(755,root,root) %{_bindir}/nv-control-dvc
+%attr(755,root,root) %{_bindir}/nv-control-events
+%attr(755,root,root) %{_bindir}/nv-control-framelock
+%attr(755,root,root) %{_bindir}/nv-control-info
+%attr(755,root,root) %{_bindir}/nv-control-targets
+%attr(755,root,root) %{_bindir}/nv-control-warpblend
 %endif
+%{_mandir}/man1/nvidia-settings.1*
+%{_desktopdir}/nvidia-settings.desktop
+%{_pixmapsdir}/nvidia-settings.png
+/etc/xdg/autostart/%{name}.desktop
 
-%if %{with libXNVCtrl}
-%files -n libXNVCtrl
+%files gtk2
 %defattr(644,root,root,755)
-%attr(755,root,root) /usr/X11R6/%{_lib}/libXNVCtrl.so.*.*.*
+%attr(755,root,root) %{_libdir}/libnvidia-gtk2.so.%{version}
 
+%if %{with gtk3}
+%files gtk3
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libnvidia-gtk3.so.%{version}
+%endif
+%endif
+
+%if %{with libXNVCtrl}
 %files -n libXNVCtrl-devel
 %defattr(644,root,root,755)
 %doc doc/{FRAMELOCK,NV-CONTROL-API}.txt
-/usr/X11R6/include/X11/extensions/NVCtrl.h
-/usr/X11R6/include/X11/extensions/NVCtrlLib.h
-/usr/X11R6/%{_lib}/libXNVCtrl.so
+%{_libdir}/libXNVCtrl.a
+%{_includedir}/NVCtrl
+%{_pkgconfigdir}/libXNVCtrl.pc
 %{_examplesdir}/libXNVCtrl-%{version}
-
-%files -n libXNVCtrl-static
-%defattr(644,root,root,755)
-/usr/X11R6/%{_lib}/libXNVCtrl.a
 %endif
This page took 0.07133 seconds and 4 git commands to generate.