blob: 8a0a8f79b6064e414f3f2439b20c687829a9cb27 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs xdg
DESCRIPTION="Implementation of the MPEG-4 Systems standard developed from scratch in ANSI C"
HOMEPAGE="https://gpac.wp.imt.fr/"
SRC_URI="https://github.com/gpac/gpac/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0/12"
KEYWORDS="~alpha amd64 ppc ppc64 sparc x86"
IUSE="
X a52 aac alsa dvb ffmpeg http2 jack jpeg jpeg2k libcaca lzma mad
opengl png pulseaudio sdl ssl theora truetype vorbis xvid
"
RDEPEND="
sys-libs/zlib:=
X? (
x11-libs/libX11
x11-libs/libXv
x11-libs/libXext
)
a52? ( media-libs/a52dec )
aac? ( media-libs/faad2 )
alsa? ( media-libs/alsa-lib )
ffmpeg? ( media-video/ffmpeg:= )
http2? ( net-libs/nghttp2:= )
jack? ( virtual/jack )
jpeg2k? ( media-libs/openjpeg:2= )
jpeg? ( media-libs/libjpeg-turbo:= )
libcaca? ( media-libs/libcaca )
lzma? ( app-arch/xz-utils )
mad? ( media-libs/libmad )
opengl? (
media-libs/libglvnd[X]
x11-libs/libX11
virtual/glu
)
png? ( media-libs/libpng:= )
pulseaudio? ( media-libs/libpulse )
sdl? ( media-libs/libsdl2 )
ssl? ( dev-libs/openssl:= )
theora? (
media-libs/libogg
media-libs/libtheora
)
truetype? ( media-libs/freetype )
vorbis? ( media-libs/libvorbis )
xvid? ( media-libs/xvid )
"
DEPEND="
${RDEPEND}
X? ( x11-base/xorg-proto )
dvb? ( sys-kernel/linux-headers )
"
BDEPEND="
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${P}-configure-stddef.patch
"${FILESDIR}"/${P}-ffmpeg6.patch
"${FILESDIR}"/${P}-ffmpeg7.patch
)
src_prepare() {
default
# respect *FLAGS
sed -e '/^sseflags=/d' -e 's/-O[0-3] //' -i configure || die
# some configure options are ignored? (check if still needed on bump)
use alsa || sed -i 's/^check_has_lib alsa/:/' configure || die
use jack || sed -i 's/^check_has_lib jack/:/' configure || die
use lzma || sed -i 's/^check_has_lib lzma/:/' configure || die
use pulseaudio || sed -i 's/^check_has_lib pulseaudio/:/' configure || die
use sdl || sed -i 's/has_sdl=.*/has_sdl=no/' configure || die
}
src_configure() {
tc-export AR CC CXX RANLIB
gpac_use() {
usex ${1} --use-${2:-${1}}={system,no}
}
local conf=(
./configure # not autotools-based
--prefix="${EPREFIX}"/usr
--libdir="$(get_libdir)"
--extra-cflags="${CFLAGS}"
--enable-pic
--verbose
$(use_enable X x11)
$(use_enable dvb dvbx)
$(use_enable opengl 3d)
$(gpac_use a52)
$(gpac_use alsa)
$(gpac_use dvb dvb4linux)
$(gpac_use aac faad)
$(gpac_use ffmpeg)
$(gpac_use truetype freetype)
--use-hid=no # only for a deprecated module
$(gpac_use jack)
$(gpac_use jpeg)
$(gpac_use libcaca)
$(gpac_use lzma)
$(gpac_use mad)
$(gpac_use http2 nghttp2)
$(gpac_use jpeg2k openjpeg)
$(gpac_use png)
$(gpac_use pulseaudio)
$(gpac_use sdl)
$(gpac_use ssl)
$(gpac_use vorbis)
$(gpac_use theora)
$(gpac_use xvid)
# not packaged
--use-caption=no
--use-directfb=no
--use-freenect=no
--use-mpeghdec=no
--use-openhevc=no
--use-opensvc=no
)
einfo "${conf[*]}"
"${conf[@]}" || die
}
src_install() {
emake STRIP=: DESTDIR="${D}" install
dodoc Changelog README.md share/doc/{*.{bt,doc,txt},SceneGenerators}
find "${ED}" -type f -name '*.a' -delete || die
}
|