summaryrefslogtreecommitdiff
blob: 0fdd4b76eed122a5c2f569e79987abe0f6f6ebf0 (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
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

DESCRIPTION="Library to extract metadata from files of arbitrary type"
HOMEPAGE="https://www.gnu.org/software/libextractor/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm ppc ppc64 x86"
IUSE="apparmor +archive +bzip2 ffmpeg flac gif gsf gstreamer gtk jpeg +magic midi mp4 mpeg tidy tiff vorbis +zlib" # test

RESTRICT="test"

DEPEND="
	app-text/iso-codes
	dev-libs/glib:2
	media-gfx/exiv2:=
	sys-devel/libtool
	virtual/libiconv
	virtual/libintl
	apparmor? ( sys-libs/libapparmor )
	archive? ( app-arch/libarchive:= )
	bzip2? ( app-arch/bzip2 )
	ffmpeg? ( media-video/ffmpeg )
	flac? (
		media-libs/flac
		media-libs/libogg
	)
	gif? ( media-libs/giflib:= )
	gsf? ( gnome-extra/libgsf:= )
	gstreamer? (
		media-libs/gstreamer:1.0
		media-libs/gst-plugins-base:1.0
	)
	gtk? ( x11-libs/gtk+:3 )
	jpeg? ( virtual/jpeg:0 )
	magic? ( sys-apps/file )
	midi? ( media-libs/libsmf )
	mp4? ( media-libs/libmp4v2:0 )
	mpeg? ( media-libs/libmpeg2 )
	tidy? ( >=app-text/htmltidy-5.0.0 )
	tiff? ( media-libs/tiff:0 )
	vorbis? (
		media-libs/libogg
		media-libs/libvorbis
	)
	zlib? ( sys-libs/zlib )
"
BDEPEND="
	sys-devel/gettext
	virtual/pkgconfig
"
# test? ( app-forensics/zzuf )
RDEPEND="${DEPEND}
	!sci-biology/glimmer
"

PATCHES=(
	"${FILESDIR}"/${PN}-1.8-exiv2-0.27.patch # bug #674046
	"${FILESDIR}"/${P}-CVE-2019-15531.patch
)

src_prepare() {
	default

	# m4/ax_create_pkgconfig_info.m4 is passing environment LDFLAGS to Libs:
	sed -i \
		-e '/^ax_create_pkgconfig_ldflags=/s:$LDFLAGS ::' \
		configure src/plugins/html_extractor.c || die

	if ! use tidy; then
		sed -i -e 's:tidy.h:dIsAbLe&:' configure || die
	fi
}

src_configure() {
	e_ac_cv() {
		export ac_cv_"$@"
	}

	e_ac_cv {lib_rpm_rpmReadPackageFile,prog_HAVE_ZZUF}=no

	e_ac_cv header_FLAC_all_h=$(usex flac)
	e_ac_cv lib_FLAC_FLAC__stream_decoder_init_stream=$(usex flac)
	e_ac_cv lib_FLAC_FLAC__stream_decoder_init_ogg_stream=$(usex flac)

	e_ac_cv header_sys_apparmor_h=$(usex apparmor)
	e_ac_cv header_archive_h=$(usex archive)
	e_ac_cv header_bzlib_h=$(usex bzip2)
	e_ac_cv header_gif_lib_h=$(usex gif)
	e_ac_cv header_jpeglib_h=$(usex jpeg)
	e_ac_cv header_magic_h=$(usex magic)
	e_ac_cv header_mpeg2dec_mpeg2_h=$(usex mpeg)
	e_ac_cv header_tiffio_h=$(usex tiff)
	e_ac_cv header_vorbis_vorbisfile_h=$(usex vorbis)
	e_ac_cv header_zlib_h=$(usex zlib)
	e_ac_cv lib_mp4v2_MP4ReadProvider=$(usex mp4)
	e_ac_cv lib_smf_smf_load_from_memory=$(usex midi)

	local myeconfargs=(
		--disable-static
		--enable-experimental
		--enable-glib
		--disable-gsf-gnome
		$(use_enable ffmpeg)
		$(use_enable gsf)
		$(use_with gstreamer)
	)
	econf "${myeconfargs[@]}"
}

src_install() {
	default
	find "${ED}" -name '*.la' -delete || die
}