summaryrefslogtreecommitdiff
path: root/app-emulation/steam
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/steam')
-rw-r--r--app-emulation/steam/Manifest2
-rw-r--r--app-emulation/steam/files/redcore-steam35
-rw-r--r--app-emulation/steam/files/redcore-steam.patch86
-rw-r--r--app-emulation/steam/files/steam-wrapper.sh34
-rw-r--r--app-emulation/steam/steam-1.0.0.71-r4.ebuild63
-rw-r--r--app-emulation/steam/steam-1.0.0.79.ebuild195
6 files changed, 230 insertions, 185 deletions
diff --git a/app-emulation/steam/Manifest b/app-emulation/steam/Manifest
index 2a009356..de7e08dd 100644
--- a/app-emulation/steam/Manifest
+++ b/app-emulation/steam/Manifest
@@ -1 +1 @@
-DIST steam_1.0.0.71.tar.gz 3432069 BLAKE2B 10cea5d3f31cd55401d68831f95a593e62a41b274cfd6e1da10585249a43e7e21f8d281e9df2b3407ceccbbec401be5d75a9951c5787cef49686acc8431e14a0 SHA512 20205ccd14dd1b48b85a3288cdce39116a601260e70b9d5811cb1786be766f235153d199e64dd4e794553c5957ce41e9b671cf044f2bdddbb0f99f0c1e08b83e
+DIST steam_1.0.0.79.tar.gz 3970983 BLAKE2B 73538d120182b37cca15e99512af6c689ff29e47cd37ea5bdd0d754f42aacd69aa71125e3c07140d8b8eaf55ee980babdfa6f7a1de8daf8c6ce8af4b03608cbc SHA512 52d1a23f43012af641ebc9a03a444b6944ea966e0814619c890e792442e760a96bf570a84e4f8b38552904dafb6572a92de31154ddefe1eb8d702106605c8497
diff --git a/app-emulation/steam/files/redcore-steam b/app-emulation/steam/files/redcore-steam
deleted file mode 100644
index 83c01ac4..00000000
--- a/app-emulation/steam/files/redcore-steam
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-
-# steam-runtime is a somewhat a mess bundled with old libraries
-# due to this reason, system native graphic drivers may not load
-#
-# if we remove some bundled libs and preload some system libs
-# system native graphic drivers will be able to load
-#
-# however we must do this everytime when we launch steam, because
-# steam-runtime is being fixed right away by steam client
-
-
-source /lib/gentoo/functions.sh
-
-do_remove () {
- einfo "Removing bundled libraries (libxcb, libstdc++, libgcc_s)"
- find /home/$USER/.local/share/Steam -name 'libxcb*' -type f | grep -v installed | xargs rm -rf
- find /home/$USER/.local/share/Steam -name 'libstdc++.so.6*' -type f | grep -v installed | xargs rm -rf
- find /home/$USER/.local/share/Steam -name 'libgcc_s*' -type f | grep -v installed | xargs rm -rf
-}
-
-do_preload () {
- einfo "Preloading system libraries (libstdc++, libgcc_s)"
- export LD_PRELOAD='/usr/lib/gcc/x86_64-pc-linux-gnu/13/32/libstdc++.so.6 /usr/lib/gcc/x86_64-pc-linux-gnu/13/32/libgcc_s.so.1 /usr/lib/gcc/x86_64-pc-linux-gnu/13/libgcc_s.so.1 /usr/lib/gcc/x86_64-pc-linux-gnu/13/32/libstdc++.so.6'
-}
-
-launch_steam () {
- do_remove
- do_preload
- export DISPLAY=:0
- export DBUS_FATAL_WARNINGS=0
- steam
-}
-
-launch_steam
diff --git a/app-emulation/steam/files/redcore-steam.patch b/app-emulation/steam/files/redcore-steam.patch
deleted file mode 100644
index 7d74ebfc..00000000
--- a/app-emulation/steam/files/redcore-steam.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff -Nur a/steam.desktop b/steam.desktop
---- a/steam.desktop 2018-09-27 19:20:20.000000000 +0100
-+++ b/steam.desktop 2020-01-06 00:00:32.785536584 +0000
-@@ -27,7 +27,7 @@
- Comment[tr]=Steam üzerinden oyun oynama ve düzenleme uygulaması
- Comment[uk]=Програма для керування іграми та запуску ігор у Steam
- Comment[vi]=Ứng dụng để quản lý và chơi trò chơi trên Steam
--Exec=/usr/bin/steam %U
-+Exec=/usr/bin/redcore-steam %U
- Icon=steam
- Terminal=false
- Type=Application
-@@ -63,7 +63,7 @@
- Name[tr]=Mağaza
- Name[uk]=Крамниця
- Name[vi]=Cửa hàng
--Exec=steam steam://store
-+Exec=redcore-steam steam://store
-
- [Desktop Action Community]
- Name=Community
-@@ -93,7 +93,7 @@
- Name[tr]=Topluluk
- Name[uk]=Спільнота
- Name[vi]=Cộng đồng
--Exec=steam steam://url/SteamIDControlPage
-+Exec=redcore-steam steam://url/SteamIDControlPage
-
- [Desktop Action Library]
- Name=Library
-@@ -123,7 +123,7 @@
- Name[tr]=Kütüphane
- Name[uk]=Бібліотека
- Name[vi]=Thư viện
--Exec=steam steam://open/games
-+Exec=redcore-steam steam://open/games
-
- [Desktop Action Servers]
- Name=Servers
-@@ -153,7 +153,7 @@
- Name[tr]=Sunucular
- Name[uk]=Сервери
- Name[vi]=Máy chủ
--Exec=steam steam://open/servers
-+Exec=redcore-steam steam://open/servers
-
- [Desktop Action Screenshots]
- Name=Screenshots
-@@ -183,7 +183,7 @@
- Name[tr]=Ekran Görüntüleri
- Name[uk]=Скріншоти
- Name[vi]=Ảnh chụp
--Exec=steam steam://open/screenshots
-+Exec=redcore-steam steam://open/screenshots
-
- [Desktop Action News]
- Name=News
-@@ -213,7 +213,7 @@
- Name[tr]=Haberler
- Name[uk]=Новини
- Name[vi]=Tin tức
--Exec=steam steam://open/news
-+Exec=redcore-steam steam://open/news
-
- [Desktop Action Settings]
- Name=Settings
-@@ -243,11 +243,11 @@
- Name[tr]=Ayarlar
- Name[uk]=Налаштування
- Name[vi]=Thiết lập
--Exec=steam steam://open/settings
-+Exec=redcore-steam steam://open/settings
-
- [Desktop Action BigPicture]
- Name=Big Picture
--Exec=steam steam://open/bigpicture
-+Exec=redcore-steam steam://open/bigpicture
-
- [Desktop Action Friends]
- Name=Friends
-@@ -277,4 +277,4 @@
- Name[tr]=Arkadaşlar
- Name[uk]=Друзі
- Name[vi]=Bạn bè
--Exec=steam steam://open/friends
-+Exec=redcore-steam steam://open/friends
diff --git a/app-emulation/steam/files/steam-wrapper.sh b/app-emulation/steam/files/steam-wrapper.sh
new file mode 100644
index 00000000..25936107
--- /dev/null
+++ b/app-emulation/steam/files/steam-wrapper.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# Set a default STEAM_RUNTIME value.
+: ${STEAM_RUNTIME:=@@STEAM_RUNTIME@@}
+export STEAM_RUNTIME
+
+# Gentoo's lsb-release doesn't set this.
+export DISTRIB_RELEASE="@@PVR@@"
+
+# Add paths to occasionally needed libraries not found in /usr/lib.
+export LD_LIBRARY_PATH+="${LD_LIBRARY_PATH+:}@@GENTOO_LD_LIBRARY_PATH@@"
+
+# Preload the extest library when running in a Wayland session.
+[[ -f "@@GENTOO_X86_LIBDIR@@/libextest.so" && ${XDG_SESSION_TYPE} == wayland ]] &&
+ export LD_PRELOAD+="${LD_PRELOAD+:}@@GENTOO_X86_LIBDIR@@/libextest.so"
+
+# Preload libstdc++ on default-libcxx systems to avoid crashes. Loading the
+# 64-bit library prevents Steam from working at all, so only load the 32-bit
+# multlib library. Pure 32-bit systems are untested and may not work.
+if grep -Fxqe --stdlib=libc++ /etc/clang/gentoo-runtimes.cfg 2>/dev/null; then
+ IFS=:
+ for GCC_LIB_DIR in $(gcc-config -L 2>/dev/null); do
+ [[ ${GCC_LIB_DIR} == */32 ]] || continue
+ export LD_PRELOAD+="${LD_PRELOAD+:}${GCC_LIB_DIR}/libstdc++.so"
+ done
+ unset IFS GCC_LIB_DIR
+fi
+
+# Steam renames LD_LIBRARY_PATH to SYSTEM_LD_LIBRARY_PATH and it then becomes
+# ineffective against games. We unfortunately therefore have to force the value
+# through via STEAM_RUNTIME_LIBRARY_PATH instead.
+export STEAM_RUNTIME_LIBRARY_PATH="${LD_LIBRARY_PATH}"
+
+. "${0%/*}"/../lib/steam/bin_steam.sh
diff --git a/app-emulation/steam/steam-1.0.0.71-r4.ebuild b/app-emulation/steam/steam-1.0.0.71-r4.ebuild
deleted file mode 100644
index 4510baf4..00000000
--- a/app-emulation/steam/steam-1.0.0.71-r4.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-
-EAPI=8
-
-DESCRIPTION="Digital distribution client bootstrap package"
-HOMEPAGE="http://steampowered.com/"
-SRC_URI="http://repo.steampowered.com/"${PN}"/pool/"${PN}"/s/"${PN}"/"${PN}"_"${PV}".tar.gz"
-
-LICENSE="custom"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-util/desktop-file-utils
- gnome-extra/zenity
- media-libs/alsa-lib[abi_x86_32(-)]
- media-libs/freetype[abi_x86_32(-)]
- media-libs/mesa[abi_x86_32(-)]
- net-misc/curl[abi_x86_32(-)]
- sys-apps/dbus[abi_x86_32(-),X]
- sys-apps/gentoo-functions
- virtual/ttf-fonts
- x11-libs/gdk-pixbuf[abi_x86_32(-)]
- x11-libs/libX11[abi_x86_32(-)]
- x11-libs/libxcb[abi_x86_32(-)]
- x11-themes/hicolor-icon-theme"
-
-S="${WORKDIR}"/"${PN}-launcher"
-
-PATCHES=( "${FILESDIR}/redcore-${PN}.patch" )
-
-src_prepare() {
- default
- sed -r 's|("0666")|"0660", TAG+="uaccess"|g' -i subprojects/steam-devices/60-steam-input.rules
- sed -r 's|("misc")|\1, OPTIONS+="static_node=uinput"|g' -i subprojects/steam-devices/60-steam-input.rules
- sed -r 's|(, TAG\+="uaccess")|, MODE="0660"\1|g' -i subprojects/steam-devices/60-steam-vr.rules
-
- sed -i 's|PrefersNonDefaultGPU=true||g' ${PN}.desktop
- sed -i 's|X-KDE-RunOnDiscreteGpu=true||g' ${PN}.desktop
-}
-
-src_install() {
- # make install
- emake DESTDIR="${D}" install
-
- # inject our wrapper binary
- dobin "${FILESDIR}"/redcore-steam
-
- # blank steamdeps because apt-get
- rm -rf "${D}"/usr/bin/steamdeps
- dosym /bin/true /usr/bin/steamdeps
-
- # docs
- rm -rf "${D}"/usr/share/doc/"${PN}"
- dodoc steam_subscriber_agreement.txt
-
- # udev rules
- insinto usr/lib/udev/rules.d
- newins subprojects/steam-devices/60-steam-input.rules 70-steam-input.rules
- newins subprojects/steam-devices/60-steam-vr.rules 70-steam-vr.rules
-}
diff --git a/app-emulation/steam/steam-1.0.0.79.ebuild b/app-emulation/steam/steam-1.0.0.79.ebuild
new file mode 100644
index 00000000..e15fdab2
--- /dev/null
+++ b/app-emulation/steam/steam-1.0.0.79.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop pax-utils prefix xdg
+
+DESCRIPTION="Installer, launcher and supplementary files for Valve's Steam client"
+HOMEPAGE="https://store.steampowered.com"
+SRC_URI="https://repo.steampowered.com/steam/archive/stable/steam_${PV}.tar.gz"
+
+LICENSE="ValveSteamLicense MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+desktop-portal +dialogs +joystick +pulseaudio +steamruntime +steamvr +trayicon +udev wayland"
+RESTRICT="bindist mirror test"
+
+RDEPEND="
+ app-arch/tar
+ app-arch/xz-utils
+ app-shells/bash
+ media-libs/fontconfig[abi_x86_32]
+ sys-libs/libudev-compat[abi_x86_32]
+ sys-process/lsof
+ virtual/opengl[abi_x86_32]
+ virtual/ttf-fonts
+ !x11-misc/virtualgl[-abi_x86_32]
+
+ steamruntime? (
+ !sys-apps/dbus[abi_x86_32,-X]
+ !x11-libs/cairo[abi_x86_32,-X]
+ )
+
+ !steamruntime? (
+ >=app-accessibility/at-spi2-core-2.46.0:2[abi_x86_32]
+ app-arch/bzip2[abi_x86_32]
+ app-i18n/ibus
+ dev-libs/dbus-glib[abi_x86_32]
+ dev-libs/expat[abi_x86_32]
+ dev-libs/glib:2[abi_x86_32]
+ dev-libs/nspr[abi_x86_32]
+ dev-libs/nss[abi_x86_32]
+ media-libs/alsa-lib[abi_x86_32]
+ media-libs/freetype[abi_x86_32]
+ media-libs/libpng-compat:1.2
+ media-libs/libva:0/2[abi_x86_32]
+ media-libs/openal[abi_x86_32]
+ media-video/pipewire:0/0.4[abi_x86_32]
+ net-misc/curl[abi_x86_32]
+ net-misc/networkmanager[abi_x86_32]
+ net-print/cups
+ sys-apps/dbus[abi_x86_32,X]
+ sys-libs/zlib[abi_x86_32]
+ virtual/libusb[abi_x86_32]
+ x11-libs/gdk-pixbuf[abi_x86_32]
+ x11-libs/gtk+:2[abi_x86_32]
+ x11-libs/libICE[abi_x86_32]
+ x11-libs/libSM[abi_x86_32]
+ x11-libs/libvdpau[abi_x86_32]
+ x11-libs/libX11[abi_x86_32]
+ x11-libs/libXcomposite[abi_x86_32]
+ x11-libs/libXcursor[abi_x86_32]
+ x11-libs/libXdamage[abi_x86_32]
+ x11-libs/libXext[abi_x86_32]
+ x11-libs/libXfixes[abi_x86_32]
+ x11-libs/libXi[abi_x86_32]
+ x11-libs/libXinerama[abi_x86_32]
+ x11-libs/libXrandr[abi_x86_32]
+ x11-libs/libXrender[abi_x86_32]
+ x11-libs/libXScrnSaver[abi_x86_32]
+ x11-libs/libXtst[abi_x86_32]
+ x11-libs/pango[abi_x86_32]
+
+ dialogs? ( || (
+ >=gnome-extra/zenity-3
+ x11-terms/xterm
+ ) )
+
+ trayicon? ( dev-libs/libappindicator:2[abi_x86_32] )
+ )
+
+ desktop-portal? ( sys-apps/xdg-desktop-portal )
+ pulseaudio? ( media-libs/libpulse[abi_x86_32] )
+ !pulseaudio? ( media-sound/apulse[abi_x86_32] )
+ steamvr? ( sys-apps/usbutils )
+
+ joystick? (
+ udev? ( games-util/game-device-udev-rules )
+ wayland? ( || (
+ x11-libs/extest[abi_x86_32]
+ >=x11-base/xwayland-23.2.1[libei(+)]
+ ) )
+ )
+
+ amd64? (
+ >=sys-devel/gcc-4.6.0[multilib]
+ >=sys-libs/glibc-2.15[multilib]
+ )
+"
+
+S="${WORKDIR}/${PN}-launcher"
+
+lib_path_entries() {
+ while true; do
+ echo -n ${EPREFIX}/usr/\\\\\${LIB}/${1}
+ shift
+
+ if [[ -n ${1} ]]; then
+ echo -n :
+ else
+ break
+ fi
+ done
+}
+
+src_prepare() {
+ default
+
+ sed -i 's|PrefersNonDefaultGPU=true||g' ${PN}.desktop || die
+ sed -i 's|X-KDE-RunOnDiscreteGpu=true||g' ${PN}.desktop || die
+
+ sed \
+ -e "s#@@PVR@@#${PVR}#g" \
+ -e "s#@@GENTOO_LD_LIBRARY_PATH@@#$(lib_path_entries debiancompat fltk)#g" \
+ -e "s#@@GENTOO_X86_LIBDIR@@#${EPREFIX}/usr/$(ABI=x86 get_libdir)#g" \
+ -e "s#@@STEAM_RUNTIME@@#$(usex steamruntime 1 0)#g" \
+ "${FILESDIR}"/steam-wrapper.sh > steam-wrapper.sh || die
+
+ # Still need EPREFIX in the sed replacements above because the
+ # regular expression used by hprefixify doesn't match there.
+ hprefixify bin_steam.sh steam-wrapper.sh
+}
+
+src_install() {
+ emake install-{icons,bootstrap} \
+ DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+
+ newbin steam-wrapper.sh steam
+ exeinto /usr/lib/steam
+ doexe bin_steam.sh
+ domenu steam.desktop
+
+ dodoc README debian/changelog
+ doman steam.6
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "Execute ${EPREFIX}/usr/bin/steam to download and install the actual"
+ elog "client into your home folder. After installation, the script"
+ elog "also starts the client from your home folder."
+ elog ""
+
+ ewarn "The Steam client and the games are _not_ controlled by Portage."
+ ewarn "Updates are handled by the client itself."
+ ewarn ""
+
+ if use steamruntime; then
+ elog "You have enabled the Steam runtime environment by default."
+ elog "Steam will use bundled libraries if they are missing from"
+ elog "your Gentoo system. Try disabling the runtime with the"
+ elog "steamruntime USE flag if you have issues."
+ elog ""
+ else
+ elog "You have disabled the Steam runtime environment by default."
+ elog "Steam will not use bundled libraries if they are missing from"
+ elog "your Gentoo system. Use games-util/esteam to install addiitonal"
+ elog "dependencies needed by your games. Try setting STEAM_RUNTIME=1"
+ elog "to temporarily enable the runtime if you have issues."
+ elog ""
+ ewarn "Notice: Valve only supports Steam with the runtime enabled!"
+ ewarn ""
+ fi
+
+ if ! use desktop-portal; then
+ ewarn "You have disabled desktop-portal, which is not supported."
+ ewarn "An xdg-desktop-portal backend is needed for file pickers"
+ ewarn "and other desktop components to work, e.g. when adding a"
+ ewarn "non-Steam game or a new library folder."
+ ewarn ""
+ fi
+
+ if ! has_version "gnome-extra/zenity"; then
+ ewarn "Valve does not provide a xterm fallback for all calls of zenity."
+ ewarn "Please install gnome-extra/zenity for full support."
+ ewarn ""
+ fi
+
+ if host-is-pax; then
+ elog "If you're using PAX, please see:"
+ elog "https://wiki.gentoo.org/wiki/Steam#Hardened_Gentoo"
+ elog ""
+ fi
+}