From 198c6694c946ac01c94509e0ee962f3e8879fbdc Mon Sep 17 00:00:00 2001 From: Kolan Sh Date: Wed, 14 Oct 2020 18:52:37 +0300 Subject: [PATCH] PlayOnLinux-4.4 added. --- app-emulation/playonlinux/Manifest | 1 + .../playonlinux-4.2.4-binary-plugin.patch | 17 +++ .../files/playonlinux-4.2.4-pol-bash.patch | 35 ++++++ ...layonlinux-4.2.6-stop-update-warning.patch | 17 +++ .../playonlinux/files/playonlinux-pkg.1 | 33 ++++++ app-emulation/playonlinux/files/playonlinux.1 | 33 ++++++ app-emulation/playonlinux/metadata.xml | 15 +++ .../playonlinux/playonlinux-4.4.ebuild | 112 ++++++++++++++++++ 8 files changed, 263 insertions(+) create mode 100644 app-emulation/playonlinux/Manifest create mode 100644 app-emulation/playonlinux/files/playonlinux-4.2.4-binary-plugin.patch create mode 100644 app-emulation/playonlinux/files/playonlinux-4.2.4-pol-bash.patch create mode 100644 app-emulation/playonlinux/files/playonlinux-4.2.6-stop-update-warning.patch create mode 100644 app-emulation/playonlinux/files/playonlinux-pkg.1 create mode 100644 app-emulation/playonlinux/files/playonlinux.1 create mode 100644 app-emulation/playonlinux/metadata.xml create mode 100644 app-emulation/playonlinux/playonlinux-4.4.ebuild diff --git a/app-emulation/playonlinux/Manifest b/app-emulation/playonlinux/Manifest new file mode 100644 index 00000000..180d298c --- /dev/null +++ b/app-emulation/playonlinux/Manifest @@ -0,0 +1 @@ +DIST PlayOnLinux_4.4.tar.gz 3103240 BLAKE2B fa74dab52c45304bdc963b4d5019748c52dfb51ee6baf910419567338cc4f4bb83ed735c906dc837764b211bf4c642dd160072b5d72c600563586fab2e0362d5 SHA512 31b89106d55f9fccad526a83958a9e54973a659d9463fc0a8911935712eeb6bd7c07254a5163350bd746518658a46bd5d602c551e7387e38184e3a0782f80d12 diff --git a/app-emulation/playonlinux/files/playonlinux-4.2.4-binary-plugin.patch b/app-emulation/playonlinux/files/playonlinux-4.2.4-binary-plugin.patch new file mode 100644 index 00000000..d5d3727e --- /dev/null +++ b/app-emulation/playonlinux/files/playonlinux-4.2.4-binary-plugin.patch @@ -0,0 +1,17 @@ +Description: Remove binary code from the package + Upstream ships a binary plugin in the archive. This plugin is not necessary to + get PlayOnLinux working and it still can be downloaded from upstream. +Forwarded: not-needed +Author: Bertrand Marc +--- a/plugins/plugins.lst ++++ b/plugins/plugins.lst +@@ -21,9 +21,6 @@ + + ## in fact empty line is also ignored because it's more easy to read =) + +-##Capture +-capture;Capture_2.4.3.pol;Capture;enable;2.4.3;11;1;0 +- + ##Screencap + screencap;ScreenCap_0.0.4.pol;ScreenCap;enable;0.0.4;1;1;1 + diff --git a/app-emulation/playonlinux/files/playonlinux-4.2.4-pol-bash.patch b/app-emulation/playonlinux/files/playonlinux-4.2.4-pol-bash.patch new file mode 100644 index 00000000..f9b3e2b8 --- /dev/null +++ b/app-emulation/playonlinux/files/playonlinux-4.2.4-pol-bash.patch @@ -0,0 +1,35 @@ +diff --git a/etc/pol_bash b/etc/pol_bash +index 7911f05..bd891e4 100644 +--- a/etc/pol_bash ++++ b/etc/pol_bash +@@ -29,7 +29,15 @@ export HISTCONTROL=ignoreboth + shopt -s checkwinsize + + # make less more friendly for non-text input files, see lesspipe(1) +-[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" ++less_pipe_cmd=$(lesspipe 2> /dev/null) ++if [ "$less_pipe_cmd" == export* ]; then ++ eval "$(lesspipe)" ++else ++ if [ -x /usr/bin/lesspipe ]; then ++ export LESSOPEN='| lesspipe %s' ++ fi ++fi ++unset less_pipe_cmd + + # set variable identifying the chroot you work in (used in the prompt below) + if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then +@@ -73,7 +81,9 @@ fi + # enable programmable completion features (you don't need to enable + # this, if it's already enabled in /etc/bash.bashrc and /etc/profile + # sources /etc/bash.bashrc). +-if [ -f /etc/bash_completion ]; then +- . /etc/bash_completion +-fi +- ++for bashcomp in /etc/{bash_completion,profile.d/bash-completion.sh}; do ++ if [ -r "$bashcomp" ]; then ++ . "$bashcomp" ++ fi ++done ++unset bashcomp diff --git a/app-emulation/playonlinux/files/playonlinux-4.2.6-stop-update-warning.patch b/app-emulation/playonlinux/files/playonlinux-4.2.6-stop-update-warning.patch new file mode 100644 index 00000000..f5cf055f --- /dev/null +++ b/app-emulation/playonlinux/files/playonlinux-4.2.6-stop-update-warning.patch @@ -0,0 +1,17 @@ +# This patch enables the $DEBIAN_PACKAGE variable for playonlinux. +# The changes are described in the source comments below. +# The flag is unfortnuately named debian, however the +# benefits apply to any package management system. +# Patch written by Adam Mills + +--- a/python/lib/Variables.py 2013-08-10 22:19:46.053365072 -0400 ++++ b/python/lib/Variables-patched.py 2013-08-10 22:17:58.275881842 -0400 +@@ -26,7 +26,7 @@ + # Debian packagers should switch this to TRUE + # It will disable update alerts, bug reports, statistics + # It will set the good locale directory, and it will use the good msttcorefonts +-os.environ["DEBIAN_PACKAGE"] = "FALSE" ++os.environ["DEBIAN_PACKAGE"] = "TRUE" + + # Variables PlayOnMac + if (os.environ["POL_OS"] == "Mac"): diff --git a/app-emulation/playonlinux/files/playonlinux-pkg.1 b/app-emulation/playonlinux/files/playonlinux-pkg.1 new file mode 100644 index 00000000..b96a8dc9 --- /dev/null +++ b/app-emulation/playonlinux/files/playonlinux-pkg.1 @@ -0,0 +1,33 @@ +.TH PLAYONLINUX-PKG 1 "February 6, 2009" + +.SH NAME +playonlinux-pkg \- tool to manage playonlinux packages + +.SH SYNOPSIS +.B playonlinux-pkg +.RI [ options ] +.RI [ package ] + +.SH DESCRIPTION +.B playonlinux-pkg +is a tool to install or manage the playonlinux packages + +.SH OPTIONS +.TP +.I "-b, --browse" + Choose a file. +.TP +.I "-e, --extract" + Extract the package. +.TP +.I "-i, --install" + Install the package. +.TP +.I "-h, --help" + Show usage. + +.SH AUTHOR +playonlinux was written by Quentin Pâris . +.PP +This manual page was written by Bertrand Marc , +for the Debian project (but may be used by others). diff --git a/app-emulation/playonlinux/files/playonlinux.1 b/app-emulation/playonlinux/files/playonlinux.1 new file mode 100644 index 00000000..63c499be --- /dev/null +++ b/app-emulation/playonlinux/files/playonlinux.1 @@ -0,0 +1,33 @@ +.TH PLAYONLINUX 1 "February 6, 2009" + +.SH NAME +PlayOnLinux \- front-end for Wine + +.SH SYNOPSIS +.B playonlinux +.RI [ options ] + +.SH DESCRIPTION +.B PlayOnLinux +is a front-end for Wine. It allows you to easily install and use numerous games and software designed to run with Microsoft®'s Windows®. +.br +Few games are compatible with GNU/Linux at the moment and it certainly is a factor preventing the migration to this system. +.P +.B PlayOnLinux +performs installations in +.I ~/.PlayOnLinux +and uses separate Wine prefixes to avoid conflicts between applications. + +.SH OPTIONS +.TP +.I --version + Show version number and exit. +.TP +.I "--run " + Run directly the specified program. + +.SH AUTHOR +playonlinux was written by Quentin Pâris . +.PP +This manual page was written by Bertrand Marc , +for the Debian project (but may be used by others). diff --git a/app-emulation/playonlinux/metadata.xml b/app-emulation/playonlinux/metadata.xml new file mode 100644 index 00000000..b43e3ddd --- /dev/null +++ b/app-emulation/playonlinux/metadata.xml @@ -0,0 +1,15 @@ + + + + + NP-Hardass@gentoo.org + NP-Hardass + + + wine@gentoo.org + Wine + + + Enables support for the winbind auth daemon + + diff --git a/app-emulation/playonlinux/playonlinux-4.4.ebuild b/app-emulation/playonlinux/playonlinux-4.4.ebuild new file mode 100644 index 00000000..d8d06074 --- /dev/null +++ b/app-emulation/playonlinux/playonlinux-4.4.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..8} ) + +inherit desktop eutils python-single-r1 xdg + +MY_PN="PlayOnLinux" + +DESCRIPTION="Set of scripts to easily install and use Windows games and software" +HOMEPAGE="https://playonlinux.com/ + https://github.com/PlayOnLinux/POL-POM-4" +SRC_URI="https://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="winbind" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="" +RDEPEND="${PYTHON_DEPS} + app-arch/cabextract + app-arch/p7zip + app-arch/unzip + app-crypt/gnupg + app-misc/jq + $(python_gen_cond_dep ' + dev-python/natsort[${PYTHON_MULTI_USEDEP}] + dev-python/wxpython:4.0[${PYTHON_MULTI_USEDEP}] + ') + media-gfx/icoutils + || ( net-analyzer/netcat net-analyzer/openbsd-netcat ) + net-misc/wget + virtual/imagemagick-tools + virtual/wine + winbind? ( net-fs/samba[winbind] ) + x11-apps/mesa-progs + x11-terms/xterm +" + +S="${WORKDIR}/${PN}" + +# TODO: +# Having a real install script +# It will let using LANGUAGES easily +# How to deal with Microsoft Fonts installation asked every time ? +# How to deal with wine version installed ? (have a better mgmt of system one) +# Look at debian pkg: https://packages.debian.org/sid/playonlinux + +PATCHES=( + "${FILESDIR}/${PN}-4.2.4-pol-bash.patch" + "${FILESDIR}/${PN}-4.2.4-binary-plugin.patch" + "${FILESDIR}/${PN}-4.2.6-stop-update-warning.patch" +) + +src_prepare() { + default + + python_fix_shebang . + + # remove playonmac + rm etc/{playonmac.icns,terminal.applescript} || die + + # remove desktop integration + rm etc/{PlayOnLinux.desktop,PlayOnLinux.directory,playonlinux-Programs.menu} || die + + sed -i -e 's/python2/python3/' Makefile +} + +src_install() { + # all things without exec permissions + insinto "/usr/share/${PN}" + doins -r resources lang lib etc plugins + + # bash/ install + exeinto "/usr/share/${PN}/bash" + find "${S}/bash" -type f -exec doexe '{}' + + exeinto "/usr/share/${PN}/bash/expert" + find "${S}/bash/expert" -type f -exec doexe '{}' + + + # python/ install + python_moduleinto "/usr/share/${PN}" + python_domodule python + + # main executable files + exeinto "/usr/share/${PN}" + doexe ${PN}{,-pkg,-bash,-shell,-url_handler} + + # icons + doicon -s 128 etc/${PN}.png + for size in 16 22 32; do + newicon -s $size etc/${PN}$size.png ${PN}.png + done + + doman "${FILESDIR}"/playonlinux{,-pkg}.1 + dodoc CHANGELOG.md + + make_wrapper ${PN} "./${PN}" "/usr/share/${PN}" + make_wrapper ${PN}-pkg "./${PN}-pkg" "/usr/share/${PN}" + make_desktop_entry ${PN} ${MY_PN} ${PN} Game +} + +pkg_prerm() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "Installed software and games with playonlinux have not been removed." + elog "To remove them, you can re-install playonlinux and remove them using it," + elog "or do it manually by removing .PlayOnLinux/ in your home directory." + fi +}