summaryrefslogtreecommitdiff
blob: b9263720216fd42667156a91efb9d5210e346376 (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
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

AUTOTOOLS_AUTORECONF=1
AUTOTOOLS_IN_SOURCE_BUILD=1
PLOCALES="ar bg ca cs da de el es eu fa fi fr_FR gl hu id it ja ko nl pl pt_BR pt_PT ru sr_RS@latin sr_RS uk_UA vi zh_CN zh_TW"
WX_GTK_VER="3.0"
COMMIT_ID="26fea0e123246b4f122beb54559c8dcd82925071"

inherit autotools-utils fdo-mime flag-o-matic gnome2-utils l10n wxwidgets vcs-snapshot

DESCRIPTION="Advanced subtitle editor"
HOMEPAGE="http://www.aegisub.org/"
SRC_URI="https://github.com/Aegisub/Aegisub/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa debug +ffmpeg +fftw openal oss portaudio pulseaudio spell +uchardet"

# configure.ac specifies minimal versions for some of the dependencies below.
# However, most of these minimal versions date back to 2006-2012 yy.
# Such version specifiers are meaningless nowadays, so they are omitted.
#
# aegisub bundles luabins (https://github.com/agladysh/luabins).
# Unfortunately, luabins upstream is practically dead since 2010.
# Thus unbundling luabins is not worth the effort.
RDEPEND="
	dev-lang/luajit:2[lua52compat]
	dev-libs/boost:=[icu,nls,threads]
	dev-libs/icu:=
	media-libs/fontconfig
	media-libs/freetype
	media-libs/libass:=[fontconfig]
	virtual/libiconv
	virtual/opengl
	x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,debug?]

	alsa? ( media-libs/alsa-lib )
	openal? ( media-libs/openal )
	portaudio? ( =media-libs/portaudio-19* )
	pulseaudio? ( media-sound/pulseaudio )

	ffmpeg? ( media-libs/ffmpegsource:= )
	fftw? ( >=sci-libs/fftw-3.3:= )

	spell? ( app-text/hunspell )
	uchardet? ( dev-libs/uchardet )
"
DEPEND="${RDEPEND}
	oss? ( virtual/os-headers )
	dev-util/intltool
	sys-devel/gettext
	virtual/pkgconfig
"
REQUIRED_USE="
	|| ( alsa openal oss portaudio pulseaudio )
"

PATCHES=(
	"${FILESDIR}/${P}-fix-luajit-unbundling.patch"
	"${FILESDIR}/${P}-respect-user-compiler-flags.patch"
)

pkg_pretend() {
	if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11; then
		die "Your compiler lacks C++11 support. Use GCC>=4.7.0 or Clang>=3.3."
	fi
}

src_prepare() {
	cp /usr/share/gettext/config.rpath . || die

	remove_locale() {
		rm "po/${1}.po" || die
	}

	l10n_find_plocales_changes 'po' '' '.po'
	l10n_for_each_disabled_locale_do remove_locale

	autotools-utils_src_prepare

	cat <<- EOF > "${S}/build/git_version.h" || die
		#define BUILD_GIT_VERSION_NUMBER 8880
		#define BUILD_GIT_VERSION_STRING "${PV}"
		#define TAGGED_RELEASE 0
	EOF
}

src_configure() {
	# Prevent sandbox violation from OpenAL detection. Gentoo bug #508184.
	use openal && export agi_cv_with_openal="yes"
	local myeconfargs=(
		--disable-update-checker
		--with-system-luajit
		$(use_enable debug)
		$(use_with alsa)
		$(use_with ffmpeg ffms2)
		$(use_with fftw fftw3)
		$(use_with openal)
		$(use_with oss)
		$(use_with portaudio)
		$(use_with pulseaudio libpulse)
		$(use_with spell hunspell)
		$(use_with uchardet)
	)
	autotools-utils_src_configure
}

pkg_preinst() {
	gnome2_icon_savelist
}

pkg_postinst() {
	fdo-mime_desktop_database_update
	gnome2_icon_cache_update
}

pkg_postrm() {
	fdo-mime_desktop_database_update
	gnome2_icon_cache_update
}