odrling-overlay/media-video/aegisub/aegisub-9999.ebuild

167 lines
4.9 KiB
Bash
Raw Normal View History

# 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"
2019-11-27 22:08:41 +00:00
inherit meson gnome2-utils l10n wxwidgets xdg-utils git-r3
DESCRIPTION="Advanced subtitle editor"
HOMEPAGE="http://www.aegisub.org/ https://github.com/Aegisub/Aegisub"
2019-08-18 21:12:43 +00:00
EGIT_REPO_URI="https://github.com/odrling/${PN^}.git"
2019-11-27 22:08:41 +00:00
EGIT_BRANCH="meson"
_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 )
2019-09-16 11:25:58 +00:00
libressl? ( dev-libs/libressl:0 )
!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0 )
2019-10-15 17:43:43 +00:00
fonts? ( media-fonts/japan7-fonts-ttf )
"
DEPEND="${RDEPEND}
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
2019-11-27 22:08:41 +00:00
local emesonargs=(
-Dalsa=$(usex alsa enabled disabled)
-Dopenal=$(usex openal enabled disabled)
-Dlibpulse=$(usex pulseaudio enabled disabled)
-Dportaudio=$(usex portaudio enabled disabled)
2019-11-27 22:08:41 +00:00
#-Doss=$(usex oss true false)
-Dfftw3=$(usex fftw enabled disabled)
-Dffms2=enabled
-Dhunspell=$(usex spell enabled disabled)
-Duchardet=$(usex uchardet enabled disabled)
2019-11-27 22:08:41 +00:00
-Dsystem_luajit=true
)
2019-11-27 22:08:41 +00:00
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"
2020-06-10 21:04:14 +00:00
insinto "$automation_dir/include/l0"
doins "${WORKDIR}/DependencyControl-${_depctrlver}/modules/DependencyControl.moon"
doins -r "${WORKDIR}/DependencyControl-${_depctrlver}/modules/DependencyControl"
2020-06-10 21:04:14 +00:00
insinto "$automation_dir/autoload"
2020-06-10 22:09:51 +00:00
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
}