diff options
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/steam/Manifest | 2 | ||||
-rw-r--r-- | app-emulation/steam/files/redcore-steam | 35 | ||||
-rw-r--r-- | app-emulation/steam/files/redcore-steam.patch | 86 | ||||
-rw-r--r-- | app-emulation/steam/files/steam-wrapper.sh | 34 | ||||
-rw-r--r-- | app-emulation/steam/steam-1.0.0.71-r4.ebuild | 63 | ||||
-rw-r--r-- | app-emulation/steam/steam-1.0.0.79.ebuild | 195 |
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 +} |