diff --git a/cross/gpac/Makefile b/cross/gpac/Makefile new file mode 100644 index 00000000000..24388d273f0 --- /dev/null +++ b/cross/gpac/Makefile @@ -0,0 +1,28 @@ +PKG_NAME = gpac +PKG_VERS = 2.2.1 +PKG_REV = 1 +PKG_EXT = tar.gz +PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://github.com/gpac/gpac/archive +PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +HOMEPAGE = https://gpac.io +COMMENT = Home of MP4Box. +LICENSE = LGPLv2 + +# incompatible toolchain +UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) $(ARMv7L_ARCHS) + +DEPENDS = cross/zlib + +CONFIGURE_ARGS = --enable-pic +CONFIGURE_ARGS += --extra-cflags="-Wno-pointer-sign" + +PRE_COMPILE_TARGET = gpac_precompile + +include ../../mk/spksrc.cross-cc.mk + +.PHONY: gpac_precompile +gpac_precompile: + @echo "#define GPAC_GIT_REVISION \"$(PKG_REV) (SynoCommunity)\"" > $(WORK_DIR)/$(PKG_DIR)/include/gpac/revision.h diff --git a/cross/gpac/PLIST b/cross/gpac/PLIST new file mode 100644 index 00000000000..9f7e17d4183 --- /dev/null +++ b/cross/gpac/PLIST @@ -0,0 +1,11 @@ +bin:bin/MP4Box +bin:bin/gpac +lib:lib/gpac/gm_validator.so +lnk:lib/libgpac.so +lnk:lib/libgpac.so.12 +lib:lib/libgpac.so.12.10.1 +lnk:lib/libz.so +lnk:lib/libz.so.1 +lib:lib/libz.so.1.2.13 +rsc:share/gpac/ +rsc:share/man/ diff --git a/cross/gpac/digests b/cross/gpac/digests new file mode 100644 index 00000000000..732164f24cb --- /dev/null +++ b/cross/gpac/digests @@ -0,0 +1,3 @@ +gpac-2.2.1.tar.gz SHA1 ad7189be7ee0540ab8187a982ea39a4266c0950d +gpac-2.2.1.tar.gz SHA256 8173ecc4143631d7f2c59f77e1144b429ccadb8de0d53a4e254389fb5948d8b8 +gpac-2.2.1.tar.gz MD5 a1a4a6c7f1525431b211b5ba47253ed0 diff --git a/cross/gpac/patches/001-configure.patch b/cross/gpac/patches/001-configure.patch new file mode 100644 index 00000000000..77e7c6ea8cb --- /dev/null +++ b/cross/gpac/patches/001-configure.patch @@ -0,0 +1,22 @@ +--- configure ++++ configure +@@ -48,13 +48,13 @@ if test "$cxx_orig" = "" ; then + cxx_orig="g++" + fi + +-ar="ar" +-ranlib="ranlib" +-make="make" +-strip="strip" ++ar="${AR:=ar}" ++ranlib="${RANLIB:=ranlib}" ++make="${MAKE:=make}" ++strip="${STRIP:=strip}" + pkg_config="pkg-config" +-windres="windres" +-readelf="readelf" ++windres="${WINDRES:=windres}" ++readelf="${READELF:=readelf}" + install="${INSTALL:=install}" + instflags="${INSTFLAGS:=-p}" + cpu=`uname -m` diff --git a/cross/gpac/patches/002-quickjs.patch b/cross/gpac/patches/002-quickjs.patch new file mode 100644 index 00000000000..70a4ab12791 --- /dev/null +++ b/cross/gpac/patches/002-quickjs.patch @@ -0,0 +1,11 @@ +--- src/quickjs/quickjs.c ++++ src/quickjs/quickjs.c +@@ -73,7 +73,7 @@ + + /* define to include Atomics.* operations which depend on the OS + threads */ +-#if !defined(EMSCRIPTEN) && !defined(_MSC_VER) && !defined(GPAC_CONFIG_ANDROID) && !defined(__MINGW32__) && !defined(__CYGWIN__) ++#if !defined(EMSCRIPTEN) && !defined(_MSC_VER) && !defined(GPAC_CONFIG_ANDROID) && !defined(GPAC_NO_STDATOMIC) && !defined(__MINGW32__) && !defined(__CYGWIN__) + #define CONFIG_ATOMICS + #endif + diff --git a/spk/gpac/Makefile b/spk/gpac/Makefile new file mode 100644 index 00000000000..e81a8bc62a2 --- /dev/null +++ b/spk/gpac/Makefile @@ -0,0 +1,19 @@ +SPK_NAME = gpac +SPK_VERS = 2.2.1 +SPK_REV = 1 + +SPK_ICON = src/gpac.png + +DEPENDS = cross/$(SPK_NAME) + +MAINTAINER = wmanth +DISPLAY_NAME = GPAC +DESCRIPTION = GPAC is an open-source software dedicated to rich-media and broadcast technologies. It features the MP4 reference muxer MP4Box. +STARTABLE = no + +HOMEPAGE = https://gpac.io +LICENSE = LGPLv2 + +SPK_COMMANDS = bin/gpac bin/MP4Box + +include ../../mk/spksrc.spk.mk diff --git a/spk/gpac/src/gpac.png b/spk/gpac/src/gpac.png new file mode 100644 index 00000000000..63cff15869c Binary files /dev/null and b/spk/gpac/src/gpac.png differ