From 825a4e1238db088170058f876ca2d15abf301bb8 Mon Sep 17 00:00:00 2001 From: Hunter Sezen Date: Sat, 4 Feb 2017 14:49:21 +0000 Subject: [PATCH] games/RetroArch: Updated for version 1.4.1. Signed-off-by: David Spencer --- games/RetroArch/README | 21 +++++- games/RetroArch/RetroArch.SlackBuild | 73 ++++++++++++++----- games/RetroArch/RetroArch.info | 6 +- games/RetroArch/disable_core_update.patch.gz | Bin 0 -> 816 bytes games/RetroArch/python3.diff.gz | Bin 0 -> 824 bytes 5 files changed, 77 insertions(+), 23 deletions(-) create mode 100644 games/RetroArch/disable_core_update.patch.gz create mode 100644 games/RetroArch/python3.diff.gz diff --git a/games/RetroArch/README b/games/RetroArch/README index 22f8776489..6e31951a9c 100644 --- a/games/RetroArch/README +++ b/games/RetroArch/README @@ -17,17 +17,34 @@ anyone to use. RetroArch will require at least one of the libretro cores to play any games. +Cores alternatively can be downloaded with the online updater from the +libretro buildbot instead of being compiled with slackbuilds. This will +require the core directory to be writable and is incompatible with the +libretro slackbuilds. The buildbot can be used with: + BUILDBOT=1 ./RetroArch.SlackBuild + To build debugging symbols for RetroArch use: DEBUG=1 ./RetroArch.SlackBuild Some optional dependencies include: -ffmpeg jack-audio-connection-kit libxkbcommon python3 SDL2 wayland +ffmpeg jack-audio-connection-kit libxkbcommon miniupnpc nvidia-cg-toolkit +python3 SDL2 wayland + +Python3 support for shaders will need to be enabled with: + PYTHON=1 ./RetroArch.SlackBuild Note: Wayland support requires mesa to be rebuilt with Wayland support, using the following configure parameters. --with-egl-platforms=x11,drm,wayland -RetroArch optionally supports using Vulkan instead of opengl, but +Retroarch optionally supports using OpenGL ES 2 and OpenGL ES 3 instead of +OpenGL which will require video card and driver support. This can be done +by building RetroArch with: + GLES=1 ./RetroArch.SlackBuild +or + GLES3=1 ./RetroArch.SlackBuild + +RetroArch optionally supports using Vulkan instead of OpenGL, but Slackware does not yet provide any Vulkan support, so providing the correct build environment is up to you. diff --git a/games/RetroArch/RetroArch.SlackBuild b/games/RetroArch/RetroArch.SlackBuild index 94dfa64c86..fcc119c049 100644 --- a/games/RetroArch/RetroArch.SlackBuild +++ b/games/RetroArch/RetroArch.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for RetroArch -# Copyright 2016 Hunter Sezen California, USA +# Copyright 2016-2017 Hunter Sezen California, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=RetroArch -VERSION=${VERSION:-1.3.6} +VERSION=${VERSION:-1.4.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -65,7 +65,7 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || tar xvf $CWD/v$VERSION.tar.gz +tar xvf $CWD/$PRGNAM-$VERSION.tar.xz cd $PRGNAM-$VERSION chown -R root:root . find -L . \ @@ -74,34 +74,70 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# Needed for python3 in the 14.1 SBo branch. -if ! pkg-config --exists python3 && pkg-config --exists python-3.5; then - sed -i 's/python3/python-3.5/' qb/config.libs.sh +if [ "$PYTHON" = "1" ]; then + python="--enable-python" + # Needed for python3 in the 14.1 SBo branch. + if ! pkg-config --exists python3 && pkg-config --exists python-3.5; then + sed -i 's/python3/python-3.5/' qb/config.libs.sh + fi +fi + +if [ "$GLES" = "1" ]; then + gles="--enable-opengles" +elif [ "$GLES3" = "1" ]; then + gles="--enable-opengles --enable-opengles3" +fi + +if [ "$BUILDBOT" != "1" ]; then + update_cores="--disable-update_cores" + SED_CORE="s|# libretro_directory =|libretro_directory = /usr/lib${LIBDIRSUFFIX}/libretro|" + SED_INFO="s|# libretro_info_path =|libretro_info_path = /usr/lib${LIBDIRSUFFIX}/libretro/info|" + + # Disable downloading cores with the online updater + # https://github.com/libretro/RetroArch/issues/3237 + zcat $CWD/disable_core_update.patch.gz | patch -p1 fi # Set the config file default directories to be consistent with the installation. -sed -e "s|# libretro_directory =|libretro_directory = /usr/lib${LIBDIRSUFFIX}/libretro|" \ - -e "s|# libretro_info_path =|libretro_info_path = /usr/lib${LIBDIRSUFFIX}/libretro/info|" \ - -e "s|# audio_filter_dir =|audio_filter_dir = /usr/lib${LIBDIRSUFFIX}/retroarch/filters/audio|" \ +sed -e "s|# audio_filter_dir =|audio_filter_dir = /usr/lib${LIBDIRSUFFIX}/retroarch/filters/audio|" \ -e "s|# video_filter_dir =|video_filter_dir = /usr/lib${LIBDIRSUFFIX}/retroarch/filters/video|" \ + -e "$SED_CORE;$SED_INFO" \ -i retroarch.cfg +# Fix ./configure --enable-python +# https://github.com/libretro/RetroArch/commit/a06380e9cab1e5a59c70826fb2735566221e4149 +zcat $CWD/python3.diff.gz | patch -p1 + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure --prefix=/usr \ - --with-man_dir=/usr/man + --with-bin_dir=/usr/games \ + --with-man_dir=/usr/man \ + --with-assets_dir=/usr/share/games \ + --disable-dbus \ + --disable-update_assets \ + $gles $python $update_cores make GL_DEBUG=$DEBUG VULKAN_DEBUG=$DEBUG -make -C audio/audio_filters -make -C gfx/video_filters make install DESTDIR=$PKG -install -dm0755 $PKG/usr/lib${LIBDIRSUFFIX}/retroarch/filters/audio -install -dm0755 $PKG/usr/lib${LIBDIRSUFFIX}/retroarch/filters/video -install -m0644 audio/audio_filters/*.dsp $PKG/usr/lib${LIBDIRSUFFIX}/retroarch/filters/audio -install -m0644 audio/audio_filters/*.so $PKG/usr/lib${LIBDIRSUFFIX}/retroarch/filters/audio -install -m0644 gfx/video_filters/*.filt $PKG/usr/lib${LIBDIRSUFFIX}/retroarch/filters/video -install -m0644 gfx/video_filters/*.so $PKG/usr/lib${LIBDIRSUFFIX}/retroarch/filters/video +for filter in audio video; do + case "$filter" in + audio ) + EXT='dsp' + DIR="libretro-common/$filter/dsp_filters" + ;; + video ) + EXT='filt' + DIR="gfx/${filter}_filters" + ;; + esac + make -C "$DIR" + install -dm0755 $PKG/usr/lib${LIBDIRSUFFIX}/retroarch/filters/$filter + for ext in "$EXT" so; do + install -m0644 $DIR/*.$ext $PKG/usr/lib${LIBDIRSUFFIX}/retroarch/filters/$filter + done +done mv $PKG/etc/retroarch.cfg $PKG/etc/retroarch.cfg.new @@ -115,6 +151,7 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a CONTRIBUTING.md COPYING README* $PKG/usr/doc/$PRGNAM-$VERSION +cp -a media/assets/COPYING $PKG/usr/doc/$PRGNAM-$VERSION/COPYING.assets cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/games/RetroArch/RetroArch.info b/games/RetroArch/RetroArch.info index f4050b49c0..5310dfe299 100644 --- a/games/RetroArch/RetroArch.info +++ b/games/RetroArch/RetroArch.info @@ -1,8 +1,8 @@ PRGNAM="RetroArch" -VERSION="1.3.6" +VERSION="1.4.1" HOMEPAGE="http://www.libretro.com/" -DOWNLOAD="https://github.com/libretro/RetroArch/archive/v1.3.6.tar.gz" -MD5SUM="b2e8518382dcff857b91c154fb6ac279" +DOWNLOAD="http://ks392457.kimsufi.com/orbea/stuff/slackbuilds/src/RetroArch-1.4.1.tar.xz" +MD5SUM="c479201bcc9092cc339f5024897d5eb5" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/games/RetroArch/disable_core_update.patch.gz b/games/RetroArch/disable_core_update.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..52298d06db387e62981701963b69aabe87694a65 GIT binary patch literal 816 zcmV-01JC>)iwFoa4h2{O17vA)VPb4$Ut@1_WnXo0WMOn=E^uLVV`u=)m2Gd@Fc8Pz z=TqFo8xSN-C?UYss-c7ui6=qIw7rQ;?0~l<&SKN9`}8w}mWR@6(>kdUArJQd?EBs2 zE?{v?1vD*e1R*&On?b{@Hi(YvCa&t1ImftRG%;$_YI9^+ioFs`mbHLobAsR#yF(cz z3nb9h16nes1uVW)I!KTf01Q|HqdXxo6ikt#=6tR22l%sh> zlLcUQpF|Ad^?krH!ht3rmIPQL#|f-bEUjly?4jU$Nl`EjLr~R)bON2lBw20#d}%O^ z&_hJI&;pphG@{T1lb>J^5?~W+npM+lNN&*3^?I$QsH*z1Ri#`mzhe373e;-Ts8#Av z-drt^ued;h2GS=1#~MFH87DqV1!V~@Zs_F4z!~29@*MbmyY2LSuXj6W4{f(U^>4== z+jAy<-<^7uW69L5G+t;2u8dgA;ztTqq3MAr0DHmvnNeDfA=4|cw*Q1Ful@n+P zALN(>j*Bzbvr8M(n;nxx$dGd%r720Ud|bsvnuJWfTsyJ9hnO$?CE`n8FrSO8cnQRhUeue*s>6*#?(~}fkXa{C+EXc?{yDdU!uVr;7O*6w3r+fjVy^L}EL|tw zZVMtZv4KrX(+DwxhGiTU#8bMw7@itgbGJ5S(ApNkja%LR$o6{nq;rw59j5|xSr!mj zq6|YQ8-W13?LskR8Q7D7%$uEfI_i4e@t*uq%vmU25nEr~@x_DeEC)vcu34PYh^!lq z^$YkaO<5+C6G3O1euPl~C&^7kLBu#ImS7EGhN49#BYfoC*q)3>6Ym18#6c*=GKNt^B3RFbZ|osO u$5MA--#9bZ`Rq*gkQSi5qLEM~NgAUCfjdg>Wz*hjHRU%Mxiz?V2mk<8mxpTr literal 0 HcmV?d00001 diff --git a/games/RetroArch/python3.diff.gz b/games/RetroArch/python3.diff.gz new file mode 100644 index 0000000000000000000000000000000000000000..403a751cafddf6d7ba058451178da2162b08b652 GIT binary patch literal 824 zcmV-81IPRyiwFpzjg?pe18{kCXm4&aE@WwDW&q7r?@!u582;YB;+^|aYzr+Su%HAs zadSg4sLPBomuq`1r=>@(R|A>*-*>$NBH{!$lQpEh>-+nCpL>c=g8(cmqylg$48|p& z(>uZwBslhN2`}AIpD>gNEC?D+#DK*`58Sm?H5&V548B*ddKedrb+1}>-5NNyU9D6! z%d$3zs~Lu|N$ge&ta8n)f+6p9XtgwWPh&4ieFA$CbvY576$ecX76e->Tn)A~Lo*&! zip7%rc`OcSm~t#=t^>;&{v^gj>aCP{jFXiDS(nQaDkhmUE5Wg=<_9nwyKXwRtOBy! zs0XK$o_j+)u??dM;spEXj^m*|dkxzOi2@TI_LzrBL0dM5?U^}^N2z$({-*}=O5=ov zG4UZy2sh!DOiZ8+&5$CFxi>&JY%)?#1BL`F>>A2mb}tb!7oJMjY7$8La3x+;LfIm@ zI&S|!7iXRR*>yv+q!EpUQ$?A60{dX+FB2jJjYA2BEaiMHrTKVJNCX-Qt{3v$7Co$U zsVK&CQT}N7G=c2Bx&@4bPL*?@um|%x<<>9?+SJFq5A<5<&Z1gPHK^iD)W}g%b|l6P zr(7|e@(Pq}Jm#!f0qEIyq4|&@+~2E_%dDMjEr$lpedxFQpT3~OqyE`BI_{je(YMa! zybd|ul*e##(e276sCF*kp(xjg`s2K7%T-Plhj?_Q!dl>5H=ek_sbG1pR=CK7*)XQf zToF3+IIsAfvO+nD*2y9~q0# zA!oxbi$h%|nkoFsakpbDcG{_}W~YsD_pCjRam2z`@{{@w$%n64>fdn5+wj~5EVU^) zt>mOPBc#f%BBb4&mk4Ry!LG?j`CpFabmM2M=a|U)`@?I!bh6qf?QZY$0s;&FD*+m> z?ZyJ}Eb`G)irb`1OB8e%F)S1Z9kA4mh_3tUS;#UjfjzDTL6FlDXxeXecZ(y~3IG6q CJCSAp literal 0 HcmV?d00001