From 164da7c9cfaf4575fdf41d3d920cfc177c8a3078 Mon Sep 17 00:00:00 2001 From: Boris Yumankulov Date: Sun, 13 Jul 2025 11:26:35 +0500 Subject: [PATCH] feat: added Proton-EM to download other wine Signed-off-by: Boris Yumankulov --- data_from_portwine/scripts/functions_helper | 26 ++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index a8c2052b..bffcb43e 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -5007,6 +5007,7 @@ gui_proton_downloader () { try_remove_file "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git" try_remove_file "${PW_TMPFS_PATH}/tmp_proton_cachyos_git" try_remove_file "${PW_TMPFS_PATH}/tmp_proton_sarek_git" + try_remove_file "${PW_TMPFS_PATH}/tmp_proton_em_git" try_remove_file "${PW_TMPFS_PATH}/tmp_proton_ge_git" try_remove_file "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" try_remove_file "${PW_TMPFS_PATH}/tmp_installed_wine" @@ -5079,6 +5080,14 @@ gui_proton_downloader () { echo "${PGEGIT}" | awk -F/ '{print $NF}' | sed 's/.tar.gz//' >> "${PW_TMPFS_PATH}/tmp_proton_sarek_git" done fi + + # Proton-EM + read -r -d '' -a PROTON_EM_GIT < <(curl -s "https://api.github.com/repos/Etaash-mathamsetty/Proton/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4) + if [[ -n "${PROTON_EM_GIT[0]}" ]] ; then + for PGEGIT in "${PROTON_EM_GIT[@]}" ; do + echo "${PGEGIT}" | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_proton_em_git" + done + fi pw_stop_progress_bar @@ -5091,7 +5100,8 @@ gui_proton_downloader () { for INSTALLING_VERSION_IN_DIST in * ; do sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PW_TMPFS_PATH}/tmp_proton_pw_git" \ "${PW_TMPFS_PATH}/tmp_proton_ge_git" "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git" \ - "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" "${PW_TMPFS_PATH}/tmp_proton_cachyos_git" "${PW_TMPFS_PATH}/tmp_proton_sarek_git" + "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" "${PW_TMPFS_PATH}/tmp_proton_cachyos_git" "${PW_TMPFS_PATH}/tmp_proton_sarek_git" \ + "${PW_TMPFS_PATH}/tmp_proton_em_git" done popd 1>/dev/null || fatal @@ -5101,6 +5111,7 @@ gui_proton_downloader () { TMP_PROTON_CU_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" | tr '\n' ' ')" TMP_PROTON_CACHYOS_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_proton_cachyos_git" | tr '\n' ' ')" TMP_PROTON_SAREK_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_proton_sarek_git" | tr '\n' ' ')" + TMP_PROTON_EM_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_proton_em_git" | tr '\n' ' ')" ls -l ${PORT_WINE_PATH}/data/dist | awk '{print $9}' | sed -e "/$PW_PROTON_LG_VER/d" -e "/$PW_WINE_LG_VER/d" -e '/^$/d' 1>"${PW_TMPFS_PATH}/tmp_installed_wine" TMP_INSTALLED_WINE="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_installed_wine" | tr '\n' ' ')" @@ -5160,6 +5171,14 @@ gui_proton_downloader () { "${pw_yad}" --plug=$KEY_WINE --tabnum=7 --list --checklist --separator="" \ --gui-type-layout="${NOTEBOOK_GUI_TYPE_LAYOUT}" --gui-type-text="${NOTEBOOK_GUI_TYPE_TEXT}" \ --column "${translations[Set]}" \ + --column "${translations[Select WINE for download:]}" \ + $TMP_PROTON_EM_GIT \ + 1>> "${PW_TMPFS_PATH}/tmp_set_wine" \ + 2>/dev/null & + + "${pw_yad}" --plug=$KEY_WINE --tabnum=8 --list --checklist --separator="" \ + --gui-type-layout="${NOTEBOOK_GUI_TYPE_LAYOUT}" --gui-type-text="${NOTEBOOK_GUI_TYPE_TEXT}" \ + --column "${translations[Set]}" \ --column "${translations[Select installed WINE for delete:]}" \ $TMP_INSTALLED_WINE \ 1> "${PW_TMPFS_PATH}/tmp_installed_wine_set" \ @@ -5175,6 +5194,7 @@ gui_proton_downloader () { --tab="WINE-GE-CUSTOM!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \ --tab="PROTON-CACHYOS!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \ --tab="PROTON-SAREK!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \ + --tab="Proton-EM!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \ --tab="${translations[INSTALLED]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \ --button="${translations[CANCEL]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!":1 \ --button="${translations[OK]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!":0 2>/dev/null @@ -5245,7 +5265,7 @@ gui_proton_downloader () { if [[ "$1" != "silent" ]] ; then for GIVE_ALL_WINE in ${VERSION_WINE_GIT} ; do - for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" "${PROTON_SAREK_GIT[@]}" ; do + for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" "${PROTON_SAREK_GIT[@]}" "${PROTON_EM_GIT[@]}" ; do if [[ ${GIVE_WINE_URL^^} =~ ${GIVE_ALL_WINE^^}.TAR ]] ; then export URL_VERSION_PROTON_GIT=$GIVE_WINE_URL fi @@ -5256,7 +5276,7 @@ gui_proton_downloader () { restart_pp else print_error "$PW_WINE_USE" - for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" "${PROTON_SAREK_GIT[@]}" ; do + for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" "${PROTON_SAREK_GIT[@]}" "${PROTON_EM_GIT[@]}" ; do if [[ ${GIVE_WINE_URL^^} =~ ${PW_WINE_USE^^} ]] ; then export URL_VERSION_PROTON_GIT=$GIVE_WINE_URL fi