Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
043d15c
stop forcing static linking to libgcc
s09bQ5 May 16, 2026
997bbf8
nasm: update 2.14.02 -> 2.16.03
mabrand Apr 25, 2025
695f110
libpng: update 1.6.43 -> 1.6.44
mabrand Sep 14, 2024
376f102
libpng: update 1.6.44 -> 1.6.45
mabrand Jan 11, 2025
8249c21
libpng: update 1.6.45 -> 1.6.46
mabrand Jan 25, 2025
89d2934
libpng: update 1.6.46 -> 1.6.47
mabrand Feb 28, 2025
259c60a
libpng: update 1.6.47 -> 1.6.48
mabrand May 1, 2025
663132f
libpng: update 1.6.48 -> 1.6.49
mabrand Jun 14, 2025
2c49c6c
libpng: update 1.6.49 -> 1.6.50
mabrand Jul 3, 2025
c58b8e2
libpng: update 1.6.50 -> 1.6.51
mabrand Nov 25, 2025
7c87925
libpng: update 1.6.51 -> 1.6.52
mabrand Dec 5, 2025
1758760
libpng: update 1.6.52 -> 1.6.53
mabrand Dec 11, 2025
d1aad58
libpng: update 1.6.53 -> 1.6.54
mabrand Jan 15, 2026
fbadfd1
libpng: update 1.6.54 -> 1.6.55
mabrand Feb 13, 2026
60a51c9
libpng: update 1.6.55 -> 1.6.56
mabrand Mar 25, 2026
ad5afbc
libpng: update 1.6.56 -> 1.6.57
mabrand Apr 9, 2026
aa816b3
libpng: update 1.6.57 -> 1.6.58
mabrand Apr 19, 2026
912861e
libwebp: update 1.4.0 -> 1.5.0
mabrand Dec 22, 2024
f85626a
libwebp: update 1.5.0 -> 1.6.0
mabrand Aug 4, 2025
2744dab
tiff: update 4.6.0 -> 4.7.0
mabrand Sep 18, 2024
1ed1dc8
Update download location.
kalibera Mar 12, 2025
db5fb5c
tiff: update 4.7.0 -> 4.7.1
mabrand Sep 18, 2025
e12f256
sqlite: update 3460100 -> 3470000
mabrand Oct 22, 2024
c861d0a
sqlite: update 3470000 -> 3470100
mabrand Nov 26, 2024
7912b5a
sqlite: update 3470100 -> 3470200
mabrand Dec 9, 2024
1ebdc2e
sqlite: update 3470200 -> 3480000
mabrand Jan 14, 2025
e97c5cf
sqlite: update 3480000 -> 3490000
mabrand Feb 6, 2025
75f4a8d
sqlite: update 3490000 -> 3490100
mabrand Feb 18, 2025
b5d25ca
sqlite: fix missing import library for shared build
mabrand Feb 22, 2025
c0b13f2
sqlite: fix dll location
mabrand Apr 11, 2025
d7ca039
sqlite: update 3490100 -> 3490200
mabrand May 8, 2025
92292ff
sqlite: update 3490200 -> 3500000
mabrand May 29, 2025
c62632c
sqlite: update 3500000 -> 3500100
mabrand Jun 6, 2025
cfdcf47
sqlite: update 3500100 -> 3500200
mabrand Jun 28, 2025
e0bd2d7
sqlite: update 3500200 -> 3500300
mabrand Jul 17, 2025
f431aa8
sqlite: update 3500300 -> 3500400
mabrand Aug 4, 2025
84c7e9b
sqlite: update 3500400 -> 3510000
mabrand Nov 4, 2025
a1f3eda
sqlite: update checksum
mabrand Nov 10, 2025
092081e
sqlite: update 3510000 -> 3510100
mabrand Nov 29, 2025
a02c104
sqlite: update 3510100 -> 3510200
mabrand Jan 15, 2026
51a07c9
sqlite: update 3510200 -> 3520000
mabrand Mar 7, 2026
c716f05
sqlite: build out-of-tree and allow parallelism
mabrand Mar 7, 2026
98d4ce5
sqlite: update 3520000 -> 3510300
mabrand Mar 13, 2026
f6768c4
sqlite: update 3510300 -> 3530000
mabrand Apr 9, 2026
2f1acd8
sqlite: update 3530000 -> 3530100
mabrand May 5, 2026
3e4892c
sdl2: update to 2.32.10
s09bQ5 May 16, 2026
e25ead1
sdl2_image: update to 2.8.12
s09bQ5 May 16, 2026
5f0a5ad
lua: update to 5.4.8
s09bQ5 May 16, 2026
15f24a4
dav1d: update to 1.5.3
s09bQ5 May 16, 2026
9a4b24f
ffmpeg: update to 8.1.1
s09bQ5 May 16, 2026
adb02aa
opencv: update to 4.13.0
s09bQ5 May 16, 2026
873a221
create config for USDX
s09bQ5 May 17, 2026
75b37f7
build.sh: no need to rename the lua dll
s09bQ5 May 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ add_dll() {
fi
)
}
for i in avcodec-61 avformat-61 avutil-59 swresample-5 swscale-8 libdav1d libjpeg-8 libpng16-16 libtiff-6 libwebp-7 SDL2 SDL2_image zlib1 lua54:lua libsqlite3-0:sqlite3 libfreetype-6 libportaudio-2:$PORTAUDIO_NAME libbz2 libdl libgcc_s_seh-1 libstdc++-6 libwinpthread-1; do
for i in avcodec-62 avformat-62 avutil-60 swresample-6 swscale-9 libdav1d libjpeg-8 libpng16-16 libtiff-6 libwebp-7 libsharpyuv-0 SDL2 SDL2_image zlib1 lua54 libsqlite3-0:sqlite3 libfreetype-6 libportaudio-2:$PORTAUDIO_NAME libbz2 libdl libgcc_s_seh-1 libstdc++-6 libwinpthread-1; do
j=${i##*:}
i=${i%%:*}
DLL_PATH="$MXE/usr/$TARGET/bin/$i.dll"
Expand All @@ -70,3 +70,5 @@ for dll in "$MXE/usr/$TARGET/bin"/opencv_*.dll "$MXE/usr/$TARGET/bin"/libopencv_
base=$(basename "$dll" .dll)
add_dll "$dll" "$base"
done

$MXE/makeconfig.sh $MXE $TARGET > $DLL_DIR/config-win.inc
205 changes: 205 additions & 0 deletions makeconfig.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
#!/bin/bash
MXE=${1:-.}
TARGET=${2:-x86_64-w64-mingw32.shared}
CC=$MXE/usr/bin/$TARGET-gcc
NM=$MXE/usr/bin/$TARGET-nm
OBJCOPY=$MXE/usr/bin/$TARGET-objcopy
DLLTOOL=$MXE/usr/bin/$TARGET-dlltool
PKGCONFIG=$MXE/usr/bin/$TARGET-pkg-config

get_dll()
{
symbol="$1"
shift
for lib ; do
for implib in $lib.dll.a $lib.a ; do
for dir in $MXE/usr/lib/gcc/$TARGET/*/ $MXE/usr/$TARGET/lib/ ; do
if [ -e $dir/$implib ] ; then
if $NM -C -g --defined-only $dir/$implib | grep -q " $symbol$" ; then
if $DLLTOOL --identify-strict -I $dir/$implib ; then
return
fi
fi
fi
done
done
done
}

pkg_libs()
{
set -- `$PKGCONFIG --libs "$@"`
for arg ; do
case "$arg" in
-l*) echo lib${arg#-l}
esac
done
}

pkg_version()
{
ver=`$PKGCONFIG --modversion $1`
eval "$2=$ver"
ver=$ver.0.0
i=0
for part in MAJOR MINOR RELEASE ; do
v=${ver%%.*}
ver=${ver#*.}
i=$((i*1000+v))
eval "${2}_$part=$v"
done
eval "${2}_INT=$i"
}

get_c_bool()
{
exp="$1"
shift
file=/tmp/conftest-$$.c
while [ $# -gt 0 ] ; do
if [ "$1" == -- ] ; then
shift
break;
fi
echo "$1"
shift
done > $file
echo "struct x {unsigned a:($exp)?1:-1;};" >> $file
$CC "$@" -S -o - $file >/dev/null 2>/dev/null
ret=$?
rm -f $file
return $ret
}

get_c_uinteger()
{
num="$1"
shift
cur=0
bit=1
while get_c_bool "($num) > ${cur}UL" "$@"; do
while ! get_c_bool "($num) & ${bit}UL" "$@"; do
bit=$((bit*2))
done
cur=$((cur+bit))
bit=$((bit*2))
done
echo $cur
}

LUA_LIB_NAME=$(get_dll luaL_newstate $(pkg_libs lua))
pkg_version lua LUA_VERSION

av__codec=$(get_dll avcodec_version $(pkg_libs libavcodec))
pkg_version libavcodec LIBAVCODEC_VERSION

av__format=$(get_dll avformat_version $(pkg_libs libavformat))
pkg_version libavformat LIBAVFORMAT_VERSION

av__util=$(get_dll avutil_version $(pkg_libs libavutil))
pkg_version libavutil LIBAVUTIL_VERSION

sw__resample=$(get_dll swr_convert $(pkg_libs libswresample))
pkg_version libswresample LIBSWRESAMPLE_VERSION

sw__scale=$(get_dll sws_scale $(pkg_libs libswscale))
pkg_version libswscale LIBSWSCALE_VERSION

pkg_version libprojectM PROJECTM_VERSION
pkg_version portaudio-2.0 PORTAUDIO_VERSION

# Works for all FFmpeg version supported by current USDX
FFMPEG_DIR="ffmpeg-$(($LIBAVUTIL_VERSION_MAJOR-52)).0"

LUA_INTEGER_BYTES=$(get_c_uinteger "sizeof(lua_Integer)" "#include <lua.h>" -- $($PKGCONFIG --cflags lua))
LUA_INTEGER_BITS=$(($LUA_INTEGER_BYTES*8))

cat <<EOF
{*****************************************************************
* Configuration file for UltraStar Deluxe
*****************************************************************}

{* Libraries *}

{\$IF Defined(IncludeConstants)}
LUA_LIB_NAME = '${LUA_LIB_NAME}';
LUA_VERSION_INT = ${LUA_VERSION_INT};
LUA_VERSION_RELEASE = '${LUA_VERSION_RELEASE}';
LUA_VERSION_MINOR = '${LUA_VERSION_MINOR}';
LUA_VERSION_MAJOR = '${LUA_VERSION_MAJOR}';
LUA_VERSION = '${LUA_VERSION}';
LUA_INTEGER_BITS = ${LUA_INTEGER_BITS};
{\$IFEND}

{\$DEFINE HaveFFmpeg}
//the required DLLs can be built with MXE
{\$IF Defined(HaveFFmpeg)}
{\$MACRO ON}
{\$IFNDEF FFMPEG_DIR}
{\$DEFINE FFMPEG_DIR := '${FFMPEG_DIR}'}
{\$ENDIF}
{\$IF Defined(IncludeConstants)}
av__codec = '${av__codec}';
LIBAVCODEC_VERSION_MAJOR = ${LIBAVCODEC_VERSION_MAJOR};
LIBAVCODEC_VERSION_MINOR = ${LIBAVCODEC_VERSION_MINOR};
LIBAVCODEC_VERSION_RELEASE = ${LIBAVCODEC_VERSION_RELEASE};

av__format = '${av__format}';
LIBAVFORMAT_VERSION_MAJOR = ${LIBAVFORMAT_VERSION_MAJOR};
LIBAVFORMAT_VERSION_MINOR = ${LIBAVFORMAT_VERSION_MINOR};
LIBAVFORMAT_VERSION_RELEASE = ${LIBAVFORMAT_VERSION_RELEASE};

av__util = '${av__util}';
LIBAVUTIL_VERSION_MAJOR = ${LIBAVUTIL_VERSION_MAJOR};
LIBAVUTIL_VERSION_MINOR = ${LIBAVUTIL_VERSION_MINOR};
LIBAVUTIL_VERSION_RELEASE = ${LIBAVUTIL_VERSION_RELEASE};
{\$IFEND}
{\$IFEND}

{\$DEFINE HaveSWResample}
{\$IF Defined(HaveSWScale) and Defined(IncludeConstants)}
sw__resample = '${sw__resample}';
LIBSWRESAMPLE_VERSION_MAJOR = ${LIBSWRESAMPLE_VERSION_MAJOR};
LIBSWRESAMPLE_VERSION_MINOR = ${LIBSWRESAMPLE_VERSION_MINOR};
LIBSWRESAMPLE_VERSION_RELEASE = ${LIBSWRESAMPLE_VERSION_RELEASE};
{\$IFEND}

{\$DEFINE HaveSWScale}
{\$IF Defined(HaveSWScale) and Defined(IncludeConstants)}
sw__scale = '${sw__scale}';
LIBSWSCALE_VERSION_MAJOR = ${LIBSWSCALE_VERSION_MAJOR};
LIBSWSCALE_VERSION_MINOR = ${LIBSWSCALE_VERSION_MINOR};
LIBSWSCALE_VERSION_RELEASE = ${LIBSWSCALE_VERSION_RELEASE};
{\$IFEND}

{\$DEFINE HaveProjectM}
{\$IF Defined(HaveProjectM) and Defined(IncludeConstants)}
ProjectM_DataDir = 'visuals\projectM';
PROJECTM_VERSION_MAJOR = ${PROJECTM_VERSION_MAJOR};
PROJECTM_VERSION_MINOR = ${PROJECTM_VERSION_MINOR};
PROJECTM_VERSION_RELEASE = ${PROJECTM_VERSION_RELEASE};
{\$IFEND}

{\$UNDEF HavePortaudio}
{\$IF Defined(HavePortaudio) and Defined(IncludeConstants)}
PORTAUDIO_VERSION_MAJOR = ${PORTAUDIO_VERSION_MAJOR};
PORTAUDIO_VERSION_MINOR = ${PORTAUDIO_VERSION_MINOR};
PORTAUDIO_VERSION_RELEASE = ${PORTAUDIO_VERSION_RELEASE};
{\$IFEND}

{\$UNDEF HavePortmixer}

{\$DEFINE UsePortMidi}
{\$IF Defined(UsePortMidi)}
{\$DEFINE UseMIDIPort}
{\$IFEND}
{\$IF Defined(UseMidiEmu)}
{\$DEFINE UseMidiEmu}
{\$DEFINE UseMIDIPort}
// Avoid platform MIDI backends with system synths if built-in MIDI emulation is enabled
{\$UNDEF UsePortMidi}
{\$UNDEF UsePortTime}
{\$IFEND}

{\$DEFINE UseOpenCVWrapper}
EOF
4 changes: 2 additions & 2 deletions src/dav1d-1-nodynamicbase.patch
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
diff --git a/meson.build b/meson.build
index 2e2974d..b6791fb 100644
index 2168b6a..0ebd0d7 100644
--- a/meson.build
+++ b/meson.build
@@ -109,13 +109,13 @@ if host_machine.system() == 'windows'
@@ -122,13 +122,13 @@ if host_machine.system() == 'windows'

if host_machine.cpu_family() == 'x86_64'
if cc.get_argument_syntax() != 'msvc'
Expand Down
4 changes: 2 additions & 2 deletions src/dav1d.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ PKG := dav1d
$(PKG)_WEBSITE := https://code.videolan.org/videolan/dav1d/
$(PKG)_DESCR := dav1d
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.4.3
$(PKG)_CHECKSUM := 42fe524bcc82ea3a830057178faace22923a79bad3d819a4962d8cfc54c36f19
$(PKG)_VERSION := 1.5.3
$(PKG)_CHECKSUM := 732010aa5ef461fa93355ed2c6c5fedb48ddc4b74e697eaabe8907eaeb943011
$(PKG)_SUBDIR := dav1d-$($(PKG)_VERSION)
$(PKG)_FILE := dav1d-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := http://ftp.videolan.org/pub/videolan/dav1d/$($(PKG)_VERSION)/$($(PKG)_FILE)
Expand Down
10 changes: 5 additions & 5 deletions src/ffmpeg-1-fixes.patch
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ Subject: [PATCH 2/2] avoid warning: cast from pointer to integer of different
when checking opus

diff --git a/configure b/configure
index 4f5353f84b..492b3c84a0 100755
index 1759694274..089a030112 100755
--- a/configure
+++ b/configure
@@ -1390,7 +1390,7 @@ check_func_headers(){
@@ -1479,7 +1479,7 @@ check_func_headers(){
done
echo "#include <stdint.h>"
for func in $funcs; do
Expand All @@ -23,15 +23,15 @@ index 4f5353f84b..492b3c84a0 100755
done
echo "int main(void) { int ret = 0;"
# LTO could optimize out the test functions without this
@@ -2359,7 +2359,6 @@ SYSTEM_FUNCS="
@@ -2503,7 +2503,6 @@ SYSTEM_FUNCS="
access
aligned_malloc
arc4random_buf
- clock_gettime
closesocket
CommandLineToArgvW
fcntl
@@ -2391,7 +2390,6 @@ SYSTEM_FUNCS="
elf_aux_info
@@ -2536,7 +2535,6 @@ SYSTEM_FUNCS="
mkstemp
mmap
mprotect
Expand Down
16 changes: 8 additions & 8 deletions src/ffmpeg-2-image-base.patch
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
diff --git a/configure b/configure
index 492b3c84a0..dfa7faf6dd 100755
index 089a030112..cbd03a94eb 100755
--- a/configure
+++ b/configure
@@ -5799,12 +5799,13 @@ case $target_os in
@@ -6162,12 +6162,13 @@ case $target_os in
SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
SLIB_INSTALL_EXTRA_LIB='lib$(SLIBNAME:$(SLIBSUF)=.dll.a) $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'
SLIB_CREATE_DEF_CMD='EXTERN_PREFIX="$(EXTERN_PREFIX)" AR="$(AR_CMD)" NM="$(NM_CMD)" $(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)'
Expand All @@ -19,7 +19,7 @@ index 492b3c84a0..dfa7faf6dd 100755
# ld will strip relocations from executables even though we need them
# for dynamicbase (ASLR). Using -pie does retain the reloc section
diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile
index 21c5e9b0d4..6c3a508150 100644
index bf723ed1a6..5adc627056 100644
--- a/libavcodec/x86/Makefile
+++ b/libavcodec/x86/Makefile
@@ -1,3 +1,6 @@
Expand All @@ -30,19 +30,19 @@ index 21c5e9b0d4..6c3a508150 100644

# subsystems
diff --git a/libswresample/x86/Makefile b/libswresample/x86/Makefile
index fa0641f03f..e354bc491a 100644
index c0655bb8a8..5ee470ba16 100644
--- a/libswresample/x86/Makefile
+++ b/libswresample/x86/Makefile
@@ -1,3 +1,7 @@
+ifeq ($(ARCH_X86_32),yes)
+IMAGEBASE_swresample = 0x6E000000
+endif
+
X86ASM-OBJS += x86/audio_convert.o\
x86/rematrix.o\
x86/resample.o\
X86ASM-OBJS += x86/audio_convert.o \
x86/audio_convert_init.o \
x86/rematrix.o \
diff --git a/libswscale/x86/Makefile b/libswscale/x86/Makefile
index 68391494be..f2ba7b53fc 100644
index 9c9d286600..574dcbac58 100644
--- a/libswscale/x86/Makefile
+++ b/libswscale/x86/Makefile
@@ -1,3 +1,7 @@
Expand Down
11 changes: 5 additions & 6 deletions src/ffmpeg.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
PKG := ffmpeg
$(PKG)_WEBSITE := https://ffmpeg.org/
$(PKG)_IGNORE :=
$(PKG)_VERSION := 7.0.2
$(PKG)_CHECKSUM := 8646515b638a3ad303e23af6a3587734447cb8fc0a0c064ecdb8e95c4fd8b389
$(PKG)_VERSION := 8.1.1
$(PKG)_CHECKSUM := b6863adde98898f42602017462871b5f6333e65aec803fdd7a6308639c52edf3
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := https://ffmpeg.org/releases/$($(PKG)_FILE)
$(PKG)_DEPS := cc dav1d yasm zlib
$(PKG)_DEPS := cc dav1d $(BUILD)~nasm zlib

# DO NOT ADD fdk-aac OR openssl SUPPORT.
# Although they are free softwares, their licenses are not compatible with
Expand All @@ -33,7 +33,7 @@ define $(PKG)_BUILD
$(if $(BUILD_STATIC), \
--enable-static --disable-shared , \
--disable-static --enable-shared ) \
--x86asmexe='$(TARGET)-yasm' \
--x86asmexe=nasm \
--enable-debug \
--disable-stripping \
--disable-pthreads \
Expand All @@ -54,14 +54,13 @@ define $(PKG)_BUILD
--disable-network \
--disable-indevs \
--disable-outdevs \
--disable-postproc \
--disable-muxers \
--disable-bsfs \
--disable-filters \
--disable-protocols \
--disable-lzma \
--disable-bzlib \
--extra-ldflags="-fstack-protector -static-libgcc" \
--extra-ldflags="-fstack-protector" \
$($(PKG)_CONFIGURE_OPTS)
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
$(MAKE) -C '$(BUILD_DIR)' -j 1 install
Expand Down
24 changes: 0 additions & 24 deletions src/freetype-bootstrap-1-libgcc.patch

This file was deleted.

12 changes: 0 additions & 12 deletions src/libjpeg-turbo-4-libgcc.patch

This file was deleted.

Loading
Loading