wine: New package
PATCH 1/1 wine: New package
Adds new package: wine
Wine is a compatibility layer capable of running Windows applications on Linux.
---
No comments on my last RFC makes me think it's good enough for submission. try 2: Fix issue spotted by baruch
package/Config.in | 1 + package/wine/Config.in | 20 +++++++++++ package/wine/wine.mk | 264 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 285 insertions(+)
package/Config.in +1 -0
@@ -1004,6 +1004,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 +20 -0
@@ -0,0 +1,20 @@ +config BR2_PACKAGE_WINE + bool "wine" + depends on BR2_INET_IPV6 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_USES_GLIBC + # Wine has much CPU specific code + depends on BR2_i386 || BR2_x86_64 + 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_i386 || BR2_x86_64 + depends on !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_GLIBC
package/wine/wine.mk new file +264 -0
264 lines not on this page · raw message
PATCH 1/1 wine: New package
Dear Andr? Hentschel,
Quoted 8 lines · Andr? Hentschel
Adds new package: wine
Wine is a compatibility layer capable of running Windows applications on Linux.
Signed-off-by Andr? Hentschel <[email protected]>---
No comments on my last RFC makes me think it's good enough for submission. try 2: Fix issue spotted by baruch
Thanks for this new version. See some comments below.
First, one thing that surprises me is the number of optional features that you try to support. Did you really tried all of them? Are you using all of them? In general, when we add a new package, we don't necessarily try to support all possible optional dependencies, because it's not necessarily easy.
But well, as long as you're ready to fix potential build issues that will arise in the autobuilders after building the wine package, I'm fine :-)
package/wine/wine.mk line 9
Quoted 3 lines
package/wine/wine.mk new file +3
-0+WINE_VERSION = 1.6.2 +WINE_SOURCE = wine-$(WINE_VERSION).tar.bz2 +WINE_SITE = http://source.winehq.org/git/wine.git/snapshot/
Since you're download a tarball, please add a wine.hash file. See the Buildroot manual for more details about hash files.
package/wine/wine.mk line 19
Quoted 10 lines
package/wine/wine.mk new file +10
-0+WINE_LICENSE = LGPLv2.1+ +WINE_LICENSE_FILES = COPYING.LIB +WINE_INSTALL_TARGET = YES +WINE_DEPENDENCIES = host-wine + +#Wine needs its own directory structure and tools for cross compiling +WINE_CONF_OPTS += --with-wine-tools=../host-wine-$(WINE_VERSION) +WINE_CONF_OPTS += --disable-tests +WINE_CONF_OPTS += --without-opengl +WINE_CONF_OPTS += $(if $(BR2_ARCH_IS_64),--enable-win64)
Please use only one assigment:
WINE_CONF_OPTS = \ --with-wine-tools=... \ --disable-tests \ --without-opengl \ $(if ...)
package/wine/wine.mk line 48
Quoted 5 lines
package/wine/wine.mk new file +5
-0+ifeq ($(BR2_PACKAGE_FREETYPE),y) + WINE_CONF_OPTS += --with-freetype + HOST_WINE_CONF_OPTS += --with-freetype + WINE_DEPENDENCIES += freetype + HOST_WINE_DEPENDENCIES += host-freetype
This is not correct: BR2_PACKAGE_FREETYPE indicates that the target freetype package is enabled, not that we want freetype support in host-wine. Please only adjust WINE_CONF_OPTS and WINE_DEPENDENCIES, not HOST_WINE_CONF_OPTS and HOST_WINE_DEPENDENCIES. Unless you have a really good reason to do so, which should be explained in a comment.
package/wine/wine.mk line 52
Quoted 4 lines
package/wine/wine.mk new file +4
-0+else + WINE_CONF_OPTS += --without-freetype + HOST_WINE_CONF_OPTS += --without-freetype +endif
Ditto.
package/wine/wine.mk line 157
Quoted 6 lines
package/wine/wine.mk new file +6
-0+ifeq ($(BR2_PACKAGE_XORG7),y) + WINE_CONF_OPTS += --with-x + WINE_DEPENDENCIES += xlib_libX11 +else + WINE_CONF_OPTS += --without-x +endif
If you do this, then you need:
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
in wine/Config.in.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 wine: New package
In reply to André HentschelDear Andr? Hentschel,
Quoted 5 lines · Andr? Hentschel
Adds new package: wine
Wine is a compatibility layer capable of running Windows applications on Linux.
Signed-off-by Andr? Hentschel <[email protected]>
I did some actual testing of this, and here are the issues:
* host-flex should be in HOST_WINE_DEPENDENCIES. Otherwise, I get "configure: error: no suitable flex found" at configure time of host-wine. You didn't see the error because you have the flex utility installed in your system.
* host-bison should be in HOST_WINE_DEPENDENCIES, for the same reason.
* With those issues fixed, the build still doesn't work, I get a "winebuild: cannot find suitable name lister" message. More log below:
../../../host-wine-1.6.2/tools/winegcc/winegcc -b i586-buildroot-linux-gnu -B../../../host-wine-1.6.2/tools/winebuild --sysroot=../.. -fasynchronous-unwind-tables -shared ./advapi32.spec advapi.o cred.o crypt.o crypt_arc4.o crypt_des.o crypt_lmhash.o crypt_md4.o crypt_md5.o crypt_sha.o eventlog.o lsa.o registry.o security.o service.o svcctl_c.o version.res -o advapi32.dll.so -lrpcrt4 -Wb,-drpcrt4 ../../libs/port/libwine_port.a
../../../host-wine-1.6.2/tools/winegcc/winegcc -b i586-buildroot-linux-gnu -B../../../host-wine-1.6.2/tools/winebuild --sysroot=../.. -fasynchronous-unwind-tables -shared ./advapi32.spec advapi.o cred.o crypt.o crypt_arc4.o crypt_des.o crypt_lmhash.o crypt_md4.o crypt_md5.o crypt_sha.o eventlog.o lsa.o registry.o security.o service.o svcctl_c.o version.res -o advapi32.dll.fake -lrpcrt4 -Wb,-drpcrt4 ../../libs/port/libwine_port.a
winebuild: cannot find suitable name lister
winegcc: ../../../host-wine-1.6.2/tools/winebuild/winebuild failed make[3]: *** [advapi32.dll.so] Error 2
make[2]: *** [dlls/advapi32] Error 2
../../../host-wine-1.6.2/tools/winegcc/winegcc -b i586-buildroot-linux-gnu -B../../../host-wine-1.6.2/tools/winebuild --sysroot=../.. -fasynchronous-unwind-tables -shared ./actxprxy.spec usrmarshal.o actxprxy_activscp_p.o actxprxy_comcat_p.o actxprxy_docobj_p.o actxprxy_hlink_p.o actxprxy_htiface_p.o actxprxy_htiframe_p.o actxprxy_objsafe_p.o actxprxy_ocmm_p.o actxprxy_servprov_p.o actxprxy_shldisp_p.o actxprxy_shobjidl_p.o actxprxy_urlhist_p.o actxprxy_activscp_r.res actxprxy_comcat_r.res actxprxy_docobj_r.res actxprxy_hlink_r.res actxprxy_htiface_r.res actxprxy_htiframe_r.res actxprxy_objsafe_r.res actxprxy_ocmm_r.res actxprxy_servprov_r.res actxprxy_shldisp_r.res actxprxy_shobjidl_r.res actxprxy_urlhist_r.res dlldata.o -o actxprxy.dll.so -luuid -loleaut32 -lole32 -lrpcrt4 ../../libs/port/libwine_port.a ../../../host-wine-1.6.2/tools/winegcc/winegcc -b i586-buildroot-linux-gnu -B../../../host-wine-1.6.2/tools/winebuild --sysroot=../.. -fasynchronous-unwind-tables -shared ./actxprxy.spec usrmarshal.o actxprxy_activscp_p.o actxprxy_comcat_p.o actxprxy_docobj_p.o actxprxy_hlink_p.o actxprxy_htiface_p.o actxprxy_htiframe_p.o actxprxy_objsafe_p.o actxprxy_ocmm_p.o actxprxy_servprov_p.o actxprxy_shldisp_p.o actxprxy_shobjidl_p.o actxprxy_urlhist_p.o actxprxy_activscp_r.res actxprxy_comcat_r.res actxprxy_docobj_r.res actxprxy_hlink_r.res actxprxy_htiface_r.res actxprxy_htiframe_r.res actxprxy_objsafe_r.res actxprxy_ocmm_r.res actxprxy_servprov_r.res actxprxy_shldisp_r.res actxprxy_shobjidl_r.res actxprxy_urlhist_r.res dlldata.o -o actxprxy.dll.fake -luuid -loleaut32 -lole32 -lrpcrt4 ../../libs/port/libwine_port.a
winebuild: cannot find suitable name lister
winegcc: ../../../host-wine-1.6.2/tools/winebuild/winebuild failed make[3]: *** [actxprxy.dll.so] Error 2
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [dlls/actxprxy] Error 2
make[1]: *** [/home/test/outputs/wine/build/wine-1.6.2/.stamp_built] Error 2
make: *** [_all] Error 2
Best regards,
Thomas Petazzoni
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com