From 5df41677d7f2294a9a3b238c81dc3f02c4ccb482 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B0=D1=88=D0=B5=20=D0=98=D0=BC=D1=8F?= Date: Wed, 22 Apr 2020 23:11:47 +0300 Subject: [PATCH] games-util/steam-launcher: version bump to 1.0.0.62 --- games-util/steam-launcher/Manifest | 3 +- .../steam-launcher/files/libsteam-preload.c | 69 -------- .../files/steam-fix-joystick-detection.patch | 19 -- .../files/steam-fix-ld-library-path.patch | 24 --- .../files/steam-libraries.patch | 35 ---- .../files/steam-runtime-default.patch | 14 -- .../files/steam-set-distrib-release.patch | 13 -- .../steam-launcher/files/steam-wrapper.sh | 32 ++++ .../steam-launcher-1.0.0.56.ebuild | 162 ------------------ ....ebuild => steam-launcher-1.0.0.62.ebuild} | 65 +++---- 10 files changed, 53 insertions(+), 383 deletions(-) delete mode 100644 games-util/steam-launcher/files/libsteam-preload.c delete mode 100644 games-util/steam-launcher/files/steam-fix-joystick-detection.patch delete mode 100644 games-util/steam-launcher/files/steam-fix-ld-library-path.patch delete mode 100644 games-util/steam-launcher/files/steam-libraries.patch delete mode 100644 games-util/steam-launcher/files/steam-runtime-default.patch delete mode 100644 games-util/steam-launcher/files/steam-set-distrib-release.patch create mode 100644 games-util/steam-launcher/files/steam-wrapper.sh delete mode 100644 games-util/steam-launcher/steam-launcher-1.0.0.56.ebuild rename games-util/steam-launcher/{steam-launcher-1.0.0.59.ebuild => steam-launcher-1.0.0.62.ebuild} (67%) diff --git a/games-util/steam-launcher/Manifest b/games-util/steam-launcher/Manifest index eeede50a8..f21a1790f 100644 --- a/games-util/steam-launcher/Manifest +++ b/games-util/steam-launcher/Manifest @@ -1,2 +1 @@ -DIST steam_1.0.0.56.tar.gz 2899122 BLAKE2B a4955975b36d7916d634cd076356f61a90751bdda07aa87ea79ea2237c0b17b1377685f3d6ff41ad82e3921580dc4f3524fbfe45e5918a52c146ea4bd5393c5f SHA512 17fdd26b829a5860520d955326af88ebacda18183fbf9a70cbb38a9c593cc6c3e85237ec0be598e80a3e1d2bc4354a4933e372321ce0b8716ac481cfb3d7a5e0 -DIST steam_1.0.0.59.tar.gz 2899959 BLAKE2B e213cdd417b795f90b9ff6081a3b43b058068ba153b0fad8658d648d6ba8840a644956a666955a99dae2c3eae490059522053fd85a20046b95fd4c22d04255fa SHA512 c5cbe0849b93076bf375de86c78c351af5841163825f2581d54ef98d2501f002d35b18c93b95dba1a7c65444a137bdd5e30f63ca0e72ae6ad526b11a50018276 +DIST steam_1.0.0.62.tar.gz 3000116 BLAKE2B 2a033f9e3449dc839aa31c82cde0d8aeb20467425dc3253a721c13b0d068d731e4dab94cb7840febbdfd5c67e39aed2dc3b5a05d0587470f1399d7c8a3c806ea SHA512 0f1638d17ed28f8d8710e31391c516df631f42f5b3f187fa2b8227e9e1819b48a4c9fbca1ee35e7c1de6f3b52135a67ce720f26c531767ade7f0e242a8599e84 diff --git a/games-util/steam-launcher/files/libsteam-preload.c b/games-util/steam-launcher/files/libsteam-preload.c deleted file mode 100644 index aeb621595..000000000 --- a/games-util/steam-launcher/files/libsteam-preload.c +++ /dev/null @@ -1,69 +0,0 @@ -/* Copyright 1999-2019 Gentoo Authors */ -/* Distributed under the terms of the GNU General Public License v2 */ - -#define _GNU_SOURCE - -#include -#include -#include -#include -#include - -#define STEAM_PRELOAD_QUOTE(name) #name -#define STEAM_PRELOAD_STR(macro) STEAM_PRELOAD_QUOTE(macro) -#define GLIBDIR_STR STEAM_PRELOAD_STR(GLIBDIR) - -int (*execve_real)(const char *filename, char *const argv[], char *const envp[]) = NULL; - -int execve(const char *filename, char *const argv[], char *const envp[]) { - if (execve_real == NULL) { - execve_real = dlsym(RTLD_NEXT, "execve"); - } - - if (strcmp(filename, "./steamwebhelper") == 0) { - fputs("Gentoo caught steamwebhelper invocation\n", stderr); - - unsigned int i; - for (i = 0; envp[i] != NULL; i++); - char **envp2 = malloc(sizeof(char*) * i); - - if (envp2 == NULL) { - errno = ENOMEM; - return -1; - } - - int ret; - char *llp = NULL; - - for (i = 0; envp[i] != NULL; i++) { - if (strncmp(envp[i], "LD_LIBRARY_PATH=", 16) == 0) { - const char *gl_ldpath = getenv("GL_LDPATH"); - - if (gl_ldpath) { - ret = asprintf(&llp, "LD_LIBRARY_PATH=%s:" GLIBDIR_STR ":%s", gl_ldpath, envp[i] + 16); - } else { - ret = asprintf(&llp, "LD_LIBRARY_PATH=" GLIBDIR_STR ":%s", envp[i] + 16); - } - - if (ret < 0) { - free(envp2); - errno = ENOMEM; - return -1; - } - - fprintf(stderr, "Gentoo reinvoking steamwebhelper with %s\n", llp); - envp2[i] = llp; - } else { - envp2[i] = envp[i]; - } - } - - envp2[i] = NULL; - ret = execve_real(filename, argv, envp2); - free(envp2); - free(llp); - return ret; - } else { - return execve_real(filename, argv, envp); - } -} diff --git a/games-util/steam-launcher/files/steam-fix-joystick-detection.patch b/games-util/steam-launcher/files/steam-fix-joystick-detection.patch deleted file mode 100644 index 58dade303..000000000 --- a/games-util/steam-launcher/files/steam-fix-joystick-detection.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -Naur a/steam b/steam ---- a/steam 2016-08-14 18:44:23.069675427 +0100 -+++ b/steam 2016-10-04 12:52:42.144904337 +0100 -@@ -38,6 +38,15 @@ - # Gentoo's lsb-release doesn't set this. - export DISTRIB_RELEASE="2.2" - -+# Finds joystick devices so we can coerce Steam's old SDL library into using them -+IFS=$'\n' -+for f in $(find /dev/input -maxdepth 1 -type c | sort --version-sort); do -+ if udevadm info --query=property --name="$f" 2>/dev/null | grep --quiet ID_INPUT_JOYSTICK=1; then -+ export SDL_JOYSTICK_DEVICE+=${SDL_JOYSTICK_DEVICE+:}$f -+ fi -+done -+unset IFS -+ - function show_message() - { - style=$1 diff --git a/games-util/steam-launcher/files/steam-fix-ld-library-path.patch b/games-util/steam-launcher/files/steam-fix-ld-library-path.patch deleted file mode 100644 index 8e5829af5..000000000 --- a/games-util/steam-launcher/files/steam-fix-ld-library-path.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur a/steam b/steam ---- a/steam 2016-03-29 21:03:30.000000000 +0100 -+++ b/steam 2016-08-14 18:31:09.449120220 +0100 -@@ -17,6 +17,20 @@ - # Set up domain for script localization - export TEXTDOMAIN=steam - -+# A libpcre.so.3 symlink to libpcre.so.1 is installed here. It's -+# needed by some games when not using the Steam runtime. -+export LD_LIBRARY_PATH+="${LD_LIBRARY_PATH+:}@@DEBIAN_COMPAT@@" -+ -+# Steam appends /usr/lib32 to LD_LIBRARY_PATH. We need to make sure that -+# OpenGL implementation dir goes before that, so we need to append it -+# to user's LD_LIBRARY_PATH ourselves. But that's needed only with -+# the new eselect-opengl that uses 000opengl file. -+if [[ -f "/etc/env.d/000opengl" ]]; then -+ . "/etc/env.d/000opengl" -+ # Append only when LDPATH is non-empty -- i.e. using nvidia or ati. -+ [[ -n "${LDPATH}" ]] && LD_LIBRARY_PATH+=":${LDPATH}" -+fi -+ - function show_message() - { - style=$1 diff --git a/games-util/steam-launcher/files/steam-libraries.patch b/games-util/steam-launcher/files/steam-libraries.patch deleted file mode 100644 index f5bc93829..000000000 --- a/games-util/steam-launcher/files/steam-libraries.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -Naur a/steam b/steam ---- a/steam 2019-03-24 23:05:23.035074609 +0000 -+++ b/steam 2019-03-24 23:15:11.768471262 +0000 -@@ -17,6 +17,31 @@ - # Set up domain for script localization - export TEXTDOMAIN=steam - -+# Add paths to occasionally needed libraries not found in /usr/lib. -+export LD_LIBRARY_PATH+="${LD_LIBRARY_PATH+:}@@GENTOO_LD_LIBRARY_PATH@@" -+ -+# Steam appends /usr/lib32 to LD_LIBRARY_PATH. We need to make sure that -+# OpenGL implementation dir goes before that, so we need to append it to -+# user's LD_LIBRARY_PATH ourselves. But that's needed only with the new -+# eselect-opengl that uses 000opengl file. GL_LDPATH is also used by -+# by Gentoo's execve wrapper. -+if [[ -f /etc/env.d/000opengl ]]; then -+ export GL_LDPATH=$(. /etc/env.d/000opengl >/dev/null; echo "${LDPATH}") -+ -+ # Append only when GL_LDPATH is non-empty -- i.e. using nvidia or ati. -+ if [[ -n ${GL_LDPATH} ]]; then -+ LD_LIBRARY_PATH+=":${GL_LDPATH}" -+ else -+ unset GL_LDPATH -+ fi -+else -+ unset GL_LDPATH -+fi -+ -+# Preload Gentoo's execve wrapper so that steamwebhelper prefers system -+# libraries over older bundled libraries. -+[[ ${STEAM_RUNTIME} = 0 ]] && export LD_PRELOAD+="${LD_PRELOAD+:}@@GENTOO_LD_PRELOAD@@" -+ - function show_message() - { - style=$1 diff --git a/games-util/steam-launcher/files/steam-runtime-default.patch b/games-util/steam-launcher/files/steam-runtime-default.patch deleted file mode 100644 index 42acd5724..000000000 --- a/games-util/steam-launcher/files/steam-runtime-default.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naur a/steam b/steam ---- a/steam 2016-08-14 18:34:25.911287460 +0100 -+++ b/steam 2016-08-14 18:38:10.673046304 +0100 -@@ -31,6 +31,10 @@ - [[ -n "${LDPATH}" ]] && LD_LIBRARY_PATH+=":${LDPATH}" - fi - -+# Set a default STEAM_RUNTIME value. -+: ${STEAM_RUNTIME:=@@STEAM_RUNTIME@@} -+export STEAM_RUNTIME -+ - function show_message() - { - style=$1 diff --git a/games-util/steam-launcher/files/steam-set-distrib-release.patch b/games-util/steam-launcher/files/steam-set-distrib-release.patch deleted file mode 100644 index 313b9935e..000000000 --- a/games-util/steam-launcher/files/steam-set-distrib-release.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur a/steam b/steam ---- a/steam 2016-08-14 18:38:48.226504733 +0100 -+++ b/steam 2016-08-14 18:43:41.709271991 +0100 -@@ -35,6 +35,9 @@ - : ${STEAM_RUNTIME:=@@STEAM_RUNTIME@@} - export STEAM_RUNTIME - -+# Gentoo's lsb-release doesn't set this. -+export DISTRIB_RELEASE="2.2" -+ - function show_message() - { - style=$1 diff --git a/games-util/steam-launcher/files/steam-wrapper.sh b/games-util/steam-launcher/files/steam-wrapper.sh new file mode 100644 index 000000000..6fbec6ff3 --- /dev/null +++ b/games-util/steam-launcher/files/steam-wrapper.sh @@ -0,0 +1,32 @@ +#!/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@@" + +# Find joystick devices to make Steam's old SDL library use them. +IFS=$'\n' +for f in $(find /dev/input -maxdepth 1 -type c | sort --version-sort); do + if udevadm info --query=property --name="$f" 2>/dev/null | grep --quiet ID_INPUT_JOYSTICK=1; then + export SDL_JOYSTICK_DEVICE+=${SDL_JOYSTICK_DEVICE+:}$f + fi +done +unset IFS + +# Add paths to occasionally needed libraries not found in /usr/lib. +export LD_LIBRARY_PATH+="${LD_LIBRARY_PATH+:}@@GENTOO_LD_LIBRARY_PATH@@" + +# Steam appends /usr/lib32 to LD_LIBRARY_PATH. We need to make sure +# that OpenGL implementation dir goes before that, so we need to +# append it to user's LD_LIBRARY_PATH ourselves. But that's needed +# only with the new eselect-opengl that uses 000opengl file. +if [[ -f "/etc/env.d/000opengl" ]]; then + . "/etc/env.d/000opengl" + # Append only when LDPATH is non-empty -- i.e. using nvidia or ati. + [[ -n "${LDPATH}" ]] && LD_LIBRARY_PATH+=":${LDPATH}" +fi + +. "${0%/*}"/../lib/steam/bin_steam.sh diff --git a/games-util/steam-launcher/steam-launcher-1.0.0.56.ebuild b/games-util/steam-launcher/steam-launcher-1.0.0.56.ebuild deleted file mode 100644 index 477eb4b11..000000000 --- a/games-util/steam-launcher/steam-launcher-1.0.0.56.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -# Please report bugs/suggestions on: https://github.com/anyc/steam-overlay -# or come to #gentoo-gamerlay in freenode IRC - -inherit eutils gnome2-utils linux-info prefix udev xdg - -DESCRIPTION="Installer, launcher and supplementary files for Valve's Steam client" -HOMEPAGE="http://steampowered.com" -SRC_URI="http://repo.steampowered.com/steam/pool/steam/s/steam/steam_${PV}.tar.gz" - -KEYWORDS="amd64 x86" -LICENSE="ValveSteamLicense" - -RESTRICT="bindist mirror" -SLOT="0" -IUSE="+steamruntime" - -RDEPEND=" - app-arch/tar - app-shells/bash - net-misc/curl - || ( - >=gnome-extra/zenity-3 - x11-terms/xterm - ) - - steamruntime? ( - virtual/opengl[abi_x86_32] - x11-libs/libX11[abi_x86_32] - x11-libs/libXau[abi_x86_32] - x11-libs/libxcb[abi_x86_32] - x11-libs/libXdmcp[abi_x86_32] - ) - !steamruntime? ( - >=games-util/steam-client-meta-0-r20141204[steamruntime?] - ) - - amd64? ( - >=sys-devel/gcc-4.6.0[multilib] - >=sys-libs/glibc-2.15[multilib] - ) - x86? ( - >=sys-devel/gcc-4.6.0 - >=sys-libs/glibc-2.15 - )" - -S=${WORKDIR}/steam/ - -PATCHES=( - "${FILESDIR}"/steam-fix-ld-library-path.patch - "${FILESDIR}"/steam-runtime-default.patch - "${FILESDIR}"/steam-set-distrib-release.patch - "${FILESDIR}"/steam-fix-joystick-detection.patch -) - -pkg_setup() { - linux-info_pkg_setup - - if ! { linux_config_exists && linux_chkconfig_present INPUT_UINPUT; }; then - ewarn "If you want to use the Steam controller, please make sure" - ewarn "CONFIG_INPUT_UINPUT is enabled in your kernel config." - - # Device Drivers - # -> Input device support - # -> Miscellaneous devices - # -> User level driver support - fi -} - -src_prepare() { - xdg_environment_reset - default - - sed -i 's:TAG+="uaccess":\0, TAG+="udev-acl":g' \ - lib/udev/rules.d/60-steam-input.rules || die - - sed -i \ - -e "s:@@DEBIAN_COMPAT@@:${EPREFIX}/usr/$(get_libdir)/debiancompat$(use amd64 && echo "\\:${EPREFIX}/usr/$(ABI=x86 get_libdir)/debiancompat"):g" \ - -e "s:@@STEAM_RUNTIME@@:$(usex steamruntime 1 0):g" \ - steam || die - - # use steam launcher version as release number as it is a bit more helpful than the baselayout version - sed -i -e "s,export DISTRIB_RELEASE=\"2.2\",export DISTRIB_RELEASE=\"${PVR}\"," steam || die - - # Still need EPREFIX in the DEBIAN_COMPAT sed replacement because - # the regular expression used by hprefixify doesn't match here. - hprefixify steam -} - -src_compile() { - : -} - -src_install() { - dobin steam - - insinto /usr/lib/steam/ - doins bootstraplinux_ubuntu12_32.tar.xz - - udev_dorules lib/udev/rules.d/60-steam-input.rules lib/udev/rules.d/60-steam-vr.rules - - dodoc debian/changelog steam_subscriber_agreement.txt - doman steam.6 - - domenu steam.desktop - - cd icons/ || die - for s in * ; do - doicon -s ${s} ${s}/steam.png - done - - # tgz archive contains no separate pixmap, see #38 - insinto /usr/share/pixmaps/ - newins 48/steam_tray_mono.png steam_tray_mono.png -} - -pkg_preinst() { - xdg_pkg_preinst - gnome2_icon_savelist -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_icon_cache_update - udev_reload - - 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 "" - - if use steamruntime; then - ewarn "You enabled the Steam runtime environment. Steam will use bundled" - ewarn "libraries instead of Gentoo's system libraries." - ewarn "" - else - elog "We disable STEAM_RUNTIME in order to ignore bundled libraries" - elog "and use installed system libraries instead. If you have problems," - elog "try starting Steam with: STEAM_RUNTIME=1 steam" - ewarn "" - ewarn "Notice: Valve only supports Steam with the runtime enabled!" - 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 - - ewarn "The Steam client and the games are _not_ controlled by Portage." - ewarn "Updates are handled by the client itself." -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_icon_cache_update -} diff --git a/games-util/steam-launcher/steam-launcher-1.0.0.59.ebuild b/games-util/steam-launcher/steam-launcher-1.0.0.62.ebuild similarity index 67% rename from games-util/steam-launcher/steam-launcher-1.0.0.59.ebuild rename to games-util/steam-launcher/steam-launcher-1.0.0.62.ebuild index 90c88a133..501d823dd 100644 --- a/games-util/steam-launcher/steam-launcher-1.0.0.59.ebuild +++ b/games-util/steam-launcher/steam-launcher-1.0.0.62.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,18 +6,17 @@ EAPI=7 # Please report bugs/suggestions on: https://github.com/anyc/steam-overlay # or come to #gentoo-gamerlay in freenode IRC -inherit desktop linux-info prefix toolchain-funcs udev xdg-utils +inherit linux-info prefix udev xdg-utils DESCRIPTION="Installer, launcher and supplementary files for Valve's Steam client" -HOMEPAGE="http://steampowered.com" -SRC_URI="http://repo.steampowered.com/steam/pool/steam/s/steam/steam_${PV}.tar.gz" +HOMEPAGE="https://steampowered.com" +SRC_URI="https://repo-steampowered-com.steamos.cloud/steam/pool/steam/s/steam/steam_${PV}.tar.gz" -KEYWORDS="amd64 x86" -LICENSE="ValveSteamLicense" - -RESTRICT="bindist mirror" +LICENSE="ValveSteamLicense MIT" SLOT="0" +KEYWORDS="amd64 ~x86" IUSE="+steamruntime" +RESTRICT="bindist mirror test" RDEPEND=" app-arch/tar @@ -48,14 +47,7 @@ RDEPEND=" >=sys-libs/glibc-2.15 )" -S=${WORKDIR}/steam/ - -PATCHES=( - "${FILESDIR}"/steam-runtime-default.patch - "${FILESDIR}"/steam-set-distrib-release.patch - "${FILESDIR}"/steam-fix-joystick-detection.patch - "${FILESDIR}"/steam-libraries.patch -) +S="${WORKDIR}/${PN}" pkg_setup() { linux-info_pkg_setup @@ -95,48 +87,31 @@ src_prepare() { default sed -i 's:TAG+="uaccess":\0, TAG+="udev-acl":g' \ - lib/udev/rules.d/60-steam-input.rules || die + subprojects/steam-devices/*.rules || die - sed -i \ + sed \ + -e "s#@@PVR@@#${PVR}#g" \ -e "s#@@GENTOO_LD_LIBRARY_PATH@@#$(multilib_path_entries debiancompat fltk)#g" \ - -e "s#@@GENTOO_LD_PRELOAD@@#$(native_path_entries libsteam-preload.so)#g" \ -e "s#@@STEAM_RUNTIME@@#$(usex steamruntime 1 0)#g" \ - steam || die - - # use steam launcher version as release number as it is a bit more helpful than the baselayout version - sed -i -e "s,export DISTRIB_RELEASE=\"2.2\",export DISTRIB_RELEASE=\"${PVR}\"," steam || die + "${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 steam -} - -src_compile() { - $(tc-getCC) ${CFLAGS} ${LDFLAGS} -fPIC -DGLIBDIR="${EPREFIX}/usr/$(get_libdir)" -shared \ - "${FILESDIR}"/libsteam-preload.c -ldl -Wl,-soname=libsteam-preload.so -o libsteam-preload.so || die + hprefixify bin_steam.sh steam-wrapper.sh } src_install() { - dobin steam - dolib.so libsteam-preload.so + emake install-{icons,bootstrap,desktop} \ + DESTDIR="${D}" PREFIX="${EPREFIX}/usr" - insinto /usr/lib/steam/ - doins bootstraplinux_ubuntu12_32.tar.xz + newbin steam-wrapper.sh steam + exeinto /usr/lib/steam + doexe bin_steam.sh - udev_dorules lib/udev/rules.d/60-steam-input.rules lib/udev/rules.d/60-steam-vr.rules - - dodoc debian/changelog steam_subscriber_agreement.txt + dodoc README debian/changelog doman steam.6 - domenu steam.desktop - - cd icons/ || die - for s in * ; do - doicon -s ${s} ${s}/steam.png - done - - # tgz archive contains no separate pixmap, see #38 - doicon 48/steam_tray_mono.png + udev_dorules subprojects/steam-devices/60-steam-{input,vr}.rules } pkg_postinst() {