168 lines
5 KiB
Bash
168 lines
5 KiB
Bash
# Copyright 1999-2020 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=6
|
|
|
|
WX_GTK_VER=3.0
|
|
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 sr_RS@latin uk_UA vi zh_CN zh_TW"
|
|
|
|
inherit meson gnome2-utils l10n wxwidgets xdg-utils git-r3
|
|
|
|
DESCRIPTION="Advanced subtitle editor"
|
|
HOMEPAGE="http://www.aegisub.org/ https://github.com/Aegisub/Aegisub"
|
|
EGIT_REPO_URI="https://github.com/odrling/${PN^}.git"
|
|
EGIT_BRANCH="master"
|
|
_depctrlver="0.6.3-alpha"
|
|
_ffiexpver=e8d9c915390aaa8ffa1d220f4696f4fe2ca6ae6e
|
|
_luajsonver=1.3.3
|
|
SRC_URI="dependency_control? (
|
|
https://github.com/TypesettingTools/DependencyControl/archive/v${_depctrlver}.tar.gz -> DependencyControl-${_depctrlver}.tar.gz
|
|
https://github.com/TypesettingTools/ffi-experiments/archive/${_ffiexpver}.tar.gz -> ffi-experiments-${_ffiexpver}.tar.gz
|
|
https://github.com/harningt/luajson/archive/${_luajsonver}.tar.gz -> luajson-${_luajsonver}.tar.gz
|
|
)"
|
|
# Submodules are used to pull bundled libraries.
|
|
EGIT_SUBMODULES=()
|
|
|
|
LICENSE="BSD MIT"
|
|
SLOT="0"
|
|
KEYWORDS=""
|
|
IUSE="+alsa +fonts debug +fftw openal oss portaudio pulseaudio spell +uchardet libressl dependency_control"
|
|
RESTRICT="test"
|
|
|
|
# aegisub bundles luabins (https://github.com/agladysh/luabins).
|
|
# Unfortunately, luabins upstream is practically dead since 2010.
|
|
# Thus unbundling luabins isn't worth the effort.
|
|
RDEPEND="
|
|
x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,debug?]
|
|
dev-lang/luajit:2[lua52compat]
|
|
dev-libs/boost:=[icu,nls,threads]
|
|
dev-libs/icu:=
|
|
media-libs/ffmpegsource:=
|
|
media-libs/fontconfig
|
|
media-libs/freetype
|
|
media-libs/libass:=[fontconfig]
|
|
sys-libs/zlib
|
|
virtual/libiconv
|
|
virtual/opengl
|
|
alsa? ( media-libs/alsa-lib )
|
|
fftw? ( >=sci-libs/fftw-3.3:= )
|
|
openal? ( media-libs/openal )
|
|
portaudio? ( =media-libs/portaudio-19* )
|
|
pulseaudio? ( media-sound/pulseaudio )
|
|
spell? ( app-text/hunspell:= )
|
|
uchardet? ( app-i18n/uchardet )
|
|
libressl? ( dev-libs/libressl:0 )
|
|
!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0 )
|
|
fonts? ( media-fonts/japan7-fonts-ttf )
|
|
"
|
|
DEPEND="${RDEPEND}
|
|
>=dev-util/meson-0.56.0
|
|
dev-util/intltool
|
|
sys-devel/gettext
|
|
virtual/pkgconfig
|
|
dependency_control? ( dev-lua/moonscript )
|
|
"
|
|
|
|
REQUIRED_USE="|| ( alsa openal oss portaudio pulseaudio )"
|
|
|
|
PATCHES=(
|
|
)
|
|
|
|
src_unpack() {
|
|
default_src_unpack
|
|
git-r3_src_unpack
|
|
}
|
|
|
|
src_prepare() {
|
|
default_src_prepare
|
|
sed -i 's/(unnamed branch)/master/g' tools/version.sh
|
|
|
|
# Remove tests that require unavailable uuid Lua module.
|
|
rm automation/tests/modules/lfs.moon || die
|
|
|
|
remove_locale() {
|
|
rm "po/${1}.po" || die
|
|
}
|
|
|
|
l10n_find_plocales_changes 'po' '' '.po'
|
|
l10n_for_each_disabled_locale_do remove_locale
|
|
|
|
use dependency_control && sed -i 's|#!/bin/sh|#!/bin/bash|' "${WORKDIR}/ffi-experiments-${_ffiexpver}/BuildLua.sh"
|
|
}
|
|
|
|
src_configure() {
|
|
setup-wxwidgets
|
|
use dependency_control && EMESON_SOURCE="${WORKDIR}/ffi-experiments-${_ffiexpver}" BUILD_DIR="${WORKDIR}/ffi-experiments-build" meson_src_configure
|
|
|
|
local emesonargs=(
|
|
-Dalsa=$(usex alsa enabled disabled)
|
|
-Dopenal=$(usex openal enabled disabled)
|
|
-Dlibpulse=$(usex pulseaudio enabled disabled)
|
|
-Dportaudio=$(usex portaudio enabled disabled)
|
|
#-Doss=$(usex oss true false)
|
|
-Dfftw3=$(usex fftw enabled disabled)
|
|
-Dffms2=enabled
|
|
-Dhunspell=$(usex spell enabled disabled)
|
|
-Duchardet=$(usex uchardet enabled disabled)
|
|
-Dsystem_luajit=true
|
|
)
|
|
|
|
meson_src_configure
|
|
}
|
|
|
|
src_compile() {
|
|
use dependency_control && BUILD_DIR="${WORKDIR}/ffi-experiments-build" meson_src_compile all lua
|
|
meson_src_compile
|
|
}
|
|
|
|
src_install() {
|
|
meson_src_install
|
|
|
|
if use dependency_control; then
|
|
ffi_build="${WORKDIR}/ffi-experiments-build"
|
|
automation_dir="/usr/share/aegisub/automation"
|
|
|
|
insinto "$automation_dir/include/BM/BadMutex"
|
|
doins "${ffi_build}/bad-mutex/libBadMutex.so"
|
|
insinto "$automation_dir/include/BM"
|
|
doins "${ffi_build}/bad-mutex/BadMutex.lua"
|
|
|
|
insinto "$automation_dir/include/DM/DownloadManager"
|
|
doins "${ffi_build}/download-manager/libDownloadManager.so"
|
|
insinto "$automation_dir/include/DM"
|
|
doins "${ffi_build}/download-manager/DownloadManager.lua"
|
|
|
|
insinto "$automation_dir/include/PT/PreciseTimer"
|
|
doins "${ffi_build}/precise-timer/libPreciseTimer.so"
|
|
insinto "$automation_dir/include/PT"
|
|
doins "${ffi_build}/precise-timer/PreciseTimer.lua"
|
|
|
|
insinto "$automation_dir/include/requireffi"
|
|
doins "${ffi_build}/requireffi/requireffi.lua"
|
|
|
|
insinto "$automation_dir/include/l0"
|
|
doins "${WORKDIR}/DependencyControl-${_depctrlver}/modules/DependencyControl.moon"
|
|
doins -r "${WORKDIR}/DependencyControl-${_depctrlver}/modules/DependencyControl"
|
|
insinto "$automation_dir/autoload"
|
|
doins "${WORKDIR}/DependencyControl-${_depctrlver}/macros/l0.DependencyControl.Toolbox.moon"
|
|
|
|
insinto "$automation_dir/include"
|
|
doins "${WORKDIR}/luajson-${_luajsonver}/lua/json.lua"
|
|
doins -r "${WORKDIR}/luajson-${_luajsonver}/lua/json"
|
|
fi
|
|
}
|
|
|
|
pkg_preinst() {
|
|
gnome2_icon_savelist
|
|
}
|
|
|
|
pkg_postinst() {
|
|
gnome2_icon_cache_update
|
|
xdg_desktop_database_update
|
|
}
|
|
|
|
pkg_postrm() {
|
|
gnome2_icon_cache_update
|
|
xdg_desktop_database_update
|
|
}
|