From a1ed5b580b8912fc666ffc7e63b98f748448b2515dfff5a2cd72f7c871772163 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Wed, 7 Feb 2018 19:31:04 +0000
Subject: [PATCH 1/3] - Update to new upstream release 20170910

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/schismtracker?expand=0&rev=26
---
 20170910.tar.gz               |  3 +++
 schism-alsa.diff              | 38 +++++++++++++-------------
 schism-deptrack.diff          | 28 +++++++++++++-------
 schism-nodate.diff            | 50 ++++++++++++++++++-----------------
 schismtracker-20150409.tar.xz |  3 ---
 schismtracker.changes         | 14 ++++++++++
 schismtracker.spec            | 24 ++++++++---------
 7 files changed, 91 insertions(+), 69 deletions(-)
 create mode 100644 20170910.tar.gz
 delete mode 100644 schismtracker-20150409.tar.xz

diff --git a/20170910.tar.gz b/20170910.tar.gz
new file mode 100644
index 0000000..e4a78fa
--- /dev/null
+++ b/20170910.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9f32fa71878237267c83279816d6bcccc311c64496cac2933f68dff5ac64ee05
+size 1050995
diff --git a/schism-alsa.diff b/schism-alsa.diff
index c1f8b40..5d6ef85 100644
--- a/schism-alsa.diff
+++ b/schism-alsa.diff
@@ -7,7 +7,7 @@ IMHO, especially so with sound chips that lack hardware mixing on any
 of the three levels: (1) concurrent access to the hw device, (2) lack
 of volume control, (3) lack of rate conversion.
 
-"default" is the sane choice to have schism output to the converters
+"default" is the better choice to have schism output to the converters
 that handle any or all of these three points.
 
 Developer Storlek claims problems with fake devices. Upon furhter
@@ -38,24 +38,24 @@ option.
  schism/audio_playback.c |    7 +------
  1 file changed, 1 insertion(+), 6 deletions(-)
 
-Index: schismtracker/schism/audio_playback.c
+Index: schismtracker-20170910/schism/audio_playback.c
 ===================================================================
---- schismtracker.orig/schism/audio_playback.c
-+++ schismtracker/schism/audio_playback.c
-@@ -1274,15 +1274,10 @@ static int _audio_open(const char *drive
-         if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0)
-                 return 0;
+--- schismtracker-20170910.orig/schism/audio_playback.c
++++ schismtracker-20170910/schism/audio_playback.c
+@@ -1281,15 +1281,10 @@ static int _audio_open(const char *drive
+ 	if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0)
+ 		return 0;
  
--        /* This is needed in order to coax alsa into actually respecting the buffer size, since it's evidently
--        ignored entirely for "fake" devices such as "default" -- which SDL happens to use if no device name
--        is set. (see SDL_alsa_audio.c: http://tinyurl.com/ybf398f)
--        If hw doesn't exist, so be it -- let this fail, we'll fall back to the dummy device, and the
--        user can pick a more reasonable device later. */
-         if (SDL_AudioDriverName(driver_name, sizeof(driver_name)) != NULL && !strcmp(driver_name, "alsa")) {
-                 char *dev = getenv("AUDIODEV");
-                 if (!dev || !*dev)
--                        put_env_var("AUDIODEV", "hw");
-+                        put_env_var("AUDIODEV", "default");
-         }
+-	/* This is needed in order to coax alsa into actually respecting the buffer size, since it's evidently
+-	ignored entirely for "fake" devices such as "default" -- which SDL happens to use if no device name
+-	is set. (see SDL_alsa_audio.c: http://tinyurl.com/ybf398f)
+-	If hw doesn't exist, so be it -- let this fail, we'll fall back to the dummy device, and the
+-	user can pick a more reasonable device later. */
+ 	if (SDL_AudioDriverName(driver_name, sizeof(driver_name)) != NULL && !strcmp(driver_name, "alsa")) {
+ 		char *dev = getenv("AUDIODEV");
+ 		if (!dev || !*dev)
+-			put_env_var("AUDIODEV", "hw");
++			put_env_var("AUDIODEV", "default");
+ 	}
  
-         /* ... THIS is needed because, if the buffer size isn't a power of two, the dsp driver will punt since
+ 	/* ... THIS is needed because, if the buffer size isn't a power of two, the dsp driver will punt since
diff --git a/schism-deptrack.diff b/schism-deptrack.diff
index b324c31..acc41ae 100644
--- a/schism-deptrack.diff
+++ b/schism-deptrack.diff
@@ -1,13 +1,21 @@
+From: Jan Engelhardt <jengelh@inai.de>
+
+There are some manual commands which create dependency files, and
+they do fail if they concurrently try to create the directory
+(because it does something like test -e auto || mkdir auto, rather
+than checking just the return value of mkdir for EISDIR.)
+
+Anyway, create the directory beforehand.
 ---
  Makefile.am  |    1 +
  configure.ac |    1 +
  2 files changed, 2 insertions(+)
 
-Index: schismtracker-20120105/Makefile.am
+Index: schismtracker-20170910/Makefile.am
 ===================================================================
---- schismtracker-20120105.orig/Makefile.am
-+++ schismtracker-20120105/Makefile.am
-@@ -158,6 +158,7 @@ CLEANFILES = \
+--- schismtracker-20170910.orig/Makefile.am
++++ schismtracker-20170910/Makefile.am
+@@ -141,6 +141,7 @@ CLEANFILES = \
  	auto/helptext.c
  
  auto/default-font.c: Makefile.am scripts/bin2h.sh scripts/build-font.sh $(fonts)
@@ -15,15 +23,15 @@ Index: schismtracker-20120105/Makefile.am
  	sh $(srcdir)/scripts/build-font.sh $(srcdir) $(fonts) >$@
  auto/helptext.c: Makefile.am scripts/genhelp.py $(helptexts)
  	$(PYTHON) $(srcdir)/scripts/genhelp.py $(srcdir) $(helptexts) >$@
-Index: schismtracker-20120105/configure.ac
+Index: schismtracker-20170910/configure.ac
 ===================================================================
---- schismtracker-20120105.orig/configure.ac
-+++ schismtracker-20120105/configure.ac
-@@ -42,6 +42,7 @@ AC_PROG_CPP
+--- schismtracker-20170910.orig/configure.ac
++++ schismtracker-20170910/configure.ac
+@@ -39,6 +39,7 @@ AC_PROG_CPP
  AC_PROG_INSTALL
  AC_PROG_LN_S
  AC_PROG_CC_C99
 +AC_PROG_MKDIR_P
  
- dnl Windows poop
- AC_CHECK_TOOL([WINDRES], [windres])
+ dnl do we have Git
+ AC_CHECK_TOOL([GIT], [git])
diff --git a/schism-nodate.diff b/schism-nodate.diff
index a6f49c5..553bc56 100644
--- a/schism-nodate.diff
+++ b/schism-nodate.diff
@@ -8,15 +8,15 @@ encoded happens to be the current day. That is ok, since rpmlint
 uses just a heuristic - excessive rebuilds should not actually
 be happening.
 ---
- schism/version.c |    8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
+ schism/version.c |   10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
 
-Index: schismtracker/schism/version.c
+Index: schismtracker-20170910/schism/version.c
 ===================================================================
---- schismtracker.orig/schism/version.c
-+++ schismtracker/schism/version.c
-@@ -100,6 +100,10 @@ Note: this is a hack, it'd be great to h
- Fortunately, most of this should be able to be optimized down to static assignment.
+--- schismtracker-20170910.orig/schism/version.c
++++ schismtracker-20170910/schism/version.c
+@@ -90,6 +90,10 @@ Information at our disposal:
+ 
  */
  
 +/* update whenever you checkout */
@@ -25,22 +25,24 @@ Index: schismtracker/schism/version.c
 +
  static int get_version_tm(struct tm *version)
  {
-         char *ret;
-@@ -119,7 +123,7 @@ static int get_version_tm(struct tm *ver
-                 return 1;
-         /* Argh. */
-         memset(version, 0, sizeof(*version));
--        ret = strptime(__DATE__, "%b %e %Y", version);
-+        ret = strptime(__HG_DATE__, "%b %e %Y", version);
-         if (ret && !*ret)
-                 return 1;
-         /* Give up; we don't know anything. */
-@@ -152,7 +156,7 @@ void ver_init(void)
- #endif
-         snprintf(top_banner_normal, sizeof(top_banner_normal) - 1,
-                 "Schism Tracker %s built %s %s",
--                ver, __DATE__, __TIME__);
-+                ver, __HG_DATE__, __HG_TIME__);
-         top_banner_normal[sizeof(top_banner_normal) - 1] = '\0'; /* to be sure */
+ 	char *ret;
+@@ -99,10 +103,6 @@ static int get_version_tm(struct tm *ver
+ 	if (ret && !*ret)
+ 		return 1;
+ 	/* Argh. */
+-	memset(version, 0, sizeof(*version));
+-	ret = strptime(__DATE__, "%b %e %Y", version);
+-	if (ret && !*ret)
+-		return 1;
+ 	/* Give up; we don't know anything. */
+ 	return 0;
  }
+@@ -131,7 +131,7 @@ void ver_init(void)
+ 			"Schism Tracker %s", ver);
+ 	} else {
+ 		snprintf(top_banner_normal, sizeof(top_banner_normal) - 1,
+-			"Schism Tracker built %s %s", __DATE__, __TIME__);
++			"Schism Tracker");
+ 	}
  
+ 	top_banner_normal[sizeof(top_banner_normal) - 1] = '\0'; /* to be sure */
diff --git a/schismtracker-20150409.tar.xz b/schismtracker-20150409.tar.xz
deleted file mode 100644
index f5d0a77..0000000
--- a/schismtracker-20150409.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:efed838263fc8ba584512691b0bedcd8c1df345c5a4833581e2650580c793adf
-size 798776
diff --git a/schismtracker.changes b/schismtracker.changes
index 25817ea..4013c3d 100644
--- a/schismtracker.changes
+++ b/schismtracker.changes
@@ -1,3 +1,17 @@
+-------------------------------------------------------------------
+Wed Feb  7 19:06:51 UTC 2018 - jengelh@inai.de
+
+- Update to new upstream release 20170910
+  * Make MIDI note entry reliable
+  * Stop restricting instrument in MIDI note entry based on MIDI
+    channel (this was nonsense)
+  * Fix note off events in MIDI output
+  * Improve S3M AdLib emulation
+  * Allow navigating the Load Instrument screen by holding up or
+    down, just like on the Load Sample and Load Module screens
+  * Support ADPCM samples in MOD files
+  * Detect Cheesetracker and old OpenMPT modules
+
 -------------------------------------------------------------------
 Thu Apr  9 19:01:35 UTC 2015 - jengelh@inai.de
 
diff --git a/schismtracker.spec b/schismtracker.spec
index 49b7d4a..9fcae04 100644
--- a/schismtracker.spec
+++ b/schismtracker.spec
@@ -1,7 +1,7 @@
 #
 # spec file for package schismtracker
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,16 +17,15 @@
 
 
 Name:           schismtracker
-Version:        20150409
+Version:        20170910
 Release:        0
 Url:            http://schismtracker.org/
-Summary:        Music editor that aims to match the look and feel of Impulse Tracker
+Summary:        Music editor that matches the look and feel of Impulse Tracker
 License:        GPL-2.0+
 Group:          Productivity/Multimedia/Sound/Editors and Convertors
 
-#Hg-Clone:      http://schismtracker.org/hg/
-#Snapshot:	2914:3fa3836ff27c
-Source:         %name-%version.tar.xz
+#Git-Clone:     https://github.com/schismtracker/schismtracker
+Source:         https://github.com/schismtracker/schismtracker/archive/20170910.tar.gz
 Source2:        %name.desktop
 Patch1:         schism-alsa.diff
 Patch2:         schism-nodate.diff
@@ -36,24 +35,23 @@ BuildRequires:  SDL-devel >= 1.2.10
 BuildRequires:  alsa-devel
 BuildRequires:  autoconf
 BuildRequires:  automake
-BuildRequires:  freeglut-devel
 BuildRequires:  gcc-c++
 BuildRequires:  libtool
 BuildRequires:  python >= 2.4
 BuildRequires:  update-desktop-files
 BuildRequires:  xorg-x11-devel
-BuildRequires:  xz
+BuildRequires:  pkgconfig(freeglut)
 
 %description
-Schism Tracker is a free reimplementation of Impulse Tracker, a
-program used to create high quality music without the requirements of
+Schism Tracker is a reimplementation of Impulse Tracker, a
+program used to create music without the requirements of
 specialized, expensive equipment, and with a unique "finger feel"
 that is difficult to replicate in-part. The player is based on a
-highly modified version of the Modplug engine, with a number of
+modified version of the Modplug engine, with a number of
 bugfixes and changes to improve IT playback.
 
 %prep
-%setup -qn hg
+%setup -q
 %patch -P 1 -P 2 -P 3 -p1
 
 %build
@@ -75,7 +73,7 @@ install -Dm 0644 icons/schism-icon.svg \
 
 %files
 %defattr(-,root,root)
-%doc AUTHORS COPYING NEWS README
+%doc AUTHORS COPYING NEWS README.md
 %_bindir/schismtracker
 %_datadir/icons/hicolor
 %_datadir/applications/%name.desktop

From 0389e07680ec210c4f7b12dbe47b89e9ef60611062fcd006c5bfc87561545e86 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Wed, 7 Feb 2018 19:39:36 +0000
Subject: [PATCH 2/3] 42.3 does not have the pkgconfig() yet

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/schismtracker?expand=0&rev=27
---
 schismtracker.spec | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/schismtracker.spec b/schismtracker.spec
index 9fcae04..48d063f 100644
--- a/schismtracker.spec
+++ b/schismtracker.spec
@@ -35,12 +35,12 @@ BuildRequires:  SDL-devel >= 1.2.10
 BuildRequires:  alsa-devel
 BuildRequires:  autoconf
 BuildRequires:  automake
+BuildRequires:  freeglut-devel
 BuildRequires:  gcc-c++
 BuildRequires:  libtool
 BuildRequires:  python >= 2.4
 BuildRequires:  update-desktop-files
 BuildRequires:  xorg-x11-devel
-BuildRequires:  pkgconfig(freeglut)
 
 %description
 Schism Tracker is a reimplementation of Impulse Tracker, a

From 05cec2b8a89c7828b94fb1253a54ea00336ad4585ca96df0b6a570dcbb0292b8 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Thu, 8 Feb 2018 14:50:18 +0000
Subject: [PATCH 3/3] - Get rid of BuildRequires: xorg-x11-devel.

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/schismtracker?expand=0&rev=28
---
 schismtracker.changes | 5 +++++
 schismtracker.spec    | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/schismtracker.changes b/schismtracker.changes
index 4013c3d..dcb5d62 100644
--- a/schismtracker.changes
+++ b/schismtracker.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Thu Feb  8 14:50:08 UTC 2018 - jengelh@inai.de
+
+- Get rid of BuildRequires: xorg-x11-devel.
+
 -------------------------------------------------------------------
 Wed Feb  7 19:06:51 UTC 2018 - jengelh@inai.de
 
diff --git a/schismtracker.spec b/schismtracker.spec
index 48d063f..3a162ee 100644
--- a/schismtracker.spec
+++ b/schismtracker.spec
@@ -40,7 +40,8 @@ BuildRequires:  gcc-c++
 BuildRequires:  libtool
 BuildRequires:  python >= 2.4
 BuildRequires:  update-desktop-files
-BuildRequires:  xorg-x11-devel
+BuildRequires:  pkgconfig(x11)
+BuildRequires:  pkgconfig(xv)
 
 %description
 Schism Tracker is a reimplementation of Impulse Tracker, a