wine: New package
PATCH v6 1/1 wine: New package
Adds new package: wine
Wine is a compatibility layer capable of running Windows applications on Linux.
---
I hope i addressed all the comments in the correct manner
try 2: Fix issue spotted by baruch
try 3: Added comments, added hash file, fixed X11 check, depend on internal toolchain, added bison and flex to host dependencies try 4: instead of depending on internal toolchains add the expected tuple via --host
try 5: Added 64-bit check for host-wine and restricted wine build to x86 for now. Also added more comments try 6: Implemented ideas by Yann E. MORIN and added his suggested code. Including:
* download from sourceforge
* reduction of host-wine build process
* improved fix for the gcc wrapper problem
package/Config.in | 1 + package/wine/Config.in | 24 ++++ package/wine/wine.hash | 2 + package/wine/wine.mk | 292 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 319 insertions(+)
package/Config.in +1 -0
@@ -1015,6 +1015,7 @@ menu "Miscellaneous" source "package/snowball-init/Config.in" source "package/sound-theme-borealis/Config.in" source "package/sound-theme-freedesktop/Config.in" + source "package/wine/Config.in" endmenu menu "Networking applications"
package/wine/Config.in new file +24 -0
@@ -0,0 +1,24 @@ +config BR2_PACKAGE_WINE + bool "wine" + depends on BR2_INET_IPV6 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_USES_GLIBC + # Wine only builds on certain architectures + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + # Wine has much CPU specific code and mostly makes sense on x86 + depends on BR2_i386 + help + Wine is a compatibility layer capable of running Windows + applications on Linux. Instead of simulating internal + Windows logic like a virtual machine or emulator, Wine + translates Windows API calls into POSIX calls on-the-fly, + eliminating the performance and memory penalties of other + methods. + + http://www.winehq.org + +comment "wine needs a (e)glibc toolchain w/ IPv6, threads" + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_i386 + depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_GLIBC
package/wine/wine.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 f0ab9eede5a0ccacbf6e50682649f9377b9199e49cf55641f1787cf72405acbe wine-1.6.2.tar.bz2
package/wine/wine.mk new file +292 -0
292 lines not on this page · raw message
PATCH v6 1/1 wine: New package
Andre, All,
On 2015-02-18 22:35 +0100, Andr? Hentschel spake thusly:
Quoted 1 line
Adds new package: wine
[--SNIP--]
Quoted 13 lines
package/wine/wine.mk new file +7
-0@@ -0,0 +1,292 @@ +################################################################################ +# +# wine +# +################################################################################ + +WINE_VERSION = 1.6.2
package/wine/wine.mk line 17
Quoted 10 lines
package/wine/wine.mk new file +10
-0+WINE_SOURCE = wine-$(WINE_VERSION).tar.bz2 +WINE_SITE = http://downloads.sourceforge.net/project/wine/Source/ +WINE_LICENSE = LGPLv2.1+ +WINE_LICENSE_FILES = COPYING.LIB LICENSE +WINE_DEPENDENCIES = host-bison host-flex host-wine + +# Wine needs to enable 64-bit build tools on 64-bit host +ifeq ($(HOSTARCH),x86_64) + HOST_WINE_CONF_OPTS += --enable-win64 +endif
Please, keep all host-related stuff together. In this patch, you have some configure options here and at the end, and build+install commands here. Just move evrything host-related together (preferrably at the bottom of the file).
package/wine/wine.mk line 28
Quoted 10 lines
package/wine/wine.mk new file +10
-0+# Wine only needs the host tools to be built, so cut-down the +# build time by building just what we need. +HOST_WINE_BUILD_CMDS = \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + tools \ + tools/widl \ + tools/winebuild \ + tools/winegcc \ + tools/wmc \ + tools/wrc
We use macros to define build commands:
define HOST_WINE_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
tools \
tools/widl \
tools/winebuild \
tools/winegcc \
tools/wmc \
tools/wrc
endefWhy TARGET_MAKE_ENV? You should use HOST_MAKE_ENV, since you're building a host package at that point.
Otherwise, looks good. I'm queueing that for further inspection + tests this WE.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v6 1/1 wine: New package
Hi Yann, All,
Am 18.02.2015 um 23:09 schrieb Yann E. MORIN:
Quoted 14 lines
Andre, All,
On 2015-02-18 22:35 +0100, Andr? Hentschel spake thusly:
package/wine/wine.mk line 17
Quoted 6 lines
package/wine/wine.mk new file +6
-0+WINE_DEPENDENCIES = host-bison host-flex host-wine + +# Wine needs to enable 64-bit build tools on 64-bit host +ifeq ($(HOSTARCH),x86_64) + HOST_WINE_CONF_OPTS += --enable-win64 +endifPlease, keep all host-related stuff together. In this patch, you have some configure options here and at the end, and build+install commands here. Just move evrything host-related together (preferrably at the bottom of the file).
done for v7
Quoted 13 lines
package/wine/wine.mk line 28
Quoted 10 lines
package/wine/wine.mk new file +10
-0+# Wine only needs the host tools to be built, so cut-down the +# build time by building just what we need. +HOST_WINE_BUILD_CMDS = \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + tools \ + tools/widl \ + tools/winebuild \ + tools/winegcc \ + tools/wmc \ + tools/wrcWe use macros to define build commands:
Quoted 9 lines
define HOST_WINE_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
tools \
tools/widl \
tools/winebuild \
tools/winegcc \
tools/wmc \
tools/wrc
endefdone for v7
Quoted 3 lines
Why
TARGET_MAKE_ENV? You should useHOST_MAKE_ENV, since you're building a host package at that point.
fixed in v7, i copy&pasted to much from you ;)
Quoted 2 lines
Otherwise, looks good. I'm queueing that for further inspection + tests this WE.
thx