summaryrefslogtreecommitdiff
path: root/community/milkytracker
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-02-26 23:15:00 +0000
committerroot <root@rshg054.dnsready.net>2012-02-26 23:15:00 +0000
commitf6a79a3f5989efc8db63af942851c56f0c462bb1 (patch)
tree08bddecba9bbd4fc2c2075bfa2c514f710fcd351 /community/milkytracker
parente4a5730eb358cb0d78bc022204ddccac068c2bf2 (diff)
Sun Feb 26 23:15:00 UTC 2012
Diffstat (limited to 'community/milkytracker')
-rw-r--r--community/milkytracker/PKGBUILD45
-rw-r--r--community/milkytracker/arch.patch645
-rw-r--r--community/milkytracker/milkytracker.desktop9
3 files changed, 699 insertions, 0 deletions
diff --git a/community/milkytracker/PKGBUILD b/community/milkytracker/PKGBUILD
new file mode 100644
index 000000000..430a67ffa
--- /dev/null
+++ b/community/milkytracker/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 61589 2012-01-03 23:37:49Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Christopher O'Neill <milkytracker at chrisoneill co uk>
+
+pkgname=milkytracker
+pkgver=0.90.85
+pkgrel=3
+pkgdesc="Fast Tracker II inspired music tracker"
+arch=('x86_64' 'i686')
+url="http://www.milkytracker.org/"
+license=('GPL3')
+depends=('sdl>=1.2.0' 'alsa-lib' 'zlib' 'gcc-libs')
+optdepends=('jack-audio-connection-kit: JACK audio support')
+options=('docs')
+source=("http://milkytracker.org/files/$pkgname-$pkgver.tar.bz2"
+ 'arch.patch'
+ "$pkgname.desktop")
+sha256sums=('59a0d294d63752be74b157e07b0c70252c9198c312d9b1ad0ca460129fe5bd80'
+ 'cb9dfa99491d72eae7c09e7bae6c35871dddbc5b6a71730e772daa2f31f922bc'
+ 'c947a7b0689900c8ebfa29113553be87b7b151714c24f84f286ff81cd5e69063')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -p1 -i ../arch.patch
+ ./configure --prefix=/usr --with-alsa
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ mkdir -p "$pkgdir/usr/share/applications" \
+ "$pkgdir/usr/share/doc/milkytracker"
+ install -Dm644 resources/pictures/carton.png \
+ "$pkgdir/usr/share/pixmaps/milkytracker.png"
+ install -m644 "$srcdir/milkytracker.desktop" "$pkgdir/usr/share/applications"
+ install -m644 docs/ChangeLog.html "$pkgdir/usr/share/doc/milkytracker"
+ install -m644 docs/MilkyTracker.html "$pkgdir/usr/share/doc/milkytracker"
+ install -m644 docs/readme_unix "$pkgdir/usr/share/doc/milkytracker"
+ install -m644 docs/FAQ.html "$pkgdir/usr/share/doc/milkytracker"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/milkytracker/arch.patch b/community/milkytracker/arch.patch
new file mode 100644
index 000000000..3f5cb16cb
--- /dev/null
+++ b/community/milkytracker/arch.patch
@@ -0,0 +1,645 @@
+*** milkytracker-0.90.85/src/tracker/sdl/SDL_Main.cpp 2009-02-22 10:20:39.140388000 +0000
+--- milkytracker-trunk/src/tracker/sdl/SDL_Main.cpp 2010-01-03 18:11:52.541377210 +0000
+***************
+*** 751,758 ****
+ case SDLUserEventLMouseRepeat:
+ {
+ PPPoint p;
+! p.x = (pp_int32)event.data1;
+! p.y = (pp_int32)event.data2;
+ PPEvent myEvent(eLMouseRepeat, &p, sizeof(PPPoint));
+ RaiseEventSerialized(&myEvent);
+ break;
+--- 751,758 ----
+ case SDLUserEventLMouseRepeat:
+ {
+ PPPoint p;
+! p.x = reinterpret_cast<intptr_t> (event.data1);
+! p.y = reinterpret_cast<intptr_t> (event.data2);
+ PPEvent myEvent(eLMouseRepeat, &p, sizeof(PPPoint));
+ RaiseEventSerialized(&myEvent);
+ break;
+***************
+*** 761,768 ****
+ case SDLUserEventRMouseRepeat:
+ {
+ PPPoint p;
+! p.x = (pp_int32)event.data1;
+! p.y = (pp_int32)event.data2;
+ PPEvent myEvent(eRMouseRepeat, &p, sizeof(PPPoint));
+ RaiseEventSerialized(&myEvent);
+ break;
+--- 761,768 ----
+ case SDLUserEventRMouseRepeat:
+ {
+ PPPoint p;
+! p.x = reinterpret_cast<intptr_t> (event.data1);
+! p.y = reinterpret_cast<intptr_t> (event.data2);
+ PPEvent myEvent(eRMouseRepeat, &p, sizeof(PPPoint));
+ RaiseEventSerialized(&myEvent);
+ break;
+***************
+*** 770,777 ****
+
+ case SDLUserEventMidiKeyDown:
+ {
+! pp_int32 note = (pp_int32)event.data1;
+! pp_int32 volume = (pp_int32)event.data2;
+ globalMutex->lock();
+ myTracker->sendNoteDown(note, volume);
+ globalMutex->unlock();
+--- 770,777 ----
+
+ case SDLUserEventMidiKeyDown:
+ {
+! pp_int32 note = reinterpret_cast<intptr_t> (event.data1);
+! pp_int32 volume = reinterpret_cast<intptr_t> (event.data2);
+ globalMutex->lock();
+ myTracker->sendNoteDown(note, volume);
+ globalMutex->unlock();
+***************
+*** 780,786 ****
+
+ case SDLUserEventMidiKeyUp:
+ {
+! pp_int32 note = (pp_int32)event.data1;
+ globalMutex->lock();
+ myTracker->sendNoteUp(note);
+ globalMutex->unlock();
+--- 780,786 ----
+
+ case SDLUserEventMidiKeyUp:
+ {
+! pp_int32 note = reinterpret_cast<intptr_t> (event.data1);
+ globalMutex->lock();
+ myTracker->sendNoteUp(note);
+ globalMutex->unlock();
+diff -c -x .svn milkytracker-0.90.85/docs/FAQ.html milkytracker-trunk/docs/FAQ.html
+*** milkytracker-0.90.85/docs/FAQ.html 2010-01-01 23:00:57.183928000 +0000
+--- milkytracker-trunk/docs/FAQ.html 2010-01-05 10:34:37.212763931 +0000
+***************
+*** 49,65 ****
+ {
+ questions = document.getElementsByTagName('a');
+ answers = document.getElementsByTagName('ul');
+! for (i = 1; i <= questions.length; i++)
+ {
+! questions.item(i-1).id = "q"+i;
+! var question = questions.item(i-1).id;
+! document.getElementById(question).href="javascript:flip('a"+i+"')";
+ }
+! for (i = 1; i <= answers.length; i++)
+ {
+! answers.item(i-1).id = "a"+i;
+! var answer = answers.item(i-1).id;
+! document.getElementById(answer).style.display="none";
+ }
+ }
+ }
+--- 49,66 ----
+ {
+ questions = document.getElementsByTagName('a');
+ answers = document.getElementsByTagName('ul');
+! q = 0;
+! for (i = 0; i < questions.length; i++)
+ {
+! if(questions.item(i).href != "") continue;
+! questions.item(i).id = "q"+q;
+! questions.item(i).href="javascript:flip('a"+q+"')";
+! q++;
+ }
+! for (i = 0; i < answers.length; i++)
+ {
+! answers.item(i).id = "a"+i;
+! answers.item(i).style.display="none";
+ }
+ }
+ }
+***************
+*** 87,96 ****
+ <ol>
+
+ <li>
+! <a>Where can I find a list of all the effect codes?</a>
+ <ul>
+ <li>
+! Read the manual: <a href="milkytracker.html">milkytracker.html</a>
+ </li>
+ </ul>
+ </li>
+--- 88,97 ----
+ <ol>
+
+ <li>
+! <a id="question">Where can I find a list of all the effect codes?</a>
+ <ul>
+ <li>
+! Read the manual: <a href="MilkyTracker.html">milkytracker.html</a>
+ </li>
+ </ul>
+ </li>
+***************
+*** 99,105 ****
+ <a>Where can I find a list of all the keyboard shortcuts?</a>
+ <ul>
+ <li>
+! Read the manual: <a href="milkytracker.html">milkytracker.html</a>
+ </li>
+ </ul>
+
+--- 100,106 ----
+ <a>Where can I find a list of all the keyboard shortcuts?</a>
+ <ul>
+ <li>
+! Read the manual: <a href="MilkyTracker.html">milkytracker.html</a>
+ </li>
+ </ul>
+
+diff -c -x .svn milkytracker-0.90.85/docs/MilkyTracker.html milkytracker-trunk/docs/MilkyTracker.html
+*** milkytracker-0.90.85/docs/MilkyTracker.html 2010-01-01 23:00:57.183928000 +0000
+--- milkytracker-trunk/docs/MilkyTracker.html 2010-01-05 10:34:37.212763931 +0000
+***************
+*** 183,189 ****
+ <body>
+ <h1>MilkyTracker Manual <span id="version" style="font-size: 10pt; font-weight: normal;">v0.90.85</span></h1>
+ <p>
+! Hello and welcome to MilkyTracker, an open source multi-platform Fasttracker II compatible music tracker program. This document holds a lot of valuable information about the tracker but it's not a tracking manual. If you want to learn more about tracking and how it's done, the Internet is your friend. We host some resources on <a href="http://www.milkytracker.net/">MilkyTracker.net</a> as well.
+ </p>
+ <h4>Disclaimer:</h4>
+ <p>
+--- 183,189 ----
+ <body>
+ <h1>MilkyTracker Manual <span id="version" style="font-size: 10pt; font-weight: normal;">v0.90.85</span></h1>
+ <p>
+! Hello and welcome to MilkyTracker, an open source multi-platform Fasttracker II compatible music tracker program. This document holds a lot of valuable information about the tracker but it's not a tracking manual. If you want to learn more about tracking and how it's done, the Internet is your friend. We host some resources on <a href="http://www.milkytracker.org/">MilkyTracker.net</a> as well.
+ </p>
+ <h4>Disclaimer:</h4>
+ <p>
+***************
+*** 3111,3122 ****
+ and everybody who donated or dropped a letter.
+ </p>
+ <p>
+! Special greetings to everyone at <a href="http://www.milkytracker.net/?community">#MilkyTracker</a> for making it a daily active channel.
+ </p>
+
+ <h2><a id="contact">10. Contact</a></h2>
+ <p>
+! You can contact the MilkyTracker team by email (<span class="email">ten.rekcartyklim@troppus</span>), through the forum at <a href="http://www.milkytracker.net/?community">http://www.milkytracker.net/?community</a> or in IRC. To chat with the community live, you can connect to #MilkyTracker on <a href="http://www.esper.net/">EsperNet</a> with your IRC client or use the java client on our website.
+ </p>
+
+
+--- 3111,3122 ----
+ and everybody who donated or dropped a letter.
+ </p>
+ <p>
+! Special greetings to everyone at <a href="http://www.milkytracker.org/?community">#MilkyTracker</a> for making it a daily active channel.
+ </p>
+
+ <h2><a id="contact">10. Contact</a></h2>
+ <p>
+! You can contact the MilkyTracker team by email (<span class="email">ten.rekcartyklim@troppus</span>), through the forum at <a href="http://www.milkytracker.org/?community">http://www.milkytracker.org/?community</a> or in IRC. To chat with the community live, you can connect to #MilkyTracker on <a href="http://www.esper.net/">EsperNet</a> with your IRC client or use the java client on our website.
+ </p>
+
+
+Only in milkytracker-0.90.85/docs/: MilkyTracker.rtf
+--- milkytracker-0.90.85/src/compression/DecompressorGZIP.cpp 2009-04-17 22:34:16.000000000 +0200
++++ milkytracker-trunk/src/compression/DecompressorGZIP.cpp 2012-02-20 20:24:49.161937553 +0100
+@@ -61,7 +61,7 @@
+ int len = 0;
+ pp_uint8 *buf;
+
+- if ((gz_input_file = (void **)gzopen (fileName.getStrBuffer(), "r")) == NULL)
++ if ((gz_input_file = (gzFile*)gzopen (fileName.getStrBuffer(), "r")) == NULL)
+ return false;
+
+ if ((buf = new pp_uint8[0x10000]) == NULL)
+@@ -71,7 +71,7 @@
+
+ while (true)
+ {
+- len = gzread (gz_input_file, buf, 0x10000);
++ len = gzread (*gz_input_file, buf, 0x10000);
+
+ if (len < 0)
+ {
+@@ -84,7 +84,7 @@
+ fOut.write(buf, 1, len);
+ }
+
+- if (gzclose (gz_input_file) != Z_OK)
++ if (gzclose (*gz_input_file) != Z_OK)
+ {
+ delete[] buf;
+ return false;
+diff -cx .svn milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp
+*** milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp 2009-03-28 11:19:41.392162000 +0000
+--- milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp 2010-01-03 18:48:15.616918068 +0000
+***************
+*** 102,124 ****
+ // Each function has to be cast.. surely there must be an easier way?
+ dlerror();
+ jack_port_get_buffer = (void* (*)(jack_port_t*, jack_nframes_t))
+! dlsym(libJack, "jack_port_get_buffer");
+ jack_client_new = (jack_client_t* (*)(const char*))
+! dlsym(libJack, "jack_client_new");
+ jack_port_register = (jack_port_t* (*)(jack_client_t*, const char*, const char*, long unsigned int, long unsigned int))
+! dlsym(libJack, "jack_port_register");
+ jack_set_process_callback = (int (*)(jack_client_t*, int (*)(jack_nframes_t, void*), void*))
+! dlsym(libJack, "jack_set_process_callback");
+ jack_get_buffer_size = (jack_nframes_t (*)(jack_client_t*))
+! dlsym(libJack, "jack_get_buffer_size");
+ jack_deactivate = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_deactivate");
+ jack_client_close = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_client_close");
+ jack_activate = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_activate");
+ jack_get_sample_rate = (jack_nframes_t (*)(jack_client_t *))
+! dlsym(libJack, "jack_get_sample_rate");
+ if(dlerror()) {
+ fprintf(stderr, "JACK: An error occured whilst loading symbols, aborting.\n");
+ return -1;
+--- 102,130 ----
+ // Each function has to be cast.. surely there must be an easier way?
+ dlerror();
+ jack_port_get_buffer = (void* (*)(jack_port_t*, jack_nframes_t))
+! dlsym(libJack, "jack_port_get_buffer");
+ jack_client_new = (jack_client_t* (*)(const char*))
+! dlsym(libJack, "jack_client_new");
+ jack_port_register = (jack_port_t* (*)(jack_client_t*, const char*, const char*, long unsigned int, long unsigned int))
+! dlsym(libJack, "jack_port_register");
+ jack_set_process_callback = (int (*)(jack_client_t*, int (*)(jack_nframes_t, void*), void*))
+! dlsym(libJack, "jack_set_process_callback");
+ jack_get_buffer_size = (jack_nframes_t (*)(jack_client_t*))
+! dlsym(libJack, "jack_get_buffer_size");
+ jack_deactivate = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_deactivate");
+ jack_client_close = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_client_close");
+ jack_activate = (int (*)(jack_client_t*))
+! dlsym(libJack, "jack_activate");
+ jack_get_sample_rate = (jack_nframes_t (*)(jack_client_t *))
+! dlsym(libJack, "jack_get_sample_rate");
+! jack_get_ports = (const char** (*)(jack_client_t *, const char *, const char *, unsigned long))
+! dlsym(libJack, "jack_get_ports");
+! jack_connect = (int (*)(jack_client_t *, const char *source_port, const char *destination_port))
+! dlsym(libJack, "jack_connect");
+! jack_port_name = (const char* (*)(const jack_port_t *))
+! dlsym(libJack, "jack_port_name");
+ if(dlerror()) {
+ fprintf(stderr, "JACK: An error occured whilst loading symbols, aborting.\n");
+ return -1;
+***************
+*** 179,184 ****
+--- 185,196 ----
+
+ mp_sint32 AudioDriver_JACK::start()
+ {
++ jack_get_ports = (const char** (*)(jack_client_t *, const char *, const char *, unsigned long))
++ dlsym(libJack, "jack_get_ports");
++ jack_connect = (int (*)(jack_client_t *, const char *source_port, const char *destination_port))
++ dlsym(libJack, "jack_connect");
++ jack_port_name = (const char* (*)(const jack_port_t *))
++ dlsym(libJack, "jack_port_name");
+ jack_activate(hJack);
+ deviceHasStarted = true;
+ return 0;
+diff -cx .svn milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.h milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.h
+*** milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.h 2009-03-28 11:19:41.392162000 +0000
+--- milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.h 2010-01-03 18:38:35.835648568 +0000
+***************
+*** 57,74 ****
+ jack_client_t *(*jack_client_new) (const char *client_name);
+ int (*jack_client_close) (jack_client_t *client);
+ int (*jack_set_process_callback) (jack_client_t *client,
+! JackProcessCallback process_callback,
+! void *arg);
+ int (*jack_activate) (jack_client_t *client);
+ int (*jack_deactivate) (jack_client_t *client);
+ jack_port_t *(*jack_port_register) (jack_client_t *client,
+! const char *port_name,
+! const char *port_type,
+! unsigned long flags,
+! unsigned long buffer_size);
+ void *(*jack_port_get_buffer) (jack_port_t *, jack_nframes_t);
+ jack_nframes_t (*jack_get_buffer_size) (jack_client_t *);
+ jack_nframes_t (*jack_get_sample_rate) (jack_client_t *);
+
+ public:
+ AudioDriver_JACK();
+--- 57,83 ----
+ jack_client_t *(*jack_client_new) (const char *client_name);
+ int (*jack_client_close) (jack_client_t *client);
+ int (*jack_set_process_callback) (jack_client_t *client,
+! JackProcessCallback process_callback,
+! void *arg);
+ int (*jack_activate) (jack_client_t *client);
+ int (*jack_deactivate) (jack_client_t *client);
+ jack_port_t *(*jack_port_register) (jack_client_t *client,
+! const char *port_name,
+! const char *port_type,
+! unsigned long flags,
+! unsigned long buffer_size);
+ void *(*jack_port_get_buffer) (jack_port_t *, jack_nframes_t);
+ jack_nframes_t (*jack_get_buffer_size) (jack_client_t *);
+ jack_nframes_t (*jack_get_sample_rate) (jack_client_t *);
++ const char ** (*jack_get_ports) (jack_client_t *,
++ const char *port_name_pattern,
++ const char *type_name_pattern,
++ unsigned long flags);
++ int (*jack_connect) (jack_client_t *,
++ const char *source_port,
++ const char *destination_port);
++ const char* (*jack_port_name) (const jack_port_t *);
++
+
+ public:
+ AudioDriver_JACK();
+*** milkytracker-0.90.85/configure.in 2009-09-17 20:35:47.231496000 +0100
+--- milkytracker-trunk/configure.in 2010-01-05 10:03:17.292774154 +0000
+***************
+*** 43,49 ****
+
+ AC_SEARCH_LIBS(gzopen, z, AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the 'libz' library.]),)
+ #AC_CHECK_LIB(zzip, zzip_file_open,,AC_MSG_ERROR("Cannot find -lzzip"))
+! PKG_CHECK_MODULES([ZZIP],[zziplib >= 0.10.75])
+
+ SDL_VERSION=1.2.0
+ AM_PATH_SDL($SDL_VERSION,, AC_MSG_ERROR([Please install libSDL]))
+--- 43,49 ----
+
+ AC_SEARCH_LIBS(gzopen, z, AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the 'libz' library.]),)
+ #AC_CHECK_LIB(zzip, zzip_file_open,,AC_MSG_ERROR("Cannot find -lzzip"))
+! #PKG_CHECK_MODULES([ZZIP],[zziplib >= 0.10.75])
+
+ SDL_VERSION=1.2.0
+ AM_PATH_SDL($SDL_VERSION,, AC_MSG_ERROR([Please install libSDL]))
+*** milkytracker-0.90.85/configure 2010-01-02 00:03:37.602601121 +0000
+--- milkytracker-trunk/configure 2010-01-05 10:03:38.372781464 +0000
+***************
+*** 599,607 ****
+ SDL_LIBS
+ SDL_CFLAGS
+ SDL_CONFIG
+- ZZIP_LIBS
+- ZZIP_CFLAGS
+- PKG_CONFIG
+ ALSA_LIBS
+ ALSA_CFLAGS
+ RTMIDI_DIR
+--- 599,604 ----
+***************
+*** 717,726 ****
+ CCC
+ CC
+ CFLAGS
+! CPP
+! PKG_CONFIG
+! ZZIP_CFLAGS
+! ZZIP_LIBS'
+
+
+ # Initialize some variables set by options.
+--- 714,720 ----
+ CCC
+ CC
+ CFLAGS
+! CPP'
+
+
+ # Initialize some variables set by options.
+***************
+*** 1363,1371 ****
+ CC C compiler command
+ CFLAGS C compiler flags
+ CPP C preprocessor
+- PKG_CONFIG path to pkg-config utility
+- ZZIP_CFLAGS C compiler flags for ZZIP, overriding pkg-config
+- ZZIP_LIBS linker flags for ZZIP, overriding pkg-config
+
+ Use these variables to override the choices made by `configure' or to help
+ it to find libraries and programs with nonstandard names/locations.
+--- 1357,1362 ----
+***************
+*** 5313,5524 ****
+ fi
+
+ #AC_CHECK_LIB(zzip, zzip_file_open,,AC_MSG_ERROR("Cannot find -lzzip"))
+!
+!
+! if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+! if test -n "$ac_tool_prefix"; then
+! # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+! set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+! $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+! $as_echo_n "(cached) " >&6
+! else
+! case $PKG_CONFIG in
+! [\\/]* | ?:[\\/]*)
+! ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+! ;;
+! *)
+! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+! for as_dir in $PATH
+! do
+! IFS=$as_save_IFS
+! test -z "$as_dir" && as_dir=.
+! for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+! ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+! $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+! break 2
+! fi
+! done
+! done
+! IFS=$as_save_IFS
+!
+! ;;
+! esac
+! fi
+! PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+! if test -n "$PKG_CONFIG"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+! $as_echo "$PKG_CONFIG" >&6; }
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }
+! fi
+!
+!
+! fi
+! if test -z "$ac_cv_path_PKG_CONFIG"; then
+! ac_pt_PKG_CONFIG=$PKG_CONFIG
+! # Extract the first word of "pkg-config", so it can be a program name with args.
+! set dummy pkg-config; ac_word=$2
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+! $as_echo_n "checking for $ac_word... " >&6; }
+! if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
+! $as_echo_n "(cached) " >&6
+! else
+! case $ac_pt_PKG_CONFIG in
+! [\\/]* | ?:[\\/]*)
+! ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+! ;;
+! *)
+! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+! for as_dir in $PATH
+! do
+! IFS=$as_save_IFS
+! test -z "$as_dir" && as_dir=.
+! for ac_exec_ext in '' $ac_executable_extensions; do
+! if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+! ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+! $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+! break 2
+! fi
+! done
+! done
+! IFS=$as_save_IFS
+!
+! ;;
+! esac
+! fi
+! ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+! if test -n "$ac_pt_PKG_CONFIG"; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+! $as_echo "$ac_pt_PKG_CONFIG" >&6; }
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }
+! fi
+!
+! if test "x$ac_pt_PKG_CONFIG" = x; then
+! PKG_CONFIG=""
+! else
+! case $cross_compiling:$ac_tool_warned in
+! yes:)
+! { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+! $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+! ac_tool_warned=yes ;;
+! esac
+! PKG_CONFIG=$ac_pt_PKG_CONFIG
+! fi
+! else
+! PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+! fi
+!
+! fi
+! if test -n "$PKG_CONFIG"; then
+! _pkg_min_version=0.9.0
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+! $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+! if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+! $as_echo "yes" >&6; }
+! else
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+! $as_echo "no" >&6; }
+! PKG_CONFIG=""
+! fi
+!
+! fi
+!
+! pkg_failed=no
+! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZZIP" >&5
+! $as_echo_n "checking for ZZIP... " >&6; }
+!
+! if test -n "$PKG_CONFIG"; then
+! if test -n "$ZZIP_CFLAGS"; then
+! pkg_cv_ZZIP_CFLAGS="$ZZIP_CFLAGS"
+! else
+! if test -n "$PKG_CONFIG" && \
+! { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zziplib >= 0.10.75\""; } >&5
+! ($PKG_CONFIG --exists --print-errors "zziplib >= 0.10.75") 2>&5
+! ac_status=$?
+! $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+! test $ac_status = 0; }; then
+! pkg_cv_ZZIP_CFLAGS=`$PKG_CONFIG --cflags "zziplib >= 0.10.75" 2>/dev/null`
+! else
+! pkg_failed=yes
+! fi
+! fi
+! else
+! pkg_failed=untried
+! fi
+! if test -n "$PKG_CONFIG"; then
+! if test -n "$ZZIP_LIBS"; then
+! pkg_cv_ZZIP_LIBS="$ZZIP_LIBS"
+! else
+! if test -n "$PKG_CONFIG" && \
+! { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zziplib >= 0.10.75\""; } >&5
+! ($PKG_CONFIG --exists --print-errors "zziplib >= 0.10.75") 2>&5
+! ac_status=$?
+! $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+! test $ac_status = 0; }; then
+! pkg_cv_ZZIP_LIBS=`$PKG_CONFIG --libs "zziplib >= 0.10.75" 2>/dev/null`
+! else
+! pkg_failed=yes
+! fi
+! fi
+! else
+! pkg_failed=untried
+! fi
+!
+!
+!
+! if test $pkg_failed = yes; then
+!
+! if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+! _pkg_short_errors_supported=yes
+! else
+! _pkg_short_errors_supported=no
+! fi
+! if test $_pkg_short_errors_supported = yes; then
+! ZZIP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "zziplib >= 0.10.75"`
+! else
+! ZZIP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "zziplib >= 0.10.75"`
+! fi
+! # Put the nasty error message in config.log where it belongs
+! echo "$ZZIP_PKG_ERRORS" >&5
+!
+! as_fn_error "Package requirements (zziplib >= 0.10.75) were not met:
+!
+! $ZZIP_PKG_ERRORS
+!
+! Consider adjusting the PKG_CONFIG_PATH environment variable if you
+! installed software in a non-standard prefix.
+!
+! Alternatively, you may set the environment variables ZZIP_CFLAGS
+! and ZZIP_LIBS to avoid the need to call pkg-config.
+! See the pkg-config man page for more details.
+! " "$LINENO" 5
+! elif test $pkg_failed = untried; then
+! { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+! $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+! as_fn_error "The pkg-config script could not be found or is too old. Make sure it
+! is in your PATH or set the PKG_CONFIG environment variable to the full
+! path to pkg-config.
+!
+! Alternatively, you may set the environment variables ZZIP_CFLAGS
+! and ZZIP_LIBS to avoid the need to call pkg-config.
+! See the pkg-config man page for more details.
+!
+! To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+! See \`config.log' for more details." "$LINENO" 5; }
+! else
+! ZZIP_CFLAGS=$pkg_cv_ZZIP_CFLAGS
+! ZZIP_LIBS=$pkg_cv_ZZIP_LIBS
+! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+! $as_echo "yes" >&6; }
+! :
+! fi
+
+ SDL_VERSION=1.2.0
+
+--- 5304,5310 ----
+ fi
+
+ #AC_CHECK_LIB(zzip, zzip_file_open,,AC_MSG_ERROR("Cannot find -lzzip"))
+! #PKG_CHECK_MODULES([ZZIP],[zziplib >= 0.10.75])
+
+ SDL_VERSION=1.2.0
+
diff --git a/community/milkytracker/milkytracker.desktop b/community/milkytracker/milkytracker.desktop
new file mode 100644
index 000000000..0309121cc
--- /dev/null
+++ b/community/milkytracker/milkytracker.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=MilkyTracker
+Type=Application
+Comment=FastTracker 2 inspired music tracker
+Exec=milkytracker
+TryExec=milkytracker
+Icon=milkytracker.png
+Categories=AudioVideo;Audio;AudioVideoEditing;