From da44aa3b0e4fbd05ad29fe2e6b6101d0d96460165f7f5cca84919f841e011999 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Mon, 13 Nov 2017 15:05:44 +0000 Subject: [PATCH 1/6] - recommend Mesa-GL1-32bit in baselibs, so we get opengl support. (it is not directly required) OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=447 --- wine.changes | 6 ++++++ wine.spec | 1 + 2 files changed, 7 insertions(+) diff --git a/wine.changes b/wine.changes index 16c9a69..6ba77ec 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Nov 13 15:05:05 UTC 2017 - meissner@suse.com + +- recommend Mesa-GL1-32bit in baselibs, so we get opengl support. + (it is not directly required) + ------------------------------------------------------------------- Sat Nov 11 14:56:58 UTC 2017 - aavindraa@gmail.com diff --git a/wine.spec b/wine.spec index a3190da..a5c4ef8 100644 --- a/wine.spec +++ b/wine.spec @@ -165,6 +165,7 @@ grep SONAME_ config.log grep SONAME_ config.log|grep -v 'so"'|sed -e 's/^.*\(".*"\).*$/ requires \1/;'|sort -u >>%SOURCE7 echo " recommends \"alsa-plugins-pulse-32bit\"" >> %SOURCE7 echo " recommends \"alsa-plugins-32bit\"" >> %SOURCE7 +echo " recommends \"Mesa-libGL1-32bit\"" >> %SOURCE7 %if 0%{?suse_version} >= 1330 echo " obsoletes \"wine-mp3-32bit\"" >> %SOURCE7 %else From 03d8ad53d43002ad3ddacbe2f03d3a2caa953ad49f81d33172023e7ebee4836b Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Mon, 13 Nov 2017 15:38:45 +0000 Subject: [PATCH 2/6] OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=448 --- _multibuild | 5 +++ _service | 21 ++++++++++ wine-d3d9-patches-2.20.tar.xz | 3 ++ wine-staging-2.20.tar.xz | 3 ++ wine.spec | 76 +++++++++++++++++++++++++++++++++-- 5 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 _multibuild create mode 100644 _service create mode 100644 wine-d3d9-patches-2.20.tar.xz create mode 100644 wine-staging-2.20.tar.xz diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..900c0e7 --- /dev/null +++ b/_multibuild @@ -0,0 +1,5 @@ + + nine + staging + staging-nine + diff --git a/_service b/_service new file mode 100644 index 0000000..7ae6513 --- /dev/null +++ b/_service @@ -0,0 +1,21 @@ + + + @PARENT_TAG@ + v(.*) + https://github.com/wine-compholio/wine-staging.git + refs/tags/v2.20 + v*.* + git + + + @PARENT_TAG@ + wined3d9(.*) + https://github.com/sarnex/wine-d3d9-patches.git + refs/tags/wine-d3d9-2.20 + git + + + *.tar + xz + + diff --git a/wine-d3d9-patches-2.20.tar.xz b/wine-d3d9-patches-2.20.tar.xz new file mode 100644 index 0000000..4794ab0 --- /dev/null +++ b/wine-d3d9-patches-2.20.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33e42128cce101d409b16c893d7e52a80f6797d860a29d90a259199e3ba6a6b0 +size 40848 diff --git a/wine-staging-2.20.tar.xz b/wine-staging-2.20.tar.xz new file mode 100644 index 0000000..2a3c970 --- /dev/null +++ b/wine-staging-2.20.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a20300e18be553de96a0f400ac1406420e04d190dc329437d130db9df9d5a70c +size 7709416 diff --git a/wine.spec b/wine.spec index a5c4ef8..933eb59 100644 --- a/wine.spec +++ b/wine.spec @@ -16,7 +16,25 @@ # +%define projectname wine +%global flavor @BUILD_FLAVOR@%nil +%define staging 0 +%define nine 0 + +%if "%flavor" == "staging" || "%flavor" == "staging-nine" +%define staging 1 +%endif +%if "%flavor" == "nine" || "%flavor" == "staging-nine" +%define nine 1 +%endif + +%if "%{flavor}" == "" Name: wine +%else +Name: wine-%{flavor} +Provides: wine = %{version} +%endif +Conflicts: otherproviders(wine) BuildRequires: Mesa-devel BuildRequires: alsa-devel BuildRequires: autoconf @@ -68,9 +86,9 @@ Summary: An MS Windows Emulator License: LGPL-2.1+ Group: System/Emulators/PC Url: http://www.winehq.org/ -Source0: http://downloads.sourceforge.net/wine/wine-%{realver}.tar.xz +Source0: http://downloads.sourceforge.net/wine/%{projectname}-%{realver}.tar.xz Source41: wine.keyring -Source42: http://downloads.sourceforge.net/wine/%{name}-%{realver}.tar.xz.sign +Source42: http://downloads.sourceforge.net/wine/%{projectname}-%{realver}.tar.xz.sign Source1: https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks Source11: https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks.1 Source2: http://kegel.com/wine/wisotool @@ -98,6 +116,22 @@ Recommends: cabextract Recommends: unzip BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %{ix86} x86_64 ppc %arm +%if %{staging} +# upstream patch target version +%define staging_version 2.20 +Source100: wine-staging-%{staging_version}.tar.xz +BuildRequires: gtk3-devel +BuildRequires: libOSMesa-devel +BuildRequires: libva-devel +%endif +%if %{nine} +# upstream patch target version +%define nine_version 2.20 +BuildRequires: Mesa-libd3d-devel +BuildRequires: dri2proto-devel +BuildRequires: libOSMesa-devel +Source110: wine-d3d9-patches-%{nine_version}.tar.xz +%endif %description Wine is a compatibility layer capable of running Windows @@ -122,6 +156,10 @@ running 'winecfg'. %package devel Summary: Files for Wine development Group: Development/Libraries/C and C++ +%if "%{flavor}" != "" +Provides: wine-devel = %{version} +%endif +Conflicts: otherproviders(wine-devel) %description devel This RPM contains the header files and development tools for the WINE @@ -133,6 +171,21 @@ libraries. # cp %{S:3} . # +%if %{staging} +# apply wine staging patch set on top of the wine release. +tar xf %{SOURCE100} +bash ./wine-staging-%staging_version/patches/patchinstall.sh --all +%endif + +%if %{nine} +tar xf %{SOURCE110} +%if %{staging} +patch --no-backup-if-mismatch -p1 -i ./wine-d3d9-patches-%nine_version/staging-helper.patch +%else +patch --no-backup-if-mismatch -p1 -i ./wine-d3d9-patches-%nine_version/d3d9-helper.patch +%endif +patch --no-backup-if-mismatch -p1 -i ./wine-d3d9-patches-%nine_version/wine-d3d9.patch +%endif %build cat VERSION @@ -142,6 +195,9 @@ export WIDL_TIME_OVERRIDE="0" # for reproducible builds. export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fomit-frame-pointer//'` %endif +%if %{staging} || %{nine} +autoreconf -i -f +%endif # keep just for susepatches with configure changes #autoconf #autoheader -I include @@ -150,6 +206,9 @@ CFLAGS="$RPM_OPT_FLAGS" \ --with-x \ %ifarch x86_64 --enable-win64 \ +%endif +%if %{nine} + --with-d3d9-nine \ %endif --verbose @@ -174,8 +233,16 @@ echo " recommends \"wine-mp3-32bit\"" >> %SOURCE7 %if 0%{?suse_version} >= 1310 echo " requires \"p11-kit-32bit\"" >> %SOURCE7 %endif +%if "%{flavor}" != "" +echo " provides \"wine- = \"" >> %SOURCE7 +%endif +echo " conflicts \"otherproviders(wine-)\"" >> %SOURCE7 echo "%name-devel" >> %SOURCE7 echo " +^/usr/lib/wine/.*def" >> %SOURCE7 +%if "%{flavor}" != "" +echo " provides \"wine-devel- = \"" >> %SOURCE7 +%endif +echo " conflicts \"otherproviders(wine-devel-)\"" >> %SOURCE7 cat %SOURCE7 %endif make %{?_smp_mflags} all @@ -230,7 +297,7 @@ cd ubuntuwine cd .. # find the implicit dependencies -%define winedir %_builddir/%name-%realver/ +%define winedir %_builddir/%projectname-%realver cat >%winedir/my-find-requires.sh < Date: Mon, 13 Nov 2017 16:24:28 +0000 Subject: [PATCH 3/6] - switched to _multibuild packaging. include staging and staging-nine variants. OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=449 --- wine.changes | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/wine.changes b/wine.changes index 6ba77ec..dc07d35 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Nov 13 16:23:51 UTC 2017 - jimmy@boombatower.com + +- switched to _multibuild packaging. include staging + and staging-nine variants. + ------------------------------------------------------------------- Mon Nov 13 15:05:05 UTC 2017 - meissner@suse.com From 1ef9b77d1a8a73a2f199a9ba098e952b4831523fe9cae19a288ca7e9794f0f04 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 22 Nov 2017 08:45:58 +0000 Subject: [PATCH 4/6] OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=450 --- _service | 2 +- wine-staging-2.20.tar.xz | 3 --- wine-staging-2.21.tar.xz | 3 +++ wine.spec | 2 +- winetricks | 39 ++++++++++++++++++++++++++++++--------- 5 files changed, 35 insertions(+), 14 deletions(-) delete mode 100644 wine-staging-2.20.tar.xz create mode 100644 wine-staging-2.21.tar.xz diff --git a/_service b/_service index 7ae6513..7269078 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ @PARENT_TAG@ v(.*) https://github.com/wine-compholio/wine-staging.git - refs/tags/v2.20 + refs/tags/v2.21 v*.* git diff --git a/wine-staging-2.20.tar.xz b/wine-staging-2.20.tar.xz deleted file mode 100644 index 2a3c970..0000000 --- a/wine-staging-2.20.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a20300e18be553de96a0f400ac1406420e04d190dc329437d130db9df9d5a70c -size 7709416 diff --git a/wine-staging-2.21.tar.xz b/wine-staging-2.21.tar.xz new file mode 100644 index 0000000..c4e7be6 --- /dev/null +++ b/wine-staging-2.21.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5df468532ada7ff8713cf31a186f80e19cdf16fb913974a8989c2c86c3428373 +size 7730272 diff --git a/wine.spec b/wine.spec index 933eb59..144cd81 100644 --- a/wine.spec +++ b/wine.spec @@ -118,7 +118,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %{ix86} x86_64 ppc %arm %if %{staging} # upstream patch target version -%define staging_version 2.20 +%define staging_version 2.21 Source100: wine-staging-%{staging_version}.tar.xz BuildRequires: gtk3-devel BuildRequires: libOSMesa-devel diff --git a/winetricks b/winetricks index 376706c..13a94cb 100644 --- a/winetricks +++ b/winetricks @@ -2741,14 +2741,25 @@ w_call() w_try w_do_call "$@" } +w_backup_reg_file() +{ + W_reg_file=$1 + + w_get_sha256sum "$W_reg_file" + + w_try cp "$W_reg_file" "$W_TMP_EARLY/_reg_$(echo "$_W_gotsha256sum" | cut -c1-8)"_$$.reg + + unset W_reg_file _W_gotsha256sum +} + w_register_font() { - file=$1 + W_file=$1 shift - font=$1 + W_font=$1 - case "$file" in - *.TTF|*.ttf) font="$font (TrueType)";; + case "$W_file" in + *.TTF|*.ttf) W_font="$W_font (TrueType)";; esac # Kludge: use _r to avoid \r expansion in w_try @@ -2756,23 +2767,25 @@ w_register_font() REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts] -"$font"="$file" +"$W_font"="$W_file" _EOF_ # too verbose w_try_regedit "$W_TMP_WIN"\\_register-font.reg # shellcheck disable=SC1037 - cp "$W_TMP"/*.reg "$W_TMP_EARLY"/_reg$$.reg + w_backup_reg_file "$W_TMP"/_register-font.reg # Wine also updates the win9x fonts key, so let's do that, too cat > "$W_TMP"/_register-font.reg <<_EOF_ REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Fonts] -"$font"="$file" +"$W_font"="$W_file" _EOF_ w_try_regedit "$W_TMP_WIN"\\_register-font.reg # shellcheck disable=SC1037 - cp "$W_TMP"/*.reg "$W_TMP_EARLY"/_reg$$-2.reg + w_backup_reg_file "$W_TMP"/_register-font.reg + + unset W_file W_font } w_register_font_replacement() @@ -2788,6 +2801,9 @@ REGEDIT4 "$_W_alias"="$_W_font" _EOF_ w_try_regedit "$W_TMP_WIN"\\_register-font-replacements.reg + + w_backup_reg_file "$W_TMP"/_register-font-replacements.reg + unset _W_alias _W_font } @@ -4743,6 +4759,11 @@ winetricks_init() USERNAME="$LOGNAME" fi + # Running Wine as root is (generally) bad, mmkay? + if [ "$(id -u)" = 0 ]; then + w_warn "Running Wine/winetricks as root is highly discouraged. See https://wiki.winehq.org/FAQ#Should_I_run_Wine_as_root.3F" + fi + # Ephemeral files for this run WINETRICKS_WORKDIR="$W_TMP_EARLY/w.$LOGNAME.$$" test "$W_OPT_NOCLEAN" = 1 || rm -rf "$WINETRICKS_WORKDIR" @@ -6309,7 +6330,7 @@ w_metadata dxsdk_jun2010 dlls \ load_dxsdk_jun2010() { - w_download https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe 11a0ddeb293040f8b99eeb1bdf6197ae1b26fdb74c036e5717d8e45db9c1576e + w_download https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe 9f818a977c32b254af5d649a4cec269ed8762f8a49ae67a9f01101a7237ae61a # Without dotnet20, install aborts halfway through w_call dotnet20 From 4608c4782b7364b98ef0d88e2cb9c8a0776ac9b7b723da61fbb0e1062500417e Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Thu, 23 Nov 2017 14:20:28 +0000 Subject: [PATCH 5/6] OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=451 --- wine.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wine.spec b/wine.spec index 144cd81..0167e9e 100644 --- a/wine.spec +++ b/wine.spec @@ -31,7 +31,7 @@ %if "%{flavor}" == "" Name: wine %else -Name: wine-%{flavor} +Name: wine%{?flavor:-}%{?flavor} Provides: wine = %{version} %endif Conflicts: otherproviders(wine) From 647ca1c321b7a0b782d89813c5decd16f4c95891bc38e692e76e471a4795de5f Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Thu, 23 Nov 2017 17:26:28 +0000 Subject: [PATCH 6/6] OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=452 --- wine.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wine.spec b/wine.spec index 0167e9e..db54687 100644 --- a/wine.spec +++ b/wine.spec @@ -28,11 +28,11 @@ %define nine 1 %endif -%if "%{flavor}" == "" -Name: wine -%else +%if "%{flavor}" != "" Name: wine%{?flavor:-}%{?flavor} Provides: wine = %{version} +%else +Name: wine %endif Conflicts: otherproviders(wine) BuildRequires: Mesa-devel