Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wine: add x86_64 target with i686 support #540

Closed
wants to merge 1 commit into from
Closed

wine: add x86_64 target with i686 support #540

wants to merge 1 commit into from

Conversation

Rosalie241
Copy link
Contributor

I'm sorry about the closure of the previous PR, I made a mistake and I couldn't restore the branch due to my stupidity, won't happen again.

srcpkgs/wine/template Outdated Show resolved Hide resolved
@abenson
Copy link
Contributor

abenson commented Jul 11, 2018

If you can update this to wine 3.12, that'd be great.

Using this in conjunction with the expected libGL 18.x updates, DXVK, etc, and it all works great!

@nathanielhorn
Copy link

I've tested this version as well and it build succesfully including dxvk/vulkan support. everything runs great. hope this gets merged soon

@abenson
Copy link
Contributor

abenson commented Jul 26, 2018

Needs a bump to 3.13, but I think it's great

@Rosalie241
Copy link
Contributor Author

@abenson there's already a PR to bump the wine version: #1206

@abenson
Copy link
Contributor

abenson commented Jul 26, 2018

But wine64..

@Rosalie241
Copy link
Contributor Author

Rosalie241 commented Jul 26, 2018

@abenson wine64 doesn't need to be bumped since it's from the same source as wine32.
EDIT: win -> wine

@abenson
Copy link
Contributor

abenson commented Jul 26, 2018

Well, when that PR gets merged, this one will conflict and you'll have to rework it anyway.

@Rosalie241
Copy link
Contributor Author

Rosalie241 commented Jul 26, 2018

@abenson it isn't much work for me to "rework" this PR
(I probably do this wrong but it works)
I clone this repo(void-linux/void-packages)
then I apply my patch(with version number modified)
git commit # with my message
git checkout -b [branch]
then I do a force push to my fork and the PR will be updated

@Sacules
Copy link

Sacules commented Aug 4, 2018

I'm very interested in this, hope it gets merged soon 😃

@Rosalie241
Copy link
Contributor Author

Rosalie241 commented Aug 5, 2018 via email

@ghost
Copy link

ghost commented Aug 31, 2018

any status on this? :(

@Rosalie241
Copy link
Contributor Author

Rosalie241 commented Aug 31, 2018 via email

@Hoshpak
Copy link
Member

Hoshpak commented Sep 1, 2018

I'm afraid this can't be merged because xbps-src does not support what you are trying to do right now. Currently the only option seems to be to create separate wine and wine64 packages, thus losing the WoW64 functionality. Currently I'm experimenting a bit with xbps-src to be able to give you a substantiated explanation of why it most likely won't be accepted. (Or possibly prove my assumptions wrong, we will see)

@Hoshpak
Copy link
Member

Hoshpak commented Sep 1, 2018

So my computer just finished compiling all the dependencies, I will begin from the start so that everyone gets the full picture:

Void never had true multiarch support the way Debian or other distributions implemented it. The only thing that comes somewhat close to it is the building of the -32bit packages which is more of a hack. It uses the i686 binaries built by the i686 builder and repackages them as x86_64 binary packages with the `-32bit' suffix. So building the wine package the way proposed in this PR would require the necessary builds to have run on the i686 builder first and the multilib repository to be enabled during the build. Since both is the case in the current configuration, that would work if the template hits the builders.

However void-packages is built on the premise that it is possible to bootstrap everything from sources without requiring any preexisting binary packages. So I should be able to always just clone this repository, not use any of the mirrors and build a whole system from the sources. That's also the reason why packages that require themselves to bootstrap something have two versions of them in the repository, one being binaries provided by upstream which can be used to bootstrap and build the package from source, the other one being the source of the packages which can then be built. Now if I try to compile wine with this template without using the existing repositories, it will fail because xbps-src can't find any of the -32bit packages. There is no template for them and xbps-src can't detect that it should build the packages without suffix for i686 first to have them available. That's what was referred to in https://github.com/voidlinux/void-packages/pull/11534 as

bootstrap issues

The proper solution for this would be to implement true multiarch support in Void which would be a huge amount of work and extend xbps-src to make it possible to depend on packages for a different architecture and then automatically (cross)compiling the necessary packages for the specified architecture.

@Vintodrimmer
Copy link
Contributor

Could you include the ability to apply the staging patches too, please?

@Rosalie241
Copy link
Contributor Author

Rosalie241 commented Nov 30, 2018

@Vintodrimmer already did that! https://github.com/tim241/void-packages/tree/wine-staging-wip

just change the version number & hashes to compile the version you want 👍

EDIT: while I'm at it, I'll write some basic instructions on how to do this

# clone the void-packages repo
git clone https://github.com/void-linux/void-packages --depth=1
cd void-packages

# for wine
export "$(cat srcpkgs/wine/template | grep 'version=' )"
curl https://patch-diff.githubusercontent.com/raw/void-linux/void-packages/pull/540.patch -o wine.patch
sed -i "s|4.0|$version|g" wine.patch
patch -p1 < wine.patch

# If you want to add staging
curl https://github.com/tim241/void-packages/commit/65232c520f893250a45733efebd812c39c16cbee.patch -o wine-staging.patch
patch -p1 < wine-staging.patch

# (optional) change the wine version
export WINE_VERSION="desired wine version"
sed -i "s|$version|$WINE_VERSION|g" srcpkgs/wine/template

the first build will fail(due to hash mismatch) but you can change the hashes in srcpkgs/wine/template

@yjp20
Copy link
Contributor

yjp20 commented Jan 26, 2019

@tim241 can you edit the changes for new wine template

@Rosalie241
Copy link
Contributor Author

@youngjinpark20 done 👍

@yjp20
Copy link
Contributor

yjp20 commented Feb 3, 2019

@tim241 thanks for your good work 🥇

@Vintodrimmer
Copy link
Contributor

Ping @maxice8 .

Is there anything still stopping this from getting into the repos?

@Rosalie241
Copy link
Contributor Author

@Vintodrimmer

Is there anything still stopping this from getting into the repos?

yes, read #540 (comment) and #540 (comment)

@maxice8
Copy link
Contributor

maxice8 commented Feb 3, 2019 via email

@Gottox Gottox mentioned this pull request May 23, 2019
@Gottox
Copy link
Member

Gottox commented May 23, 2019

superseded by #11895

@Gottox Gottox closed this May 23, 2019
@Rosalie241
Copy link
Contributor Author

@Gottox Why? This PR (and yours presumably) is never gonna be merged due to #540 (comment) and #540 (comment) ?

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 18, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants