From 2574a195c412e5471c09c752c96d86dc3aa86f27 Mon Sep 17 00:00:00 2001 From: Andreas Bierfert Date: Thu, 5 Jul 2012 06:35:47 +0200 Subject: [PATCH] 0.0.4-7 - add mingw-filesystem BR - fix header macro --- .gitignore | 1 + ...a-script-for-making-a-source-tarball.patch | 48 ++++ 0053-Rewrite-source-tarball-script.patch | 66 +++++ ...h-unset-CC-when-cross-compiling-othe.patch | 27 ++ 0055-Ship-MonoPosixHelper.dll.patch | 31 +++ sources | 1 + wine-mono-build-fixidtgeneration.patch | 242 ++++++++++++++++++ wine-mono-build-msifilename.patch | 11 + wine-mono.spec | 132 ++++++++++ 9 files changed, 559 insertions(+) create mode 100644 0052-Add-a-script-for-making-a-source-tarball.patch create mode 100644 0053-Rewrite-source-tarball-script.patch create mode 100644 0054-build-winemono.sh-unset-CC-when-cross-compiling-othe.patch create mode 100644 0055-Ship-MonoPosixHelper.dll.patch create mode 100644 wine-mono-build-fixidtgeneration.patch create mode 100644 wine-mono-build-msifilename.patch create mode 100644 wine-mono.spec diff --git a/.gitignore b/.gitignore index e69de29..05832fc 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/wine-mono-0.0.4.tar.gz diff --git a/0052-Add-a-script-for-making-a-source-tarball.patch b/0052-Add-a-script-for-making-a-source-tarball.patch new file mode 100644 index 0000000..6cea0a3 --- /dev/null +++ b/0052-Add-a-script-for-making-a-source-tarball.patch @@ -0,0 +1,48 @@ +From ceaaeaddbcea3b1d4cc99135c0ebf9a964861715 Mon Sep 17 00:00:00 2001 +From: Vincent Povirk +Date: Wed, 9 May 2012 16:26:03 -0500 +Subject: [PATCH 52/55] Add a script for making a source tarball. + +--- + archive.sh | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + create mode 100755 archive.sh + +diff --git a/archive.sh b/archive.sh +new file mode 100755 +index 0000000..6f7a048 +--- /dev/null ++++ b/archive.sh +@@ -0,0 +1,29 @@ ++#!/bin/sh ++ ++# usage: sh archive.sh tree-ish ++ ++recursivearchivefiles () ++{ ++ # recursivearchivefiles directory prefix tree-ish output-file ++ cd "$1" ++ for f in `git ls-files`; do ++ if test -d "$f/.git"; then ++ recursivearchivefiles "$PWD"/"$f" "$2""$f"/ "`git rev-parse HEAD:$f`" "$4" ++ cd "$1" ++ fi ++ done ++ ++ TEMPFILE=`tempfile` ++ git archive --format=tar --prefix="$2" "$3" > $TEMPFILE ++ tar Af "$4" "$TEMPFILE" ++ rm "$TEMPFILE" ++} ++ ++OUTPUT_FILE="$PWD/$1.tar" ++ ++rm "$OUTPUT_FILE" ++ ++recursivearchivefiles "$PWD" "$1"/ "$1" "$OUTPUT_FILE" ++ ++gzip "$OUTPUT_FILE" ++ +-- +1.7.10.2 + diff --git a/0053-Rewrite-source-tarball-script.patch b/0053-Rewrite-source-tarball-script.patch new file mode 100644 index 0000000..db65673 --- /dev/null +++ b/0053-Rewrite-source-tarball-script.patch @@ -0,0 +1,66 @@ +From f69c420f65c41fb39aa3d2c013a7affa67fafe94 Mon Sep 17 00:00:00 2001 +From: Vincent Povirk +Date: Mon, 14 May 2012 11:39:29 -0500 +Subject: [PATCH 53/55] Rewrite source tarball script. + +--- + archive.sh | 28 +++++++++++++++++++++++----- + 1 file changed, 23 insertions(+), 5 deletions(-) + +diff --git a/archive.sh b/archive.sh +index 6f7a048..b440001 100755 +--- a/archive.sh ++++ b/archive.sh +@@ -1,16 +1,33 @@ + #!/bin/sh + + # usage: sh archive.sh tree-ish ++# Archives a Git revision with all of its submodules. + + recursivearchivefiles () + { + # recursivearchivefiles directory prefix tree-ish output-file ++ + cd "$1" +- for f in `git ls-files`; do +- if test -d "$f/.git"; then +- recursivearchivefiles "$PWD"/"$f" "$2""$f"/ "`git rev-parse HEAD:$f`" "$4" +- cd "$1" ++ ++ echo Archiving: "$1" ++ ++ # recurse into submodules ++ git ls-tree -r "$3"|grep '^[^ ]* commit'|while read line; do ++ if test "x$line" = x; then ++ continue ++ fi ++ ++ obj=`echo "$line"|sed -e 's/^[^ ]* [^ ]* \([^ ]*\) .*$/\1/'` ++ filename=`echo "$line"|sed -e 's/^[^ ]* [^ ]* [^ ]* \(.*\)$/\1/'` ++ ++ if ! test -e "$1"/"$filename"/.git; then ++ echo Missing submodule: "$1"/"$filename" ++ continue + fi ++ ++ recursivearchivefiles "$1"/"$filename" "$2""$filename"/ "$obj" "$4" ++ ++ cd "$1" + done + + TEMPFILE=`tempfile` +@@ -21,9 +38,10 @@ recursivearchivefiles () + + OUTPUT_FILE="$PWD/$1.tar" + +-rm "$OUTPUT_FILE" ++rm -f "$OUTPUT_FILE" + + recursivearchivefiles "$PWD" "$1"/ "$1" "$OUTPUT_FILE" + ++rm -f "$OUTPUT_FILE.gz" + gzip "$OUTPUT_FILE" + +-- +1.7.10.2 + diff --git a/0054-build-winemono.sh-unset-CC-when-cross-compiling-othe.patch b/0054-build-winemono.sh-unset-CC-when-cross-compiling-othe.patch new file mode 100644 index 0000000..df0dfa9 --- /dev/null +++ b/0054-build-winemono.sh-unset-CC-when-cross-compiling-othe.patch @@ -0,0 +1,27 @@ +From a311dcaa0520d7ab755aea6671740dced221a853 Mon Sep 17 00:00:00 2001 +From: Austin English +Date: Mon, 11 Jun 2012 20:18:24 -0500 +Subject: [PATCH 54/55] build-winemono.sh: unset CC when cross compiling, + otherwise a native compiler will be used which fails. + +--- + build-winemono.sh | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/build-winemono.sh b/build-winemono.sh +index 034cdeb..5fca71c 100755 +--- a/build-winemono.sh ++++ b/build-winemono.sh +@@ -43,6 +43,9 @@ done + + cross_build_mono () + { ++ # Unset CC, if it is set, otherwise the build scripts will attempt to use the wrong compiler ++ unset CC ++ + local MINGW=$1 + local ARCH=$2 + +-- +1.7.10.2 + diff --git a/0055-Ship-MonoPosixHelper.dll.patch b/0055-Ship-MonoPosixHelper.dll.patch new file mode 100644 index 0000000..edc9b1b --- /dev/null +++ b/0055-Ship-MonoPosixHelper.dll.patch @@ -0,0 +1,31 @@ +From 8c857c1e72a145cd9c0904379615d09d4b9d1d98 Mon Sep 17 00:00:00 2001 +From: Vincent Povirk +Date: Wed, 13 Jun 2012 16:10:15 -0500 +Subject: [PATCH 55/55] Ship MonoPosixHelper.dll. + +--- + build-winemono.sh | 4 ++++ + mono | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/build-winemono.sh b/build-winemono.sh +index 5fca71c..f80c3ca 100755 +--- a/build-winemono.sh ++++ b/build-winemono.sh +@@ -63,12 +63,16 @@ cross_build_mono () + sed -e 's/-lgcc_s//' -i libtool + fi + WINEPREFIX=/dev/null make $MAKEOPTS || exit 1 ++ cd "$CURDIR/build-cross-$ARCH/support" ++ WINEPREFIX=/dev/null make $MAKEOPTS || exit 1 + rm -rf "$CURDIR/build-cross-$ARCH-install" ++ cd "$CURDIR/build-cross-$ARCH" + make install || exit 1 + cd "$CURDIR" + + mkdir -p "$CURDIR/image/bin" + cp "$CURDIR/build-cross-$ARCH-install/bin/libmono-2.0.dll" "$CURDIR/image/bin/libmono-2.0-$ARCH.dll" ++ cp "$CURDIR/build-cross-$ARCH/support/.libs/libMonoPosixHelper.dll" "$CURDIR/image/bin/MonoPosixHelper-$ARCH.dll" + } + + build_cli () diff --git a/sources b/sources index e69de29..0ff8081 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +61c5ee49b8847c4dccfdab1fbc0706ae wine-mono-0.0.4.tar.gz diff --git a/wine-mono-build-fixidtgeneration.patch b/wine-mono-build-fixidtgeneration.patch new file mode 100644 index 0000000..f652479 --- /dev/null +++ b/wine-mono-build-fixidtgeneration.patch @@ -0,0 +1,242 @@ +--- build-winemono.sh.orig 2012-06-26 21:09:02.185640667 +0200 ++++ build-winemono.sh 2012-06-26 21:14:24.272370920 +0200 +@@ -157,25 +157,25 @@ + + build_directorytable () + { +- echo 'Directory\tDirectory_Parent\tDefaultDir' +- echo 's72\tS72\tl255' +- echo 'Directory\tDirectory' +- +- echo 'TARGETDIR\t\tSourceDir' +- echo 'MONODIR\tMONOBASEDIR\tmono-2.0:.' +- echo 'MONOBASEDIR\tWindowsFolder\tmono:.' +- echo 'WindowsFolder\tTARGETDIR\t.' +- echo 'WindowsDotNet\tWindowsFolder\tMicrosoft.NET' +- echo 'WindowsDotNetFramework\tWindowsDotNet\tFramework' +- echo 'WindowsDotNetFramework11\tWindowsDotNetFramework\tv1.1.4322' +- echo 'WindowsDotNetFramework11Config\tWindowsDotNetFramework11\tCONFIG' +- echo 'WindowsDotNetFramework20\tWindowsDotNetFramework\tv2.0.50727' +- echo 'WindowsDotNetFramework20Config\tWindowsDotNetFramework20\tCONFIG' +- echo 'WindowsDotNetFramework30\tWindowsDotNetFramework\tv3.0' +- echo 'WindowsDotNetFramework30wcf\tWindowsDotNetFramework30\twindows communication foundation' +- echo 'WindowsDotNetFramework30wpf\tWindowsDotNetFramework30\twpf' +- echo 'WindowsDotNetFramework40\tWindowsDotNetFramework\tv4.0.30319' +- echo 'WindowsDotNetFramework40Config\tWindowsDotNetFramework40\tCONFIG' ++ echo -e 'Directory\tDirectory_Parent\tDefaultDir' ++ echo -e 's72\tS72\tl255' ++ echo -e 'Directory\tDirectory' ++ ++ echo -e 'TARGETDIR\t\tSourceDir' ++ echo -e 'MONODIR\tMONOBASEDIR\tmono-2.0:.' ++ echo -e 'MONOBASEDIR\tWindowsFolder\tmono:.' ++ echo -e 'WindowsFolder\tTARGETDIR\t.' ++ echo -e 'WindowsDotNet\tWindowsFolder\tMicrosoft.NET' ++ echo -e 'WindowsDotNetFramework\tWindowsDotNet\tFramework' ++ echo -e 'WindowsDotNetFramework11\tWindowsDotNetFramework\tv1.1.4322' ++ echo -e 'WindowsDotNetFramework11Config\tWindowsDotNetFramework11\tCONFIG' ++ echo -e 'WindowsDotNetFramework20\tWindowsDotNetFramework\tv2.0.50727' ++ echo -e 'WindowsDotNetFramework20Config\tWindowsDotNetFramework20\tCONFIG' ++ echo -e 'WindowsDotNetFramework30\tWindowsDotNetFramework\tv3.0' ++ echo -e 'WindowsDotNetFramework30wcf\tWindowsDotNetFramework30\twindows communication foundation' ++ echo -e 'WindowsDotNetFramework30wpf\tWindowsDotNetFramework30\twpf' ++ echo -e 'WindowsDotNetFramework40\tWindowsDotNetFramework\tv4.0.30319' ++ echo -e 'WindowsDotNetFramework40Config\tWindowsDotNetFramework40\tCONFIG' + + cd "$CURDIR/image" + +@@ -189,7 +189,7 @@ + DIRNAME=MONODIR + fi + BASENAME=`basename $f` +- echo $KEY\\t$DIRNAME\\t$BASENAME ++ echo -e $KEY\\t$DIRNAME\\t$BASENAME + done + + cd "$CURDIR" +@@ -197,24 +197,24 @@ + + build_componenttable () + { +- echo 'Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath' +- echo 's72\tS38\ts72\ti2\tS255\tS72' +- echo 'Component\tComponent' +- +- echo 'mono-registry\t{93BE4304-497C-4ACB-A0FD-1C3695C011B4}\tWindowsDotNetFramework\t4\t\tDotNetFrameworkInstallRoot' +- echo 'config-1.1\t{0DA29B5A-2050-4200-92EE-442D1EE6CF96}\tWindowsDotNetFramework11Config\t0\t\t1.1-machine.config' +- echo 'config-2.0\t{ABB0BF6A-6610-4E45-8194-64D596667621}\tWindowsDotNetFramework20Config\t0\t\t2.0-machine.config' +- echo 'config-4.0\t{511C0294-4504-4FC9-B5A7-E85CCEE95C6B}\tWindowsDotNetFramework40Config\t0\t\t4.0-machine.config' +- echo 'dotnet-folder\t{22DCE198-F30F-4E74-AEC6-D089B844A878}\tWindowsDotNet\t0\t\t' # needed to remove the folder +- echo 'framework-folder\t{41B3A67B-63F4-4491-A53C-9E792BE5A889}\tWindowsDotNetFramework\t0\t\t' +- echo 'framework11-folder\t{20F5741D-4655-400D-8373-7607A84D2478}\tWindowsDotNetFramework11\t0\t\t' +- echo 'framework20-folder\t{B845FD54-09B7-467C-800F-205A142F2F20}\tWindowsDotNetFramework20\t0\t\t' +- echo 'framework30-folder\t{C3221C80-F9D2-41B5-91E1-F6ADBB05ABBC}\tWindowsDotNetFramework30\t0\t\t' +- echo 'framework30wcf-folder\t{1ECAD22C-31C2-4BAC-AC74-78883C396FAB}\tWindowsDotNetFramework30wcf\t0\t\t' +- echo 'framework30wpf-folder\t{3C146462-0CAF-4F07-83E6-A75A2A5DE961}\tWindowsDotNetFramework30wpf\t0\t\t' +- echo 'framework40-folder\t{29ECF991-3E9E-4D23-B0B2-874631642B13}\tWindowsDotNetFramework40\t0\t\t' +- echo 'monobase-folder\t{BE46D94A-7443-4B5C-9B91-6A83815365AB}\tMONOBASEDIR\t0\t\t' +- echo 'mono-folder\t{FD7F9172-4E35-4DF5-BD6A-FB7B795D9346}\tMONODIR\t0\t\t' ++ echo -e 'Component\tComponentId\tDirectory_\tAttributes\tCondition\tKeyPath' ++ echo -e 's72\tS38\ts72\ti2\tS255\tS72' ++ echo -e 'Component\tComponent' ++ ++ echo -e 'mono-registry\t{93BE4304-497C-4ACB-A0FD-1C3695C011B4}\tWindowsDotNetFramework\t4\t\tDotNetFrameworkInstallRoot' ++ echo -e 'config-1.1\t{0DA29B5A-2050-4200-92EE-442D1EE6CF96}\tWindowsDotNetFramework11Config\t0\t\t1.1-machine.config' ++ echo -e 'config-2.0\t{ABB0BF6A-6610-4E45-8194-64D596667621}\tWindowsDotNetFramework20Config\t0\t\t2.0-machine.config' ++ echo -e 'config-4.0\t{511C0294-4504-4FC9-B5A7-E85CCEE95C6B}\tWindowsDotNetFramework40Config\t0\t\t4.0-machine.config' ++ echo -e 'dotnet-folder\t{22DCE198-F30F-4E74-AEC6-D089B844A878}\tWindowsDotNet\t0\t\t' # needed to remove the folder ++ echo -e 'framework-folder\t{41B3A67B-63F4-4491-A53C-9E792BE5A889}\tWindowsDotNetFramework\t0\t\t' ++ echo -e 'framework11-folder\t{20F5741D-4655-400D-8373-7607A84D2478}\tWindowsDotNetFramework11\t0\t\t' ++ echo -e 'framework20-folder\t{B845FD54-09B7-467C-800F-205A142F2F20}\tWindowsDotNetFramework20\t0\t\t' ++ echo -e 'framework30-folder\t{C3221C80-F9D2-41B5-91E1-F6ADBB05ABBC}\tWindowsDotNetFramework30\t0\t\t' ++ echo -e 'framework30wcf-folder\t{1ECAD22C-31C2-4BAC-AC74-78883C396FAB}\tWindowsDotNetFramework30wcf\t0\t\t' ++ echo -e 'framework30wpf-folder\t{3C146462-0CAF-4F07-83E6-A75A2A5DE961}\tWindowsDotNetFramework30wpf\t0\t\t' ++ echo -e 'framework40-folder\t{29ECF991-3E9E-4D23-B0B2-874631642B13}\tWindowsDotNetFramework40\t0\t\t' ++ echo -e 'monobase-folder\t{BE46D94A-7443-4B5C-9B91-6A83815365AB}\tMONOBASEDIR\t0\t\t' ++ echo -e 'mono-folder\t{FD7F9172-4E35-4DF5-BD6A-FB7B795D9346}\tMONODIR\t0\t\t' + + cd "$CURDIR/image" + +@@ -228,7 +228,7 @@ + fi + GUID=`cat "$CURDIR/component-guids/${KEY}.guid"` + KEYPATH=`find "$f" -maxdepth 1 -type f|sort|head -n 1|sed -e 's/\//!/g'` +- echo $KEY\\t{$GUID}\\t$KEY\\t0\\t\\t$KEYPATH ++ echo -e $KEY\\t{$GUID}\\t$KEY\\t0\\t\\t$KEYPATH + done + + cd "$CURDIR" +@@ -236,20 +236,20 @@ + + build_createfoldertable () + { +- echo 'Directory_\tComponent_' +- echo 's72\ts72' +- echo 'CreateFolder\tDirectory_\tComponent_' +- +- echo 'WindowsDotNet\tdotnet-folder' +- echo 'WindowsDotNetFramework\tframework-folder' +- echo 'WindowsDotNetFramework11\tframework11-folder' +- echo 'WindowsDotNetFramework20\tframework20-folder' +- echo 'WindowsDotNetFramework30\tframework30-folder' +- echo 'WindowsDotNetFramework30wcf\tframework30wcf-folder' +- echo 'WindowsDotNetFramework30wpf\tframework30wpf-folder' +- echo 'WindowsDotNetFramework40\tframework40-folder' +- echo 'MONOBASEDIR\tmonobase-folder' +- echo 'MONODIR\tmono-folder' ++ echo -e 'Directory_\tComponent_' ++ echo -e 's72\ts72' ++ echo -e 'CreateFolder\tDirectory_\tComponent_' ++ ++ echo -e 'WindowsDotNet\tdotnet-folder' ++ echo -e 'WindowsDotNetFramework\tframework-folder' ++ echo -e 'WindowsDotNetFramework11\tframework11-folder' ++ echo -e 'WindowsDotNetFramework20\tframework20-folder' ++ echo -e 'WindowsDotNetFramework30\tframework30-folder' ++ echo -e 'WindowsDotNetFramework30wcf\tframework30wcf-folder' ++ echo -e 'WindowsDotNetFramework30wpf\tframework30wpf-folder' ++ echo -e 'WindowsDotNetFramework40\tframework40-folder' ++ echo -e 'MONOBASEDIR\tmonobase-folder' ++ echo -e 'MONODIR\tmono-folder' + + cd "$CURDIR/image" + +@@ -260,7 +260,7 @@ + FILE=`find "$f" -maxdepth 1 -type f` + if test ! "$FILE"; then + KEY=`echo $f|sed -e 's/\//|/g'` +- echo $KEY\\t$KEY ++ echo -e $KEY\\t$KEY + fi + done + +@@ -269,24 +269,24 @@ + + build_featurecomponentstable () + { +- echo 'Feature_\tComponent_' +- echo 's38\ts72' +- echo 'FeatureComponents\tFeature_\tComponent_' +- +- echo 'wine_mono\tmono-registry' +- echo 'wine_mono\tconfig-1.1' +- echo 'wine_mono\tconfig-2.0' +- echo 'wine_mono\tconfig-4.0' +- echo 'wine_mono\tdotnet-folder' +- echo 'wine_mono\tframework-folder' +- echo 'wine_mono\tframework11-folder' +- echo 'wine_mono\tframework20-folder' +- echo 'wine_mono\tframework30-folder' +- echo 'wine_mono\tframework30wcf-folder' +- echo 'wine_mono\tframework30wpf-folder' +- echo 'wine_mono\tframework40-folder' +- echo 'wine_mono\tmonobase-folder' +- echo 'wine_mono\tmono-folder' ++ echo -e 'Feature_\tComponent_' ++ echo -e 's38\ts72' ++ echo -e 'FeatureComponents\tFeature_\tComponent_' ++ ++ echo -e 'wine_mono\tmono-registry' ++ echo -e 'wine_mono\tconfig-1.1' ++ echo -e 'wine_mono\tconfig-2.0' ++ echo -e 'wine_mono\tconfig-4.0' ++ echo -e 'wine_mono\tdotnet-folder' ++ echo -e 'wine_mono\tframework-folder' ++ echo -e 'wine_mono\tframework11-folder' ++ echo -e 'wine_mono\tframework20-folder' ++ echo -e 'wine_mono\tframework30-folder' ++ echo -e 'wine_mono\tframework30wcf-folder' ++ echo -e 'wine_mono\tframework30wpf-folder' ++ echo -e 'wine_mono\tframework40-folder' ++ echo -e 'wine_mono\tmonobase-folder' ++ echo -e 'wine_mono\tmono-folder' + + cd "$CURDIR/image" + +@@ -295,7 +295,7 @@ + continue + fi + KEY=`echo $f|sed -e 's/\//|/g'` +- echo wine_mono\\t$KEY ++ echo -e wine_mono\\t$KEY + done + + cd "$CURDIR" +@@ -303,9 +303,9 @@ + + build_filetable () + { +- echo 'File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence' +- echo 's72\ts72\tl255\ti4\tS72\tS20\tI2\ti2' +- echo 'File\tFile' ++ echo -e 'File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence' ++ echo -e 's72\ts72\tl255\ti4\tS72\tS20\tI2\ti2' ++ echo -e 'File\tFile' + + SEQ=0 + +@@ -334,7 +334,7 @@ + ;; + esac + +- echo $KEY\\t$COMPONENT\\t$BASENAME\\t$FILESIZE\\t\\t\\t\\t$SEQ ++ echo -e $KEY\\t$COMPONENT\\t$BASENAME\\t$FILESIZE\\t\\t\\t\\t$SEQ + done + + IMAGECAB_SEQ=$SEQ +@@ -344,11 +344,11 @@ + + build_mediatable () + { +- echo 'DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource' +- echo 'i2\ti4\tL64\tS255\tS32\tS72' +- echo 'Media\tDiskId' ++ echo -e 'DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource' ++ echo -e 'i2\ti4\tL64\tS255\tS32\tS72' ++ echo -e 'Media\tDiskId' + +- echo 1\\t$IMAGECAB_SEQ\\t\\t#image.cab\\t\\t ++ echo -e 1\\t$IMAGECAB_SEQ\\t\\t#image.cab\\t\\t + } + + build_msi () diff --git a/wine-mono-build-msifilename.patch b/wine-mono-build-msifilename.patch new file mode 100644 index 0000000..21552ab --- /dev/null +++ b/wine-mono-build-msifilename.patch @@ -0,0 +1,11 @@ +--- build-winemono.sh.orig 2012-06-17 21:36:07.966021810 +0200 ++++ build-winemono.sh 2012-06-17 21:38:27.681849104 +0200 +@@ -9,7 +9,7 @@ + ORIGINAL_PATH="$PATH" + REBUILD=0 + WINE=${WINE:-wine} +-MSIFILENAME=winemono.msi ++MSIFILENAME=${MSIFILENAME:-winemono.msi} + BUILD_TESTS=0 + + usage () diff --git a/wine-mono.spec b/wine-mono.spec new file mode 100644 index 0000000..a5e1d83 --- /dev/null +++ b/wine-mono.spec @@ -0,0 +1,132 @@ +%{?mingw_package_header} + +Name: wine-mono +Version: 0.0.4 +Release: 7%{?dist} +Summary: Mono library required for Wine + +License: GPLv2 and LGPLv2 and MIT and BSD and MS-PL and MPLv1.1 +Group: Development/Libraries +URL: http://wiki.winehq.org/Mono +Source0: http://sourceforge.net/projects/wine/files/Wine%20Mono/0.0.4/wine-mono-0.0.4.tar.gz +Patch0: wine-mono-build-msifilename.patch +Patch1: wine-mono-build-fixidtgeneration.patch + +# see git://github.com/madewokherd/wine-mono +Patch100: 0052-Add-a-script-for-making-a-source-tarball.patch +Patch101: 0053-Rewrite-source-tarball-script.patch +Patch102: 0054-build-winemono.sh-unset-CC-when-cross-compiling-othe.patch +Patch103: 0055-Ship-MonoPosixHelper.dll.patch + +BuildArch: noarch + +# 64 +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-binutils +BuildRequires: mingw64-headers +BuildRequires: mingw64-cpp +BuildRequires: mingw64-gcc +BuildRequires: mingw64-gcc-c++ +BuildRequires: mingw64-crt +# 32 +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw32-binutils +BuildRequires: mingw32-headers +BuildRequires: mingw32-cpp +BuildRequires: mingw32-gcc +BuildRequires: mingw32-gcc-c++ +BuildRequires: mingw32-crt + +BuildRequires: autoconf automake +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: gettext +BuildRequires: zip +BuildRequires: wine-core wine-wow +BuildRequires: wine-devel +BuildRequires: mono-core + +Requires: wine-filesystem + +%description +Windows Mono library required for Wine. + +%prep +%setup -q +%patch0 -b.msifilename +%patch1 -b.fixidtgen +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 +%patch103 -p1 + +%build +# make sure this builds on x86-64 +if [ -x %{_bindir}/wine ] ; then + MAKEOPTS=%{_smp_mflags} MSIFILENAME=wine-mono-%{version}.msi ./build-winemono.sh +else + MAKEOPTS=%{_smp_mflags} WINE=%{_bindir}/wine64 MSIFILENAME=wine-mono-%{version}.msi ./build-winemono.sh +fi + +%install +mkdir -p %{buildroot}%{_datadir}/wine/mono +install -p -m 0644 wine-mono-%{version}.msi \ + %{buildroot}%{_datadir}/wine/mono/wine-mono-%{version}.msi + +# prep licenses +cp mono/LICENSE mono-LICENSE +cp mono/COPYING.LIB mono-COPYING.LIB + +pushd mono/mcs + +sed -i 's/\r//' LICENSE.MSPL + +iconv -f iso8859-1 -t utf-8 LICENSE.MSPL > LICENSE.MSPL.conv && mv -f LICENSE.MSPL.conv LICENSE.MSPL + +for l in `ls LICENSE*`; do +echo $l +cp $l ../../mono-mcs-$l +done + +popd + +cp mono-basic/README mono-basic-README +cp mono-basic/LICENSE mono-basic-LICENSE +cp MonoGame/LICENSE.txt MonoGame-LICENSE.txt + +%files +%doc COPYING README +%doc mono-LICENSE mono-COPYING.LIB mono-mcs* +%doc mono-basic-README mono-basic-LICENSE +%doc MonoGame-LICENSE.txt +%{_datadir}/wine/mono/wine-mono-%{version}.msi + +%changelog +* Wed Jul 04 2012 Andreas Bierfert +- 0.0.4-7 +- add mingw-filesystem BR +- fix header macro + +* Fri Jun 29 2012 Andreas Bierfert +- 0.0.4-6 +- rename to wine-mono + +* Wed Jun 27 2012 Andreas Bierfert +- 0.0.4-5 +- add conditional so package builds on x86-64 builders as well + +* Tue Jun 26 2012 Andreas Bierfert +- 0.0.4-4 +- add -e option to echo in build script to fix idt files generation + +* Sun Jun 24 2012 Andreas Bierfert +- 0.0.4-3 +- pull some upstream patches from git + +* Tue Jun 12 2012 Andreas Bierfert +- 0.0.4-2 +- rename msi according to what wine expects + +* Mon May 28 2012 Andreas Bierfert +- 0.0.4-1 +- Initial release