[wine-mono] 0.0.4-7

Andreas Bierfert awjb at fedoraproject.org
Thu Jul 5 04:35:55 UTC 2012


commit 2574a195c412e5471c09c752c96d86dc3aa86f27
Author: Andreas Bierfert <andreas.bierfert at lowlatency.de>
Date:   Thu Jul 5 06:35:47 2012 +0200

    0.0.4-7
    
    - add mingw-filesystem BR
    - fix header macro

 .gitignore                                         |    1 +
 ...-Add-a-script-for-making-a-source-tarball.patch |   48 ++++
 0053-Rewrite-source-tarball-script.patch           |   66 ++++++
 ...ono.sh-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(+), 0 deletions(-)
---
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 <vincent at codeweavers.com>
+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 <vincent at codeweavers.com>
+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 <austinenglish at gmail.com>
+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 <vincent at codeweavers.com>
+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 <andreas.bierfert[AT]lowlatency.de>
+- 0.0.4-7
+- add mingw-filesystem BR
+- fix header macro
+
+* Fri Jun 29 2012 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
+- 0.0.4-6
+- rename to wine-mono
+
+* Wed Jun 27 2012 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
+- 0.0.4-5
+- add conditional so package builds on x86-64 builders as well
+
+* Tue Jun 26 2012 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
+- 0.0.4-4
+- add -e option to echo in build script to fix idt files generation
+
+* Sun Jun 24 2012 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
+- 0.0.4-3
+- pull some upstream patches from git
+
+* Tue Jun 12 2012 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
+- 0.0.4-2
+- rename msi according to what wine expects
+
+* Mon May 28 2012 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
+- 0.0.4-1
+- Initial release


More information about the scm-commits mailing list