diff --git a/multimedia/oscam/Makefile b/multimedia/oscam/Makefile index 471e4e8c75f6..91015a1b5865 100644 --- a/multimedia/oscam/Makefile +++ b/multimedia/oscam/Makefile @@ -1,52 +1,47 @@ # Created by: Franz Bettag # $FreeBSD$ PORTNAME= oscam -PORTVERSION= 1.20 -PORTREVISION= 1 +DISTVERSION= g20200313 CATEGORIES= multimedia -MASTER_SITES= http://el8.nl/~fbettag/oscam/ +MASTER_SITES= https://repo.or.cz/oscam.git/snapshot/7f322cc2cd840f4197488a3ead2c3e48b51e8278.tar.gz?/ MAINTAINER= franz@bett.ag COMMENT= Softcam software to decrypt digital tv channels LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/COPYING -USES= compiler gmake ssl tar:bzip2 -USE_RC_SUBR= oscam +LIB_DEPENDS= libpcsclite.so:devel/pcsc-lite -.if target(gen-dist) -FETCH_DEPENDS+= svn:devel/subversion -.endif -SVN_REV= 11062 -SVN_SRC= http://www.streamboard.tv/svn/oscam/trunk +USES= gmake ssl +USE_RC_SUBR= oscam OPTIONS_DEFINE= EXAMPLES -.include +MAKE_ARGS= CC="${CC}" HOSTCC="${CC}" \ + USE_LIBCRYPTO=1 USE_LIBUSB=1 USE_PCSC=1 USE_SSL=1 \ + USE_UTF8=1 LIBUSB_LIB=-lusb \ + PCSC_FLAGS="-I${PREFIX}/include/PCSC" \ + EXTRA_LDFLAGS="-L${PREFIX}/lib" \ + OSCAM_BIN="Distribution/oscam" CONF_DIR="${PREFIX}/etc/oscam" \ + V=1 -.if ${SSL_DEFAULT} == base -BROKEN_FreeBSD_12= field has incomplete type 'BIGNUM' (aka 'struct bignum_st') -BROKEN_FreeBSD_13= field has incomplete type 'BIGNUM' (aka 'struct bignum_st') -.endif +WRKSRC= ${WRKDIR}/${PORTNAME}-7f322cc + +.include -.if ${CHOSEN_COMPILER_TYPE} == clang -MAKE_ARGS+= HOSTCC=clang CC=clang +.if ${ARCH:Mmips*} +USE_GCC= yes .endif do-install: - ${RM} ${WRKSRC}/Distribution/*.debug - ${INSTALL_PROGRAM} ${WRKSRC}/Distribution/${PORTNAME}-${PORTVERSION}-* ${STAGEDIR}${PREFIX}/bin/oscam + ${INSTALL_PROGRAM} ${WRKSRC}/Distribution/oscam ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.1 ${STAGEDIR}${PREFIX}/man/man1/ ${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.5 ${STAGEDIR}${PREFIX}/man/man5/ do-install-EXAMPLES-on: ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/ ${INSTALL_DATA} ${WRKSRC}/Distribution/doc/example/* ${STAGEDIR}${EXAMPLESDIR}/ -gen-dist: - ${MKDIR} ${WRKDIR} - svn export --force -r ${SVN_REV} ${SVN_SRC} ${WRKSRC} - ${TAR} -cvy -C ${WRKDIR} -f ${DISTDIR}/${DISTNAME}.tar.bz2 ${DISTNAME} - .include diff --git a/multimedia/oscam/distinfo b/multimedia/oscam/distinfo index 2accee3364fe..caf745d40300 100644 --- a/multimedia/oscam/distinfo +++ b/multimedia/oscam/distinfo @@ -1,2 +1,3 @@ -SHA256 (oscam-1.20.tar.bz2) = a5b5be89bfca069ae2317f9a0590cf984d839b3b7030647eb0e8bbbb60c75eeb -SIZE (oscam-1.20.tar.bz2) = 977098 +TIMESTAMP = 1584211490 +SHA256 (oscam-g20200313.tar.gz) = ad22b199afb4b5f446220287df6e378d416921096b3c567ca4f6e76c91fcf516 +SIZE (oscam-g20200313.tar.gz) = 1264325 diff --git a/multimedia/oscam/files/patch-Makefile.extra b/multimedia/oscam/files/patch-Makefile.extra deleted file mode 100644 index f5f090265d61..000000000000 --- a/multimedia/oscam/files/patch-Makefile.extra +++ /dev/null @@ -1,20 +0,0 @@ ---- Makefile.extra.orig 2015-09-30 21:11:35 UTC -+++ Makefile.extra -@@ -4,7 +4,6 @@ i386-pc-freebsd: simple - hppa1.1-hp-hpux10.20: simple - alpha-dec-osf5.1: simple - linux: simple --freebsd: simple - tuxbox: cross-powerpc-tuxbox-linux - tripledragon: cross-powerpc-405-linux - win: cross-i386-pc-cygwin -@@ -19,6 +18,9 @@ i386-pc-linux-pcsc: pcsc - i386-pc-linux-pcsc-libusb: pcsc-libusb - libusb-pcsc: pcsc-libusb - -+freebsd: -+ $(MAKE) USE_LIBUSB=1 USE_LIBCRYPTO=1 CONF_DIR=/usr/local/etc/oscam LIBUSB_LIB=-lusb $(MAKEFLAGS) -+ - libusb: - $(MAKE) --no-print-directory \ - USE_LIBUSB=1 \ diff --git a/multimedia/oscam/files/patch-config.h b/multimedia/oscam/files/patch-config.h index 6fdb1d19b4ce..0fdea68c5732 100644 --- a/multimedia/oscam/files/patch-config.h +++ b/multimedia/oscam/files/patch-config.h @@ -1,41 +1,11 @@ ---- config.h.orig 2015-09-30 21:11:35 UTC +--- config.h.orig 2020-03-14 17:14:49 UTC +++ config.h -@@ -5,10 +5,8 @@ - #define WEBIF_LIVELOG 1 - #define WEBIF_JQUERY 1 - #define TOUCH 1 --//#define WITH_SSL 1 --#if defined(__linux__) || defined(__CYGWIN__) -+#define WITH_SSL 1 - #define HAVE_DVBAPI 1 --#endif - #define READ_SDT_CHARSETS 1 - #define CLOCKFIX 1 - #define IRDETO_GUESSING 1 -@@ -23,18 +21,18 @@ - #define MODULE_MONITOR 1 - - //#define MODULE_CAMD33 1 --#define MODULE_CAMD35 1 --#define MODULE_CAMD35_TCP 1 -+//#define MODULE_CAMD35 1 -+//#define MODULE_CAMD35_TCP 1 - #define MODULE_NEWCAMD 1 - #define MODULE_CCCAM 1 - #define MODULE_CCCSHARE 1 --#define MODULE_GBOX 1 --#define MODULE_RADEGAST 1 --#define MODULE_SERIAL 1 -+//#define MODULE_GBOX 1 -+//#define MODULE_RADEGAST 1 -+//#define MODULE_SERIAL 1 - #define MODULE_CONSTCW 1 --#define MODULE_PANDORA 1 --#define MODULE_GHTTP 1 --#define MODULE_SCAM 1 -+//#define MODULE_PANDORA 1 -+//#define MODULE_GHTTP 1 -+//#define MODULE_SCAM 1 +@@ -34,7 +34,7 @@ + //#define MODULE_SERIAL 1 + //#define MODULE_CONSTCW 1 + //#define MODULE_PANDORA 1 +-//#define MODULE_GHTTP 1 ++#define MODULE_GHTTP 1 + #define MODULE_SCAM 1 #define WITH_CARDREADER 1 - diff --git a/multimedia/oscam/files/patch-globals.h b/multimedia/oscam/files/patch-globals.h index 144e1dc4eb01..03d03c38122b 100644 --- a/multimedia/oscam/files/patch-globals.h +++ b/multimedia/oscam/files/patch-globals.h @@ -1,21 +1,10 @@ ---- globals.h.orig 2015-09-28 21:33:12 UTC +--- globals.h.orig 2020-03-14 15:56:57 UTC +++ globals.h -@@ -124,6 +124,18 @@ typedef unsigned char uchar; - #define DEFAULT_AF AF_INET - #endif +@@ -36,7 +36,6 @@ + #include + #include + #include +-#include -+#ifdef IPV6SUPPORT -+#if !defined s6_addr32 && defined __sun__ -+# define s6_addr32 _S6_un._S6_u32 -+#elif !defined s6_addr32 && ( defined __OpenBSD__ || defined __FreeBSD__ ) -+# define s6_addr32 __u6_addr.__u6_addr32 -+#endif /* !defined s6_addr32 */ -+#endif -+ -+#ifndef SOL_TCP -+# define SOL_TCP IPPROTO_TCP -+#endif -+ - #ifndef NO_ENDIAN_H - #if defined(__APPLE__) - #include + /* + * The following hack is taken from Linux: include/linux/kconfig.h diff --git a/multimedia/oscam/files/patch-module-dvbapi.c b/multimedia/oscam/files/patch-module-dvbapi.c deleted file mode 100644 index 4a303cb7f1eb..000000000000 --- a/multimedia/oscam/files/patch-module-dvbapi.c +++ /dev/null @@ -1,48 +0,0 @@ ---- module-dvbapi.c.orig 2015-10-10 17:22:23 UTC -+++ module-dvbapi.c -@@ -3,7 +3,6 @@ - #include "globals.h" - - #ifdef HAVE_DVBAPI -- - #include "module-dvbapi.h" - #include "module-cacheex.h" - #include "module-dvbapi-azbox.h" -@@ -4290,6 +4289,7 @@ static void *dvbapi_main_local(void *cli - { - int32_t i, j; - struct s_client *client = (struct s_client *) cli; -+ const char pmt_server_socket[]="/tmp/.listen.camd.socket"; - client->thread = pthread_self(); - SAFE_SETSPECIFIC(getclient, cli); - -@@ -4298,11 +4298,9 @@ static void *dvbapi_main_local(void *cli - int32_t maxpfdsize = (MAX_DEMUX * maxfilter) + MAX_DEMUX + 2; - struct pollfd pfd2[maxpfdsize]; - struct timeb start, end; // start time poll, end time poll --#define PMT_SERVER_SOCKET "/tmp/.listen.camd.socket" - struct sockaddr_un saddr; - saddr.sun_family = AF_UNIX; -- strncpy(saddr.sun_path, PMT_SERVER_SOCKET, 107); -- saddr.sun_path[107] = '\0'; -+ strncpy(saddr.sun_path, pmt_server_socket, sizeof(saddr.sun_path)/sizeof(saddr.sun_path[0])); - - int32_t rc, pfdcount, g, connfd, clilen; - int32_t ids[maxpfdsize], fdn[maxpfdsize], type[maxpfdsize]; -@@ -4366,13 +4364,15 @@ static void *dvbapi_main_local(void *cli - signal_action.sa_flags = SA_RESTART; - sigaction(SIGRTMIN + 1, &signal_action, NULL); - -+ /* - dir_fd = open(TMPDIR, O_RDONLY); - if(dir_fd >= 0) - { - fcntl(dir_fd, F_SETSIG, SIGRTMIN + 1); - fcntl(dir_fd, F_NOTIFY, DN_MODIFY | DN_CREATE | DN_DELETE | DN_MULTISHOT); - event_handler(SIGRTMIN + 1); -- } -+ }*/ -+ cs_log("Only PMT 4-6 supported on FreeBSD, sorry..."); - } - else - { diff --git a/multimedia/oscam/files/patch-module-webif-lib.c b/multimedia/oscam/files/patch-module-webif-lib.c deleted file mode 100644 index 2b46a284be11..000000000000 --- a/multimedia/oscam/files/patch-module-webif-lib.c +++ /dev/null @@ -1,18 +0,0 @@ ---- module-webif-lib.c.orig 2015-06-30 13:06:41 UTC -+++ module-webif-lib.c -@@ -864,6 +864,7 @@ SSL_CTX *SSL_Webif_Init(void) - CRYPTO_set_dynlock_lock_callback(SSL_dyn_lock_function); - CRYPTO_set_dynlock_destroy_callback(SSL_dyn_destroy_function); - -+#ifndef OPENSSL_NO_SSL3 - if(cfg.http_force_sslv3) - { - ctx = SSL_CTX_new(SSLv3_server_method()); -@@ -876,6 +877,7 @@ SSL_CTX *SSL_Webif_Init(void) - SSL_CTX_set_cipher_list(ctx, SSL_TXT_RC4); - } - else -+#endif - { ctx = SSL_CTX_new(SSLv23_server_method()); } - - char path[128];