diff options
author | B. Watson <urchlay@slackware.uk> | 2023-04-10 02:53:45 -0400 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2023-04-15 07:15:42 +0700 |
commit | 5c11112b7d6157aa15d37cab153576a4ab77dc9f (patch) | |
tree | 6643abbf05fa2d9360ab0a62bcd3d4fcd17f8dae | |
parent | 65ab356d2a0a4ef146e78997b1effec546951087 (diff) |
games/snes9x: Updated for version 1.62.3.
Signed-off-by: B. Watson <urchlay@slackware.uk>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | games/snes9x/ChangeLog.old | 71 | ||||
-rw-r--r-- | games/snes9x/README | 29 | ||||
-rw-r--r-- | games/snes9x/snes9x-gtk.6 | 154 | ||||
-rw-r--r-- | games/snes9x/snes9x-gtk.rst | 91 | ||||
-rw-r--r-- | games/snes9x/snes9x.6 | 89 | ||||
-rw-r--r-- | games/snes9x/snes9x.SlackBuild | 195 | ||||
-rw-r--r-- | games/snes9x/snes9x.info | 12 | ||||
-rw-r--r-- | games/snes9x/snes9x.rst | 78 | ||||
-rw-r--r-- | games/snes9x/snes9x_libretro.info.txt (renamed from games/snes9x/snes9x_libretro-info) | 0 |
9 files changed, 529 insertions, 190 deletions
diff --git a/games/snes9x/ChangeLog.old b/games/snes9x/ChangeLog.old new file mode 100644 index 0000000000000..48518fd463d3c --- /dev/null +++ b/games/snes9x/ChangeLog.old @@ -0,0 +1,71 @@ +# 20220622 bkw, BUILD=2: +# - strip binary (whoops). +# - remove mention of retroarch support from README, it FTBFS. +# sooner or later I'll fix it or remove it entirely. +# Note: I tried snes9x 1.61 on Slackware 15.0 with all updates, and +# it still crashes as described below. Also tried latest post-1.61 git +# and it has the same problem. So staying with 1.59 for now, sorry. + +# 20211014 bkw: *downgrade* to 1.59, for now at least. 1.60 crashes +# immediately if built with gtk+2 and started with a ROM filename. +# If you pick a ROM from within the app, it'll work sometimes, but +# sometimes it'll crash. When build with gtk+3, it crashes any time +# you try to open the Preferences dialog while a ROM is loaded. I +# also tried the latest git, it acts the same as 1.60 (except that it +# can't be built with gtk+2 any more). I can't get 1.59 to crash, so +# that's what I'm packaging. I don't know if the issues with 1.60 are +# something to do with -current (something that might be fixed before +# 15.0 releases) or something broken upstream. If you're reading this +# after Slackware 15.0 has been released, please remind me to look +# into it again. + +# 20191126 bkw: update for 1.60. Upstream has switched from autotools +# to meson for the build system, so this script can no longer build +# old versions. + +# 20181201 bkw: +# - update for 1.57. +# - disable OSS audio by default, add OSS=yes option. +# - autodetect RetroArch, add RETROARCH=yes|no option. +# - document the above in the README. +# - document PULSE=no in README. +# - stop including snes9x.conf.default in the docdir, since it's +# outdated and will cause snes9x to segfault if you try to use it! +# - since we now have 3 build options, make slack-desc show them. +# - add patch from upstream to speed up linking the libretro core if +# -jX is in MAKEFLAGS. +# - add patch fro upstream to stop segfaulting if the config file is +# missing the ScanlineIntensity variable. Means I can finaly remove +# the "you should delete your old config file" from the README. + +# 20180730 bkw: +# - BUILD=2. +# - add libretro/RetroArch, thanks to orbea. +# - add --without-portaudio to configure args. snes9x runs about +# 1 frame/sec if I start it up with the sound driver set to portaudio, +# and I've gotten a report of it blasting high-volume white noise +# thru the speakers if you switch to portaudio while a ROM is already +# running. I can't see any reason to use it in favor of pulse, alsa, +# oss, or sdl audio. +# - don't extract windows, mac, old-school unix stuff from tarball. +# uses 50% less $TMP space. + +# 20180623 bkw: update for 1.56.2. +# 20180611 bkw: +# - update for 1.56.1. +# - switch the UI from gtk3 to gtk2, as 14.2's gtk3 is too old. +# - add undocumented PULSE=no build option (in anticipation of 15.0's +# pure-alsa-system). +# - add SDL2 to REQUIRES. technically, it's not truly required: snes9x +# only uses SDL2 to support joysticks. playing with the keyboard/mouse +# would still work without it. 15.0 is coming soon, and will have SDL2 +# in the core OS, so don't bother me about this decision. +# - update README, the snes9x_gtk build went away in 2010, no need to +# mention it now. also add notes about upgrading from 1.55. +# 20171221 bkw: use --without-system-zip to build bundled unzip, instead +# of adding minizip as a dependency. +# 20171213 bkw: update for 1.55. +# 20170302 bkw: use long-format github URL +# 20161015 bkw: update for 1.54.1. script has changed enough that it +# can't build 1.53 any more. + diff --git a/games/snes9x/README b/games/snes9x/README index 859bd56325c3d..6370b07b82809 100644 --- a/games/snes9x/README +++ b/games/snes9x/README @@ -6,7 +6,10 @@ for the SNES and Super Famicom Nintendo game systems on your PC or Workstation. The games include some real gems that were only ever released in Japan. -When you first run snes9x: +This package includes both snes9x (the command-line build) and +snes9x-gtk (with graphical user interface). + +When you first run snes9x-gtk: - The first thing you'll want to do is configure the controls. By default there are *no* controls set up; you'll be unable to play any @@ -16,24 +19,22 @@ When you first run snes9x: - If the game audio is choppy or distorted, try setting the sound driver to Pulse or ALSA (Options -> Preferences -> Sound - tab). Specifically, avoid SDL audio (unfortunately it's the default - if PULSE=no). + tab). Specifically, avoid SDL audio. PortAudio support may be + included (it's an optional dependency), but so far as I can tell, + offers no advantage. Notes: -- This is not the latest release of snes9x. Version 1.60 crashes under - pre-15.0 Slackware-current, so version 1.59 is packaged here. This - will be revisited sometime after Slackware 15.0 is released. - - The package can optionally include the snes9x libretro core, for use with RetroArch. By default, the core will be built if RetroArch is installed. You can set RETROARCH=yes to force the core to be built, or RETROARCH=no to forcibly disable the core. Note that RetroArch doesn't have to be installed to build the libretro core, but it's - useless without RetroArch installed. - -- Starting with 1.57, OSS audio is disabled by default. Most users - won't be affected, since pulseaudio is now the default audio system on - Slackware, and ALSA is the fallback option. If you *need* OSS support, - set OSS=yes in the script's environment. You may also disable - PulseAudio by setting PULSE=no in the environment. + useless without RetroArch installed. Also note: the libretro core + builds, but has not been tested by the SlackBuild author. + +- OSS audio is disabled by default. Most users won't be affected, + since PulseAudio is now the default audio system on Slackware, and + ALSA is the fallback option. If you *need* OSS support, set OSS=yes + in the script's environment. You may also disable PulseAudio by + setting PULSE=no in the environment. diff --git a/games/snes9x/snes9x-gtk.6 b/games/snes9x/snes9x-gtk.6 index 2dc3f1fa4a90b..6b9e9413cadd9 100644 --- a/games/snes9x/snes9x-gtk.6 +++ b/games/snes9x/snes9x-gtk.6 @@ -1,70 +1,104 @@ -.TH SNES9X-GTK 6 "22 OCT 2009" "SlackBuilds.org Project" "Slackware Linux" +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "SNES9X-GTK" 6 "2023-04-10" "1.62.3" "SlackBuilds.org" .SH NAME snes9x-gtk \- Super Nintendo Entertainment System emulator +.\" RST source for snes9x-gtk(1) man page. Convert with: +. +.\" rst2man.py snes9x-gtk.rst > snes9x-gtk.6 +. .SH SYNOPSIS -.B snes9x\-gtk -[\-filter \fItype\fR] -[\-mutesound] -[\fIrom\-file] +.sp +\fBsnes9x\-gtk\fP [\fB\-filter\fP \fItype\fP] [\fB\-mutesound\fP] [\fBrom\-file\fP] .SH DESCRIPTION -Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES) -emulator. It basically allows you to play most games designed for the SNES -and Super Famicom Nintendo game systems on your PC or Workstation; they -include some real gems that were only ever released in Japan. -.PP -.B snes9x\-gtk -is an unofficial port of Snes9x with a GTK+ graphical frontend. -.PP -With no ROM file argument, snes9x\-gtk will start its graphical user interface. -When a ROM file is named on the command line, snes9x\-gtk will start -emulation immediately. -.PP -Unlike the original snes9x, snes9x\-gtk doesn't extensively use command\-line -options to affect its behaviour. Instead, use the GUI and/or keyboard -shortcuts from within the emulator. -.SS OPTIONS +.sp +Snes9x is a portable, freeware Super Nintendo Entertainment +System (SNES) emulator. It basically allows you to play most games +designed for the SNES and Super Famicom Nintendo game systems +on your PC or Workstation; they include some real gems that were only +ever released in Japan. +.sp +\fBsnes9x\-gtk\fP is an unofficial port of Snes9x with a GTK+ graphical front‐end. +.sp +With no ROM file argument, \fBsnes9x\-gtk\fP will start its graphical user +interface. When a ROM file is named on the command line, snes9x\-gtk +will start emulation immediately. +.sp +Unlike the original snes9x, \fBsnes9x\-gtk\fP doesn\(aqt extensively use +command\-line options to affect its behaviour. Instead, use the GUI +and/or keyboard shortcuts from within the emulator. +.SH OPTIONS +.INDENT 0.0 .TP -\fB\-filter\fR \fItype\fR +.B \fB\-filter\fP \fItype\fP Use a filter to scale the video. Filter types are: -.br -.nh -.I none -.I supereagle -.I 2xsai -.I super2xsai -.I hq2x -.I hq3x -.I hq4x -.I epx -.I ntsc -.hy -.PP -The \-filter option does the same thing as the GUI's "Apply Scaling Filter" -selection (under Preferences / Display). +.INDENT 7.0 +.INDENT 3.5 +\fInone\fP \fIsupereagle\fP \fI2xsai\fP \fIsuper2xsai\fP \fIhq2x\fP \fIhq3x\fP \fIhq4x\fP \fIepx\fP \fIntsc\fP +.UNINDENT +.UNINDENT +.sp +The \-filter option does the same thing as the GUI\(aqs "Apply Scaling +Filter" selection (under Preferences / Display). .TP -.B \-mutesound +.B \fB\-mutesound\fP Disable audio output. The sound CPU is still emulated. Note that this option will enable the "mute sound?" checkbox in the Preferences user -interface, whose value will be saved across sessions (you must use the GUI to -unmute the audio). +interface, whose value will be saved across sessions (you must use +the GUI to unmute the audio). +.UNINDENT .SH FILES -.B ~/.snes9x/snes9x.xml -.br -Configuration file. Not intended to be edited directly; stores the settings -made in the GUI. To return all settings to their defaults, remove this file. -.PP -.B ~/.snes9x/snapshots/* -.br -Saved states, named after ROM filenames. -.PP -.B ~/.snes9x/*.png -.br -Screenshots, named after ROM filenames. -.SH AUTHOR -snes9x\-gtk was ported by Brandon Wright <bearoso@gmail.com>. -.PP -Snes9x was written by Gary Henderson and Jerremy Koot. It also includes code -from Ivar (Ivar@snes9x.com), zsKnight and _Demo_ and many others. -.PP -This manual page was written by B. Watson -for the SlackBuilds.org project (but may be used by others). +.INDENT 0.0 +.TP +.B \fB~/.config/snes9x/snes9x.conf\fP +Configuration file. Not intended to be edited directly; stores the +settings made in the GUI. To return all settings to their defaults, +remove this file. +.UNINDENT +.sp +Note that the graphical \fBsnes9x\-gtk\fP does not share config files or +directories with command\-line \fBsnes9x\fP\&. +.SH COPYRIGHT +.sp +See the file /usr/doc/snes9x\-1.62.3/LICENSE for license information. +.SH AUTHORS +.sp +snes9x\-gtk was ported by Brandon Wright <\fI\%bearoso@gmail.com\fP>. +.sp +Snes9x was written by Gary Henderson and Jerremy Koot. It also includes +code from Ivar (\fI\%Ivar@snes9x.com\fP), zsKnight, _Demo_, and many others. +.sp +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. +.SH SEE ALSO +.sp +\fBsnes9x\fP(6) +.\" Generated by docutils manpage writer. +. diff --git a/games/snes9x/snes9x-gtk.rst b/games/snes9x/snes9x-gtk.rst new file mode 100644 index 0000000000000..0434a67ee1bc7 --- /dev/null +++ b/games/snes9x/snes9x-gtk.rst @@ -0,0 +1,91 @@ +.. RST source for snes9x-gtk(1) man page. Convert with: +.. rst2man.py snes9x-gtk.rst > snes9x-gtk.6 + +.. |version| replace:: 1.62.3 +.. |date| date:: + +========== +snes9x-gtk +========== + +-------------------------------------------- +Super Nintendo Entertainment System emulator +-------------------------------------------- + +:Manual section: 6 +:Manual group: SlackBuilds.org +:Date: |date| +:Version: |version| + +SYNOPSIS +======== + +**snes9x-gtk** [**-filter** *type*] [**-mutesound**] [**rom-file**] + +DESCRIPTION +=========== + +Snes9x is a portable, freeware Super Nintendo Entertainment +System (SNES) emulator. It basically allows you to play most games +designed for the SNES and Super Famicom Nintendo game systems +on your PC or Workstation; they include some real gems that were only +ever released in Japan. + +**snes9x-gtk** is an unofficial port of Snes9x with a GTK+ graphical front‐end. + +With no ROM file argument, **snes9x-gtk** will start its graphical user +interface. When a ROM file is named on the command line, snes9x-gtk +will start emulation immediately. + +Unlike the original snes9x, **snes9x-gtk** doesn't extensively use +command-line options to affect its behaviour. Instead, use the GUI +and/or keyboard shortcuts from within the emulator. + +OPTIONS +======= + +**-filter** *type* + Use a filter to scale the video. Filter types are: + + *none* *supereagle* *2xsai* *super2xsai* *hq2x* *hq3x* *hq4x* *epx* *ntsc* + + The -filter option does the same thing as the GUI's "Apply Scaling + Filter" selection (under Preferences / Display). + +**-mutesound** + Disable audio output. The sound CPU is still emulated. Note that this + option will enable the "mute sound?" checkbox in the Preferences user + interface, whose value will be saved across sessions (you must use + the GUI to unmute the audio). + +FILES +===== + +**~/.config/snes9x/snes9x.conf** + Configuration file. Not intended to be edited directly; stores the + settings made in the GUI. To return all settings to their defaults, + remove this file. + +Note that the graphical **snes9x-gtk** does not share config files or +directories with command-line **snes9x**\. + +COPYRIGHT +========= + +See the file /usr/doc/snes9x-|version|/LICENSE for license information. + +AUTHORS +======= + +snes9x-gtk was ported by Brandon Wright <bearoso@gmail.com>. + +Snes9x was written by Gary Henderson and Jerremy Koot. It also includes +code from Ivar (Ivar@snes9x.com), zsKnight, _Demo_, and many others. + +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. + +SEE ALSO +======== + +**snes9x**\(6) diff --git a/games/snes9x/snes9x.6 b/games/snes9x/snes9x.6 new file mode 100644 index 0000000000000..d5d21a31f5cfb --- /dev/null +++ b/games/snes9x/snes9x.6 @@ -0,0 +1,89 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "SNES9X" 6 "2023-04-10" "1.62.3" "SlackBuilds.org" +.SH NAME +snes9x \- Super Nintendo Entertainment System emulator +.\" RST source for snes9x(6) man page. Convert with: +. +.\" rst2man.py snes9x.rst > snes9x.6 +. +.SH SYNOPSIS +.sp +\fBsnes9x\fP [\fIoptions\fP] \fBrom\-file\fP +.SH DESCRIPTION +.sp +Snes9x is a portable, freeware Super Nintendo Entertainment +System (SNES) emulator. It basically allows you to play most games +designed for the SNES and Super Famicom Nintendo game systems +on your PC or Workstation; they include some real gems that were only +ever released in Japan. +.sp +For the full documentation, see: +.INDENT 0.0 +.INDENT 3.5 +/usr/doc/snes9x\-1.62.3/readme_unix.html +.UNINDENT +.UNINDENT +.sp +This is the command\-line build of \fBsnes9x\fP\&. For the GUI version, +see \fBsnes9x\-gtk\fP(6). +.SH OPTIONS +.sp +This man page doesn\(aqt include a list of options. Run \fBsnes9x\fP with +no arguments (or with \fB\-\-help\fP) to see them. +.SH FILES +.INDENT 0.0 +.TP +.B \fB~/.snes9x/snes9x.conf\fP +The config file. \fBsnes9x\fP doesn\(aqt create this; the default config +file is found in /usr/doc/snes9x\-1.62.3/snes9x.conf.default and +must be copied to ~/.snes9x/snes9x.conf manually. +.UNINDENT +.sp +The directory \fB~/.snes9x/\fP also contains subdirectories for savestates, +screenshots, sram, etc. These are populated by \fBsnes9x\fP as needed. +.sp +Note that the graphical \fBsnes9x\-gtk\fP does not share config files or +directories with command\-line \fBsnes9x\fP\&. +.SH COPYRIGHT +.sp +See the file /usr/doc/snes9x\-1.62.3/LICENSE for license information. +.SH AUTHORS +.sp +Snes9x was written by Gary Henderson and Jerremy Koot. It also includes +code from Ivar (\fI\%Ivar@snes9x.com\fP), zsKnight, _Demo_, and many others. +.sp +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. +.SH SEE ALSO +.sp +\fBsnes9x\-gtk\fP(6) +.\" Generated by docutils manpage writer. +. diff --git a/games/snes9x/snes9x.SlackBuild b/games/snes9x/snes9x.SlackBuild index ab3e3e470c200..8244989280c53 100644 --- a/games/snes9x/snes9x.SlackBuild +++ b/games/snes9x/snes9x.SlackBuild @@ -6,85 +6,26 @@ # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. -# 20220622 bkw, BUILD=2: -# - strip binary (whoops). -# - remove mention of retroarch support from README, it FTBFS. -# sooner or later I'll fix it or remove it entirely. -# Note: I tried snes9x 1.61 on Slackware 15.0 with all updates, and -# it still crashes as described below. Also tried latest post-1.61 git -# and it has the same problem. So staying with 1.59 for now, sorry. - -# 20211014 bkw: *downgrade* to 1.59, for now at least. 1.60 crashes -# immediately if built with gtk+2 and started with a ROM filename. -# If you pick a ROM from within the app, it'll work sometimes, but -# sometimes it'll crash. When build with gtk+3, it crashes any time -# you try to open the Preferences dialog while a ROM is loaded. I -# also tried the latest git, it acts the same as 1.60 (except that it -# can't be built with gtk+2 any more). I can't get 1.59 to crash, so -# that's what I'm packaging. I don't know if the issues with 1.60 are -# something to do with -current (something that might be fixed before -# 15.0 releases) or something broken upstream. If you're reading this -# after Slackware 15.0 has been released, please remind me to look -# into it again. - -# 20191126 bkw: update for 1.60. Upstream has switched from autotools -# to meson for the build system, so this script can no longer build -# old versions. - -# 20181201 bkw: -# - update for 1.57. -# - disable OSS audio by default, add OSS=yes option. -# - autodetect RetroArch, add RETROARCH=yes|no option. -# - document the above in the README. -# - document PULSE=no in README. -# - stop including snes9x.conf.default in the docdir, since it's -# outdated and will cause snes9x to segfault if you try to use it! -# - since we now have 3 build options, make slack-desc show them. -# - add patch from upstream to speed up linking the libretro core if -# -jX is in MAKEFLAGS. -# - add patch fro upstream to stop segfaulting if the config file is -# missing the ScanlineIntensity variable. Means I can finaly remove -# the "you should delete your old config file" from the README. - -# 20180730 bkw: -# - BUILD=2. -# - add libretro/RetroArch, thanks to orbea. -# - add --without-portaudio to configure args. snes9x runs about -# 1 frame/sec if I start it up with the sound driver set to portaudio, -# and I've gotten a report of it blasting high-volume white noise -# thru the speakers if you switch to portaudio while a ROM is already -# running. I can't see any reason to use it in favor of pulse, alsa, -# oss, or sdl audio. -# - don't extract windows, mac, old-school unix stuff from tarball. -# uses 50% less $TMP space. - -# 20180623 bkw: update for 1.56.2. -# 20180611 bkw: -# - update for 1.56.1. -# - switch the UI from gtk3 to gtk2, as 14.2's gtk3 is too old. -# - add undocumented PULSE=no build option (in anticipation of 15.0's -# pure-alsa-system). -# - add SDL2 to REQUIRES. technically, it's not truly required: snes9x -# only uses SDL2 to support joysticks. playing with the keyboard/mouse -# would still work without it. 15.0 is coming soon, and will have SDL2 -# in the core OS, so don't bother me about this decision. -# - update README, the snes9x_gtk build went away in 2010, no need to -# mention it now. also add notes about upgrading from 1.55. -# 20171221 bkw: use --without-system-zip to build bundled unzip, instead -# of adding minizip as a dependency. -# 20171213 bkw: update for 1.55. -# 20170302 bkw: use long-format github URL -# 20161015 bkw: update for 1.54.1. script has changed enough that it -# can't build 1.53 any more. +# 20230410 bkw: update for 1.62.3. +# Most of the work needed for this update was done by M.Dinslage, +# to whom I owe thanks. I updated the man page, and added the +# non-GUI binary plus a man page for it. + +# For older change-comments, see ChangeLog.old (it was getting too long +# to keep in the script). cd $(dirname $0) ; CWD=$(pwd) PRGNAM=snes9x -VERSION=${VERSION:-1.59} -BUILD=${BUILD:-2} +VERSION=${VERSION:-1.62.3} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} +SPIRVVER="2021-01-15" +VULKVER="1.3.246" +GLSLANGVER="12.1.0" + if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; @@ -102,6 +43,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} +# Note: the flags we set here are followed by -O3, meaning the +# -O2 does nothing. *shrug* if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" @@ -122,63 +65,63 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -# Don't extract the stuff we don't need, this saves 7.9MB in $TMP. -tar xvf $CWD/$PRGNAM-$VERSION.tar.?z \ - --wildcards --exclude '*/win32/*' \ - --exclude '*/macosx/*' --exclude '*/unix/*' +# Don't extract the stuff we don't need, this saves a few MB in $TMP. +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz \ + --wildcards \ + --exclude '*/win32/*' \ + --exclude '*/macosx/*' cd $PRGNAM-$VERSION + +tar xvf $CWD/glslang-$GLSLANGVER.tar.gz \ + -C external/glslang --strip-components=1 +tar xvf $CWD/SPIRV-Cross-$SPIRVVER.tar.gz \ + -C external/SPIRV-Cross --strip-components=1 +tar xvf $CWD/Vulkan-Headers-$VULKVER.tar.gz \ + -C external/vulkan-headers --strip-components=1 + chown -R root:root . find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ -cd gtk - WITHPULSE=yes if [ "$PULSE" = "no" ] || ! pkg-config --exists libpulse; then - PULSEOPT="-D pulseaudio=false" + PULSEOPT="-DUSE_PULSEAUDIO=OFF" WITHPULSE=no fi WITHOSS=yes if [ "${OSS:-no}" = "no" ]; then - OSSOPT="-D oss=false" + OSSOPT="-DUSE_OSS=OFF" WITHOSS=no fi -# 20211012 bkw: we can now build with gtk+3 -if [ "${GTK3:-yes}" = "yes" ]; then - GTKDEFS="-D gtk3=true -D gtk2=false" -else - GTKDEFS="-D gtk3=false -D gtk2=true" -fi - SLKCFLAGS+=" -DNDEBUG" -mkdir build -cd build - CFLAGS="$SLKCFLAGS" \ - CXXFLAGS="$SLKCFLAGS" \ - meson .. \ +mkdir -p gtk/build +cd gtk/build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_BINDIR=games \ $PULSEOPT $OSSOPT \ - $GTKDEFS \ - --buildtype=release \ - --infodir=/usr/info \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --localstatedir=/var \ - --mandir=/usr/man \ - --prefix=/usr \ - --sysconfdir=/etc \ - -Dstrip=true - "${NINJA:=ninja}" -v - DESTDIR=$PKG $NINJA install - mv $PKG/usr/bin $PKG/usr/games -cd .. + -DCMAKE_INSTALL_DATAROOTDIR=share \ + -DUSE_SYSTEMZIP=OFF \ + -DCMAKE_BUILD_TYPE=Release .. + make VERBOSE=1 + make install/strip DESTDIR=$PKG +cd - + +# 20230410 bkw: Insidious weirdness: The bitmap icons all look the +# same, but the .svg icon looks completely different. Just get rid +# of it; we have the bitmap icons at every size we could want. +rm -rf $PKG/usr/share/icons/hicolor/scalable # RetroArch support, contributed by orbea (Hunter Sezen). # Note that the source here is self-contained, there's no build-time # dependency on RetroArch or libretro or such. # snes9x_libretro-info originally came from: # https://raw.githubusercontent.com/libretro/libretro-super/383f18fd7c36ffd5fe76ebac58e9e596dde67e66/dist/info/snes9x_libretro.info -# Renamed .info => -info to avoid confusing SBo tools that deal with +# Renamed .info => .info.txt to avoid confusing SBo tools that deal with # SBo's .info files. # 20181201 bkw: made this optional, auto-detected, and controllable # via environment. It makes the build take 7x as long, no point wasting @@ -197,24 +140,50 @@ esac if [ "$build_ra" = "yes" ]; then echo "=== Building libretro core" ( LIBNAM=${PRGNAM}_libretro - cd ../libretro + PKGLIB=$PKG/usr/lib$LIBDIRSUFFIX + cd libretro make LTO="-flto=jobserver" - install -sDm0755 $LIBNAM.so $PKG/usr/lib${LIBDIRSUFFIX}/libretro/$LIBNAM.so - install -Dm0644 $CWD/$LIBNAM-info \ - $PKG/usr/lib${LIBDIRSUFFIX}/libretro/info/$LIBNAM.info + install -sDm0755 $LIBNAM.so $PKGLIB/libretro/$LIBNAM.so + install -Dm0644 -o root -g root $CWD/$LIBNAM.info.txt \ + $PKGLIB/libretro/info/$LIBNAM.info ) else echo "=== NOT building libretro core" fi +# Go ahead and include the non-gui binary. Note that it doesn't +# support OSS or Pulse (only ALSA), so the OSS and PULSE environment +# vars don't affect it. +cd unix + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --enable-gamepad \ + --enable-gzip \ + --enable-screenshot \ + --enable-zip \ + --without-system-zip \ + --build=$ARCH-slackware-linux + make +cd - + +# No 'make install' target. +install -s -m0755 unix/snes9x $PKG/usr/games/snes9x + +# Man pages written by SlackBuild author. mkdir -p $PKG/usr/man/man6 gzip -9c $CWD/snes9x-gtk.6 > $PKG/usr/man/man6/snes9x-gtk.6.gz -ln -s $PRGNAM-gtk.6.gz $PKG/usr/man/man6/$PRGNAM.6.gz -ln -s $PRGNAM-gtk $PKG/usr/games/$PRGNAM +gzip -9c $CWD/snes9x.6 > $PKG/usr/man/man6/snes9x.6.gz PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION mkdir -p $PKGDOC -cp -a ../LICENSE ../README* ../docs/* $PKGDOC +cp -a LICENSE README* docs/* unix/docs/* unix/snes9x.conf.default $PKGDOC cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/games/snes9x/snes9x.info b/games/snes9x/snes9x.info index 75d88face3029..fda41c81b46fe 100644 --- a/games/snes9x/snes9x.info +++ b/games/snes9x/snes9x.info @@ -1,8 +1,14 @@ PRGNAM="snes9x" -VERSION="1.59" +VERSION="1.62.3" HOMEPAGE="https://github.com/snes9xgit/snes9x" -DOWNLOAD="https://github.com/snes9xgit/snes9x/archive/1.59/snes9x-1.59.tar.gz" -MD5SUM="eab4e3123366711e4bcb014fa87d7ead" +DOWNLOAD="https://github.com/snes9xgit/snes9x/archive/1.62.3/snes9x-1.62.3.tar.gz \ + https://github.com/KhronosGroup/glslang/archive/12.1.0/glslang-12.1.0.tar.gz \ + https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.3.246/Vulkan-Headers-1.3.246.tar.gz \ + https://github.com/KhronosGroup/SPIRV-Cross/archive/2021-01-15/SPIRV-Cross-2021-01-15.tar.gz" +MD5SUM="53879c428f871e5e56d5a10dc24e4c10 \ + 218e2dd3ab422fca3a99ba6ca517c84c \ + 9b0106c6cae8ef061ba8a7c5b5778b1b \ + b3d17d652cde727629a68ff338881290" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/games/snes9x/snes9x.rst b/games/snes9x/snes9x.rst new file mode 100644 index 0000000000000..a7e03f9edf4f1 --- /dev/null +++ b/games/snes9x/snes9x.rst @@ -0,0 +1,78 @@ +.. RST source for snes9x(6) man page. Convert with: +.. rst2man.py snes9x.rst > snes9x.6 + +.. |version| replace:: 1.62.3 +.. |date| date:: + +====== +snes9x +====== + +-------------------------------------------- +Super Nintendo Entertainment System emulator +-------------------------------------------- + +:Manual section: 6 +:Manual group: SlackBuilds.org +:Date: |date| +:Version: |version| + +SYNOPSIS +======== + +**snes9x** [*options*] **rom-file** + +DESCRIPTION +=========== + +Snes9x is a portable, freeware Super Nintendo Entertainment +System (SNES) emulator. It basically allows you to play most games +designed for the SNES and Super Famicom Nintendo game systems +on your PC or Workstation; they include some real gems that were only +ever released in Japan. + +For the full documentation, see: + + /usr/doc/snes9x-|version|/readme_unix.html + +This is the command-line build of **snes9x**. For the GUI version, +see **snes9x-gtk**\(6). + +OPTIONS +======= + +This man page doesn't include a list of options. Run **snes9x** with +no arguments (or with **--help**) to see them. + +FILES +===== + +**~/.snes9x/snes9x.conf** + The config file. **snes9x** doesn't create this; the default config + file is found in /usr/doc/snes9x-|version|/snes9x.conf.default and + must be copied to ~/.snes9x/snes9x.conf manually. + +The directory **~/.snes9x/** also contains subdirectories for savestates, +screenshots, sram, etc. These are populated by **snes9x** as needed. + +Note that the graphical **snes9x-gtk** does not share config files or +directories with command-line **snes9x**\. + +COPYRIGHT +========= + +See the file /usr/doc/snes9x-|version|/LICENSE for license information. + +AUTHORS +======= + +Snes9x was written by Gary Henderson and Jerremy Koot. It also includes +code from Ivar (Ivar@snes9x.com), zsKnight, _Demo_, and many others. + +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. + +SEE ALSO +======== + +**snes9x-gtk**\(6) diff --git a/games/snes9x/snes9x_libretro-info b/games/snes9x/snes9x_libretro.info.txt index bcccb02e7edec..bcccb02e7edec 100644 --- a/games/snes9x/snes9x_libretro-info +++ b/games/snes9x/snes9x_libretro.info.txt |