ソースを参照

Allow to disable encryption for srt (mostly for dev purposes)

Sergey Ilinykh 3 年 前
コミット
fe4d110928

+ 1 - 0
net-libs/srt/Manifest

@@ -0,0 +1 @@
+DIST srt-1.4.3.tar.gz 1602671 SHA256 c06e05664c71d635c37207a2b5a444f2c4a95950a3548402b3e0c524f735b33d SHA512 5cd15fd0c7b324226ab096c1b6c6f81b4ce5600617e1bd2c38985f18d7d551c9a4a09b1e34c7a705c92ae54bb57c5d736ca7eff6e4992e67666aa167e0da855f WHIRLPOOL e602389a15af10ceef5fe436d34940ff837faaa1cebc237c68ac631c9827b4fa96987fbd2032546ba0f7133a68f847d857cb3168cf10419571ca2026ac1626cd

+ 27 - 0
net-libs/srt/files/1.4.3-always-GNUInstallDirs.patch

@@ -0,0 +1,27 @@
+From 4036afdcd07083159d66c6e12caa20d6ac6d4926 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Sat, 10 Jul 2021 15:02:35 +0300
+Subject: [PATCH] [build] Always use GNUInstallDirs
+
+---
+ CMakeLists.txt | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 25f34c8..fe23f90 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -47,9 +47,7 @@ set_if(SYMLINKABLE LINUX OR DARWIN OR BSD OR CYGWIN OR GNU)
+ # inside "bin" and "lib64" directories. At least this maintains
+ # the current status. Shall this be not desired, override values
+ # of CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR.
+-if (NOT DEFINED CMAKE_INSTALL_LIBDIR)
+-	include(GNUInstallDirs)
+-endif()
++include(GNUInstallDirs)
+ 
+ # The CMAKE_BUILD_TYPE seems not to be always set, weird.
+ if (NOT DEFINED ENABLE_DEBUG)
+-- 
+2.32.0
+

+ 18 - 0
net-libs/srt/metadata.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>lu_zero@gentoo.org</email>
+		<name>Luca Barbato</name>
+	</maintainer>
+	<maintainer type="person">
+		<email>leio@gentoo.org</email>
+		<name>Mart Raudsepp</name>
+	</maintainer>
+	<upstream>
+		<remote-id type="github">Haivision/srt</remote-id>
+	</upstream>
+	<use>
+		<flag name='encryption'>Enable encryption of the SRT stream</flag>
+	</use>
+</pkgmetadata>

+ 56 - 0
net-libs/srt/srt-1.4.3.ebuild

@@ -0,0 +1,56 @@
+# Copyright 2018-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib
+
+DESCRIPTION="Secure Reliable Transport (SRT) library and tools"
+HOMEPAGE="https://github.com/Haivision/srt"
+
+if [[ ${PV} == *9999 ]] ; then
+	EGIT_REPO_URI="https://github.com/Haivision/${PN}.git"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/Haivision/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv -sparc ~x86 ~ppc-macos ~x64-macos"
+fi
+
+LICENSE="MPL-2.0"
+SLOT="0/1.4.3"
+IUSE="+encryption gnutls"
+REQUIRED_USE="gnutls? ( encryption )"
+
+RDEPEND="
+	encryption? (
+		gnutls? (
+			dev-libs/nettle:0=[${MULTILIB_USEDEP}]
+			net-libs/gnutls:0=[${MULTILIB_USEDEP}]
+		)
+		!gnutls? (
+			dev-libs/openssl:0=[${MULTILIB_USEDEP}]
+		)
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}/${PV}-always-GNUInstallDirs.patch"
+)
+
+src_configure() {
+	local mycmakeargs=(
+		-DENABLE_STATIC=OFF
+		-DENABLE_ENCRYPTION=$(usex encryption)
+	)
+	use encryption && mycmakeargs+=( -DUSE_GNUTLS=$(usex gnutls) )
+	cmake-multilib_src_configure
+}
+
+multilib_src_install() {
+	cmake_src_install
+	# remove old upstream temporary compatibility pc
+	rm "${ED}/usr/$(get_libdir)/pkgconfig/haisrt.pc" || die
+}