View previous topic :: View next topic |
Author |
Message |
saboya Guru
Joined: 28 Nov 2006 Posts: 552 Location: Brazil
|
Posted: Tue Feb 27, 2018 3:02 am Post subject: PSA - How to install wine-staging-9999 |
|
|
Wine Staging is no longer being maintained. However, some folks have forked it and have been keeping it up to date.
While the wine-staging repo is hard-coded to the live ebuild itself, Portage's flexibility allows us to override basically anything we want. So, let's do it.
1 - Commit hashes for Wine and Wine staging
You need to specify the correct commits for Wine and Wine-staging. In order to do this you have to check the latest commits to Wine-staging and get the last one that says "Rebase against <WINE_HASH>". WINE_HASH will be our Wine commit, and the hash of that commit itself will be our Wine staging commit.
Then you need to create an env file to tell Portage you want those commits. I called this file wine_staging_33. So, the contents of /etc/portage/env/wine_staging_33 should be:
Code: | STAGING_COMMIT="a1ec166849d66b93f03eb31a10de73c78e4f4724"
WINE_COMMIT="9ae8b8c00f2cca205fdf4ce76e221778b7dfbea7" |
2 - Wine staging repository
Now, Portage still thinks Wine staging resides at https://github.com/wine-compholio/wine-staging, but we need it to look for https://github.com/wine-staging/wine-staging. To do this, we'll edit our /etc/portage/bashrc:
Code: |
pre_src_unpack() {
if [[ "$PN" == "wine-staging" && "$PV" == "9999" ]]; then
STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging"
fi
}
|
This should be enough to make Portage look at the right place.
3 - Extra - Patches and deps
The previous 2 steps should be enough, however the latest Wine currently does not compile due to a previous Gentoo patch not applying correctly. So right now we need to remove the patch from the patchlist. Again, let's edit /etc/portage/bashrc, adding a few lines to our previous code:
Code: |
pre_src_unpack() {
if [[ "$PN" == "wine-staging" && "$PV" == "9999" ]]; then
STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
fi
}
|
Those patches were taken from the wine-staging-9999 commit, removing the last one ("${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch").
Also, currently THE KERBEROS USE FLAG HAS TO BE ENABLED. This should be fixed in the future, but for now just set +kerberos.
That's it, wine-staging should compile just fine. For wine-vanilla-9999, just skip the first step, the last 2 are still necessary. |
|
Back to top |
|
|
dark-wulf n00b
Joined: 02 Feb 2006 Posts: 40
|
Posted: Fri Mar 02, 2018 5:33 pm Post subject: |
|
|
I think more easy is it this way
copy
Code: | /usr/portage/app-emulation/wine-staging/wine-staging-9999.ebuild |
to something like
Code: | /usr/local/portage/app-emulation/wine-staging-new/wine-staging-new-9999.ebuild |
next replace all "compholio" with "staging" and find
Code: | PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
"${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864
)
PATCHES_BIN=() |
and remove the last line Code: | "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
next follow this guide
https://wiki.gentoo.org/wiki/Custom_repository
then check the latest commits from Wine-staging and get the last one that says "Rebase against <WINE_HASH>". WINE_HASH will be our Wine commit, and the hash of that commit itself will be our Wine staging commit.
add Code: | #temp
app-emulation/wine-staging-new staging |
to /etc/portage/package.use
Finally do for example
Code: | WINE_COMMIT="9ae8b8c00f2cca205fdf4ce76e221778b7dfbea7" STAGING_COMMIT="a1ec166849d66b93f03eb31a10de73c78e4f4724" emerge wine-staging-new -pv |
oh and don't forget to switch wine version
Code: | eselect wine set wine-staging-new-9999 |
As soon as the new staging arrives in gentoo simply delete the temp entry's from /etc/portage/package.use and delete /usr/local/portage/app-emulation/wine-staging-new/ and you can go on as always _________________ Gentoo rulez!!!
Gentoo for every one!!!
Gentoo for president!!! |
|
Back to top |
|
|
saboya Guru
Joined: 28 Nov 2006 Posts: 552 Location: Brazil
|
Posted: Sat Mar 03, 2018 1:18 pm Post subject: |
|
|
Any method that relies on creating a new ebuild means you have to continue updating the ebuild to keep it up to date. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|