diff --git a/.github/actions/prepare.sh b/.github/actions/prepare.sh index 8e940a041f8..141b8bce861 100755 --- a/.github/actions/prepare.sh +++ b/.github/actions/prepare.sh @@ -28,13 +28,7 @@ DEPENDENT_PACKAGES=$(echo "${GH_FILES}" | tr ' ' '\n' | grep -oP "(cross|native) # get dependency list # dependencies in this list include the cross or native folder (i.e. native/python cross/glib) echo "Building dependency list..." -DEPENDENCY_LIST= -for package in $(find spk/ -maxdepth 1 -type d | cut -c 5- | sort) -do - if [ ! -f "./spk/${package}/BROKEN" ]; then - DEPENDENCY_LIST+=$(DEPENDENCY_WALK=1 make -s -C spk/${package} dependency-list 2> /dev/null)$'\n' - fi -done +DEPENDENCY_LIST=$(make dependency-list 2> /dev/null) # search for dependent spk packages for package in ${DEPENDENT_PACKAGES} diff --git a/Makefile b/Makefile index e133440960b..327562b2e7e 100644 --- a/Makefile +++ b/Makefile @@ -79,12 +79,9 @@ dependency-tree: done # build dependency list for all packages -# - exclude broken packages +# - broken packages are excluded dependency-list: - @for spk in $(filter-out $(dir $(wildcard spk/*/BROKEN)),$(dir $(wildcard spk/*/Makefile))) ; \ - do \ - $(MAKE) -s -C $${spk} dependency-list ; \ - done + @mk/dependency-list.sh # define a template that instantiates a 'python3-avoton-6.1' -style target for # every ($2) arch, every ($1) spk diff --git a/cross/libicu/Makefile b/cross/libicu/Makefile index c7c1f11a2ea..fdf3b823939 100644 --- a/cross/libicu/Makefile +++ b/cross/libicu/Makefile @@ -5,7 +5,7 @@ PKG_DIST_NAME = icu4c-$(subst .,_,$(PKG_VERS))-src.$(PKG_EXT) PKG_DIST_SITE = https://github.com/unicode-org/icu/releases/download/release-$(subst .,-,$(PKG_VERS)) PKG_DIR = icu/source -BUILD_DEPENDS = native/$(PKG_NAME) +BUILD_DEPENDS = native/libicu HOMEPAGE = http://site.icu-project.org/home COMMENT = International Components for Unicode. diff --git a/cross/python2/Makefile b/cross/python2/Makefile index 49793ec2b79..9ed60905d3a 100644 --- a/cross/python2/Makefile +++ b/cross/python2/Makefile @@ -7,7 +7,7 @@ PKG_DIST_SITE = https://www.python.org/ftp/python/$(PKG_VERS) PKG_DIR = Python-$(PKG_VERS) DEPENDS = cross/zlib cross/openssl cross/sqlite cross/readline cross/ncursesw cross/bzip2 -DEPENDS += cross/berkeleydb-5.3 native/$(PKG_NAME) +DEPENDS += cross/berkeleydb-5.3 native/python2 HOMEPAGE = http://www.python.org COMMENT = Python Programming Language diff --git a/cross/python310/Makefile b/cross/python310/Makefile index ed197df55b5..fdfebe6207b 100644 --- a/cross/python310/Makefile +++ b/cross/python310/Makefile @@ -6,7 +6,7 @@ PKG_DIST_NAME = Python-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://www.python.org/ftp/python/$(PKG_VERS) PKG_DIR = Python-$(PKG_VERS) -BUILD_DEPENDS = native/$(PKG_NAME) +BUILD_DEPENDS = native/python310 DEPENDS = cross/zlib cross/sqlite cross/readline cross/ncursesw cross/bzip2 cross/xz # required for Sleepycat^WOracle Berkeley DB interface diff --git a/cross/python311/Makefile b/cross/python311/Makefile index 540bae4a5b2..629d92ff7ba 100644 --- a/cross/python311/Makefile +++ b/cross/python311/Makefile @@ -11,7 +11,7 @@ PKG_DIR = Python-$(PKG_VERS) # And compiler must support std=c++11 (OlD_PPC_ARCHS fail, but ARMv5_ARCHS have no issue). UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) -BUILD_DEPENDS = native/$(PKG_NAME) +BUILD_DEPENDS = native/python311 DEPENDS = cross/zlib cross/sqlite cross/readline cross/ncursesw cross/bzip2 cross/xz # required for Sleepycat^WOracle Berkeley DB interface diff --git a/cross/python38/Makefile b/cross/python38/Makefile index 9d3c47bfc3e..10017345787 100644 --- a/cross/python38/Makefile +++ b/cross/python38/Makefile @@ -6,7 +6,7 @@ PKG_DIST_NAME = Python-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://www.python.org/ftp/python/$(PKG_VERS) PKG_DIR = Python-$(PKG_VERS) -BUILD_DEPENDS = native/$(PKG_NAME) +BUILD_DEPENDS = native/python38 DEPENDS = cross/zlib cross/sqlite cross/readline cross/ncursesw cross/bzip2 cross/xz # required for uuid module diff --git a/cross/vim/Makefile b/cross/vim/Makefile index 7ead7ee477b..eb65266a92d 100644 --- a/cross/vim/Makefile +++ b/cross/vim/Makefile @@ -10,7 +10,7 @@ ifeq ($(strip $(PYTHON_PACKAGE)),) PYTHON_PACKAGE = python311 endif -OPTIONAL_DEPENDS = cross/$(PYTHON_PACKAGE) +OPTIONAL_DEPENDS = cross/python311 DEPENDS = cross/ncursesw HOMEPAGE = https://www.vim.org/ @@ -26,7 +26,7 @@ CONFIGURE_ARGS += vim_cv_getcwd_broken=yes vim_cv_stat_ignores_slash=yes vim_cv_ include ../../mk/spksrc.archs.mk ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(OLD_PPC_ARCHS)),$(ARCH)) -BUILD_DEPENDS = cross/$(PYTHON_PACKAGE) +BUILD_DEPENDS = cross/python311 CONFIGURE_ARGS += --enable-python3interp=dynamic --with-python3-command=$(HOSTPYTHON) CONFIGURE_ARGS += vi_cv_path_python3_conf=$(PYTHON_CFG_PATH) CONFIGURE_ARGS += vi_cv_path_python3_pfx=$(PYTHON_PREFIX) diff --git a/cross/znc/Makefile b/cross/znc/Makefile index 99da7b40537..e63cadf6aaf 100644 --- a/cross/znc/Makefile +++ b/cross/znc/Makefile @@ -9,7 +9,7 @@ ifeq ($(strip $(PYTHON_PACKAGE)),) PYTHON_PACKAGE = python311 endif -BUILD_DEPENDS = cross/$(PYTHON_PACKAGE) +BUILD_DEPENDS = cross/python311 DEPENDS = cross/openssl3 cross/libicu cross/zlib # configure: No compiler with C++11 support was found diff --git a/diyspk/bandwhich/Makefile b/diyspk/bandwhich/Makefile index 95ac4f855d4..dd924ffb71f 100644 --- a/diyspk/bandwhich/Makefile +++ b/diyspk/bandwhich/Makefile @@ -2,7 +2,7 @@ SPK_NAME = bandwhich SPK_VERS = 0.20.0 SPK_REV = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/bandwhich # unknown relocation type 95 ... UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) diff --git a/diyspk/bottom/Makefile b/diyspk/bottom/Makefile index 292fde5e914..8a0d955b309 100644 --- a/diyspk/bottom/Makefile +++ b/diyspk/bottom/Makefile @@ -2,7 +2,7 @@ SPK_NAME = bottom SPK_VERS = 0.6.8 SPK_REV = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/bottom UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) diff --git a/diyspk/cpulimit/Makefile b/diyspk/cpulimit/Makefile index d8a268ad776..65aeca7a7b1 100644 --- a/diyspk/cpulimit/Makefile +++ b/diyspk/cpulimit/Makefile @@ -2,7 +2,7 @@ SPK_NAME = cpulimit SPK_VERS = 0.2 SPK_REV = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/cpulimit MAINTAINER = SynoCommunity DESCRIPTION = CPU usage limiter for Linux. diff --git a/diyspk/duf/Makefile b/diyspk/duf/Makefile index 79a331cc66d..982470f042d 100644 --- a/diyspk/duf/Makefile +++ b/diyspk/duf/Makefile @@ -2,7 +2,7 @@ SPK_NAME = duf SPK_VERS = 0.8.1 SPK_REV = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/duf UNSUPPORTED_ARCHS = $(PPC_ARCHS) diff --git a/diyspk/dutree/Makefile b/diyspk/dutree/Makefile index a7c526a0e78..61d16479811 100644 --- a/diyspk/dutree/Makefile +++ b/diyspk/dutree/Makefile @@ -2,7 +2,7 @@ SPK_NAME = dutree SPK_VERS = 0.2.18 SPK_REV = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/dutree UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) diff --git a/diyspk/etherwake/Makefile b/diyspk/etherwake/Makefile index 9a7087fe97e..ffcc2115f75 100644 --- a/diyspk/etherwake/Makefile +++ b/diyspk/etherwake/Makefile @@ -2,7 +2,7 @@ SPK_NAME = etherwake SPK_VERS = 1.09 SPK_REV = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/etherwake MAINTAINER = SynoCommunity DESCRIPTION = Generate and transmit a Wake-On-LAN (WOL) Magic Packet diff --git a/diyspk/fritzctl/Makefile b/diyspk/fritzctl/Makefile index 88860e6adea..c480ce4f37b 100644 --- a/diyspk/fritzctl/Makefile +++ b/diyspk/fritzctl/Makefile @@ -1,9 +1,9 @@ SPK_NAME = fritzctl SPK_VERS = 1.4.23 SPK_REV = 1 -SPK_ICON = src/$(SPK_NAME).png +SPK_ICON = src/fritzctl.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/fritzctl MAINTAINER = bpicode DESCRIPTION = A lightweight, easy to use console client for the AVM FRITZ!Box Home Automation. diff --git a/diyspk/jupp/Makefile b/diyspk/jupp/Makefile index c731ae7e39b..974c8129f91 100755 --- a/diyspk/jupp/Makefile +++ b/diyspk/jupp/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 40 SPK_REV = 2 SPK_ICON = src/jupp.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/jupp MAINTAINER = SynoCommunity DESCRIPTION = text editor jupp comes with the editor flavours known from joe, specifically, jmacs, joe, jpico, jstar, and rjoe. diff --git a/diyspk/mtr/Makefile b/diyspk/mtr/Makefile index c7af408c198..4eb6ef64aa9 100644 --- a/diyspk/mtr/Makefile +++ b/diyspk/mtr/Makefile @@ -2,7 +2,7 @@ SPK_NAME = mtr SPK_VERS = 0.95 SPK_REV = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/mtr MAINTAINER = SynoCommunity DESCRIPTION = mtr \(My traceroute\) combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool. diff --git a/diyspk/procs/Makefile b/diyspk/procs/Makefile index 2324ffa8a66..344d514edbf 100644 --- a/diyspk/procs/Makefile +++ b/diyspk/procs/Makefile @@ -2,7 +2,7 @@ SPK_NAME = procs SPK_VERS = 0.12.3 SPK_REV = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/procs UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) diff --git a/diyspk/tdu/Makefile b/diyspk/tdu/Makefile index d13f30646f3..bc9802a8c44 100644 --- a/diyspk/tdu/Makefile +++ b/diyspk/tdu/Makefile @@ -2,7 +2,7 @@ SPK_NAME = tdu SPK_VERS = 1.36 SPK_REV = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/tdu UNSUPPORTED_ARCHS = $(PPC_ARCHS) diff --git a/diyspk/testdisk/Makefile b/diyspk/testdisk/Makefile index cd44a363103..13f2f997b25 100644 --- a/diyspk/testdisk/Makefile +++ b/diyspk/testdisk/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 7.1 SPK_REV = 4 SPK_ICON = src/testdisk.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/testdisk MAINTAINER = hgy59 DESCRIPTION = "TestDisk is powerful free data recovery software." diff --git a/mk/dependency-list.sh b/mk/dependency-list.sh new file mode 100755 index 00000000000..6f7bf09b2cf --- /dev/null +++ b/mk/dependency-list.sh @@ -0,0 +1,104 @@ +#!/bin/bash + +# Build dependency list +# +# list dependencies for all spk packages +# - used by github prepare action to evaluate packages to build, regarding the modified files +# - broken packages are excluded +# This script must be called in the top folder (spksrc) of the repository +# It is called by the dependency-list target of the toplevel Makefile +# +# This script has benefits over iterating all spk folders and call "make dependency-list" +# - it is much faster (typ. 15 s instead of 180 s) +# - it does not require "OPTIONAL_DEPENDS" defitions anymore +# caveats +# - makefile variables like $(SPK_NAME) are not allowed in dependency definitions anymore +# - definition of dependencies in included make files are not evaluated. +# Those are +# - native/cmake, native/cmake-legacy, native/nasm for cmake/rust packages (^1) +# - cross/$(PYTHON_PACKAGE) for packages reusing prebuilt python (^2) +# - cross/$(FFMPEG_PACKAGE) for packages reusing prebuilt ffmpeg (^2) +# ^1: We could introduce a new OPTIONAL_DEPENDS (ADDITIONAL_DEPENDS) variable to fix this +# But it will hardly happen, that nasm or cmake changes (and are deprecated since those are installed to dev environment) +# ^2: The missing dependencies with packages using prebuilt ffmpeg/python where not +# evaluated in the former solution too. +# So far we did not want to trigger the build of all related packages when only the prebuilt package had changes +# Otherwise we could introduce a new OPTIONAL_DEPENDS (ADDITIONAL_DEPENDS) variable for this + +# get SPK_NAME of a package +# since the spk name might be different to the (spk/){package} folder +# we need to parse the variable in the Makefile +# param1: package folder +function get_spk_name () +{ + if [ -f ${1}/Makefile ]; then + grep "^SPK_NAME" ${1}/Makefile | cut -d= -f2 | xargs + fi +} + +# evaluates all dependencies in a single Makefile +# param1: folder (like spk/{name}, cross/{name}, native/{name}) +function get_file_dependencies () +{ + if [ -f ${1}/Makefile ]; then + grep "^DEPENDS\|^NATIVE_DEPENDS\|^BUILD_DEPENDS" ${1}/Makefile | cut -d= -f2 | sort -u | tr '\n' ' ' + fi +} + +# search for substring in a list of strings +# param1 list of space separated strings +# param2 substring +function contains () +{ + if [ -z "${1}" -o -z "${2}" ]; then + echo "false"; + else + if [ "$(echo ${1} | tr ' ' '\n' | grep -w ${2})" = "${2}" ]; then + echo "true" + else + echo "false" + fi + fi +} + +# get direct package dependencies +# param1: list of folders containing Makefile to parse +function get_dependencies () +{ + local dependencies= + for dep in "${1}"; do + dependencies+="${dep} " + dependencies+="$(get_file_dependencies ${dep}) " + done + echo ${dependencies} | tr ' ' '\n' | sort -u | tr '\n' ' ' +} + +# get all dependencies of a package +# param1: list of toplevel dependencies +function get_spk_dependencies () +{ + local dependencies=$(get_dependencies "${1}") + local cumulated_dependencies=$(get_dependencies "${dependencies}") + while [ "${cumulated_dependencies}" != "${dependencies}" ]; do + dependencies=${cumulated_dependencies} + cumulated_dependencies=$(get_dependencies "${dependencies}") + done + echo ${cumulated_dependencies} | tr ' ' '\n' | sort -u | tr '\n' ' ' +} + +# get the dependency list for a package +# param1: package name +function get_dependency_list () +{ + local spk_name=$(get_spk_name spk/${package}) + local toplevel_dependencies=$(get_file_dependencies spk/${package}) + local spk_dependencies=$(get_spk_dependencies "${toplevel_dependencies}") + echo "${spk_name}: ${spk_dependencies}" +} + +# iterate all packages +for package in $(find spk/ -maxdepth 1 -type d | cut -c 5- | sort); do + if [ ! -f spk/${package}/BROKEN ]; then + get_dependency_list spk/${package} + fi +done diff --git a/spk/adminer/Makefile b/spk/adminer/Makefile index 0a7a47626df..c9ea8f0ef65 100644 --- a/spk/adminer/Makefile +++ b/spk/adminer/Makefile @@ -4,7 +4,7 @@ SPK_REV = 5 SPK_ICON = src/adminer.png DSM_UI_DIR = app -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/adminer MAINTAINER = piwi82 DESCRIPTION = Adminer is a full-featured database management tool available for MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch and MongoDB. diff --git a/spk/chromaprint/Makefile b/spk/chromaprint/Makefile index 59a494e570b..66d3b7cbc8f 100644 --- a/spk/chromaprint/Makefile +++ b/spk/chromaprint/Makefile @@ -4,7 +4,7 @@ SPK_REV = 22 SPK_ICON = src/chromaprint.png FFMPEG_PACKAGE = ffmpeg7 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/chromaprint SPK_DEPENDS = $(FFMPEG_PACKAGE) # ffmpeg7 requires c11 support diff --git a/spk/comskip/Makefile b/spk/comskip/Makefile index 3029cf522cd..8c2cac4b2a8 100644 --- a/spk/comskip/Makefile +++ b/spk/comskip/Makefile @@ -4,7 +4,7 @@ SPK_REV = 12 SPK_ICON = src/comskip.png FFMPEG_PACKAGE = ffmpeg5 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/comskip SPK_DEPENDS = $(FFMPEG_PACKAGE) STARTABLE = no diff --git a/spk/curaengine/Makefile b/spk/curaengine/Makefile index 3da365e3c20..1a3399ee8a5 100644 --- a/spk/curaengine/Makefile +++ b/spk/curaengine/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 2.1.3 SPK_REV = 2 SPK_ICON = src/curaengine.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/curaengine # c++11 compiler required UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) $(ARMv5_ARCHS) diff --git a/spk/dante-sockd/Makefile b/spk/dante-sockd/Makefile index 2c01d00a551..edb622a145d 100644 --- a/spk/dante-sockd/Makefile +++ b/spk/dante-sockd/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 1.4.3 SPK_REV = 1 SPK_ICON = src/dante.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/dante-sockd MAINTAINER = Anonym-tsk # From Inferno Nettverk A/S diff --git a/spk/darkstat/Makefile b/spk/darkstat/Makefile index bd18201abb2..eee648ade73 100644 --- a/spk/darkstat/Makefile +++ b/spk/darkstat/Makefile @@ -4,7 +4,7 @@ SPK_REV = 5 SPK_ICON = src/darkstat.png DSM_UI_DIR = app -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/darkstat # DSM 7 does not allow to run package as root # error: pcap_open_live(): ovs_eth0: You don't have permission to capture on that device (socket: Operation not permitted) diff --git a/spk/dnscrypt-proxy/Makefile b/spk/dnscrypt-proxy/Makefile index 3de9b70a7ed..35e95694e2c 100644 --- a/spk/dnscrypt-proxy/Makefile +++ b/spk/dnscrypt-proxy/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 2.0.44 SPK_REV = 5 SPK_ICON = src/dnscrypt-proxy.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/dnscrypt-proxy SPK_CONFLICT = DNSServer UNSUPPORTED_ARCHS = $(PPC_ARCHS) diff --git a/spk/fengoffice/Makefile b/spk/fengoffice/Makefile index ff342b3cb63..db6019a17bc 100644 --- a/spk/fengoffice/Makefile +++ b/spk/fengoffice/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 3.11.2.8 SPK_REV = 4 SPK_ICON = src/fengoffice.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/fengoffice # Pure PHP package, make sure ARCH is noarch override ARCH=noarch diff --git a/spk/ffmpeg5/Makefile b/spk/ffmpeg5/Makefile index b4bf92f0e25..ad688456c13 100644 --- a/spk/ffmpeg5/Makefile +++ b/spk/ffmpeg5/Makefile @@ -4,7 +4,7 @@ SPK_REV = 6 SPK_ICON = src/ffmpeg.png CHANGELOG = "1. Update to version 5.1.6" -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/ffmpeg5 MAINTAINER = th0ma7 DESCRIPTION = FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. It includes libavcodec - the leading audio/video codec library. More information from SynoCommunity FFmpeg package available at https://github.com/SynoCommunity/spksrc/wiki/FAQ-FFmpeg diff --git a/spk/ffmpeg6/Makefile b/spk/ffmpeg6/Makefile index 23e7b391801..b953d1cf4ec 100644 --- a/spk/ffmpeg6/Makefile +++ b/spk/ffmpeg6/Makefile @@ -4,7 +4,7 @@ SPK_REV = 5 SPK_ICON = src/ffmpeg.png CHANGELOG = "1. Update to version 6.0.1
2. Update Jellyfin upstream patches
3. Update Intel Media Driver 2024Q2 Release (DSM7 only)
4. Revert DSM7 to MFX intead of Intel Video Processing Library (Intel-VPL) as unsupported by Jellyfin
5. Enable OpenCL on Intel platforms (DSM7 only)
6. Update to latest version of x264 (fix for \#6176)
6. Now using new synocli-videodriver package" -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/ffmpeg6 MAINTAINER = th0ma7 DESCRIPTION = FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. It includes libavcodec - the leading audio/video codec library. More information from SynoCommunity FFmpeg package available at https://github.com/SynoCommunity/spksrc/wiki/FAQ-FFmpeg diff --git a/spk/ffmpeg7/Makefile b/spk/ffmpeg7/Makefile index 8db2dfa9b69..7a13d1be9a7 100644 --- a/spk/ffmpeg7/Makefile +++ b/spk/ffmpeg7/Makefile @@ -4,7 +4,7 @@ SPK_REV = 1 SPK_ICON = src/ffmpeg.png CHANGELOG = "1. Initial release of version 7 release" -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/ffmpeg7 # requires c11 support UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) diff --git a/spk/gateone/Makefile b/spk/gateone/Makefile index a93c412aade..49ba5292d4d 100644 --- a/spk/gateone/Makefile +++ b/spk/gateone/Makefile @@ -4,7 +4,7 @@ SPK_REV = 9 SPK_ICON = src/gateone.png DSM_UI_DIR = app -DEPENDS = cross/busybox cross/dtach cross/$(SPK_NAME) +DEPENDS = cross/busybox cross/dtach cross/gateone WHEELS = src/requirements.txt SPK_DEPENDS = "python>=2.7.11-15" diff --git a/spk/gpac/Makefile b/spk/gpac/Makefile index e81a8bc62a2..86f35f3bb68 100644 --- a/spk/gpac/Makefile +++ b/spk/gpac/Makefile @@ -4,7 +4,7 @@ SPK_REV = 1 SPK_ICON = src/gpac.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/gpac MAINTAINER = wmanth DISPLAY_NAME = GPAC diff --git a/spk/haproxy/Makefile b/spk/haproxy/Makefile index 69d31f8448b..da4d8105c48 100644 --- a/spk/haproxy/Makefile +++ b/spk/haproxy/Makefile @@ -5,7 +5,7 @@ SPK_ICON = src/haproxy.png DSM_UI_DIR = app DSM_APP_NAME = SYNOCOMMUNITY.HAProxy.AppInstance -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/haproxy WHEELS = src/requirements.txt SPK_DEPENDS = "python>2.7.18-25" diff --git a/spk/he853/Makefile b/spk/he853/Makefile index ca67c390653..d36dc121ae7 100755 --- a/spk/he853/Makefile +++ b/spk/he853/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 1.0.3 SPK_REV = 2 SPK_ICON = src/HE853.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/he853 REQUIRED_MIN_DSM = 5.0 MAINTAINER = ymartin59 diff --git a/spk/icecast/Makefile b/spk/icecast/Makefile index 80e6e1b5421..70965fadeb4 100644 --- a/spk/icecast/Makefile +++ b/spk/icecast/Makefile @@ -4,7 +4,7 @@ SPK_REV = 7 SPK_ICON = src/icecast.png DSM_UI_DIR = app -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/icecast MAINTAINER = SynoCommunity DESCRIPTION = Icecast is a streaming media server which currently supports Ogg \(Vorbis and Theora\), Opus, WebM and MP3 audio streams. It can be used to create an Internet radio station or a privately running jukebox and many things in between. It is very versatile in that new formats can be added relatively easily and supports open standards for communication and interaction. This package includes Ezstream, a command line source client for Icecast media streaming servers. diff --git a/spk/jappix/Makefile b/spk/jappix/Makefile index a69916c0697..1738321b7c9 100644 --- a/spk/jappix/Makefile +++ b/spk/jappix/Makefile @@ -4,7 +4,7 @@ SPK_REV = 2 SPK_ICON = src/jappix.png DSM_UI_DIR = app -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/jappix MAINTAINER = SynoCommunity DESCRIPTION = Jappix, a full-featured XMPP web-client \(Jappix Desktop, Jappix Mobile \& Jappix Mini\). Jappix is a fresh new open social platform which enables you to create your own cloud, wherever you want to. People must be able to get in touch with all their friends on a free decentralized network! diff --git a/spk/java-11-openjdk/Makefile b/spk/java-11-openjdk/Makefile index 581a343acc7..3ddd8449964 100644 --- a/spk/java-11-openjdk/Makefile +++ b/spk/java-11-openjdk/Makefile @@ -5,9 +5,9 @@ JAVA_RELEASE = 7 JAVA_VERSION = 11.0.12 SPK_VERS = $(JAVA_VERSION).$(JAVA_RELEASE) SPK_REV = 1 -SPK_ICON = src/$(SPK_NAME).png +SPK_ICON = src/java-11-openjdk.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/java-11-openjdk MAINTAINER = SynoCommunity DESCRIPTION = OpenJDK version $(JAVA_VERSION)+$(JAVA_RELEASE). OpenJDK 11 is the open-source reference implementation of version 11 of the Java SE Platform as specified by by JSR 384 in the Java Community Process. diff --git a/spk/lirc/Makefile b/spk/lirc/Makefile index 8d808b399b2..c1aa2a84ce8 100644 --- a/spk/lirc/Makefile +++ b/spk/lirc/Makefile @@ -13,14 +13,14 @@ UNSUPPORTED_ARCHS = $(PPC_ARCHS) include ../../mk/spksrc.archs.mk # Use older LIRC build for ARCHs with kernel < 2.6.36 -ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(PPC_ARCHS)),) +ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(PPC_ARCHS)),$(ARCH)) SPK_VERS = 0.8.7 +DEPENDS = cross/lirc-0.8.7 LIRC_SUPPORTED_DRIVERS = mceusb uirt uirt2 +else +DEPENDS = cross/lirc-0.9.0 endif -DEPENDS = cross/$(SPK_NAME)-$(SPK_VERS) -OPTIONAL_DEPENDS = cross/lirc-0.8.7 - MAINTAINER = bru7us DESCRIPTION = LIRC daemon decodes infrared signals and provides them on a Unix domain socket DISPLAY_NAME = LIRC diff --git a/spk/lua/Makefile b/spk/lua/Makefile index edcf186169a..6099e91c98b 100644 --- a/spk/lua/Makefile +++ b/spk/lua/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 5.4.4 SPK_REV = 4 SPK_ICON = src/lua.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/lua MAINTAINER = eelcohn MAINTAINER_URL = https://www.lua.org/ diff --git a/spk/mantisbt/Makefile b/spk/mantisbt/Makefile index 86eac62a69e..625c7d22c7c 100644 --- a/spk/mantisbt/Makefile +++ b/spk/mantisbt/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 2.26.3 SPK_REV = 6 SPK_ICON = src/mantisbt.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/mantisbt # Pure PHP package, make sure ARCH is noarch override ARCH=noarch diff --git a/spk/mediainfo/Makefile b/spk/mediainfo/Makefile index 0a5174bafd1..3784180a5f8 100644 --- a/spk/mediainfo/Makefile +++ b/spk/mediainfo/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 21.09 SPK_REV = 13 SPK_ICON = src/mediainfo.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/mediainfo MAINTAINER = ymartin59 DESCRIPTION = "MediaInfo is a convenient unified display of the most relevant technical and tag data for video and audio files." diff --git a/spk/monit/Makefile b/spk/monit/Makefile index 84e21177629..ed45d72e162 100644 --- a/spk/monit/Makefile +++ b/spk/monit/Makefile @@ -4,7 +4,7 @@ SPK_REV = 10 SPK_ICON = src/monit.png DSM_UI_DIR = app -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/monit UNSUPPORTED_ARCHS = PPC_ARCHS diff --git a/spk/monitoring-plugins/Makefile b/spk/monitoring-plugins/Makefile index e5e423b6002..3d14a6c58d3 100644 --- a/spk/monitoring-plugins/Makefile +++ b/spk/monitoring-plugins/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 2.3.1 SPK_REV = 2 SPK_ICON = src/monitoring-plugins.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/monitoring-plugins SPK_DEPENDS = Perl diff --git a/spk/mtproxy/Makefile b/spk/mtproxy/Makefile index d4991954744..900d8a6c36e 100644 --- a/spk/mtproxy/Makefile +++ b/spk/mtproxy/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/${SPK_NAME}.jpg REQUIRED_MIN_DSM = 5.2 BETA = 1 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/mtproxy MAINTAINER = Anonym-tsk # From TelegramMessenger/MTProxy diff --git a/spk/node-exporter/Makefile b/spk/node-exporter/Makefile index 0c741d07721..1cde18fe6ab 100644 --- a/spk/node-exporter/Makefile +++ b/spk/node-exporter/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 1.8.2 SPK_REV = 5 SPK_ICON = src/node-exporter.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/node-exporter UNSUPPORTED_ARCHS = $(PPC_ARCHS) diff --git a/spk/pyload/Makefile b/spk/pyload/Makefile index 6547c1f8a5e..672c3bb241c 100644 --- a/spk/pyload/Makefile +++ b/spk/pyload/Makefile @@ -4,7 +4,7 @@ SPK_REV = 4 SPK_ICON = src/pyload.png DSM_UI_DIR = app -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/pyload SPK_DEPENDS = "python>2.7.3-3" MAINTAINER = SynoCommunity diff --git a/spk/python311/Makefile b/spk/python311/Makefile index 87eba19e7ee..36718b045a9 100644 --- a/spk/python311/Makefile +++ b/spk/python311/Makefile @@ -9,7 +9,7 @@ SPK_ICON = src/python3.png # And compiler must support std=c++11 (OlD_PPC_ARCHS fail, but ARMv5_ARCHS have no issue). UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/python311 DEPENDS += cross/pip MAINTAINER = SynoCommunity diff --git a/spk/roundcube/Makefile b/spk/roundcube/Makefile index e51b741814b..187aeab67df 100644 --- a/spk/roundcube/Makefile +++ b/spk/roundcube/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 1.6.9 SPK_REV = 5 SPK_ICON = src/roundcube.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/roundcube # Pure PHP package, make sure ARCH is noarch override ARCH=noarch diff --git a/spk/sabnzbd/Makefile b/spk/sabnzbd/Makefile index 8e8784801a4..00dd1cb35d4 100644 --- a/spk/sabnzbd/Makefile +++ b/spk/sabnzbd/Makefile @@ -4,7 +4,7 @@ SPK_REV = 71 SPK_ICON = src/sabnzbd.png PYTHON_PACKAGE = python311 -DEPENDS = cross/busybox cross/par2cmdline-turbo cross/unrar cross/p7zip cross/$(SPK_NAME) +DEPENDS = cross/busybox cross/par2cmdline-turbo cross/unrar cross/p7zip cross/sabnzbd SPK_DEPENDS = "python311>=3.11.5-8" WHEELS = src/requirements-crossenv.txt src/requirements-pure.txt diff --git a/spk/shairport-sync/Makefile b/spk/shairport-sync/Makefile index 8c1c8b56460..ce599f89f74 100644 --- a/spk/shairport-sync/Makefile +++ b/spk/shairport-sync/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 2.3.11 SPK_REV = 2 SPK_ICON = src/shairport-sync.png -DEPENDS = cross/busybox cross/$(SPK_NAME) +DEPENDS = cross/busybox cross/shairport-sync MAINTAINER = SynoCommunity DESCRIPTION = Use Synology NAS as an AirPlay receiver. Requires USB soundcard or speakers. diff --git a/spk/stockfish/Makefile b/spk/stockfish/Makefile index 06b6027e0a6..c45fdd6a10f 100644 --- a/spk/stockfish/Makefile +++ b/spk/stockfish/Makefile @@ -4,7 +4,7 @@ SPK_REV = 3 SPK_ICON= src/stockfish.png DSM_UI_DIR = app -DEPENDS = cross/$(SPK_NAME) cross/stockfish-webgui +DEPENDS = cross/stockfish cross/stockfish-webgui MAINTAINER = mayweed DESCRIPTION = Strong open source chess engine. Stockfish is one of the strongest chess engines in the world. It is also much stronger than the best human chess grandmasters. diff --git a/spk/stunnel/Makefile b/spk/stunnel/Makefile index c328d5f95c9..ad02688b830 100644 --- a/spk/stunnel/Makefile +++ b/spk/stunnel/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 5.60 SPK_REV = 2 SPK_ICON = src/stunnel.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/stunnel BETA = 1 diff --git a/spk/tt-rss/Makefile b/spk/tt-rss/Makefile index be31d81ce2d..dacfa8cbba5 100644 --- a/spk/tt-rss/Makefile +++ b/spk/tt-rss/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 20230828 SPK_REV = 18 SPK_ICON = src/tt-rss.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/tt-rss # Pure PHP package, make sure ARCH is noarch override ARCH=noarch diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index 5c8f35a0478..10bedec84a2 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -25,7 +25,7 @@ UNSUPPORTED_ARCHS += $(ARMv5_ARCHS) WHEELS = src/requirements-pure.txt -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/tvheadend DEPENDS += cross/dtv-scan-tables DEPENDS += cross/zap2epg cross/docker-tvheadend diff --git a/spk/umurmur/Makefile b/spk/umurmur/Makefile index 5ca2cfb77fe..93f699a7309 100644 --- a/spk/umurmur/Makefile +++ b/spk/umurmur/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 0.2.20 SPK_REV = 8 SPK_ICON = src/umurmur.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/umurmur MAINTAINER = Diaoul DESCRIPTION = uMurmur is a minimalistic VoIP server based on the open source software Mumble. It allows simultaneous communications between multiple users. Its low latency makes it especially suitable for communications during online gaming. The Mumble client is available at https://dl.mumble.info/stable/ \(Windows, Mac, Linux and iOS\). diff --git a/spk/vim/Makefile b/spk/vim/Makefile index a27fddeb49d..217496388d6 100644 --- a/spk/vim/Makefile +++ b/spk/vim/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 9.0 SPK_REV = 6 SPK_ICON = src/vim.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/vim PYTHON_PACKAGE = python311 MAINTAINER = SynoCommunity diff --git a/spk/wallabag/Makefile b/spk/wallabag/Makefile index 426ce48ccd8..ba944bbc477 100644 --- a/spk/wallabag/Makefile +++ b/spk/wallabag/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 2.6.9 SPK_REV = 5 SPK_ICON = src/wallabag.png -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/wallabag # Pure PHP package, make sure ARCH is noarch override ARCH=noarch diff --git a/spk/znc/Makefile b/spk/znc/Makefile index f5f578316ef..92ba693dbf9 100644 --- a/spk/znc/Makefile +++ b/spk/znc/Makefile @@ -4,7 +4,7 @@ SPK_REV = 23 SPK_ICON = src/znc.png DSM_UI_DIR = app -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/znc PYTHON_PACKAGE = python311 SPK_DEPENDS = "python311>=3.11.5-8" diff --git a/spk/zsh-static/Makefile b/spk/zsh-static/Makefile index f263fc8ed10..39aca77a8a0 100644 --- a/spk/zsh-static/Makefile +++ b/spk/zsh-static/Makefile @@ -4,6 +4,9 @@ SPK_REV = 10 export ZSH_STATIC_MODULES=true +# need to define dependencies for dependency-list creation by script +DEPENDS = cross/zsh + # Reuse targets from zsh. include ../zsh/Makefile