1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-18 00:10:04 +00:00

net/teddycloud: update to 0.6.2

Thanks to Michael (maintainer) for fixing the linker issue, see also here:
https://github.com/toniebox-reverse-engineering/teddycloud/pull/242

The next release of teddycloud will include all necessary modifications, so patches
can be removed from ports with a newer release.

Changes:	https://github.com/toniebox-reverse-engineering/teddycloud/releases

PR:		282541
Approved by:	freebsd@pe82.de (maintainer)
This commit is contained in:
Matthias Fechner 2024-11-04 17:02:48 +02:00
parent dd7deaddf4
commit 753f370872
6 changed files with 156 additions and 36 deletions

View File

@ -1,10 +1,10 @@
PORTNAME= teddycloud
DISTVERSIONPREFIX= tc_v
DISTVERSION= 0.3.5
DISTVERSION= 0.6.2
CATEGORIES= net
# Get the latest commit hashes here: https://github.com/toniebox-reverse-engineering/tonies-json/commits/release/
# NOTE: remove the existing tonies.json and tonieboxes.json from DISTDIR before you do a `make makesum`
MASTER_SITES= https://raw.githubusercontent.com/toniebox-reverse-engineering/tonies-json/d3bde1c301cc509ffced79bb08b40ec769029bbe/:toniesjson
MASTER_SITES= https://raw.githubusercontent.com/toniebox-reverse-engineering/tonies-json/85a888e355f20ef300e581ad11feb4ac623e62d6/:toniesjson
DISTFILES= tonies.json:toniesjson \
tonieboxes.json:toniesjson
EXTRACT_ONLY= ${DISTFILES:N*\:toniesjson:C/\:.*//}
@ -34,15 +34,28 @@ GH_SUBDIR= cJSON:cJSON ogg:ogg opus:opus teddycloud_web:teddycloud_web \
# find versions here clone the repository and switch to tag
# git submodule update
# git submodule
GH_TAGNAME= v1.7.17:cJSON \
v1.3.5:ogg \
v1.4:opus \
ad73bfa:teddycloud_web \
GH_TAGNAME= v1.7.15-33-gacc7623:cJSON \
v1.3.5-9-gdb5c7a4:ogg \
v1.4-7-g101a71e0:opus \
tcw_v0.6.2:teddycloud_web \
v2.3.2:cyclone_common,cyclone_crypto,cyclone_ssl,cyclone_tcp
USE_RC_SUBR= teddycloudd
MAKE_ENV+= CONFIG_RUNTIME_BASE_PATH=${PREFIX}/etc/teddycloud \
RUNTIME_BASE_PATH=${PREFIX}/share/teddycloud
RUNTIME_BASE_PATH=${PREFIX}/share/teddycloud \
NO_SANITIZERS=1
# can be used if https://github.com/toniebox-reverse-engineering/teddycloud/pull/243 is included
# and patch for Makefile is then obsolete
# GIT_DIRTY=0 \
# GIT_BUILD_TIME="2024-10-26 18:14:34 +0000" \
# GIT_SHORT_SHA=203f12d \
# GIT_SHA=203f12d3d357d16268b83c7bdedb332820b9e87a \
# GIT_TAG=tc_v0.6.2 \
# WEB_GIT_DIRTY=0 \
# WEB_GIT_BUILD_TIME="2024-10-26 06:25:22 +0200" \
# WEB_GIT_SHORT_SHA=e4d9fc1 \
# WEB_GIT_SHA=e4d9fc19e493933c2020be2d40ee5de2f07d7eef \
# WEB_GIT_TAG=tcw_v0.6.2
# This did reliably fail due to some unknown deps when using parallel build
MAKE_JOBS_UNSAFE= yes
ALL_TARGET= preinstall
@ -53,7 +66,6 @@ pre-install:
@${CP} ${DISTFILES:M*\:toniesjson:C/\:.*//:S,^,${_DISTDIR},} ${WRKSRC}/install/pre/config/
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/install/pre/teddycloud ${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/install/pre/teddycloud ${STAGEDIR}${PREFIX}/bin
@${MKDIR} ${STAGEDIR}${DATADIR}/certs
@(cd ${WRKSRC}/install/pre/certs && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/certs)

View File

@ -1,18 +1,18 @@
TIMESTAMP = 1730528281
SHA256 (tonies.json) = 1316eb7076dc49fe49fd51b8843cb29285090c574201714bf97898955c2cb243
SIZE (tonies.json) = 5006642
TIMESTAMP = 1730732169
SHA256 (tonies.json) = 074396727ba9738c5061bb3e22bb2e505af255adecd00b07444465ee7083156e
SIZE (tonies.json) = 5035861
SHA256 (tonieboxes.json) = de50e30f844dcf743617337ba158b67498117f9c459b9ca4d26097aa3cb6b36f
SIZE (tonieboxes.json) = 2736
SHA256 (toniebox-reverse-engineering-teddycloud-tc_v0.3.5_GH0.tar.gz) = eeec26b7375e4ed4a496564930b382be659f117bdf1a0de2146650dec3b35517
SIZE (toniebox-reverse-engineering-teddycloud-tc_v0.3.5_GH0.tar.gz) = 4758871
SHA256 (toniebox-reverse-engineering-teddycloud_web-ad73bfa_GH0.tar.gz) = b9cc6afeca96da521a0014135de87a427cfaed13f55c77acef7b75483a5039fa
SIZE (toniebox-reverse-engineering-teddycloud_web-ad73bfa_GH0.tar.gz) = 386567
SHA256 (DaveGamble-cJSON-v1.7.17_GH0.tar.gz) = c91d1eeb7175c50d49f6ba2a25e69b46bd05cffb798382c19bfb202e467ec51c
SIZE (DaveGamble-cJSON-v1.7.17_GH0.tar.gz) = 353748
SHA256 (xiph-ogg-v1.3.5_GH0.tar.gz) = f6f1b04cfa4e98b70ffe775d5e302d9c6b98541f05159af6de2d6617817ed7d6
SIZE (xiph-ogg-v1.3.5_GH0.tar.gz) = 251765
SHA256 (xiph-opus-v1.4_GH0.tar.gz) = 659e6b223e42a51b0a898632b9a5f406ccd5c2e00aa526ddd1264789774b94e5
SIZE (xiph-opus-v1.4_GH0.tar.gz) = 851780
SHA256 (toniebox-reverse-engineering-teddycloud-tc_v0.6.2_GH0.tar.gz) = 1cb3436f5099ddcaaca4b32021d7fa269c1359b257542ad31aa3bc9fbb13099f
SIZE (toniebox-reverse-engineering-teddycloud-tc_v0.6.2_GH0.tar.gz) = 11587377
SHA256 (toniebox-reverse-engineering-teddycloud_web-tcw_v0.6.2_GH0.tar.gz) = aecff11ca81d0c2c9af238202e71797f21ddcd2c1ab9f5f7e40cab45a041a2a2
SIZE (toniebox-reverse-engineering-teddycloud_web-tcw_v0.6.2_GH0.tar.gz) = 6844210
SHA256 (DaveGamble-cJSON-v1.7.15-33-gacc7623_GH0.tar.gz) = a87a20cbe1245922a8b19fd586b0e2567a5c56a57f9e2d283dbea23a5722a519
SIZE (DaveGamble-cJSON-v1.7.15-33-gacc7623_GH0.tar.gz) = 354833
SHA256 (xiph-ogg-v1.3.5-9-gdb5c7a4_GH0.tar.gz) = fac013405bc8ac0e1754b2de64455bc2d73c06ef181df8eb3b48d6addecd69c1
SIZE (xiph-ogg-v1.3.5-9-gdb5c7a4_GH0.tar.gz) = 251955
SHA256 (xiph-opus-v1.4-7-g101a71e0_GH0.tar.gz) = d6410f6fb6334672a8b4d1441a8549a6e972a811509b61b77c349a4ef553ac14
SIZE (xiph-opus-v1.4-7-g101a71e0_GH0.tar.gz) = 855253
SHA256 (Oryx-Embedded-Common-v2.3.2_GH0.tar.gz) = 0a251e8a3674f777e33f01a825be0f55b2092bedbedd058b579b0e00d1b0119d
SIZE (Oryx-Embedded-Common-v2.3.2_GH0.tar.gz) = 45692
SHA256 (Oryx-Embedded-CycloneCRYPTO-v2.3.2_GH0.tar.gz) = a37d72648d3e551a9d02106ed42fca5622a3b27d3f7f8540117fe1eb9bfde3cf

View File

@ -1,6 +1,15 @@
--- Makefile.orig 2024-01-22 13:39:05 UTC
--- Makefile.orig 2024-10-26 18:14:34 UTC
+++ Makefile
@@ -40,11 +40,11 @@ else
@@ -24,7 +24,7 @@ else
build_os_id:="windows"
else
SHELL_ENV ?= bash
- build_arch:="$(shell arch)"
+ build_arch:="$(shell uname -m)"
build_os_id:="$(shell grep "^ID=" /etc/os-release | cut -d'=' -f2- | tr -d '"')"
endif
@@ -47,11 +47,11 @@ endif
build_rawDateTime:="${shell date "+%Y-%m-%d %H:%M:%S %z"}"
endif
@ -10,10 +19,37 @@
-build_gitSha:=${shell git rev-parse HEAD}
-build_gitTag:=${shell git name-rev --tags --name-only $(build_gitSha)}
+build_gitDirty:=0
+build_gitDateTime:="2024-01-22 13:39:05 +0000"
+build_gitShortSha:=8602da9
+build_gitSha:=8602da92d1080e67c678f476d4cf4de008aa857e
+build_gitTag:=tc_v0.3.5
+build_gitDateTime:="2024-10-26 18:14:34 +0000"
+build_gitShortSha:=203f12d
+build_gitSha:=203f12d3d357d16268b83c7bdedb332820b9e87a
+build_gitTag:=tc_v0.6.2
build_platform:=$(PLATFORM)
build_os:="$(OS)"
@@ -70,12 +70,12 @@ endif
CFLAGS_VERSION+=-DBUILD_VERSION=\"${build_version}\"
endif
-web_gitDirty:=${shell cd $(WEB_SRC_DIR) && git diff --quiet && echo '0' || echo '1'}
-web_gitDateTime:="${shell cd $(WEB_SRC_DIR) && git log -1 --format=%ai}"
-web_gitShortSha:=${shell cd $(WEB_SRC_DIR) && git rev-parse --short HEAD}
-web_gitSha:=${shell cd $(WEB_SRC_DIR) && git rev-parse HEAD}
-web_gitTag:=${shell cd $(WEB_SRC_DIR) && git name-rev --tags --name-only $(web_gitSha)}
-web_gitTagPrefix:=$(firstword $(subst _, ,$(web_gitTag)))
+web_gitDirty:=0
+web_gitDateTime:="2024-10-26 06:25:22 +0200"
+web_gitShortSha:=e4d9fc1
+web_gitSha:=e4d9fc19e493933c2020be2d40ee5de2f07d7eef
+web_gitTag:=tcw_v0.6.2
+web_gitTagPrefix:=tcw
web_version:=vX.X.X
CFLAGS_VERSION+=-DWEB_GIT_IS_DIRTY=${web_gitDirty} -DWEB_GIT_DATETIME=\"${web_gitDateTime}\" -DWEB_RAW_DATETIME=\"${web_rawDateTime}\" -DWEB_GIT_SHORT_SHA=\"${web_gitShortSha}\" -DWEB_GIT_SHA=\"${web_gitSha}\" -DWEB_GIT_TAG=\"${web_gitTag}\"
ifeq ($(web_gitTagPrefix),tcw)
@@ -153,6 +153,7 @@ CFLAGS_linux += -DFFMPEG_DECODING
endif
CFLAGS_linux += -ggdb
CFLAGS_linux += -DFFMPEG_DECODING
+LFLAGS_linux += -pthread -lm
# for now enable extensive error checking
# Add flags for extensive error checking if NO_SANITIZERS is not set to 1

View File

@ -0,0 +1,11 @@
--- src/cyclone/common/compiler_port.h.orig 2024-11-04 17:31:41 UTC
+++ src/cyclone/common/compiler_port.h
@@ -106,7 +106,7 @@ typedef unsigned int uint_t;
#define PRIXSIZE "X"
#define PRIuTIME "lu"
//Linux GCC compiler
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__unix__)
#define PRIuSIZE "zu"
#define PRIXSIZE "zX"
#define PRIuTIME "lu"

View File

@ -0,0 +1,27 @@
[
{ type: install
message: <<EOM
Teddycloud will require exclusive access to following ports:
80: HTTP port for the webinterface
8443: HTTPS port for the webinterface
443: HTTPS API port for Toniebox API
If you have already daemons running using these ports like nginx, apache, haproxy
it is best to bind an alias IP (second ip) to your network card and use that exclusively
with teddycloud.
You can tell teddycloud to use this IP.
At first you must start teddycloud that the config file /usr/local/etc/teddycloud/config.ini is created with command:
teddycloud
After this you can change the IP teddycloud is using:
core.server.bind_ip=_your_alias_ip_for_teddycloud
To start teddycloud at startup:
sysrc teddycloudd_enable="YES"
To start in background:
service teddycloud start
EOM
}
]

View File

@ -1,6 +1,7 @@
bin/teddycloud
%%ETCDIR%%/tonies.custom.json
%%ETCDIR%%/tonies.json
%%ETCDIR%%/tonieboxes.custom.json
%%ETCDIR%%/tonieboxes.json
%%DATADIR%%/data/www/404.html
%%DATADIR%%/data/www/encode_test.html
@ -8,23 +9,56 @@ bin/teddycloud
%%DATADIR%%/data/www/img_custom.png
%%DATADIR%%/data/www/img_empty.png
%%DATADIR%%/data/www/img_unknown.png
%%DATADIR%%/data/www/index.html
%%DATADIR%%/data/www/legacy.html
%%DATADIR%%/data/www/library/babel.js
%%DATADIR%%/data/www/library/esptool.js
%%DATADIR%%/data/www/web/asset-manifest.json
%%DATADIR%%/data/www/library/react-dom.development.js
%%DATADIR%%/data/www/library/react.development.js
%%DATADIR%%/data/www/robots.txt
%%DATADIR%%/data/www/web/assets/3200_pcb-Dxz0Vi-z.png
%%DATADIR%%/data/www/web/assets/3235_pcb-BE0vs2bl.png
%%DATADIR%%/data/www/web/assets/cc3200-B-jSkbsy.jpg
%%DATADIR%%/data/www/web/assets/cc3235-Cr21bWbC.jpg
%%DATADIR%%/data/www/web/assets/cc3235_flash-D2YMWv70.jpg
%%DATADIR%%/data/www/web/assets/cc3235_smd_grippers-MdbEjaZo.jpg
%%DATADIR%%/data/www/web/assets/esp32-BPYaDt9v.js
%%DATADIR%%/data/www/web/assets/esp32-B_b6hCjy.jpg
%%DATADIR%%/data/www/web/assets/esp32_pcb-CWEYHEzm.png
%%DATADIR%%/data/www/web/assets/esp32_pcb_clamp-Cw2o3uco.png
%%DATADIR%%/data/www/web/assets/esp32_write_patched_image_with_esptools-DmsBlrjp.png
%%DATADIR%%/data/www/web/assets/esp32c2-CtjOOsCE.js
%%DATADIR%%/data/www/web/assets/esp32c3-DDsZSfEd.js
%%DATADIR%%/data/www/web/assets/esp32c6-BRG5ZpJ8.js
%%DATADIR%%/data/www/web/assets/esp32h2-Cf8JbGZQ.js
%%DATADIR%%/data/www/web/assets/esp32p4-DfBdIAkh.js
%%DATADIR%%/data/www/web/assets/esp32s2-BOsRKhcm.js
%%DATADIR%%/data/www/web/assets/esp32s3-DkgZlzv1.js
%%DATADIR%%/data/www/web/assets/esp8266-8VKmCx7J.js
%%DATADIR%%/data/www/web/assets/index-BU1Nt4kW.css
%%DATADIR%%/data/www/web/assets/index-ChP2LRih.js
%%DATADIR%%/data/www/web/assets/logo-aw46LCqE.png
%%DATADIR%%/data/www/web/assets/openTB_step1_1-4vwQGflo.png
%%DATADIR%%/data/www/web/assets/openTB_step1_2-DIZc5DI4.png
%%DATADIR%%/data/www/web/assets/openTB_step2-DhjDRq3m.png
%%DATADIR%%/data/www/web/assets/openTB_step3-Dn6Mo3hQ.png
%%DATADIR%%/data/www/web/assets/openTB_step4-Bj5i-Kw_.png
%%DATADIR%%/data/www/web/assets/openTB_step5-DTGOEBgD.png
%%DATADIR%%/data/www/web/assets/rom-Caghk6Eh.js
%%DATADIR%%/data/www/web/assets/tb-esp32-uart-BDPWj6EB.png
%%DATADIR%%/data/www/web/assets/tb-esp32-uart-clamp-D_86EMpu.png
%%DATADIR%%/data/www/web/favicon.ico
%%DATADIR%%/data/www/web/index.html
%%DATADIR%%/data/www/web/manifest.json
%%DATADIR%%/data/www/web/robots.txt
%%DATADIR%%/data/www/web/static/css/main.e6c13ad2.css
%%DATADIR%%/data/www/web/static/css/main.e6c13ad2.css.map
%%DATADIR%%/data/www/web/static/js/main.3c1d6764.js
%%DATADIR%%/data/www/web/static/js/main.3c1d6764.js.LICENSE.txt
%%DATADIR%%/data/www/web/static/js/main.3c1d6764.js.map
%%DATADIR%%/data/www/web/static/media/getFetch.40f37ddea2378391108f.cjs
%%DATADIR%%/data/www/web/static/media/logo.2f09160138082fd1c6f8.png
%%DATADIR%%/data/www/web/translations/de.json
%%DATADIR%%/data/www/web/translations/en.json
%%DATADIR%%/data/www/web/translations/es.json
%%DATADIR%%/data/www/web/translations/fr.json
%%DATADIR%%/data/www/web/web_version.json
@dir %%DATADIR%%/certs/client
@dir %%DATADIR%%/certs/server
@dir %%DATADIR%%/data/content/default
@dir %%DATADIR%%/data/firmware/ota/cc3200
@dir %%DATADIR%%/data/firmware/ota/cc3235
@dir %%DATADIR%%/data/firmware/ota/esp32
@dir %%DATADIR%%/data/library