Skip to content

Commit

Permalink
Merge branch 'main' into EliasOfWaffle-patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
orowith2os authored Aug 18, 2023
2 parents 6ca8b33 + fbab5f1 commit 7fc0860
Show file tree
Hide file tree
Showing 11 changed files with 290 additions and 215 deletions.
13 changes: 1 addition & 12 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
on:
pull_request_target:
pull_request:
types: [opened, synchronize, reopened]

name: Mypy
Expand Down Expand Up @@ -29,14 +29,3 @@ jobs:
run: |
mypy --version
mypy bottles
sonar:
name: Sonar
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- uses: sonarsource/sonarqube-scan-action@master
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
24 changes: 24 additions & 0 deletions .github/workflows/sonar.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
on:
pull_request_target:
types: [opened, synchronize, reopened]

name: Sonar
jobs:
sonar:
name: Checker
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- uses: sonarsource/sonarqube-scan-action@master
with:
args: >
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
-Dsonar.pullrequest.branch=${{ github.head_ref }}
-Dsonar.pullrequest.base=${{ github.base_ref }}
-Dsonar.scm.revision=${{ github.event.pull_request.head.sha }}
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
70 changes: 70 additions & 0 deletions .github/workflows/update-manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Update manifest

on:
schedule:
# Check for update every day at 07:11
- cron: '11 7 * * *'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:


env:
PR_BRANCH: pr/ci-manifest/${{ github.ref_name }}

jobs:
update-manifest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
path: "bottles-repository"
ref: ${{ github.ref_name }}

- uses: actions/setup-python@v4
with:
python-version: '3.x'
cache: 'pip'

- run: pip install pur req2flatpak pyyaml

- name: Update requirements
working-directory: "bottles-repository"
shell: bash {0}
run: |
git config user.email "github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
pur -r requirements.txt
pur -r requirements.dev.txt
req2flatpak --requirements-file requirements.txt --yaml --target-platforms 310-x86_64 -o com.usebottles.bottles.pypi-deps.yaml
git diff ${{ github.ref_name }} --exit-code requirements.txt requirements.dev.txt com.usebottles.bottles.pypi-deps.yaml
updated=$?
if [ $updated -ne 0 ]; then
git add requirements.txt requirements.dev.txt com.usebottles.bottles.pypi-deps.yaml
git commit -m "Update PyPI dependencies"
fi
- uses: docker://ghcr.io/flathub/flatpak-external-data-checker:latest
env:
GIT_AUTHOR_NAME: github-actions[bot]
GIT_COMMITTER_NAME: github-actions[bot]
GIT_AUTHOR_EMAIL: github-actions[bot]@users.noreply.github.com
GIT_COMMITTER_EMAIL: github-actions[bot]@users.noreply.github.com
EMAIL: github-actions[bot]@users.noreply.github.com
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: --update --require-important-update --commit-only --never-fork "bottles-repository/com.usebottles.bottles.yml"

- name: Create PR if necessary
working-directory: "bottles-repository"
shell: bash {0}
run: |
git checkout -B ${{ env.PR_BRANCH }}
git push -f --set-upstream origin ${{ env.PR_BRANCH }}
git diff ${{ github.ref_name }} --exit-code com.usebottles.bottles.yml
updated=$?
if [ $updated -ne 0 ]; then
gh pr create --title ":robot:: Update manifest (important)" --body ":wrench: One or more modules marked as 'important' have been updated." --head ${{ env.PR_BRANCH }} --base ${{ github.ref_name }}
exit 0
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion bottles/backend/managers/steam.py
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ def list_prefixes(self) -> Dict[str, BottleConfig]:
logging.warning(f"A Steam prefix was found, but there is no ACF for it: {_dir_name}, skipping…")
continue

if SteamUtils.is_proton(os.path.join(_library_path, "steamapps/common", _acf["AppState"]["installdir"])):
if SteamUtils.is_proton(os.path.join(_library_path, "steamapps/common", _acf["AppState"].get("installdir", ""))):
# skip Proton default prefix
logging.warning(f"A Steam prefix was found, but it is a Proton one: {_dir_name}, skipping…")
continue
Expand Down
4 changes: 2 additions & 2 deletions bottles/backend/wine/winecommand.py
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,7 @@ def get_env(self, environment: Optional[dict] = None, return_steam_env: bool = F

return env.get()["envs"]

def _get_runner_info(self) -> (str, str):
def _get_runner_info(self) -> tuple[str, str]:
config = self.config
runner = ManagerUtils.get_runner_path(config.Runner)
arch = config.Arch
Expand All @@ -416,7 +416,7 @@ def _get_runner_info(self) -> (str, str):
runner = config.RunnerPath

if runner in [None, ""]:
return ""
return "", ""

if SteamUtils.is_proton(runner):
'''
Expand Down
2 changes: 1 addition & 1 deletion bottles/frontend/views/bottle_preferences.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ def __init__(self, details, config, **kwargs):
_not_available = _("This feature is unavailable on your system.")
_flatpak_not_available = _("{} To add this feature, please run flatpak install").format(_not_available)
_flatpak_pkg_name = {
"gamescope": "com.valvesoftware.Steam.Utility.gamescope",
"gamescope": "org.freedesktop.Platform.VulkanLayer.gamescope",
"vkbasalt": "org.freedesktop.Platform.VulkanLayer.vkBasalt//22.08",
"mangohud": "org.freedesktop.Platform.VulkanLayer.MangoHud//22.08",
"obsvkc": "com.obsproject.Studio.Plugin.OBSVkCapture"
Expand Down
165 changes: 68 additions & 97 deletions com.usebottles.bottles.pypi-deps.yaml
Original file line number Diff line number Diff line change
@@ -1,98 +1,69 @@
# Generated with flatpak-pip-generator --runtime org.gnome.Sdk -r requirements.txt -o com.usebottles.bottles.pypi-deps --yaml
build-commands: []
# Generated by req2flatpak.py --requirements-file requirements.txt --yaml --target-platforms 310-x86_64 -o com.usebottles.bottles.pypi-deps.yaml
name: python3-package-installation
buildsystem: simple
modules:
- name: python3-PyYAML
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "PyYAML==6.0" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/02/25/6ba9f6bb50a3d4fbe22c1a02554dc670682a07c8701d1716d19ddea2c940/PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
sha256: f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5
- name: python3-pycurl
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pycurl==7.45.1" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/09/ca/0b6da1d0f391acb8991ac6fdf8823ed9cf4c19680d4f378ab1727f90bd5c/pycurl-7.45.1.tar.gz
sha256: a863ad18ff478f5545924057887cdae422e1b2746e41674615f687498ea5b88a
- name: python3-requests
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "requests[use_chardet_on_py3]==2.28.1" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl
sha256: 4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18
- type: file
url: https://files.pythonhosted.org/packages/74/8f/8fc49109009e8d2169d94d72e6b1f4cd45c13d147ba7d6170fb41f22b08f/chardet-5.1.0-py3-none-any.whl
sha256: 362777fb014af596ad31334fde1e8c327dfdb076e1960d1694662d46a6917ab9
- type: file
url: https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl
sha256: 83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f
- type: file
url: https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl
sha256: 90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2
- type: file
url: https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl
sha256: 8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349
- type: file
url: https://files.pythonhosted.org/packages/7b/f5/890a0baca17a61c1f92f72b81d3c31523c99bec609e60c292ea55b387ae8/urllib3-1.26.15-py2.py3-none-any.whl
sha256: aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42
- name: python3-Markdown
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "Markdown==3.3.7" --ignore-installed --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/f3/df/ca72f352e15b6f8ce32b74af029f1189abffb906f7c137501ffe69c98a65/Markdown-3.3.7-py3-none-any.whl
sha256: f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621
- name: python3-icoextract
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "icoextract==0.1.2" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/c4/c9/4dcdb3a3e325a441bbf293a4bce8a9b247f88d9c9671b4a360d52dac499c/icoextract-0.1.2.tar.gz
sha256: 7695d0379ba672e075fc3a7c9d366a77a876840a18cd4bda7080a5314494580c
- type: file
url: https://files.pythonhosted.org/packages/55/26/d0ad8b448476d0a1e8d3ea5622dc77b916db84c6aa3cb1e1c0965af948fc/pefile-2023.2.7-py3-none-any.whl
sha256: da185cd2af68c08a6cd4481f7325ed600a88f6a813bad9dea07ab3ef73d8d8d6
- name: python3-patool
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "patool==1.12" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/43/94/52243ddff508780dd2d8110964320ab4851134a55ab102285b46e740f76a/patool-1.12-py2.py3-none-any.whl
sha256: 3f642549c9a78f5b8bef1af92df385b521d360520d1f34e4dba3fd1dee2a21bc
- name: python3-pathvalidate
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "pathvalidate==2.5.2" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/9b/62/925646456f0d72356cbef5549ff85e9b538c55ff44eb74046e37541b344a/pathvalidate-2.5.2-py3-none-any.whl
sha256: e39a4dfacdba70e3a96d3e4c6ff617a39e991cf242e6e1f2017f1f67c3408d33
- name: python3-FVS
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "FVS==0.3.4" --no-build-isolation
sources:
- type: file
url: https://files.pythonhosted.org/packages/f7/2f/cc09899755f94b36e7f570b9f9ca19a5fdff536e2614fd3ac1c28bb777f6/FVS-0.3.4.tar.gz
sha256: c987741f37706ea07d91ec498c145162676ca16b59b5c8c2351cf464954ce422
- type: file
url: https://files.pythonhosted.org/packages/1a/29/977982fcbce6fbcf0da925133561e28c82a6e9f32bfe0b66645a96d0654d/orjson-3.8.9-cp310-cp310-manylinux_2_28_x86_64.whl
sha256: c02ece4f36a160c83efe74adfba5f189c7c7702361f02b809ab73744923ee139
name: com.usebottles.bottles.pypi-deps
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} --no-build-isolation wheel PyYAML pycurl chardet requests
Markdown icoextract patool pathvalidate FVS orjson pycairo PyGObject charset-normalizer
idna urllib3 certifi pefile
sources:
- type: file
url: https://files.pythonhosted.org/packages/f7/2f/cc09899755f94b36e7f570b9f9ca19a5fdff536e2614fd3ac1c28bb777f6/FVS-0.3.4.tar.gz
sha256: c987741f37706ea07d91ec498c145162676ca16b59b5c8c2351cf464954ce422
- type: file
url: https://files.pythonhosted.org/packages/1a/b5/228c1cdcfe138f1a8e01ab1b54284c8b83735476cb22b6ba251656ed13ad/Markdown-3.4.4-py3-none-any.whl
sha256: a4c1b65c0957b4bd9e7d86ddc7b3c9868fb9670660f6f99f6d1bca8954d5a941
- type: file
url: https://files.pythonhosted.org/packages/44/80/96d6317a15a13a4f80ffa61118dc144a70756135fbc6ace30f9b033f51f7/PyGObject-3.44.1.tar.gz
sha256: 665fbe980c91e8b31ad78ed3f66879946948200864002d193f67eccc1d7d5d83
- type: file
url: https://files.pythonhosted.org/packages/29/61/bf33c6c85c55bc45a29eee3195848ff2d518d84735eb0e2d8cb42e0d285e/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sha256: ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515
only-arches:
- x86_64
- type: file
url: https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl
sha256: 92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9
- type: file
url: https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl
sha256: e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970
- type: file
url: https://files.pythonhosted.org/packages/a4/65/057bf29660aae6ade0816457f8db4e749e5c0bfa2366eb5f67db9912fa4c/charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sha256: 193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad
only-arches:
- x86_64
- type: file
url: https://files.pythonhosted.org/packages/93/3f/da0ed756fb207a8685f5ff452569ffc287297cf24d6d7e7d9a0354a896ba/icoextract-0.1.4.tar.gz
sha256: c741845743d46e4033a1426002aba9f5b1ddee262db46cb321935da3c2ac172a
- type: file
url: https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl
sha256: 90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2
- type: file
url: https://files.pythonhosted.org/packages/34/7a/9ec6142fdab1749eacbab23c8a502cccb57f1985d764a5cfacad1d55a2de/orjson-3.9.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sha256: f13d61c0c7414ddee1ef4d0f303e2222f8cced5a2e26d9774751aecd72324c9e
only-arches:
- x86_64
- type: file
url: https://files.pythonhosted.org/packages/c8/98/e6c836ea547236fffab67503ff691d302f2366fbe3a1e37bfe611e352b3c/pathvalidate-3.1.0-py3-none-any.whl
sha256: 912fd1d2e1a2a6a6f98da36a91f21ed86746473810ff625b9c34f3d06c0caa1d
- type: file
url: https://files.pythonhosted.org/packages/43/94/52243ddff508780dd2d8110964320ab4851134a55ab102285b46e740f76a/patool-1.12-py2.py3-none-any.whl
sha256: 3f642549c9a78f5b8bef1af92df385b521d360520d1f34e4dba3fd1dee2a21bc
- type: file
url: https://files.pythonhosted.org/packages/55/26/d0ad8b448476d0a1e8d3ea5622dc77b916db84c6aa3cb1e1c0965af948fc/pefile-2023.2.7-py3-none-any.whl
sha256: da185cd2af68c08a6cd4481f7325ed600a88f6a813bad9dea07ab3ef73d8d8d6
- type: file
url: https://files.pythonhosted.org/packages/a2/dd/bc2c9ee9485308a29c18b1241329e677917af25c60b127857f0fb23d0c6e/pycairo-1.24.0.tar.gz
sha256: 1444d52f1bb4cc79a4a0c0fe2ccec4bd78ff885ab01ebe1c0f637d8392bcafb6
- type: file
url: https://files.pythonhosted.org/packages/a8/af/24d3acfa76b867dbd8f1166853c18eefc890fc5da03a48672b38ea77ddae/pycurl-7.45.2.tar.gz
sha256: 5730590be0271364a5bddd9e245c9cc0fb710c4cbacbdd95264a3122d23224ca
- type: file
url: https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl
sha256: 58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f
- type: file
url: https://files.pythonhosted.org/packages/9b/81/62fd61001fa4b9d0df6e31d47ff49cfa9de4af03adecf339c7bc30656b37/urllib3-2.0.4-py3-none-any.whl
sha256: de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4
- type: file
url: https://files.pythonhosted.org/packages/28/f5/6955d7b3a5d71ce6bac104f9cf98c1b0513ad656cdaca8ea7d579196f771/wheel-0.41.1-py3-none-any.whl
sha256: 473219bd4cbedc62cea0cb309089b593e47c15c4a2531015f94e4e3b9a0f6981
8 changes: 8 additions & 0 deletions com.usebottles.bottles.src.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: com.usebottles.bottles.src
builddir: true
buildsystem: meson
config-opts:
- -Ddevel=true
sources:
- type: dir
path: .
Loading

0 comments on commit 7fc0860

Please sign in to comment.