diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2022-11-28 19:25:56 -0500 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2022-11-28 19:26:16 -0500 |
commit | 06de42a09142d4bc632638bf63fa21c55c4a2dbb (patch) | |
tree | cb5ad67af7923d520912e00937b37c1bad8cd26b /app-eselect | |
parent | sys-devel/gcc: document new useflags (diff) | |
download | gentoo-06de42a09142d4bc632638bf63fa21c55c4a2dbb.tar.gz gentoo-06de42a09142d4bc632638bf63fa21c55c4a2dbb.tar.bz2 gentoo-06de42a09142d4bc632638bf63fa21c55c4a2dbb.zip |
app-eselect/eselect-wine: add 2.0.1
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'app-eselect')
-rw-r--r-- | app-eselect/eselect-wine/Manifest | 1 | ||||
-rw-r--r-- | app-eselect/eselect-wine/eselect-wine-2.0.1.ebuild | 92 |
2 files changed, 93 insertions, 0 deletions
diff --git a/app-eselect/eselect-wine/Manifest b/app-eselect/eselect-wine/Manifest index 311d29dba343..e4b17b5785bf 100644 --- a/app-eselect/eselect-wine/Manifest +++ b/app-eselect/eselect-wine/Manifest @@ -1,2 +1,3 @@ DIST eselect-wine-1.2.2.tar.gz 4712 BLAKE2B 6ce92654cf2a5197c18bc84f8db52a11f198f81f0a8116f1986e74a1795ad475d22ff5a7cb9e9e31ce8ca813059b33cfbc52763110238cb378b15bebeb4b4271 SHA512 39f4d91461f72aeb07292dc7479c5cb7fc080b843bac57dec85c43d8751227e6953d32d52d4a14387d398b73120a32b79370d686c823f230dfd1d8b32ac8113a DIST eselect-wine-2.0.0.tar.bz2 7336 BLAKE2B facbad9bb4a937a310b1f81c5eb9fd1e29ce1a04cf524f7fd1f6322715d15e639fa27e99220cfc5b3659932d5ee57864a4615523e2dc5142da8ad7e9b49290fc SHA512 ec89b4b2fb3bf60e00983f7dd2c2aaa4c797005516f03573000482c5efa1f62e73d0bc149bb9203c5186a7a0a259d7461e95f077deadfd6791ea8d5bc5cb3c00 +DIST eselect-wine-2.0.1.tar.bz2 7391 BLAKE2B 646b4f07988448c70d2bdb0057b4b5e4a36fbd8f6dd1475cb131c26b4d10afb1a274c53aba0f705497f840f45b53fda4307882c588b69bcf5e8754ad153ea4de SHA512 a90da162bfd80a9f2f9a688e765152e1b03f5d27742f67a8485546cb663547f2f6eea302e857454e3cf00632967b8d83e9578f6be36171178f7e78aa3adf3838 diff --git a/app-eselect/eselect-wine/eselect-wine-2.0.1.ebuild b/app-eselect/eselect-wine/eselect-wine-2.0.1.ebuild new file mode 100644 index 000000000000..92c25353de07 --- /dev/null +++ b/app-eselect/eselect-wine/eselect-wine-2.0.1.ebuild @@ -0,0 +1,92 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Manage active Wine slots and variants" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Wine" +SRC_URI="https://gitweb.gentoo.org/proj/eselect-wine.git/snapshot/${P}.tar.bz2" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="app-admin/eselect" + +pkg_pretend() { + # /usr/bin/wine and /usr/include/wine are removed by pkg_preinst's unset, + # but portage currently checks collisions and errors out /before/ preinst + if has_version '<app-eselect/eselect-wine-2' && + has collision-protect ${FEATURES} + then + eerror + eerror "!Warning! will likely need to either disable FEATURES=collision-protect or" + eerror "delete ${EROOT}/usr/bin/wine and ${EROOT}/usr/include/wine to merge ${P}" + eerror "(these files should be orphaned, so default FEATURES=protect-owned is fine)" + eerror + fi +} + +src_install() { + insinto /usr/share/eselect/modules + doins wine.eselect + + keepdir /etc/eselect/wine + + newenvd - 60${PN} <<-EOF + PATH="${EPREFIX}/etc/eselect/wine/bin" + MANPATH="${EPREFIX}/etc/eselect/wine/share/man" + XDG_DATA_DIRS="${EPREFIX}/etc/eselect/wine/share" + EOF + + # links for building, e.g. wineasio (bug #657748) + dosym -r /etc/eselect/wine/wine /usr/lib/wine + dosym -r /etc/eselect/wine/include /usr/include/wine + + # not required, but useful for e.g. binfmt that's not looking in PATH + # (not doing this for everything as it gets troublesome to track) + dosym -r /etc/eselect/wine/bin/wine /usr/bin/wine + + einstalldocs +} + +pkg_preinst() { + if has_version '<app-eselect/eselect-wine-2'; then + # keep copy of still-set 'active' to auto-select same slots + [[ ! -e ${EROOT}/etc/eselect/wine/active ]] || + cp "${EROOT}"/etc/eselect/wine/{active,eselect-wine-migration} || die + + # managed differently, need cleanup + eselect wine unset --all || die + rm -f "${EROOT}"/etc/eselect/wine/{active,installed,links/{any,vanilla,staging,proton,wine}} || die + rmdir "${EROOT}"/etc/eselect/wine/links 2>/dev/null + + # some rare man dirs were created by old eselect, cleanup if now empty + rmdir "${EROOT}"/usr/share/man/{de,fr,pl}.UTF-8{/man1,} 2>/dev/null + fi + + # lacking QA_BROKEN_SYMLINK, and rather avoid live /usr changes wrt + # bug #632576, nor create "owned" placeholders that will be clobbered + [[ -e ${EROOT}/etc/eselect/wine/bin/wine ]] || + eqawarn "QA Note: broken symlinks QA is normal on first merge, targets created after" +} + +pkg_postinst() { + eselect wine update --if-unset || die + + rm -f "${EROOT}"/etc/eselect/wine/eselect-wine-migration || die # see preinst + + if [[ ! ${REPLACING_VERSIONS##* } ]] || + ver_test ${REPLACING_VERSIONS##* } -lt 2; then + elog + if [[ ${REPLACING_VERSIONS} ]]; then + elog "${PN} changed a bit, suggest reviewing 'eselect wine help' (and list)." + elog "Note: if seen bin/wine or include/wine merge collisions, they are harmless." + fi + elog "Please run '. ${EROOT}/etc/profile' to update PATH in current shells." + fi +} + +pkg_prerm() { + [[ ${REPLACED_BY_VERSION} ]] || eselect wine update --reset # no die +} |