changeset 6059:101ada7ce0a8

sdl2: add additional sdl2 modules (sdl2_image, sdl2_mixer, sdl2_net, sdl2_ttf) * src/sdl2_image.mk, src/sdl2_mixer.mk, src/sdl2_net.mk, src/sdl2_ttf.mk: new files * src/libwebp.mk, src/mpg123.mk, src/opusfile.mk: new files * index.html: add ref to new targets * dist-files.mk: add ref to new files
author John Donoghue <john.donoghue@ieee.org>
date Tue, 18 Jan 2022 08:59:19 -0500
parents ceb5e2b51ccc
children 67e194e29755
files dist-files.mk index.html src/libwebp.mk src/mpg123.mk src/opusfile.mk src/sdl2_image.mk src/sdl2_mixer.mk src/sdl2_net.mk src/sdl2_ttf.mk
diffstat 9 files changed, 267 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Tue Jan 18 08:50:25 2022 -0500
+++ b/dist-files.mk	Tue Jan 18 08:59:19 2022 -0500
@@ -361,6 +361,7 @@
   mman-win32.mk \
   mpc.mk \
   mpfr.mk \
+  mpg123.mk \
   msitools.mk \
   msvc-atk-1.patch \
   msvc-build-cmake-1.patch \
@@ -580,6 +581,7 @@
   openssl.mk \
   opkg-biosig.mk \
   opus.mk \
+  opusfile.mk \
   pango-1-fixes.patch \
   pango.mk \
   pangomm.mk \
@@ -668,6 +670,10 @@
   rtmidi.mk \
   s2tc.mk \
   sdl2.mk \
+  sdl2_image.mk \
+  sdl2_mixer.mk \
+  sdl2_net.mk \
+  sdl2_ttf.mk \
   sdl-1-xdata.patch \
   sdl-test.c \
   sdl.mk \
--- a/index.html	Tue Jan 18 08:50:25 2022 -0500
+++ b/index.html	Tue Jan 18 08:59:19 2022 -0500
@@ -1742,6 +1742,10 @@
         <td class="website"><a href="http://code.google.com/p/webm/">vpx</a></td>
     </tr>
     <tr>
+        <td class="package">libwebp</td>
+        <td class="website"><a href="https://developers.google.com/speed/webp/">libwebp</a></td>
+    </tr>
+    <tr>
         <td class="package">libxml++</td>
         <td class="website"><a href="http://libxmlplusplus.sourceforge.net/">libxml2</a></td>
     </tr>
@@ -1802,6 +1806,10 @@
         <td class="website"><a href="http://www.mpfr.org/">mpfr</a></td>
     </tr>
     <tr>
+        <td class="package">mpg123</td>
+        <td class="website"><a href="https://www.mpg123.de/">mpg123</a></td>
+    </tr>
+    <tr>
         <td class="package">msitools</td>
         <td class="website"><a href="https://wiki.gnome.org/msitools">msitools</a></td>
     </tr>
@@ -2502,6 +2510,10 @@
         <td class="website"><a href="https://opus-codec.org/">opus</a></td>
     </tr>
     <tr>
+        <td class="package">opusfile</td>
+        <td class="website"><a href="https://opus-codec.org/">opusfile</a></td>
+    </tr>
+    <tr>
         <td class="package">mesa</td>
         <td class="website"><a href="http://www.mesa3d.org/osmesa.html">Mesa</a></td>
     </tr>
@@ -2726,6 +2738,22 @@
         <td class="website"><a href="http://www.libsdl.org/">SDL2</a></td>
     </tr>
     <tr>
+        <td class="package">sdl2_image</td>
+        <td class="website"><a href="http://www.libsdl.org/projects/SDL_image/">SDL2_image</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl2_net</td>
+        <td class="website"><a href="http://www.libsdl.org/projects/SDL_net/">SDL2_net</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl2_mixer</td>
+        <td class="website"><a href="http://www.libsdl.org/projects/SDL_mixer/">SDL2_mixer</a></td>
+    </tr>
+    <tr>
+        <td class="package">sdl2_ttf</td>
+        <td class="website"><a href="http://www.libsdl.org/projects/SDL_ttf/">SDL2_ttf</a></td>
+    </tr>
+    <tr>
         <td class="package">sm</td>
         <td class="website"><a href="http://xorg.freedesktop.org/">sm</a></td>
     </tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libwebp.mk	Tue Jan 18 08:59:19 2022 -0500
@@ -0,0 +1,27 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := libwebp
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.2.1
+$(PKG)_CHECKSUM := 9bbc3cb6f90dccafbd3e39325c28f24ac3f6e041
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://storage.googleapis.com/downloads.webmproject.org/releases/webp/$($(PKG)_FILE)
+$(PKG)_DEPS     :=
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://developers.google.com/speed/webp/download' | \
+    $(SED) -n 's,.*<a href="//storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-\([0-9][^"]*\)\.tar.gz">Download</a> |,\1,p' | \
+    $(SORT) -V | \
+    tail -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+	--enable-everything
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man=MANS=
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mpg123.mk	Tue Jan 18 08:59:19 2022 -0500
@@ -0,0 +1,36 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := mpg123
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.29.3
+$(PKG)_CHECKSUM := ad4e03830d3fc960cbf87641caff4042cc62cea4
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL      := https://$(SOURCEFORGE_MIRROR)/project/mpg123/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS     := sdl2 
+
+$(PKG)_CONFIGURE_OPTIONS :=
+ifeq ($(MXE_WINDOWS_BUILD),yes)
+    $(PKG)_CONFIGURE_OPTIONS += \
+        --with-default-audio=win32 \
+        --with-audio=win32,sdl,dummy \
+        --enable-modules=no
+endif
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://sourceforge.net/projects/mpg123/files/mpg123/' | \
+    $(SED) -n 's,.*/projects/.*/\([0-9][^"]*\)/".*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+	$($(PKG)_CONFIGURE_OPTIONS)
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/opusfile.mk	Tue Jan 18 08:59:19 2022 -0500
@@ -0,0 +1,35 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+PKG             := opusfile
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 0.11
+$(PKG)_CHECKSUM := fc3bf2a73be16836a16d9e55ff1097de3835dce3
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://archive.mozilla.org/pub/opus/$($(PKG)_FILE)
+$(PKG)_DEPS     := ogg opus
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'https://archive.mozilla.org/pub/opus/?C=M;O=D' | \
+    $(SED) -n 's,.*opusfile-\([0-9][^>]*\)\.tar.*,\1,p' | \
+    grep -v 'alpha' | \
+    grep -v 'beta' | \
+    $(SORT) -Vr | \
+    head -1
+endef
+
+$(PKG)_EXTRA_CONFIGURE_OPTIONS :=
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
+        $($(PKG)_EXTRA_CONFIGURE_OPTIONS) \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+	--prefix='$(HOST_PREFIX)' \
+	--disable-doc \
+	--disable-http \
+	&& $(CONFIGURE_POST_HOOK)
+    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS)
+    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sdl2_image.mk	Tue Jan 18 08:59:19 2022 -0500
@@ -0,0 +1,32 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := sdl2_image
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.5
+$(PKG)_CHECKSUM := c0aed07994f670a3758f6b8b93d9034a58df5781
+$(PKG)_SUBDIR   := SDL2_image-$($(PKG)_VERSION)
+$(PKG)_FILE     := SDL2_image-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://www.libsdl.org/projects/SDL_image/release/$($(PKG)_FILE)
+$(PKG)_DEPS     := sdl2 jpeg libpng libwebp tiff
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://hg.libsdl.org/SDL_image/tags' | \
+    $(SED) -n 's,.*release-\([0-9][^<"]*\).*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    $(SED) -i 's,^\(Requires:.*\),\1\nRequires.private: libtiff-4 libpng libwebp,' '$(1)/SDL2_image.pc.in'
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --with-sdl-prefix='$(HOST_PREFIX)' \
+        --disable-sdltest \
+        --disable-jpg-shared \
+        --disable-png-shared \
+        --disable-tif-shared \
+        --disable-webp-shared
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sdl2_mixer.mk	Tue Jan 18 08:59:19 2022 -0500
@@ -0,0 +1,46 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := sdl2_mixer
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.4
+$(PKG)_CHECKSUM := 242a63b1c7f38e358e94b1e0dc5120a6c1f3763b
+$(PKG)_SUBDIR   := SDL2_mixer-$($(PKG)_VERSION)
+$(PKG)_FILE     := SDL2_mixer-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://www.libsdl.org/projects/SDL_mixer/release/$($(PKG)_FILE)
+$(PKG)_DEPS     := sdl2 mpg123 ogg opusfile vorbis
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://hg.libsdl.org/SDL_mixer/tags' | \
+    $(SED) -n 's,.*release-\([0-9][^<"]*\).*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    $(SED) -i 's,^\(Requires:.*\),\1 opusfile vorbisfile,' '$(1)/SDL2_mixer.pc.in'
+    echo \
+        'Libs.private:' \
+        "`$(TARGET)-pkg-config libmodplug libmpg123 --libs`" \
+        "`$(PREFIX)/$(TARGET)/bin/smpeg2-config --libs`" \
+        >> '$(1)/SDL2_mixer.pc.in'
+    $(SED) -i 's,for path in /usr/local; do,for path in; do,' '$(1)/configure'
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --with-sdl-prefix='$(HOST_PREFIX)' \
+        --disable-sdltest \
+        --disable-music-mod \
+        --enable-music-mod-modplug \
+        --enable-music-ogg \
+        --disable-music-ogg-shared \
+        --disable-music-flac \
+        --disable-music-flac-shared \
+        --enable-music-mp3 \
+        --disable-smpegtest \
+        SMPEG_CONFIG='$(HOST_BINDIR)/smpeg2-config' \
+        WINDRES='$(TARGET)-windres' \
+        LIBS="`$(TARGET)-pkg-config libmodplug libmpg123 opusfile vorbisfile --libs-only-l`"
+
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sdl2_net.mk	Tue Jan 18 08:59:19 2022 -0500
@@ -0,0 +1,28 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := sdl2_net
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.1
+$(PKG)_CHECKSUM := 99c17ee2ecf32c8a136163bbaa8f018f7a3e31e9
+$(PKG)_SUBDIR   := SDL2_net-$($(PKG)_VERSION)
+$(PKG)_FILE     := SDL2_net-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://www.libsdl.org/projects/SDL_net/release/$($(PKG)_FILE)
+$(PKG)_DEPS     := sdl2
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://hg.libsdl.org/SDL_net/tags' | \
+    $(SED) -n 's,.*release-\([0-9][^<"]*\).*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --with-sdl-prefix='$(HOST_PREFIX)' \
+        --disable-sdltest \
+        --disable-gui
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
+endef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/sdl2_ttf.mk	Tue Jan 18 08:59:19 2022 -0500
@@ -0,0 +1,29 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG             := sdl2_ttf
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 2.0.15
+$(PKG)_CHECKSUM := 1453c5f72f986024c5271c76d74cc232aa57dd79
+$(PKG)_SUBDIR   := SDL2_ttf-$($(PKG)_VERSION)
+$(PKG)_FILE     := SDL2_ttf-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL      := https://www.libsdl.org/projects/SDL_ttf/release/$($(PKG)_FILE)
+$(PKG)_DEPS     := sdl2 freetype
+
+define $(PKG)_UPDATE
+    $(WGET) -q -O- 'http://hg.libsdl.org/SDL_ttf/tags' | \
+    $(SED) -n 's,.*release-\([0-9][^<"]*\).*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    echo 'Requires.private: freetype2' >> '$(1)/SDL2_ttf.pc.in'
+    cd '$(1)' && ./configure \
+        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+        $(ENABLE_SHARED_OR_STATIC) \
+        --prefix='$(HOST_PREFIX)' \
+        --with-sdl-prefix='$(HOST_PREFIX)' \
+        --disable-sdltest \
+        --with-freetype-prefix='$(PREFIX)/$(TARGET)'
+    $(MAKE) -C '$(1)' -j '$(JOBS)' install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
+endef