diff --git a/.gitea/workflows/build-nightlly.yml b/.gitea/workflows/build-nightlly.yml index b7ff8e5..4f8a965 100644 --- a/.gitea/workflows/build-nightlly.yml +++ b/.gitea/workflows/build-nightlly.yml @@ -8,6 +8,37 @@ env: PACKAGE: "portprotonqt" jobs: + build-deb: + name: Build Debian Package + runs-on: ubuntu-22.04 + + steps: + - name: Install build dependencies + run: | + apt-get update + apt-get install -y build-essential git python3-dev python3-pip python3-build \ + python3-installer python3-wheel debhelper dh-python \ + devscripts python3-all bash-completion pybuild-plugin-pyproject python3-setuptools + + - name: Checkout repo + uses: https://gitea.com/actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6 + + - name: Build Debian package + run: | + # Copy the debian directory to the root for proper packaging + cp -r build-aux/debian . + + # Build the package + dpkg-buildpackage -us -uc -b + + mv ../*.deb . + + - name: Upload Debian package + uses: https://gitea.com/actions/gitea-upload-artifact@v4 + with: + name: PortProtonQt-Debian + path: "*.deb" + build-appimage: name: Build AppImage runs-on: ubuntu-22.04 diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 0bbaaa4..a6f6f8c 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -147,9 +147,38 @@ jobs: name: PortProtonQt-RPM-Fedora-${{ matrix.fedora_version }} path: /home/rpmbuild/RPMS/**/*.rpm + build-deb: + name: Build Debian Package + runs-on: ubuntu-22.04 + + steps: + - name: Install build dependencies + run: | + apt-get update + apt-get install -y build-essential git python3-dev python3-pip python3-build \ + python3-installer python3-wheel debhelper dh-python \ + devscripts python3-all bash-completion pybuild-plugin-pyproject python3-setuptools + + - name: Checkout repo + uses: https://gitea.com/actions/checkout@v4 + + - name: Build Debian package + run: | + # Copy the debian directory to the root for proper packaging + cp -r build-aux/debian . + + # Build the package + dpkg-buildpackage -us -uc -b + + - name: Upload Debian package + uses: https://gitea.com/actions/gitea-upload-artifact@v4 + with: + name: PortProtonQt-Debian + path: "*.deb" + release: name: Create and Publish Release - needs: [build-appimage, build-arch, build-fedora] + needs: [build-appimage, build-arch, build-fedora, build-deb] runs-on: ubuntu-latest steps: - uses: https://gitea.com/actions/checkout@v4 diff --git a/README.md b/README.md index acb8bbc..a38dc45 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ source .venv/bin/activate ### Установка (release) -Выберите подходящий пакет для вашей системы или AppImage. +Выберите подходящий пакет для вашей системы (deb, rpm, arch) или AppImage. Запуск производится по команде portprotonqt или по ярлыку в меню diff --git a/build-aux/debian/changelog b/build-aux/debian/changelog new file mode 100644 index 0000000..8a25382 --- /dev/null +++ b/build-aux/debian/changelog @@ -0,0 +1,5 @@ +portprotonqt (0.1.9-1) unstable; urgency=medium + + * Initial release for Debian packaging + + -- Boris Yumankulov Wed, 03 Dec 2025 12:00:00 +0000 diff --git a/build-aux/debian/control b/build-aux/debian/control new file mode 100644 index 0000000..63e4008 --- /dev/null +++ b/build-aux/debian/control @@ -0,0 +1,46 @@ +Source: portprotonqt +Section: python +Priority: optional +Maintainer: Boris Yumankulov +Build-Depends: debhelper-compat (= 13), + dh-python, + python3-all, + pybuild-plugin-pyproject, + python3-setuptools, + python3-build, + python3-installer +Standards-Version: 4.6.0 +Homepage: https://git.linux-gaming.ru/Boria138/PortProtonQt +Rules-Requires-Root: no +X-Python3-Version: >= 3.10 + +Package: portprotonqt +Architecture: all +Depends: ${python3:Depends}, ${misc:Depends}, + python3-babel, + python3-beautifulsoup4, + python3-evdev, + python3-icoextract, + python3-numpy, + python3-orjson, + python3-pillow, + python3-psutil, + python3-pyside6, + python3-pyudev, + python3-rapidfuzz, + python3-requests, + python3-tqdm, + python3-vdf, + python3-websocket-client, + perl-image-exiftool, + xdg-utils, + cabextract, + curl, + gzip, + unzip, + unrar +Description: Modern GUI for managing and launching games from PortProton, Steam, and Epic Games Store + This application provides a sleek, intuitive graphical interface for managing and launching games from PortProton, Steam, and Epic Games Store. + It consolidates your game libraries into a single, user-friendly hub for seamless navigation and organization. + Its lightweight structure and cross-platform support deliver a cohesive gaming experience, eliminating the need for multiple launchers. + Unique PortProton integration enhances Linux gaming, enabling effortless play of Windows-based titles with minimal setup. diff --git a/build-aux/debian/copyright b/build-aux/debian/copyright new file mode 100644 index 0000000..66e7d6b --- /dev/null +++ b/build-aux/debian/copyright @@ -0,0 +1,24 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: PortProtonQt +Source: https://git.linux-gaming.ru/Boria138/PortProtonQt + +Files: * +Copyright: 2023-2025 Boria138, BlackSnaker, Mikhail Tergoev(Castro-Fidel) +License: GPL-3.0+ + +License: GPL-3.0+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GPL-3.0+ license + can be found in /usr/share/common-licenses/GPL-3. diff --git a/build-aux/debian/rules b/build-aux/debian/rules new file mode 100755 index 0000000..edcbb38 --- /dev/null +++ b/build-aux/debian/rules @@ -0,0 +1,17 @@ +#!/usr/bin/make -f + +export PYBUILD_NAME=portprotonqt +export PYBUILD_SYSTEM=pyproject + +%: + dh $@ --with python3 --buildsystem=pybuild + +override_dh_auto_build: + dh_auto_build --buildsystem=pybuild + +override_dh_auto_install: + dh_auto_install --buildsystem=pybuild + install -d debian/portprotonqt/usr/share + install -d debian/portprotonqt/usr/lib + cp -r build-aux/share/* debian/portprotonqt/usr/share/ + cp -r build-aux/lib/* debian/portprotonqt/usr/lib/ diff --git a/build-aux/debian/source/format b/build-aux/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/build-aux/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/build-aux/debian/source/options b/build-aux/debian/source/options new file mode 100644 index 0000000..832b52f --- /dev/null +++ b/build-aux/debian/source/options @@ -0,0 +1,6 @@ +compression = "gzip" +tar-ignore = "dev-scripts" +tar-ignore = ".*" +tar-ignore = "__pycache__" +tar-ignore = "build-aux" +tar-ignore = "data" diff --git a/portprotonqt/__init__.py b/portprotonqt/__init__.py deleted file mode 100644 index e69de29..0000000