Skip to content

Commit

Permalink
Merge pull request #37 from akdor1154/update-gamescope-3.12.5
Browse files Browse the repository at this point in the history
Bump gamescope to new tag 3.12.5
  • Loading branch information
akdor1154 authored Sep 9, 2023
2 parents 5dc1014 + b81caa2 commit 6dabacb
Show file tree
Hide file tree
Showing 13 changed files with 93 additions and 51 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ These build scripts are GPL licenced. Gamescope itself is MIT. (Gamescope guys,
- [ ] more OSes than just Ubuntu 22.04? (though the packages as-is should work on 22.10 and newish Debian as well)
- [ ] gpg signing
- [ ] master / nightly builds
- [ ] bot to update vendored deps as well as gamescope itself
- [x] bot to update vendored deps as well as gamescope itself
- [ ] keep an eye on weirdness to do with libwayland: gamescope links against vendored libwayland-client etc., but vendored libsdl2 links against system libwayland-client etc. I'm surprised
this seems to work but very suspicious it might break something.

## Technical notes

Expand Down
4 changes: 2 additions & 2 deletions gamescope.mk
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
GAMESCOPE_VERSION=3.12.0
GAMESCOPE_TAG=3.12.0
GAMESCOPE_VERSION=3.12.5
GAMESCOPE_TAG=3.12.5
DEB_RELEASE=1
71 changes: 50 additions & 21 deletions ubuntu_22.04/01-deps/Makefile.deps.inside
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
.SHELL = bash
.SHELLFLAGS = -ec

default: libwayland libdrm wayland-protocols hwdata vkheaders
default: wayland libdrm wayland-protocols hwdata vkheaders libsdl2

include versions.mk

Expand All @@ -12,6 +12,7 @@ export WAYLAND_PROTOCOLS_VERSION
export WLROOTS_VERSION
export HWDATA_VERSION
export VULKAN_LOADER_VERSION
export LIBSDL2_VERSION

.PHONY: packages/wayland
packages/wayland: packages/wayland-$(WAYLAND_VERSION)
Expand All @@ -22,8 +23,8 @@ packages/wayland-$(WAYLAND_VERSION):
mkdir -p packages/wayland_tmp
(
cd packages/wayland_tmp
# kinetic
apt-get source -t kinetic --only-source wayland=$${WAYLAND_VERSION:?} --compile
# lunar
apt-get source -t lunar --only-source wayland=$${WAYLAND_VERSION:?} --compile
)
mv -T packages/wayland_tmp packages/wayland-$${WAYLAND_VERSION:?}

Expand All @@ -36,8 +37,8 @@ packages/libdrm-$(LIBDRM_VERSION):
mkdir -p packages/libdrm_tmp
(
cd packages/libdrm_tmp
# kinetic
apt-get source -t kinetic --only-source libdrm=$${LIBDRM_VERSION:?} --compile
# lunar
apt-get source -t lunar --only-source libdrm=$${LIBDRM_VERSION:?} --compile
)
mv -T packages/libdrm_tmp packages/libdrm-$${LIBDRM_VERSION:?}

Expand All @@ -50,22 +51,22 @@ packages/wayland-protocols-$(WAYLAND_PROTOCOLS_VERSION):
mkdir -p packages/wayland-protocols_tmp
(
cd packages/wayland-protocols_tmp
# sid
apt-get source -t unstable --only-source wayland-protocols=$${WAYLAND_PROTOCOLS_VERSION:?} --compile
# lunar
apt-get source -t lunar --only-source wayland-protocols=$${WAYLAND_PROTOCOLS_VERSION:?} --compile
)
mv packages/wayland-protocols_tmp packages/wayland-protocols-$${WAYLAND_PROTOCOLS_VERSION:?}

.PHONY: packages/wlroots
packages/wlroots: packages/wlroots-$(WLROOTS_VERSION)
packages/wlroots-$(WLROOTS_VERSION):
set -ex

rm -rf packages/wlroots_tmp
mkdir -p packages/wlroots_tmp
(
cd packages/wlroots_tmp
# sid
apt-get source -t unstable --only-source wlroots=$${WLROOTS_VERSION:?} --compile
# lunar
apt-get source -t lunar --only-source wlroots=$${WLROOTS_VERSION:?} --compile
)
mv packages/wlroots_tmp packages/wlroots-$${WLROOTS_VERSION:?}

Expand All @@ -78,8 +79,8 @@ packages/hwdata-$(HWDATA_VERSION):
mkdir -p packages/hwdata_tmp
(
cd packages/hwdata_tmp
# sid
apt-get source -t unstable --only-source hwdata=$${HWDATA_VERSION:?} --compile
# lunar
apt-get source -t lunar --only-source hwdata=$${HWDATA_VERSION:?} --compile
)
mv packages/hwdata_tmp packages/hwdata-$${HWDATA_VERSION:?}

Expand All @@ -91,11 +92,23 @@ packages/vkheaders-$(VULKAN_LOADER_VERSION):
mkdir -p packages/vkheaders_tmp
(
cd packages/vkheaders_tmp
# sid
apt-get source -t unstable --only-source vulkan-loader=$${VULKAN_LOADER_VERSION:?} --compile
# lunar
apt-get source -t lunar --only-source vulkan-loader=$${VULKAN_LOADER_VERSION:?} --compile
)
mv packages/vkheaders_tmp packages/vkheaders-$${VULKAN_LOADER_VERSION:?}

.PHONY: packages/libsdl2
packages/libsdl2: packages/libsdl2-$(LIBSDL2_VERSION)
packages/libsdl2-$(LIBSDL2_VERSION):
set -ex
rm -rf packages/libsdl2_tmp
mkdir -p packages/libsdl2_tmp
(
cd packages/libsdl2_tmp
apt-get source -t lunar --only-source libsdl2=$${LIBSDL2_VERSION:?} --compile
)
mv packages/libsdl2_tmp packages/libsdl2-$${LIBSDL2_VERSION:?}

BUILD=./build
.PHONY: $(BUILD)
$(BUILD):
Expand All @@ -111,14 +124,18 @@ $(BUILD):
mkdir -p $(BUILD)/share
mkdir -p $(BUILD)/share/pkgconfig

.PHONY: libwayland
libwayland: FROM=packages/wayland-$${WAYLAND_VERSION:?}/wayland-*/debian
libwayland: packages/wayland-$(WAYLAND_VERSION) $(BUILD)
.PHONY: wayland
wayland: FROM=packages/wayland-$${WAYLAND_VERSION:?}/wayland-*/debian
wayland: packages/wayland-$(WAYLAND_VERSION) $(BUILD)
set -e

cp -rP $(FROM)/libwayland-server0/usr/. $(BUILD)/.
cp -rP $(FROM)/libwayland-dev/usr/. $(BUILD)/.
cp -rP $(FROM)/libwayland-bin/usr/. $(BUILD)/.
cp -rP $(FROM)/libwayland-client0/usr/. $(BUILD)/.
cp -rP $(FROM)/libwayland-egl1/usr/. $(BUILD)/.
cp -rP $(FROM)/libwayland-cursor0/usr/. $(BUILD)/.

.PHONY: libdrm
libdrm: FROM=packages/libdrm-$${LIBDRM_VERSION:?}/libdrm-*/debian
libdrm: packages/libdrm-$(LIBDRM_VERSION) $(BUILD)
Expand All @@ -145,19 +162,31 @@ wayland-protocols: packages/wayland-protocols-$(WAYLAND_PROTOCOLS_VERSION) $(BUI
hwdata: FROM=packages/hwdata-$${HWDATA_VERSION:?}/hwdata-*/debian
hwdata: packages/hwdata-$(HWDATA_VERSION) $(BUILD)
set -e

cp -rP $(FROM)/hwdata/usr/. $(BUILD)/.

.PHONY: vkheaders
vkheaders: FROM=packages/vkheaders-$${VULKAN_LOADER_VERSION:?}/vulkan-loader-*/debian
vkheaders: packages/vkheaders-$(VULKAN_LOADER_VERSION) $(BUILD)
set -e

cp -rP $(FROM)/libvulkan1/usr/. $(BUILD)/.

cp -rP $(FROM)/libvulkan-dev/usr/. $(BUILD)/.

#hack, workaround what something i'm 99% sure is a libvulkan [packaging?] bug
sed -i -e 's|libdir=.*|libdir=$${exec_prefix}/lib/x86_64-linux-gnu|' \
$(BUILD)/lib/x86_64-linux-gnu/pkgconfig/vulkan.pc


.PHONY: libsdl2
libsdl2: FROM=packages/libsdl2-$${LIBSDL2_VERSION:?}/libsdl2-*/debian
libsdl2: packages/libsdl2-$(LIBSDL2_VERSION) $(BUILD)
set -e

cp -rP $(FROM)/libsdl2-2.0-0/usr/. $(BUILD)/.

cp -rP $(FROM)/libsdl2-dev/usr/. $(BUILD)/.

#hack, pretty sure this is jarrad not understanding sdl2 build process though
sed -i -e 's|-I\$${includedir}/SDL2|-I\$${includedir}/SDL2 -I\$${includedir}/x86_64-linux-gnu|' \
$(BUILD)/lib/x86_64-linux-gnu/pkgconfig/sdl2.pc
6 changes: 1 addition & 5 deletions ubuntu_22.04/01-deps/apt/preferences.d/srcrepos.pref
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
Package: *
Pin: release a=unstable
Pin: release a=lunar
Pin-Priority: -1

Package: *
Pin: release a=kinetic
Pin-Priority: -1
3 changes: 1 addition & 2 deletions ubuntu_22.04/01-deps/apt/sources.list.d/srcrepos.list
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
deb-src http://ftp.us.debian.org/debian unstable main contrib non-free
deb-src http://archive.ubuntu.com/ubuntu kinetic main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu lunar main
9 changes: 5 additions & 4 deletions ubuntu_22.04/01-deps/deps.Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ FROM docker.io/ubuntu:22.04
RUN sed -i -e 's/^# deb-src/deb-src/' /etc/apt/sources.list
RUN rm -f /etc/apt/apt.conf.d/docker-clean

ADD http://ftp.us.debian.org/debian/dists/unstable/Release apt_update_cachebust_sid
ADD http://archive.ubuntu.com/ubuntu/dists/kinetic/Release apt_update_cachebust_kinetic
#ADD http://ftp.us.debian.org/debian/dists/unstable/Release apt_update_cachebust_sid
ADD http://archive.ubuntu.com/ubuntu/dists/lunar/Release apt_update_cachebust_lunar

RUN apt-get -y update \
&& apt-get -y install build-essential devscripts
Expand All @@ -13,7 +13,8 @@ RUN apt-get -y build-dep \
libdrm \
libwayland-server0 \
wayland-protocols \
libvulkan-dev
libvulkan-dev \
libsdl2-dev

# debian sid
RUN apt-key adv --keyserver keyserver.ubuntu.com \
Expand All @@ -23,4 +24,4 @@ RUN apt-key adv --keyserver keyserver.ubuntu.com \
COPY apt /etc/apt/
RUN apt-get -y update \
&& dpkg --clear-avail \
&& sync-available
&& sync-available
11 changes: 6 additions & 5 deletions ubuntu_22.04/01-deps/query-deps.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,12 @@ class Dep:
dist: str

DEPS: List[Dep] = [
Dep('WAYLAND_VERSION', 'wayland', 'kinetic/main'),
Dep('LIBDRM_VERSION', 'libdrm', 'kinetic/main'),
Dep('WAYLAND_PROTOCOLS_VERSION', 'wayland-protocols', 'unstable/main'),
Dep('HWDATA_VERSION', 'hwdata', 'unstable/main'),
Dep('VULKAN_LOADER_VERSION', 'vulkan-loader', 'unstable/main')
Dep('WAYLAND_VERSION', 'wayland', 'lunar/main'),
Dep('LIBDRM_VERSION', 'libdrm', 'lunar/main'),
Dep('WAYLAND_PROTOCOLS_VERSION', 'wayland-protocols', 'lunar/main'),
Dep('HWDATA_VERSION', 'hwdata', 'lunar/main'),
Dep('VULKAN_LOADER_VERSION', 'vulkan-loader', 'lunar/main'),
Dep('LIBSDL2_VERSION', 'libsdl2', 'lunar/main')
]

for dep in DEPS:
Expand Down
9 changes: 5 additions & 4 deletions ubuntu_22.04/01-deps/versions.mk
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
WAYLAND_VERSION=1.21.0-1
LIBDRM_VERSION=2.4.113-2
WAYLAND_PROTOCOLS_VERSION=1.32-1
HWDATA_VERSION=0.374-1
VULKAN_LOADER_VERSION=1.3.250.0-1
LIBDRM_VERSION=2.4.114-1
WAYLAND_PROTOCOLS_VERSION=1.31-1
HWDATA_VERSION=0.367-1
VULKAN_LOADER_VERSION=1.3.239.0-1
LIBSDL2_VERSION=2.26.3+dfsg-1
8 changes: 6 additions & 2 deletions ubuntu_22.04/02-gamescope/gamescope.Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ RUN apt-get -y install \
libxres-dev \
libxkbcommon-dev \
libcap-dev \
libsdl2-dev \
libpipewire-0.3-dev \
glslang-tools \
libpixman-1-dev \
Expand All @@ -39,4 +38,9 @@ RUN apt-get -y install \
libxcb-res0-dev \
libxmu-dev \
libglm-dev \
libbenchmark-dev
libbenchmark-dev \
libsamplerate0-dev \
libxcursor-dev \
libxrandr-dev \
libxss-dev \
libdecor-0-dev
9 changes: 6 additions & 3 deletions ubuntu_22.04/03-package/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ package: | $(PACKAGE_NAME).deb
cat man_header.md
cat pkg_tmp/opt/gamescope/doc/README.md
) | pandoc --standalone --to man -o pkg_tmp/usr/share/man/man1/gamescope.1

mv pkg_tmp $(PACKAGE_NAME)

$(PACKAGE_NAME).deb: ./$(PACKAGE_NAME)
Expand All @@ -84,11 +84,14 @@ lint: $(PACKAGE_NAME).deb
compute-deps:
# this outputs computed dependencies, which you can MANUALLY update+commit into
# debian/control.
dpkg-shlibdeps ./$${PACKAGE_NAME:?}/opt/gamescope/bin/gamescope.real \
dpkg-shlibdeps \
-e ./$${PACKAGE_NAME:?}/opt/gamescope/bin/gamescope.real \
-e ./$${PACKAGE_NAME:?}/opt/gamescope/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.2600.3 \
-O \
-l./$${PACKAGE_NAME:?}/opt/gamescope/lib/x86_64-linux-gnu \
-xlibwayland-server0 \
-xlibdrm2
-xlibdrm2 \
-xlibsdl2-2.0-0

.PHONY: test-install
test-install: test-image
Expand Down
6 changes: 6 additions & 0 deletions ubuntu_22.04/03-package/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
gamescope (3.12.5-1) UNRELEASED; urgency=medium

* Bump gamescope to new tag 3.12.5

-- Jarrad Whitaker <[email protected]> Sun, 10 Sep 2023 06:35:38 +1000

gamescope (3.12.0-2) UNRELEASED; urgency=medium

* Bump dependencies WAYLAND_VERSION=1.21.0-1 LIBDRM_VERSION=2.4.113-2
Expand Down
2 changes: 1 addition & 1 deletion ubuntu_22.04/03-package/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Vcs-Git: https://github.com/akdor1154/gamescope-pkg

Package: gamescope
Architecture: amd64
Depends: xwayland, libc6 (>= 2.34), libcap2 (>= 1:2.10), libgcc-s1 (>= 3.4), libinput10 (>= 1.19.1), libpipewire-0.3-0 (>= 0.3.1), libpixman-1-0 (>= 0.27.4), libsdl2-2.0-0 (>= 2.0.16), libseat1 (>= 0.5.0), libstdc++6 (>= 12), libudev1 (>= 183), libvulkan1 (>= 1.2.131.2), libwayland-client0 (>= 1.20.0), libx11-6, libxcomposite1 (>= 1:0.4.5), libxdamage1 (>= 1:1.1), libxext6, libxfixes3 (>= 1:5.0), libxkbcommon0 (>= 1.0.0), libxmu6 (>= 2:1.1.3), libxrender1, libxres1 (>= 2:1.2.1), libxtst6, libxxf86vm1
Depends: libasound2 (>= 1.0.27), libc6 (>= 2.34), libcap2 (>= 1:2.10), libdecor-0-0 (>= 0.1.0), libgbm1 (>= 8.1~0), libgcc-s1 (>= 3.4), libinput10 (>= 1.19.1), libpipewire-0.3-0 (>= 0.3.1), libpixman-1-0 (>= 0.27.4), libpulse0 (>= 0.99.1), libsamplerate0 (>= 0.1.7), libseat1 (>= 0.5.0), libstdc++6 (>= 12), libudev1 (>= 183), libvulkan1 (>= 1.2.131.2), libwayland-client0 (>= 1.20.0), libwayland-cursor0 (>= 1.0.2), libwayland-egl1 (>= 1.15.0), libx11-6 (>= 2:1.2.99.901), libxcomposite1 (>= 1:0.4.5), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3 (>= 1:5.0), libxi6 (>= 2:1.5.99.2), libxkbcommon0 (>= 1.0.0), libxmu6 (>= 2:1.1.3), libxrandr2 (>= 2:1.2.99.3), libxrender1, libxres1 (>= 2:1.2.1), libxss1, libxtst6, libxxf86vm1
Description: Micro-compositor for game scaling
Unofficial package for the Gamescope compositor.
Gamescope itself is maintained at https://github.com/ValveSoftware/gamescope.
Expand Down

0 comments on commit 6dabacb

Please sign in to comment.