git: 3ec30bf92942 - main - multimedia/libdvdcss: Update to 1.5.0

From: Ganael LAPLANCHE <martymac_at_FreeBSD.org>
Date: Fri, 14 Nov 2025 18:21:52 UTC
The branch main has been updated by martymac:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3ec30bf929428567c0e750d5cc75ca43a4266cd1

commit 3ec30bf929428567c0e750d5cc75ca43a4266cd1
Author:     Ganael LAPLANCHE <martymac@FreeBSD.org>
AuthorDate: 2025-11-14 18:20:39 +0000
Commit:     Ganael LAPLANCHE <martymac@FreeBSD.org>
CommitDate: 2025-11-14 18:21:43 +0000

    multimedia/libdvdcss: Update to 1.5.0
    
    Changelog:      https://code.videolan.org/videolan/libdvdcss/-/blob/1.5.0/NEWS
---
 multimedia/libdvdcss/Makefile                | 22 ++++---
 multimedia/libdvdcss/distinfo                |  6 +-
 multimedia/libdvdcss/files/patch-meson.build | 10 +++
 multimedia/libdvdcss/files/patch-src-ioctl.c | 31 +++++++++
 multimedia/libdvdcss/files/patch-src-ioctl.h | 18 ++++++
 multimedia/libdvdcss/pkg-plist               | 94 +++++++++++++++++++++++++++-
 6 files changed, 166 insertions(+), 15 deletions(-)

diff --git a/multimedia/libdvdcss/Makefile b/multimedia/libdvdcss/Makefile
index 1d0769fdd3a9..be5bb6938eb1 100644
--- a/multimedia/libdvdcss/Makefile
+++ b/multimedia/libdvdcss/Makefile
@@ -1,8 +1,6 @@
 PORTNAME=	libdvdcss
-DISTVERSION=	1.4.3
+DISTVERSION=	1.5.0
 CATEGORIES=	multimedia
-MASTER_SITES=	https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
-		https://download.videolan.org/pub/${PORTNAME}/${DISTVERSION}/
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Portable abstraction library for DVD decryption
@@ -15,19 +13,23 @@ LICENSE_TEXT_DMCA=	CSS code may violate the DMCA
 LICENSE_FILE_GPLv2=	${WRKSRC}/COPYING
 LICENSE_PERMS_DMCA=	auto-accept
 
-USES=		libtool pathfix tar:bzip2
-
-GNU_CONFIGURE=	yes
+USES=		meson pkgconfig
 USE_LDCONFIG=	yes
-INSTALL_TARGET=	install-strip
 
-PORTDOCS=	*
+USE_GITLAB=	yes
+GL_SITE=	https://code.videolan.org/
+GL_ACCOUNT=	videolan
+
+PORTDOCS=	AUTHORS COPYING NEWS README.md
+
+MESON_ARGS=	-Ddefault_library=shared
 
 OPTIONS_DEFINE=	DOXYGEN DOCS
+OPTIONS_SUB=	yes
 
 DOXYGEN_BUILD_DEPENDS=	doxygen:devel/doxygen
-DOXYGEN_CONFIGURE_ENABLE=	doc
-DOXYGEN_USES=		gmake
+DOXYGEN_MESON_ON=	-Denable_docs=true
+DOXYGEN_MESON_OFF=	-Denable_docs=false
 
 post-install-DOXYGEN-on:
 	${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/multimedia/libdvdcss/distinfo b/multimedia/libdvdcss/distinfo
index c79bc1b33008..859f38ab0ac6 100644
--- a/multimedia/libdvdcss/distinfo
+++ b/multimedia/libdvdcss/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1619377457
-SHA256 (libdvdcss-1.4.3.tar.bz2) = 233cc92f5dc01c5d3a96f5b3582be7d5cee5a35a52d3a08158745d3d86070079
-SIZE (libdvdcss-1.4.3.tar.bz2) = 388404
+TIMESTAMP = 1761326119
+SHA256 (libdvdcss-1.5.0.tar.bz2) = f204a9d8ac8a8414095d556373e5af9b95bb7cc72bf1467d936a48c961e8c474
+SIZE (libdvdcss-1.5.0.tar.bz2) = 82007
diff --git a/multimedia/libdvdcss/files/patch-meson.build b/multimedia/libdvdcss/files/patch-meson.build
new file mode 100644
index 000000000000..3fbd102fe352
--- /dev/null
+++ b/multimedia/libdvdcss/files/patch-meson.build
@@ -0,0 +1,10 @@
+--- meson.build.orig	2025-09-23 08:43:53 UTC
++++ meson.build
+@@ -46,6 +46,7 @@ check_headers = [
+     'io.h',
+     'pwd.h',
+     'scsi/sg.h',
++    'cam/scsi/scsi_sg.h',
+     'sys/ioctl.h',
+     'sys/param.h',
+     'sys/stat.h',
diff --git a/multimedia/libdvdcss/files/patch-src-ioctl.c b/multimedia/libdvdcss/files/patch-src-ioctl.c
new file mode 100644
index 000000000000..c7ec1ddb2ef8
--- /dev/null
+++ b/multimedia/libdvdcss/files/patch-src-ioctl.c
@@ -0,0 +1,31 @@
+--- src/ioctl.c.orig	2025-09-23 08:43:53 UTC
++++ src/ioctl.c
+@@ -65,6 +65,10 @@
+ #   include <scsi/sg.h>
+ #   include <stdlib.h>
+ #endif
++#ifdef HAVE_CAM_SCSI_SCSI_SG_H
++#   include <cam/scsi/scsi_sg.h>
++#   include <stdlib.h>
++#endif
+ #ifdef DVD_STRUCT_IN_DVD_H
+ #   include <dvd.h>
+ #endif
+@@ -1002,7 +1006,7 @@ int ioctl_ReadCPRMMediaId(int i_fd,int *p_agid, uint8_
+ {  
+     int i_ret;
+ 
+-#if defined( HAVE_LINUX_DVD_STRUCT ) && defined( HAVE_SCSI_SG_H )
++#if (defined( HAVE_LINUX_DVD_STRUCT ) && defined( HAVE_SCSI_SG_H )) || (defined( HAVE_BSD_DVD_STRUCT ) && defined( HAVE_CAM_SCSI_SCSI_SG_H ))
+     struct sg_io_hdr io_hdr;
+     uint8_t sense[32] = {0};  
+     uint8_t cdb[12] = {0};
+@@ -1091,7 +1095,7 @@ int ioctl_ReadCPRMMKBPack(int i_fd, int *p_agid, int m
+ {
+     int i_ret;
+ 
+-#if defined( HAVE_LINUX_DVD_STRUCT ) && defined( HAVE_SCSI_SG_H )
++#if (defined( HAVE_LINUX_DVD_STRUCT ) && defined( HAVE_SCSI_SG_H )) || (defined( HAVE_BSD_DVD_STRUCT ) && defined( HAVE_CAM_SCSI_SCSI_SG_H ))
+     uint8_t *sptd_buf = malloc( CPRM_MKB_PACK_SIZE + 4 );
+     uint8_t cdb[12] = { 0 };
+     uint8_t sense[32] = { 0 };
diff --git a/multimedia/libdvdcss/files/patch-src-ioctl.h b/multimedia/libdvdcss/files/patch-src-ioctl.h
new file mode 100644
index 000000000000..a5a20aae73e1
--- /dev/null
+++ b/multimedia/libdvdcss/files/patch-src-ioctl.h
@@ -0,0 +1,18 @@
+--- src/ioctl.h.orig	2025-09-23 08:43:53 UTC
++++ src/ioctl.h
+@@ -106,6 +106,7 @@ typedef union dvd_authinfo dvd_authinfo;
+ #define GPCMD_READ_DVD_STRUCTURE 0xad
+ #define GPCMD_REPORT_KEY         0xa4
+ #define GPCMD_SEND_KEY           0xa3
++#ifndef DVD_STRUCT_IN_SYS_DVDIO_H
+  /* DVD struct types */
+ #define DVD_STRUCT_PHYSICAL      0x00
+ #define DVD_STRUCT_COPYRIGHT     0x01
+@@ -122,6 +123,7 @@ typedef union dvd_authinfo dvd_authinfo;
+ #define DVD_REPORT_ASF           0x05
+ #define DVD_SEND_RPC             0x06
+ #define DVD_REPORT_RPC           0x08
++#endif /* ndef DVD_STRUCT_IN_SYS_DVDIO_H */
+ #define DVDCSS_INVALIDATE_AGID   0x3f
+ 
+ /*****************************************************************************
diff --git a/multimedia/libdvdcss/pkg-plist b/multimedia/libdvdcss/pkg-plist
index 70aa2c90175c..ae8c761fc302 100644
--- a/multimedia/libdvdcss/pkg-plist
+++ b/multimedia/libdvdcss/pkg-plist
@@ -1,7 +1,97 @@
+include/dvdcss/dvdcpxm.h
 include/dvdcss/dvdcss.h
 include/dvdcss/version.h
-lib/libdvdcss.a
 lib/libdvdcss.so
 lib/libdvdcss.so.2
-lib/libdvdcss.so.2.2.0
+lib/libdvdcss.so.2.3.0
 libdata/pkgconfig/libdvdcss.pc
+%%DOXYGEN%%%%DOCSDIR%%/annotated.html
+%%DOXYGEN%%%%DOCSDIR%%/bc_s.png
+%%DOXYGEN%%%%DOCSDIR%%/bc_sd.png
+%%DOXYGEN%%%%DOCSDIR%%/bdwn.png
+%%DOXYGEN%%%%DOCSDIR%%/classes.html
+%%DOXYGEN%%%%DOCSDIR%%/closed.png
+%%DOXYGEN%%%%DOCSDIR%%/dir_4d9adf96037cc97535522e98f7ddce7a.html
+%%DOXYGEN%%%%DOCSDIR%%/doc.png
+%%DOXYGEN%%%%DOCSDIR%%/docd.png
+%%DOXYGEN%%%%DOCSDIR%%/doxygen.css
+%%DOXYGEN%%%%DOCSDIR%%/doxygen.svg
+%%DOXYGEN%%%%DOCSDIR%%/dvdcss_8h.html
+%%DOXYGEN%%%%DOCSDIR%%/dvdcss_8h_source.html
+%%DOXYGEN%%%%DOCSDIR%%/dynsections.js
+%%DOXYGEN%%%%DOCSDIR%%/files.html
+%%DOXYGEN%%%%DOCSDIR%%/folderclosed.png
+%%DOXYGEN%%%%DOCSDIR%%/folderopen.png
+%%DOXYGEN%%%%DOCSDIR%%/functions.html
+%%DOXYGEN%%%%DOCSDIR%%/functions_vars.html
+%%DOXYGEN%%%%DOCSDIR%%/globals.html
+%%DOXYGEN%%%%DOCSDIR%%/globals_defs.html
+%%DOXYGEN%%%%DOCSDIR%%/globals_func.html
+%%DOXYGEN%%%%DOCSDIR%%/globals_type.html
+%%DOXYGEN%%%%DOCSDIR%%/html/annotated.html
+%%DOXYGEN%%%%DOCSDIR%%/html/bc_s.png
+%%DOXYGEN%%%%DOCSDIR%%/html/bc_sd.png
+%%DOXYGEN%%%%DOCSDIR%%/html/bdwn.png
+%%DOXYGEN%%%%DOCSDIR%%/html/classes.html
+%%DOXYGEN%%%%DOCSDIR%%/html/closed.png
+%%DOXYGEN%%%%DOCSDIR%%/html/dir_4d9adf96037cc97535522e98f7ddce7a.html
+%%DOXYGEN%%%%DOCSDIR%%/html/doc.png
+%%DOXYGEN%%%%DOCSDIR%%/html/docd.png
+%%DOXYGEN%%%%DOCSDIR%%/html/doxygen.css
+%%DOXYGEN%%%%DOCSDIR%%/html/doxygen.svg
+%%DOXYGEN%%%%DOCSDIR%%/html/dvdcss_8h.html
+%%DOXYGEN%%%%DOCSDIR%%/html/dvdcss_8h_source.html
+%%DOXYGEN%%%%DOCSDIR%%/html/dynsections.js
+%%DOXYGEN%%%%DOCSDIR%%/html/files.html
+%%DOXYGEN%%%%DOCSDIR%%/html/folderclosed.png
+%%DOXYGEN%%%%DOCSDIR%%/html/folderopen.png
+%%DOXYGEN%%%%DOCSDIR%%/html/functions.html
+%%DOXYGEN%%%%DOCSDIR%%/html/functions_vars.html
+%%DOXYGEN%%%%DOCSDIR%%/html/globals.html
+%%DOXYGEN%%%%DOCSDIR%%/html/globals_defs.html
+%%DOXYGEN%%%%DOCSDIR%%/html/globals_func.html
+%%DOXYGEN%%%%DOCSDIR%%/html/globals_type.html
+%%DOXYGEN%%%%DOCSDIR%%/html/index.html
+%%DOXYGEN%%%%DOCSDIR%%/html/jquery.js
+%%DOXYGEN%%%%DOCSDIR%%/html/nav_f.png
+%%DOXYGEN%%%%DOCSDIR%%/html/nav_fd.png
+%%DOXYGEN%%%%DOCSDIR%%/html/nav_g.png
+%%DOXYGEN%%%%DOCSDIR%%/html/nav_h.png
+%%DOXYGEN%%%%DOCSDIR%%/html/nav_hd.png
+%%DOXYGEN%%%%DOCSDIR%%/html/open.png
+%%DOXYGEN%%%%DOCSDIR%%/html/splitbar.png
+%%DOXYGEN%%%%DOCSDIR%%/html/splitbard.png
+%%DOXYGEN%%%%DOCSDIR%%/html/structdvdcss__stream__cb.html
+%%DOXYGEN%%%%DOCSDIR%%/html/sync_off.png
+%%DOXYGEN%%%%DOCSDIR%%/html/sync_on.png
+%%DOXYGEN%%%%DOCSDIR%%/html/tab_a.png
+%%DOXYGEN%%%%DOCSDIR%%/html/tab_ad.png
+%%DOXYGEN%%%%DOCSDIR%%/html/tab_b.png
+%%DOXYGEN%%%%DOCSDIR%%/html/tab_bd.png
+%%DOXYGEN%%%%DOCSDIR%%/html/tab_h.png
+%%DOXYGEN%%%%DOCSDIR%%/html/tab_hd.png
+%%DOXYGEN%%%%DOCSDIR%%/html/tab_s.png
+%%DOXYGEN%%%%DOCSDIR%%/html/tab_sd.png
+%%DOXYGEN%%%%DOCSDIR%%/html/tabs.css
+%%DOXYGEN%%%%DOCSDIR%%/index.html
+%%DOXYGEN%%%%DOCSDIR%%/jquery.js
+%%DOXYGEN%%%%DOCSDIR%%/nav_f.png
+%%DOXYGEN%%%%DOCSDIR%%/nav_fd.png
+%%DOXYGEN%%%%DOCSDIR%%/nav_g.png
+%%DOXYGEN%%%%DOCSDIR%%/nav_h.png
+%%DOXYGEN%%%%DOCSDIR%%/nav_hd.png
+%%DOXYGEN%%%%DOCSDIR%%/open.png
+%%DOXYGEN%%%%DOCSDIR%%/splitbar.png
+%%DOXYGEN%%%%DOCSDIR%%/splitbard.png
+%%DOXYGEN%%%%DOCSDIR%%/structdvdcss__stream__cb.html
+%%DOXYGEN%%%%DOCSDIR%%/sync_off.png
+%%DOXYGEN%%%%DOCSDIR%%/sync_on.png
+%%DOXYGEN%%%%DOCSDIR%%/tab_a.png
+%%DOXYGEN%%%%DOCSDIR%%/tab_ad.png
+%%DOXYGEN%%%%DOCSDIR%%/tab_b.png
+%%DOXYGEN%%%%DOCSDIR%%/tab_bd.png
+%%DOXYGEN%%%%DOCSDIR%%/tab_h.png
+%%DOXYGEN%%%%DOCSDIR%%/tab_hd.png
+%%DOXYGEN%%%%DOCSDIR%%/tab_s.png
+%%DOXYGEN%%%%DOCSDIR%%/tab_sd.png
+%%DOXYGEN%%%%DOCSDIR%%/tabs.css