]> git.pld-linux.org Git - packages/wine.git/blobdiff - wine.spec
- rel 3; ncursesw detection (wine checks for soname exactly instead of checking if...
[packages/wine.git] / wine.spec
index 135fa24d36c9e1ad0516aa7abdc05af82fe13975..7994dcc9294658f41697a08dc26ac7337d098241 100644 (file)
--- a/wine.spec
+++ b/wine.spec
@@ -1,14 +1,12 @@
 #
 # Conditional build:
 %bcond_without alsa            # don't build ALSA mm driver
-%bcond_without jack            # don't build JACK mm driver
-%bcond_without nas             # don't build NAS mm driver
+%bcond_without capi            # don't build CAPI 2.0 (ISDN) support
+%bcond_without gstreamer       # don't build GStreamer filters support
 %bcond_without sane            # don't build TWAIN DLL with scanning support (through SANE)
+%bcond_without ldap            # don't build LDAP DLL
 %bcond_without cups            # without CUPS printing support in winspool,wineps DLLs
 #
-# TODO:
-# - support for CAPI (ISDN support; --with-capi)
-#
 # NOTE: wine detects the following SONAMES for dlopen at build time:
 #   libcrypto,libssl (wininet.dll)
 #   libcups (winspool.dll.so,wineps.dll.so)
 #   libfontconfig (gdi32.dll.so)
 #   libfreetype (wineps.dll.so,gdi32.dll.so)
 #   libGL (x11drv.dll.so,ddraw.dll.so)
-#   libjack (winejack.drv.so - explicit dependency in subpackage)
 #   libX11, libXext, libXi, libXrender (x11drv.dll.so)
+#   libpng (windowscodecs.dll: SONAME_LIBPNG in dlls/windowscodecs/pngformat.c)
 # thus requires rebuild after change of any of the above.
-#
-# JACK requires ALSA
-%if %{without alsa}
-%undefine      with_jack
+
+# library qualifier in rpm generated deps
+%ifarch %{x8664} ia64 ppc64 s390x sparc64
+%define        libqual ()(64bit)
+%else
+%define        libqual %{nil}
 %endif
+
+%define                gecko_ver       1.4
 Summary:       Program that lets you launch Win applications
 Summary(es.UTF-8):     Ejecuta programas Windows en Linux
 Summary(pl.UTF-8):     Program pozwalający uruchamiać aplikacje Windows
 Summary(pt_BR.UTF-8):  Executa programas Windows no Linux
 Name:          wine
-Version:       1.1.23
-Release:       1
+Version:       1.4.1
+Release:       3
 Epoch:         1
 License:       LGPL
 Group:         Applications/Emulators
-Source0:       http://ibiblio.org/pub/linux/system/emulators/wine/%{name}-%{version}.tar.bz2
-# Source0-md5: 2a588487d4553a01db8326c7db710da2
-Source1:       %{name}-uninstaller.desktop
+Source0:       http://downloads.sourceforge.net/wine/%{name}-%{version}.tar.bz2
+# Source0-md5: 0c28702ed478df7a1c097f3a9c4cabd6
+Source1:       http://downloads.sourceforge.net/wine/%{name}_gecko-%{gecko_ver}-x86.msi
+# Source1-md5: 700aaa08724be1992cffed7b87e79a44
+Source2:       http://downloads.sourceforge.net/wine/%{name}_gecko-%{gecko_ver}-x86_64.msi
+# Source2-md5: 7b4811f667fd01d300fdff68420a9c72
+Source3:       %{name}-uninstaller.desktop
 Patch0:                %{name}-fontcache.patch
 Patch1:                %{name}-makedep.patch
 Patch2:                %{name}-ncurses.patch
 Patch4:                %{name}-disable-valgrind.patch
 Patch5:                %{name}-ca_certificates.patch
-Patch6:                %{name}-notarget.patch
-Patch7:                %{name}-manpaths.patch
-#PatchX:       %{name}-dga.patch
+Patch6:                %{name}-manpaths.patch
+Patch7:                desktop.patch
+Patch8:                wine-gnutls.patch
 URL:           http://www.winehq.org/
+BuildRequires: OpenAL-devel >= 1.1
 BuildRequires: OpenGL-GLU-devel
 %{?with_alsa:BuildRequires:    alsa-lib-devel}
 %{?with_arts:BuildRequires:    artsc-devel}
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: bison
+%{?with_capi:BuildRequires:    capi4k-utils-devel}
 %{?with_cups:BuildRequires:    cups-devel}
 BuildRequires: docbook-dtd31-sgml
 BuildRequires: docbook-utils
@@ -59,23 +67,29 @@ BuildRequires:      flex
 BuildRequires: fontconfig-devel
 BuildRequires: fontforge
 BuildRequires: freetype-devel >= 2.0.5
+BuildRequires: fslint
+BuildRequires: gettext-devel
 BuildRequires: giflib-devel
 BuildRequires: gnutls-devel
-BuildRequires: hal-devel
-%{?with_jack:BuildRequires:    jack-audio-connection-kit-devel}
+%{?with_gstreamer:BuildRequires:       gstreamer-plugins-base-devel}
+BuildRequires: icoutils
 BuildRequires: lcms-devel
 BuildRequires: libgphoto2-devel
+BuildRequires: libgsm-devel
 BuildRequires: libjpeg-devel
+BuildRequires: libmpg123-devel >= 1.5.0
 BuildRequires: libtool
+BuildRequires: libv4l-devel
 BuildRequires: libxslt-devel
-%{?with_nas:BuildRequires:     nas-devel}
 BuildRequires: ncurses-devel
 # db2* failed previously - probably openjade or opensp bug
+BuildRequires: libpng-devel >= 1.5
 BuildRequires: openjade >= 1:1.3.3-0.pre1
-BuildRequires: openldap-devel
+%{?with_ldap:BuildRequires:    openldap-devel}
 BuildRequires: opensp >= 1:1.5.1
 BuildRequires: openssl-devel >= 0.9.7d
 BuildRequires: pkgconfig
+BuildRequires: prelink
 %{?with_sane:BuildRequires:    sane-backends-devel}
 BuildRequires: unixODBC-devel >= 2.2.12-2
 #BuildRequires:        valgrind
@@ -88,10 +102,15 @@ BuildRequires:     xorg-lib-libXrandr-devel
 BuildRequires: xorg-lib-libXrender-devel
 BuildRequires: xorg-lib-libXxf86dga-devel
 BuildRequires: xorg-lib-libXxf86vm-devel
-Requires:      libfreetype.so.6
+Requires:      libfreetype.so.6%{libqual}
+Requires:      libpng15.so.15%{libqual}
+Requires(post):        /sbin/ldconfig
 Suggests:      binfmt-detector
 Suggests:      ca-certificates
+Suggests:      cabextract
 Conflicts:     ca-certificates < 20080809-4
+# for printing needs lpr
+Suggests:      cups-clients
 # for winelauncher
 Suggests:      xorg-app-xmessage
 # for ntlm_auth
@@ -100,7 +119,9 @@ Suggests:   samba-common >= 1:3.0.25
 Provides:      libntdll.dll.so
 Obsoletes:     wine-doc-pdf
 Obsoletes:     wine-drv-arts
-ExclusiveArch: %{ix86}
+Obsoletes:     wine-drv-jack
+Obsoletes:     wine-drv-nas
+ExclusiveArch: %{ix86} %{x8664}
 ExcludeArch:   i386
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -109,10 +130,6 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _winedir                %{_datadir}/%{name}
 
-%define                getsoname()     %((objdump -p %{1} 2>/dev/null || echo SONAME ERROR) | awk '/SONAME/ { print $2; s=1 }; END { if(s==0) print "ERROR" }')
-
-%undefine      debuginfocflags
-
 %description
 Wine is a program which allows running Microsoft Windows programs
 (including DOS, Windows 3.x and Win32 executables) on Unix. It
@@ -171,6 +188,19 @@ Wine - programs.
 %description programs -l pl.UTF-8
 Wine - programy.
 
+%package dll-capi
+Summary:       CAPI 2.0 (ISDN) implementation DLLs for Wine
+Summary(pl.UTF-8):     Biblioteki DLL z implementacją CAPI 2.0 (ISDN) dla Wine
+Group:         Applications/Emulators
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description dll-capi
+CAPI 2.0 (ISDN) implementation DLLs for Wine (through OpenGL).
+
+%description dll-capi -l pl.UTF-8
+Biblioteki DLL z implementacją CAPI 2.0 (ISDN) dla Wine (poprzez
+OpenGL).
+
 %package dll-d3d
 Summary:       Direct3D implementation DLLs for Wine
 Summary(pl.UTF-8):     Biblioteki DLL z implementacją Direct3D dla Wine
@@ -209,6 +239,14 @@ TWAIN implementation DLL for Wine (through SANE).
 %description dll-twain -l pl.UTF-8
 Biblioteka DLL z implementacją TWAIN dla Wine (poprzez SANE).
 
+%package dll-ldap
+Summary:       Win32 LDAP API DLL for Wine
+Group:         Applications/Emulators
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description dll-ldap
+Lightweight Directory Access Protocol Library.
+
 %package drv-alsa
 Summary:       ALSA driver for WINE mm.dll implementation
 Summary(pl.UTF-8):     Sterownik ALSA dla implementacji mm.dll w Wine
@@ -221,34 +259,6 @@ ALSA driver for WINE mm.dll (multimedia system) implementation.
 %description drv-alsa -l pl.UTF-8
 Sterownik ALSA dla implementacji mm.dll (systemu multimediów) w Wine.
 
-%package drv-jack
-Summary:       JACK driver for WINE mm.dll implementation
-Summary(pl.UTF-8):     Sterownik JACK-a dla implementacji mm.dll w Wine
-Group:         Applications/Emulators
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      jack-audio-connection-kit
-# dlopened by SONAME detected at build time
-%{?with_jack:Requires: %{getsoname /usr/%{_lib}/libjack.so}}
-
-%description drv-jack
-JACK driver for WINE mm.dll (multimedia system) implementation.
-
-%description drv-jack -l pl.UTF-8
-Sterownik JACK-a dla implementacji mm.dll (systemu multimediów) w
-Wine.
-
-%package drv-nas
-Summary:       NAS driver for WINE mm.dll implementation
-Summary(pl.UTF-8):     Sterownik NAS dla implementacji mm.dll w Wine
-Group:         Applications/Emulators
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-
-%description drv-nas
-NAS driver for WINE mm.dll (multimedia system) implementation.
-
-%description drv-nas -l pl.UTF-8
-Sterownik NAS dla implementacji mm.dll (systemu multimediów) w Wine.
-
 %prep
 %setup -q
 %patch0 -p1
@@ -258,34 +268,39 @@ Sterownik NAS dla implementacji mm.dll (systemu multimediów) w Wine.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
-
-# turn off compilation of some tools
-sed -i -e "s|winetest \\\|\\\|;s|avitools||" programs/Makefile.in
-#sed -i -e "s|avitools||" programs/Makefile.in
+%patch8 -p1
 
 %build
+icotool -x --width=32 --height=32 --bit-depth=32 -o . dlls/user32/resources/oic_winlogo.ico
+mv -f oic_winlogo_*.png %{name}.png
+
 %{__autoconf}
 %{__autoheader}
 %configure \
+%ifarch %{x8664}
+       --enable-win64 \
+%endif
        --with%{!?with_alsa:out}-alsa \
+       --with%{!?with_capi:out}-capi \
        --with-cms \
+       --with-coreaudio \
        --with%{!?with_cups:out}-cups \
-       --with-cups \
        --with-curses \
-       --with-esd \
        --with-fontconfig \
        --with-freetype \
        --with-glu \
+       --with-gnutls \
        --with-gphoto \
-       --with-hal \
-       --with%{!?with_jack:out}-jack \
+       --with-gsm \
+       --with%{!?with_gstreamer:out}-gstreamer \
        --with-jpeg \
-       --with-ldap \
-       --with%{!?with_nas:out}-nas \
+       --with%{!?with_ldap:out}-ldap \
+       --with-mpg123 \
        --with-opengl \
        --with-openssl \
        --with-oss \
        --with-png \
+       --with-pthread \
        --with%{!?with_sane:out}-sane \
        --with-xcomposite \
        --with-xcursor \
@@ -301,21 +316,17 @@ sed -i -e "s|winetest \\\|\\\|;s|avitools||" programs/Makefile.in
        --with-x
 %{__make} depend
 %{__make}
-%{__make} -C programs
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_mandir}/man1,%{_aclocaldir}}
-
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-%{__make} -C programs install \
-       DESTDIR=$RPM_BUILD_ROOT
-
-install tools/fnt2bdf                  $RPM_BUILD_ROOT%{_bindir}
+findup -m $RPM_BUILD_ROOT%{_winedir}/fakedlls
 
-install aclocal.m4 $RPM_BUILD_ROOT%{_aclocaldir}/wine.m4
+install -p tools/fnt2bdf $RPM_BUILD_ROOT%{_bindir}
+cp -a aclocal.m4 $RPM_BUILD_ROOT%{_aclocaldir}/wine.m4
 
 install -d \
        $RPM_BUILD_ROOT%{_winedir}/windows/{system,Desktop,Favorites,Fonts} \
@@ -339,53 +350,49 @@ vcr=mciviscd.drv
 MPEGVideo=mciqtz.drv
 EOF
 
-%if %{?debug:0}%{!?debug:1}
-echo "Strip executable binaries and shared object files."
-filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*"`
-elfexelist=`echo $filelist | xargs -r file | \
-       awk '/ELF.*executable/ {print $1}' | cut -d: -f1`
-elfsharedlist=`echo $filelist | xargs -r file | \
-       awk '/LF.*shared object/ {print $1}' | cut -d: -f1`; \
-if [ -n "$elfexelist" ]; then \
-       strip -R .note -R .comment $elfexelist
-fi
-if [ -n "$elfsharedlist" ]; then
-       strip --strip-unneeded -R .note -R .comment $elfsharedlist
-fi
-%endif
-
 # /sbin/chstk -e $RPM_BUILD_ROOT%{_bindir}/wine
 
-programs="msiexec notepad regedit regsvr32 wineboot winecfg wineconsole winedbg winefile winemine winepath"
-
-BZZZ=`pwd`
-rm -f files.so;                touch files.so
-rm -f files.programs;  touch files.programs
+dir=$(pwd)
+> files.so
+> files.programs
 cd $RPM_BUILD_ROOT%{_libdir}/wine
 for f in *.so; do
        case $f in
-               d3d8.dll.so|d3d9.dll.so|d3dx8.dll.so|glu32.dll.so|opengl32.dll.so|sane.ds.so|twain.dll.so|twain_32.dll.so|winealsa.drv.so|winejack.drv.so|winenas.drv.so)
-                       ;;
-               *)
-                       echo "%attr(755,root,root) %{_libdir}/wine/$f" >>$BZZZ/files.so
+       d3d8.dll.so|d3d9.dll.so|d3dx8.dll.so|glu32.dll.so|opengl32.dll.so|sane.ds.so|twain.dll.so|twain_32.dll.so|winealsa.drv.so|wldap32.dll.so)
+               ;;
+       *)
+               echo "%attr(755,root,root) %{_libdir}/wine/$f" >> $dir/files.so
        esac
 done
 cd -
+
+programs="notepad regedit regsvr32 wineconsole winefile winemine winepath"
 for p in $programs; do
        echo "%attr(755,root,root) %{_bindir}/$p" >> files.programs
        echo "%attr(755,root,root) %{_libdir}/wine/$p.exe.so" >> files.programs
+       echo "%{_mandir}/man1/$p.1*" >> files.programs
        grep -v "$p\.exe\.so$" files.so > files.so.
        mv -f files.so. files.so
 done
 
-install -d $RPM_BUILD_ROOT%{_pixmapsdir}/wine.svg
-install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
-install programs/winetest/winetest.svg $RPM_BUILD_ROOT%{_pixmapsdir}/wine.svg
+install -d $RPM_BUILD_ROOT%{_winedir}/gecko
+%ifnarch %{x8664}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_winedir}/gecko
+%else
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_winedir}/gecko
+%endif
+
+install -d $RPM_BUILD_ROOT%{_pixmapsdir}
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
+cp -p %{name}.png $RPM_BUILD_ROOT%{_pixmapsdir}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post  -p /sbin/ldconfig
+%post
+/sbin/ldconfig
+%update_desktop_database
+
 %postun -p /sbin/ldconfig
 
 %triggerpostun -- wine < 1:0.9.12-1.9
@@ -400,38 +407,68 @@ fi
 %lang(de) %doc documentation/README.de
 %lang(es) %doc documentation/README.es
 %lang(fr) %doc documentation/README.fr
+%lang(hu) %doc documentation/README.hu
 %lang(it) %doc documentation/README.it
 %lang(ko) %doc documentation/README.ko
 %lang(nb) %doc documentation/README.no
 %lang(pt) %doc documentation/README.pt
 %lang(pt_BR) %doc documentation/README.pt_br
+%lang(ru) %doc documentation/README.ru
+%lang(sv) %doc documentation/README.sv
+%lang(tr) %doc documentation/README.tr
 %attr(755,root,root) %{_bindir}/msiexec
+%ifnarch %{x8664}
 %attr(755,root,root) %{_bindir}/wine
+%else
+%attr(755,root,root) %{_bindir}/wine64
+%endif
 %attr(755,root,root) %{_bindir}/wineboot
-%attr(755,root,root) %{_bindir}/winecfg
 %attr(755,root,root) %{_bindir}/winedbg
-#%attr(755,root,root) %{_bindir}/wine-kthread
-#%attr(755,root,root) %{_bindir}/winelauncher
-%attr(755,root,root) %{_bindir}/wineprefixcreate
+%attr(755,root,root) %{_bindir}/winecfg
+%ifnarch %{x8664}
 %attr(755,root,root) %{_bindir}/wine-preloader
-#%attr(755,root,root) %{_bindir}/wine-pthread
+%else
+%attr(755,root,root) %{_bindir}/wine64-preloader
+%endif
 %attr(755,root,root) %{_bindir}/wineserver
 %attr(755,root,root) %{_libdir}/*.so*
 %dir %{_libdir}/wine
-%{_libdir}/wine/*.dll16
-%{_libdir}/wine/*.drv16
-%{_libdir}/wine/*.exe16
+%dir %{_libdir}/wine/fakedlls
+%{_libdir}/wine/fakedlls/*.acm
+%{_libdir}/wine/fakedlls/*.cpl
+%{_libdir}/wine/fakedlls/*.dll
+%ifarch %{ix86}
+%{_libdir}/wine/fakedlls/*.dll16
+%endif
+%{_libdir}/wine/fakedlls/*.drv
+%ifarch %{ix86}
+%{_libdir}/wine/fakedlls/*.drv16
+%endif
+%{_libdir}/wine/fakedlls/*.ds
+%{_libdir}/wine/fakedlls/*.exe
+%ifarch %{ix86}
+%{_libdir}/wine/fakedlls/*.exe16
+%{_libdir}/wine/fakedlls/*.mod16
+%endif
+%{_libdir}/wine/fakedlls/*.ocx
+%{_libdir}/wine/fakedlls/*.sys
+%{_libdir}/wine/fakedlls/*.tlb
+%ifarch %{ix86}
+%{_libdir}/wine/fakedlls/*.vxd
+%endif
 %{_mandir}/man1/wine.1*
-%lang(de) %{_mandir}/de/man1/wine.1*
-%lang(fr) %{_mandir}/fr/man1/wine.1*
+%lang(de) %{_mandir}/de/man1/wine*.1*
+%lang(fr) %{_mandir}/fr/man1/wine*.1*
+#%lang(pl) %{_mandir}/pl/man1/wine*.1*
+%{_mandir}/man1/msiexec.1*
+%{_mandir}/man1/wineboot.1*
+%{_mandir}/man1/winecfg.1*
 %{_mandir}/man1/winedbg.1*
-%{_mandir}/man1/wineprefixcreate.1*
 %{_mandir}/man1/wineserver.1*
-%lang(fr) %{_mandir}/fr/man1/wineserver.1*
 %{_winedir}
 %{_desktopdir}/wine.desktop
 %{_desktopdir}/wine-uninstaller.desktop
-%{_pixmapsdir}/wine.svg
+%{_pixmapsdir}/%{name}.png
 
 %files programs -f files.programs
 %defattr(644,root,root,755)
@@ -447,7 +484,6 @@ fi
 %attr(755,root,root) %{_bindir}/winegcc
 %attr(755,root,root) %{_bindir}/winemaker
 %attr(755,root,root) %{_bindir}/winecpp
-#%attr(755,root,root) %{_bindir}/winewrap
 %attr(755,root,root) %{_bindir}/wmc
 %attr(755,root,root) %{_bindir}/wrc
 %{_libdir}/wine/lib*.def
@@ -455,25 +491,32 @@ fi
 %{_libdir}/wine/lib*.def.a
 %{_libdir}/wine/libadsiid.a
 %{_libdir}/wine/libdx*.a
+%{_libdir}/wine/libstrmbase.a
 %{_libdir}/wine/libstrmiids.a
 %{_libdir}/wine/libuuid.a
 %{_libdir}/wine/libwinecrt0.a
 %{_includedir}/wine
 %{_mandir}/man1/widl.1*
+%{_mandir}/man1/winebuild.1*
+%{_mandir}/man1/winecpp.1*
 %{_mandir}/man1/winedump.1*
 %{_mandir}/man1/winegcc.1*
 %{_mandir}/man1/wineg++.1*
 %{_mandir}/man1/winemaker.1*
-%{_mandir}/man1/winebuild.1*
+%lang(de) %{_mandir}/de/man1/winemaker.1*
+%lang(fr) %{_mandir}/fr/man1/winemaker.1*
 %{_mandir}/man1/wmc.1*
 %{_mandir}/man1/wrc.1*
 %{_aclocaldir}/*.m4
 
+%files dll-capi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/wine/capi2032.dll.so
+
 %files dll-d3d
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/wine/d3d8.dll.so
 %attr(755,root,root) %{_libdir}/wine/d3d9.dll.so
-%attr(755,root,root) %{_libdir}/wine/d3dx8.dll.so
 %attr(755,root,root) %{_libdir}/wine/wined3d.dll.so
 
 %files dll-gl
@@ -488,22 +531,16 @@ fi
 %attr(755,root,root) %{_libdir}/wine/twain*.dll.so
 %endif
 
-%if %{with alsa}
-%files drv-alsa
+%if %{with ldap}
+%files dll-ldap
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/wine/winealsa.drv.so
-%endif
-
-%if %{with jack}
-%files drv-jack
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/wine/winejack.drv.so
+%attr(755,root,root) %{_libdir}/wine/wldap*.dll.so
 %endif
 
-%if %{with nas}
-%files drv-nas
+%if %{with alsa}
+%files drv-alsa
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/wine/winenas.drv.so
+%attr(755,root,root) %{_libdir}/wine/winealsa.drv.so
 %endif
 
 # additional dependencies in *.so not separated (yet?) from main package
This page took 0.115159 seconds and 4 git commands to generate.