import portproton-1.0-1.el9

i9ce changed/i9/portproton-1.0-1.el9
Arkady L. Shane 1 year ago
commit 97991a17d8
Signed by: tigro
GPG Key ID: 9C7900103E1C4F8B

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2022 Castro-Fidel (LINUX-GAMING.RU)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

@ -0,0 +1,168 @@
#!/usr/bin/env bash
# Author: Castro-Fidel (linux-gaming.ru)
# License MIT
########################################################################
unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL
export portname="PortProton"
export port_ver=1.0
########################################################################
export NO_AT_BRIDGE=1
ENG_LANG="English"
RUS_LANG="Russian"
[ -z "${LANG}" ] && export LANG=C
deflink="${HOME}/PortWINE/${portname}"
[ "$(id -u)" -eq 0 ] && echo "This script should NOT be run by root!" && zenity --error --text "This script should NOT be run by root!" 2> /dev/null && exit 1
my_dir=$(dirname "$(readlink -f "$0")")
if [ "$my_dir" == "/usr/bin" ] ; then
[ -z "${XDG_DATA_HOME}" ] && export XDG_DATA_HOME="$HOME/.local/share"
if [ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then
/usr/bin/env bash "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" "$@"
exit 0
else
if [ -n "$(locale | grep "LANG=ru_RU.UTF-8")" ] ; then
PW_SET_LANG=$RUS_LANG
else
PW_SET_LANG=$ENG_LANG
fi
export PW_SILENT_INSTALL="1"
export PW_AUTOPLAY=1
deflink="${XDG_DATA_HOME}/PortWINE/${portname}"
fi
fi
########################################################################
export INSTALLING_PORT=1
export PROGS_INST=""
export vexit=0
########################################################################
for PROGS in "wget" "curl" "tar" "awk" "zenity" "cabextract" "pidof" ; do
if [ ! -x "$(command -v "${PROGS}" 2>/dev/null)" ] ; then
PROGS_INST="${PROGS_INST} ${PROGS}" && vexit=1
fi
done
if [ "${vexit}" -eq "1" ] ; then
echo "You will need to install: ${PROGS_INST}, and restart the script"
exit 1
fi
########################################################################
cd "$my_dir"
export links
links="$(pwd)"
########################################################################
if [ "$1" = "-rus" ] ; then
PW_SET_LANG=$RUS_LANG
export PW_SILENT_INSTALL="1"
elif [ "$1" = "-eng" ] ; then
PW_SET_LANG=$ENG_LANG
export PW_SILENT_INSTALL="1"
elif [ -z "${PW_SET_LANG}" ] ; then
PW_SET_LANG=$(zenity --title "Install $portname" --text "Select installation language:" --list --radiolist \
--column="" --column "Language" \
TRUE "$RUS_LANG" \
FALSE "$ENG_LANG" ) 2> /dev/null
if [ $? -eq 1 ] ; then echo "Installation language not set!" && exit 1 ; fi
case $PW_SET_LANG in
"$RUS_LANG")
INFO_TEXT="Вы запустили установщик ${portname} версии ${port_ver}. \n\nЭто некоммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nВсе права стороннего программного обеспечения принадлежат их владельцам! \nПродолжая установку, Вы автоматически соглашаетесь с данными условиями." > /dev/null 2>&1 ;;
"$ENG_LANG")
INFO_TEXT="Youve started ${portname} installer v.${port_ver}. \n\nIt is a non-commercial product and is developed only for the idea and with the help of your donations. \nAll third-party software rights belong to their respective owners! \nIf you continue installation, you agree to these terms." > /dev/null 2>&1 ;;
esac
zenity --info --title "INFO" --text "$INFO_TEXT" --no-wrap 2> /dev/null
if [ $? -eq 1 ] ; then echo "INFO message not displayed!" && exit 1 ; fi
fi
########################################################################
if [ "${PW_SILENT_INSTALL}" = "1" ] ; then
echo "${portname} is installed in ${deflink}"
D_PATH="${deflink}"
else
case $PW_SET_LANG in
"$RUS_LANG")
inst1=$(zenity --title "Установка ${portname}" --text "Выберите путь для установки (обновления) ${portname} \nили оставьте его по умолчанию." --list --radiolist --width=350 --height=220 \
--column="" --column "Путь:" \
TRUE "${deflink}" \
FALSE "Другой путь..." ) 2> /dev/null
if [ $? -eq 1 ] ; then echo "Installation path not set!" && exit 1 ; fi
case $inst1 in
"${deflink}")
D_PATH="${deflink}" ;;
"Другой путь...")
D_PATH=$(zenity --file-selection --directory --title="Выберите путь..." )
D_PATH="${D_PATH}/${portname}" ;;
esac ;;
"$ENG_LANG")
inst1=$(zenity --title "Install ${portname}" --text "Choose path to install (update) ${portname} \nor leave it as default." --list --radiolist --width=350 --height=220 \
--column="" --column "Path:" \
TRUE "${deflink}" \
FALSE "Other path..." ) 2> /dev/null
if [ $? -eq 1 ] ; then echo "Installation path not set!" && exit 1; fi
case $inst1 in
"${deflink}")
D_PATH="${deflink}" ;;
"Other path...")
D_PATH=$(zenity --file-selection --directory --title="Choose your path..." )
D_PATH="${D_PATH}/${portname}" ;;
esac ;;
esac
if [ $? -eq 1 ] ; then echo "error" && exit 1 ; fi
fi
########################################################################
case $PW_SET_LANG in
"$RUS_LANG")
progress_bar() {
zenity --progress --title="Установка..." --text="Установка ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1
} ;;
"$ENG_LANG")
progress_bar() {
zenity --progress --title="Install..." --text="Install ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1
} ;;
esac
########################################################################
export PORT_WINE_PATH="${D_PATH}"
scripts_dir="${PORT_WINE_PATH}/data/scripts"
if [ ! -d "${PORT_WINE_PATH}" ] ; then
mkdir -p "$PORT_WINE_PATH"
else
rm -fr "${PORT_WINE_PATH}/data/tmp"
rm -f "${scripts_dir}/"* > /dev/null 2>&1
fi
########################################################################
mkdir -p "${PORT_WINE_PATH}/data/tmp"
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver"
case $PW_SET_LANG in
"$RUS_LANG") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
"$ENG_LANG") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
esac
########################################################################
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
cd "${PORT_WINE_PATH}"
try_download_scripts () {
wget -O "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -nd -c --read-timeout 300 \
--retry-connrefused --timeout 15 --tries 3 \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
"https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz"
if [ "$?" = "0" ] ; then
tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}"
if [ "$?" = "0" ] ; then
[ ! -d "${PORT_WINE_PATH}/data/" ] && mkdir "${PORT_WINE_PATH}/data/"
cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/"
rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
rm -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/"
export scripts_current_ver
scripts_current_ver=$(cat "${scripts_dir}/var" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}')
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
else
rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
try_download_scripts
fi
else
try_download_scripts
fi
}
if [ "${PW_SILENT_INSTALL}" = "1" ] && [ ! -f "/usr/bin/portproton" ] ; then
try_download_scripts
else
try_download_scripts | progress_bar
fi
chmod 755 -R "${PORT_WINE_PATH}"
########################################################################
cd "${scripts_dir}"
/usr/bin/env bash "${scripts_dir}/setup.sh" && exit 0

@ -0,0 +1,12 @@
[Desktop Entry]
Type=Application
Name=PortProton
Name[ru]=PortProton
Comment=Installer PortProton for Windows games
Comment[ru]=Установщик PortProton для Windows игр
Exec=portproton %F
Icon=portproton
StartupNotify=false
Terminal=false
Categories=Game;
MimeType=application/x-wine-extension-msp;application/x-msi;application/x-ms-dos-executable;

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>portproton</id>
<name>PortProton</name>
<summary>Software for playing Microsoft Windows games and launchers</summary>
<summary xml:lang="ru">Программа для запуска игр и лаунчеров с Microsoft Windows</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<description>
<p>
PortProton is a project designed to make it easy and convenient to run Windows games on Linux for both beginners and advanced users. The project strives to make running games (and other software) as easy as possible, but at the same time provides flexible settings for advanced users
</p>
<p xml:lang="ru">
PortProton это проект, разработанный для того, чтобы сделать легким и удобным запуск Windows игр на Linux как для начинающих, так и для продвинутых пользователей. Проект стремится сделать запуск игр (и другого программного обеспечения) максимально простым, но в то же время предоставляет гибкие настройки для продвинутых пользователей
</p>
</description>
<screenshots>
<screenshot type="default">
<caption>
Auto Install
</caption>
<image>
https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/screenshots/auto_install.png
</image>
</screenshot>
<screenshot>
<caption>
Emulators
</caption>
<image>
https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/screenshots/emulators.png
</image>
</screenshot>
<screenshot>
<caption>
Wine Settings
</caption>
<image>
https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/screenshots/wine_settings.png
</image>
</screenshot>
<screenshot>
<caption>
PortProton Settings
</caption>
<image>
https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/screenshots/portproton_settings.png
</image>
</screenshot>
<screenshot>
<caption>
Installed
</caption>
<image>
https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/screenshots/installed.png
</image>
</screenshot>
<screenshot>
<caption>
App Menu
</caption>
<image>
https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/screenshots/app_menu.png
</image>
</screenshot>
<screenshot>
<caption>
Edit DB
</caption>
<image>
https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/screenshots/edit_db.png
</image>
</screenshot>
</screenshots>
<categories>
<category>Game</category>
</categories>
<keywords>
<keyword translate="no">wine</keyword>
<keyword translate="no">proton</keyword>
<keyword translate="no">steam</keyword>
<keyword translate="no">windows</keyword>
<keyword>games</keyword>
<keyword xml:lang="ru">игры</keyword>
</keywords>
<launchable type="desktop-id">portproton.desktop</launchable>
<url type="bugtracker">https://github.com/Castro-Fidel/PortWINE/issues</url>
<url type="donation">https://linux-gaming.ru/donate/</url>
<url type="homepage">https://linux-gaming.ru</url>
<url type="vcs-browser">https://github.com/Castro-Fidel/PortWINE</url>
<developer_name>Castro-Fidel</developer_name>
</component>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 570 KiB

@ -0,0 +1,76 @@
Summary: Software for playing Microsoft Windows games and launchers
Name: portproton
Version: 1.0
Release: 1%{?dist}
License: MIT
URL: https://linux-gaming.ru
Source0: https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/portwine_install_script/PortProton_%{version}
Source1: portproton.desktop
Source2: https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.svg
Source3: https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.metainfo.xml
Source4: https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/LICENSE
Requires: curl
Requires: icoutils
Requires: wget
Requires: zenity
Requires: bubblewrap
Requires: zstd
Requires: cabextract
Requires: tar
Requires: openssl
Requires: mesa-dri-drivers
Requires: mesa-dri-drivers(x86-32)
Requires: mesa-vulkan-drivers
Requires: mesa-vulkan-drivers(x86-32)
Requires: vulkan-loader(x86-32)
Requires: vulkan-loader
Requires: nss(x86-32)
Requires: alsa-lib(x86-32)
Requires: mesa-libGL(x86-32)
Requires: mesa-libEGL(x86-32)
Requires: wmctrl
Requires: ImageMagick
Recommends: gamemode
Recommends: gamemode(x86-32)
BuildArch: noarch
%description
Project designed to make it easy and convenient to run Windows games on Linux
for both beginners and advanced users. The project strives to make launching
games (and other software) as simple as possible, but at the same time provides
flexible settings for advanced users.
%prep
%build
%install
install -d -m 755 %{buildroot}%{_bindir}
install -d -m 755 %{buildroot}%{_datadir}/applications
install -d -m 755 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
install -d -m 755 %{buildroot}%{_datadir}/metainfo
install -d -m 755 %{buildroot}%{_datadir}/licenses/%{name}
install -m755 %{SOURCE0} %{buildroot}%{_bindir}/%{name}
install -m644 %{SOURCE1} %{buildroot}%{_datadir}/applications/
install -m644 %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
install -m644 %{SOURCE3} %{buildroot}%{_datadir}/metainfo/
install -m644 %{SOURCE4} %{buildroot}%{_datadir}/licenses/%{name}
%files
%license LICENSE
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/metainfo/%{name}.metainfo.xml
%changelog
* Sat Sep 02 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 1.0-1
- Rebuilt for MSVSphere 9.2
* Sat Sep 2 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 1.0-1
- Initial build for MSVSphere 9.2
Loading…
Cancel
Save