pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

wip/openwv: Load .wvd from file




To: pkgsrc-wip-changes%NetBSD.org@localhost

Subject: wip/openwv: Load .wvd from file

From: Ryo ONODERA (via pkgsrc-wip) <commit-notify%pkgsrc.org@localhost>

Date: Wed, 21 Jan 2026 13:49:00 +0000


Module Name: pkgsrc-wip
Committed By: Ryo ONODERA <ryoon%NetBSD.org@localhost>
Pushed By: ryoon
Date:  Wed Jan 21 22:48:11 2026 +0900
Changeset: 2f946da51804ea97622b94a576910ebdca5f5d32

Modified Files:
 openwv/MESSAGE
 openwv/Makefile
 openwv/distinfo
Added Files:
 openwv/patches/patch-src_config.rs
 openwv/patches/patch-src_openwv.rs

Log Message:
wip/openwv: Load .wvd from file

* Use patches from OpenBSD Ports.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=2f946da51804ea97622b94a576910ebdca5f5d32

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 openwv/MESSAGE                     |  2 ++
 openwv/Makefile                    |  9 +++++++--
 openwv/distinfo                    |  2 ++
 openwv/patches/patch-src_config.rs | 23 +++++++++++++++++++++++
 openwv/patches/patch-src_openwv.rs | 34 ++++++++++++++++++++++++++++++++++
 5 files changed, 68 insertions(+), 2 deletions(-)

diffs:
diff --git a/openwv/MESSAGE b/openwv/MESSAGE
index 416917ed51..9b2d4dcaf3 100644
--- a/openwv/MESSAGE
+++ b/openwv/MESSAGE
@@ -1,6 +1,8 @@
 ===========================================================================
 $NetBSD: MESSAGE,v 1.1 2011/03/03 10:51:59 ryoon Exp $
 
+For Firefox web browser:
+
 (1) Open about:support in www/firefox and get profile name.
 (2) Create gmp-widevinecdm/openwv directory under profile directory.
 $ mkdir -p ~/.mozilla/<profile>/gmp-widevinecdm/openwv
diff --git a/openwv/Makefile b/openwv/Makefile
index f41f42b11f..bccef3b447 100644
--- a/openwv/Makefile
+++ b/openwv/Makefile
@@ -1,6 +1,7 @@
 # $NetBSD$
 
 DISTNAME= openwv-1.1.3
+PKGREVISION= 1
 CATEGORIES= multimedia
 # Tarball contains Git submodule and result of `cargo vendor`.
 MASTER_SITES= https://www.ryoon.net/~ryoon/
@@ -13,14 +14,18 @@ LICENSE= gnu-lgpl-v3
 
 USE_LANGUAGES= c c++
 
+SUBST_CLASSES+=  etc
+SUBST_STAGE.etc= pre-configure
+SUBST_MESSAGE.etc= Setting PKG_SYSCONFDIR
+SUBST_FILES.etc+= src/openwv.rs
+SUBST_VARS.etc+= PKG_SYSCONFDIR
+
 INSTALLATION_DIRS+= share/openwv
 
 post-extract:
  # Adjust for vendor handling of cargo.mk
  cd ${WRKSRC} && \
   ${MV} vendor ..
- # Copy embedded.wvd file to ${WRKSRC} manually.
- #${CP} ${SOMEWHERE}/keydive.wvd ${WRKSRC}/embedded.wvd
 
 do-install:
  ${INSTALL_LIB} ${WRKSRC}/target/release/libwidevinecdm.so \
diff --git a/openwv/distinfo b/openwv/distinfo
index c7f309e804..e9a8633193 100644
--- a/openwv/distinfo
+++ b/openwv/distinfo
@@ -4,3 +4,5 @@ BLAKE2s (openwv-1.1.3.tar.bz2) = 2457e67c8cfcc33b7cc4161ad59fdb96176fe5f37805141
 SHA512 (openwv-1.1.3.tar.bz2) = 1168029017b0ccc92c119e860a37e565940d54f9f4b2759e26da9ae615c1940f83483cffea642c2e36e958d77f99c6bc58df9c747d08b3d229bc839093f4766f
 Size (openwv-1.1.3.tar.bz2) = 23790667 bytes
 SHA1 (patch-Cargo.toml) = bdda1d5ee91423d173e659bd4c305d4362a6f0c8
+SHA1 (patch-src_config.rs) = 80c6aee2b32fa9376b71f530719e88f6f3e70285
+SHA1 (patch-src_openwv.rs) = 5cb12ef32d13f7c0806f81d05501c2b1ebc5b53d
diff --git a/openwv/patches/patch-src_config.rs b/openwv/patches/patch-src_config.rs
new file mode 100644
index 0000000000..0214abac73
--- /dev/null
+++ b/openwv/patches/patch-src_config.rs
@@ -0,0 +1,23 @@
+$NetBSD$
+
+* Load .wvd data from file. Taken from OpenBSD Ports.
+
+--- src/config.rs.orig 2026-01-20 13:27:18.000000000 +0000
++++ src/config.rs
+@@ -3,16 +3,11 @@ pub const CONFIG: OpenWvConfig = OpenWvConfig {
+ /// go in a configuration file. See the comments on the structs and enums below
+ /// for information on the meaning of each parameter.
+ pub const CONFIG: OpenWvConfig = OpenWvConfig {
+-    widevine_device: include_bytes!("../embedded.wvd"),
+     log_level: log::LevelFilter::Info,
+     encrypt_client_id: EncryptClientId::Always,
+ };
+ 
+ pub struct OpenWvConfig {
+-    /// A pywidevine `.wvd` file containing the private key and Client ID to
+-    /// present in license requests. You must obtain this on your own.
+-    pub widevine_device: &'static [u8],
+-
+     /// This can be overridden by the OPENWV_LOG environment variable, but some
+     /// browsers like Firefox don't let CDMs see the full environment.
+     pub log_level: log::LevelFilter,
diff --git a/openwv/patches/patch-src_openwv.rs b/openwv/patches/patch-src_openwv.rs
new file mode 100644
index 0000000000..e563534cd3
--- /dev/null
+++ b/openwv/patches/patch-src_openwv.rs
@@ -0,0 +1,34 @@
+$NetBSD$
+
+* Load .wvd data from file. Taken from OpenBSD Ports.
+
+--- src/openwv.rs.orig 2026-01-20 13:27:18.000000000 +0000
++++ src/openwv.rs
+@@ -1,13 +1,13 @@ use std::ffi::{c_char, c_int, c_uchar, c_void};
+ use autocxx::subclass::{CppSubclassSelfOwned, subclass};
+ use log::{debug, error, info, trace, warn};
+ use std::ffi::{c_char, c_int, c_uchar, c_void};
++use std::fs::File;
+ use std::pin::Pin;
+ use std::ptr::{null, null_mut};
+ use std::sync::OnceLock;
+ 
+ use crate::CdmError;
+ use crate::common_host::{CommonHost, downcast_host};
+-use crate::config::CONFIG;
+ use crate::decrypt::{DecryptError, decrypt_buf};
+ use crate::ffi::cdm;
+ use crate::service_certificate::{ServerCertificate, parse_service_certificate};
+@@ -27,7 +27,11 @@ extern "C" fn InitializeCdmModule_4() {
+ 
+     info!("OpenWV version {} initializing", env!("CARGO_PKG_VERSION"));
+ 
+-    let mut embedded_wvd = std::io::Cursor::new(CONFIG.widevine_device);
++    let f = File::open("@PKG_SYSCONFDIR@/openwv/widevine_device.wvd");
++    let mut embedded_wvd = match f {
++        Ok(file) => file,
++        Err(_) => return(),
++    };
+     match wvd_file::parse_wvd(&mut embedded_wvd) {
+         Ok(dev) => {
+             if DEVICE.set(dev).is_err() {




Prev by Date: emscripten: media files found needed at runtime, packaged

Next by Date: libxtend: Update to 0.2.1.16

Previous by Thread: emscripten: media files found needed at runtime, packaged

Next by Thread: libxtend: Update to 0.2.1.16

Indexes:

reverse Date

reverse Thread

Old Index



Home | Main Index | Thread Index | Old Index