termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
12.98k stars 2.98k forks source link

Package request wine #1423

Closed ytrezq closed 7 months ago

ytrezq commented 7 years ago

Hello, it would be nice to be able to run simple windows console programs like botvs. However wine is difficult to compile and have many dependecies like mono. Of course, in order to make things simpler, building graphic support is not needed.

Auxilus commented 7 years ago

@ytrezq please refer https://github.com/termux/termux-packages/pull/332

ytrezq commented 7 years ago

Looks likes there are no pre built package. Would it be poosible to create a disabled by default repository for such packages?

iamahuman commented 2 years ago

Reporting that Wine works well on Termux (+ Termux:X11) with a few patches :+1:

Screenshot_20211105-212622_TermuxX11

ghost commented 2 years ago

Reporting that Wine works well on Termux (+ Termux:X11) with a few patches 👍

Screenshot_20211105-212622_TermuxX11

Did you compile it natively for Termux? just wondering

iamahuman commented 2 years ago

Did you compile it natively for Termux? just wondering

Yes, it was compiled using Termux clang + llvm-{windres,dlltool}.

ghost commented 2 years ago

nice! although the problem is win32 apps support. which most windows apps targeted for intel and winrt apps have limited set of ports. not unless windows apps can be compiled for arm if source code and compiler is available.

it would still be nice if sharing the compilation steps and patches

iamahuman commented 2 years ago

nice! although the problem is win32 apps support. which most windows apps targeted for intel and winrt apps have limited set of ports. not unless windows apps can be compiled for arm if source code and compiler is available.

Perhaps the WoW mechanism could be abused to juxtapose qemu-x86_64-user onto wine, but this is an upstream (wine) issue.

it would still be nice if sharing the compilation steps and patches

Ok, here's the whole (non-finalized, completely hacky) thing: https://gist.github.com/iamahuman/1d8db9637c314b9af47db7b7238f6ebc#file-wine-6-20-termux-patch-L23264

Note that you still need to

  1. Ensure all dependencies are available.
  2. Get libunwind header files from LLVM (I was still unable to get libunwind to work right, so SEH is still clunky)
  3. If you are on ARM64, symlink llvm-dlltool and llvm-windres to dlltool and windres respectively, and make them available on PATH. This is because binutils doesn't still support pei-aarch64 target (as of 2021).
  4. Install https://github.com/termux/termux-x11.
truboxl commented 2 years ago

Maybe look into packaging https://github.com/AndreRH/hangover and https://github.com/AndreRH/hangover/issues/113

iamahuman commented 2 years ago

Maybe look into packaging https://github.com/AndreRH/hangover and AndreRH/hangover#113

Please file a separate package request.

fabzter commented 2 years ago

nice! although the problem is win32 apps support. which most windows apps targeted for intel and winrt apps have limited set of ports. not unless windows apps can be compiled for arm if source code and compiler is available.

Perhaps the WoW mechanism could be abused to juxtapose qemu-x86_64-user onto wine, but this is an upstream (wine) issue.

it would still be nice if sharing the compilation steps and patches

Ok, here's the whole (non-finalized, completely hacky) thing: https://gist.github.com/iamahuman/1d8db9637c314b9af47db7b7238f6ebc#file-wine-6-20-termux-patch-L23264

Note that you still need to

  1. Ensure all dependencies are available.
  2. Get libunwind header files from LLVM (I was still unable to get libunwind to work right, so SEH is still clunky)
  3. If you are on ARM64, symlink llvm-dlltool and llvm-windres to dlltool and windres respectively, and make them available on PATH. This is because binutils doesn't still support pei-aarch64 target (as of 2021).
  4. Install https://github.com/termux/termux-x11.

Do you still remember what was your configure parameters for building wine?

iamahuman commented 2 years ago

nice! although the problem is win32 apps support. which most windows apps targeted for intel and winrt apps have limited set of ports. not unless windows apps can be compiled for arm if source code and compiler is available.

Perhaps the WoW mechanism could be abused to juxtapose qemu-x86_64-user onto wine, but this is an upstream (wine) issue.

it would still be nice if sharing the compilation steps and patches

Ok, here's the whole (non-finalized, completely hacky) thing: https://gist.github.com/iamahuman/1d8db9637c314b9af47db7b7238f6ebc#file-wine-6-20-termux-patch-L23264 Note that you still need to

  1. Ensure all dependencies are available.
  2. Get libunwind header files from LLVM (I was still unable to get libunwind to work right, so SEH is still clunky)
  3. If you are on ARM64, symlink llvm-dlltool and llvm-windres to dlltool and windres respectively, and make them available on PATH. This is because binutils doesn't still support pei-aarch64 target (as of 2021).
  4. Install https://github.com/termux/termux-x11.

Do you still remember what was your configure parameters for building wine?

../wine/configure --disable-win16 --without-pulse