From c219957a45ddf3885a52f5d51850e93270fe9ec6 Mon Sep 17 00:00:00 2001 From: Markham Date: Fri, 29 Mar 2024 13:52:39 +0100 Subject: [PATCH] introduce oscam target --- Makefile | 1 + make/oscam.mk | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 make/oscam.mk diff --git a/Makefile b/Makefile index c71d285..0b6b8d2 100755 --- a/Makefile +++ b/Makefile @@ -45,6 +45,7 @@ include make/flashimage.mk include make/cleantargets.mk include make/ffmpeg.mk include make/meson.mk +include make/oscam.mk include make/python3.mk PARALLEL_JOBS := $(shell echo $$(($$(nproc 2>/dev/null || echo 0) + 1))) diff --git a/make/oscam.mk b/make/oscam.mk new file mode 100644 index 0000000..0f7b7a9 --- /dev/null +++ b/make/oscam.mk @@ -0,0 +1,123 @@ +################################################################################ +# +# oscam +# +################################################################################ + + +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),kronos kronos_v2)) +define OSCAM_FIXUP_MAX_COOL_DMX + $(SED) "s|^#define MAX_COOL_DMX.*|#define MAX_COOL_DMX 3|" $(PKG_BUILD_DIR)/module-dvbapi-coolapi.c + $(SED) "s|^#define MAX_COOL_DMX.*|#define MAX_COOL_DMX 3|" $(PKG_BUILD_DIR)/module-dvbapi-coolapi-legacy.c +endef +OSCAM_POST_PATCH_HOOKS += OSCAM_FIXUP_MAX_COOL_DMX +endif + +OSCAM_CONF_OPTS = \ + --enable readers \ + --enable \ + CS_ANTICASC \ + CS_CACHEEX \ + CW_CYCLE_CHECK \ + HAVE_DVBAPI \ + IRDETO_GUESSING \ + LCDSUPPORT \ + READ_SDT_CHARSETS \ + WEBIF \ + WEBIF_JQUERY \ + WEBIF_LIVELOG \ + WITH_DEBUG \ + WITH_LB \ + WITH_NEUTRINO \ + \ + WITH_EMU \ + WITH_SOFTCAM \ + \ + MODULE_CAMD35 \ + MODULE_CAMD35_TCP \ + MODULE_CCCAM \ + MODULE_CCCSHARE \ + MODULE_CONSTCW \ + MODULE_GBOX \ + MODULE_MONITOR \ + MODULE_NEWCAMD \ + MODULE_RADEGAST \ + MODULE_SCAM \ + \ + CARDREADER_INTERNAL \ + CARDREADER_PHOENIX \ + CARDREADER_SC8IN1 \ + CARDREADER_SMARGO + +# enable ssl +OSCAM_CONF_OPTS += \ + --enable WITH_SSL + +# enable streamrelay +OSCAM_CONF_OPTS += \ + --enable MODULE_STREAMRELAY + +ifeq ($(TARGET_ARCH),arm) +# enable/disable arm-neon +OSCAM_CONF_OPTS += \ + $(if $(findstring neon,$(TARGET_ABI)),--enable,--disable) WITH_ARM_NEON +endif + +OSCAM_MAKE_OPTS = \ + CROSS=$(CROSS_DIR)/bin/$(TARGET)- \ + EXTRA_CFLAGS="-I$(TARGETPREFIX)/include" \ + EXTRA_CC_OPTS="$(TARGET_O_CFLAGS)" \ + EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ + \ + CONF_DIR=/var/tuxbox/config + +# enable libusb +OSCAM_MAKE_OPTS += \ + USE_LIBUSB=1 + +# static libdvbcsa +OSCAM_MAKE_OPTS += \ + LIBDVBCSA_LIB=$(TARGETLIB)/libdvbcsa.a + +ifeq ($(BOXTYPE), coolstream) +OSCAM_DEPENDENCIES += coolstream-libs + +# enable coolapi +ifeq ($(BOXMODEL),nevis) +OSCAM_MAKE_OPTS += \ + USE_COOLAPI=1 +else +OSCAM_MAKE_OPTS += \ + USE_COOLAPI2=1 +endif +endif + +# https://github.com/oscam-emu/oscam-emu/commits/master +OSCAM_EMU_GIT = https://github.com/oscam-emu/oscam-emu.git +OSCAM_EMU_PATCH = 3ae1a44 + +$(ARCHIVE)/oscam-emu-patch-$(OSCAM_EMU_PATCH).tar.bz2: | $(HOSTPREFIX)/bin/get-git-archive.sh + get-git-archive.sh $(OSCAM_EMU_GIT) $(OSCAM_EMU_PATCH) $(notdir $@) $(ARCHIVE) + +oscam_emu_patch: $(ARCHIVE)/oscam-emu-patch-$(OSCAM_EMU_PATCH).tar.bz2 | $(TARGETPREFIX) + $(START_BUILD) + $(REMOVE)/oscam-emu-patch-$(OSCAM_EMU_PATCH) + $(UNTAR)/oscam-emu-patch-$(OSCAM_EMU_PATCH).tar.bz2 + + +TRUNKURL="https://svn.streamboard.tv/oscam/trunk" +OSCAM_VER=11757 + +oscam: oscam_emu_patch $(D)/libusb $(D)/openssl $(D)/libdvbcsa | $(TARGETPREFIX) + $(START_BUILD) + echo $(OSCAM_MAKE_OPTS) + $(REMOVE)/oscam-svn + svn checkout -r $(OSCAM_VER) $(TRUNKURL) $(ARCHIVE)/oscam-svn + svn revert -R $(ARCHIVE)/oscam-svn + cp -r $(ARCHIVE)/oscam-svn $(BUILD_TMP)/oscam-svn + set -e; cd $(BUILD_TMP)/oscam-svn; \ + patch -p0 < $(BUILD_TMP)/oscam-emu-patch-$(OSCAM_EMU_PATCH)/oscam-emu.patch; \ + ./config.sh $(OSCAM_CONF_OPTS); \ + $(MAKE) $(OSCAM_MAKE_OPTS); + + -- 2.39.5