forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Marek Szuba <[email protected]>
- Loading branch information
Marek Szuba
committed
Sep 9, 2021
1 parent
d1bb2dc
commit f6a737e
Showing
2 changed files
with
175 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST gmic_2.9.8.tar.gz 7311372 BLAKE2B 6438198cbaefe1de712ccd85179887b858ec1f7e039a080f0070e5ed454fd52b9414ecbd7c93dce740261df501f086634ab0bd291b70bb18778979faf2331486 SHA512 588362de60d51b1814cbe08f7402b143b656712bf2b4dc33830196068d7464394fe314d1c0dcee608a7408c7b7507596e88dee588a54f0eff1cad9e826b19bb3 | ||
DIST gmic_2.9.9.tar.gz 7325061 BLAKE2B 256b4f1180edfc8ebb3a3e7f7666c7b44d95cd36a52c1b5539a355f022471eeef776c77b820864ca05b2ccc4a58a2e85970994cfdbce9e55aff31112af4e6000 SHA512 fcc129f5acfb32a3154d4c987f574c18ad68dd35e9e357fdc391166211747f5d7eed63a2fcde29c110a79e8665f2a6d1e70b68c81e19bb02be43a84ec7f1cc64 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
# Copyright 1999-2021 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
CMAKE_BUILD_TYPE=Release | ||
|
||
inherit cmake bash-completion-r1 toolchain-funcs | ||
|
||
if [[ ${PV} == "9999" ]]; then | ||
EGIT_REPO_URI="https://github.com/dtschump/gmic.git" | ||
inherit git-r3 | ||
else | ||
SRC_URI="https://gmic.eu/files/source/${PN}_${PV}.tar.gz" | ||
KEYWORDS="~amd64 ~arm64 ~x86" | ||
fi | ||
|
||
DESCRIPTION="GREYC's Magic Image Converter" | ||
HOMEPAGE="https://gmic.eu/ https://github.com/dtschump/gmic" | ||
|
||
LICENSE="CeCILL-2 GPL-3" | ||
SLOT="0" | ||
IUSE="cli curl ffmpeg fftw gimp graphicsmagick jpeg krita opencv openexr openmp png qt5 static-libs tiff X zlib" | ||
REQUIRED_USE=" | ||
gimp? ( png zlib fftw X ) | ||
krita? ( png zlib fftw X ) | ||
qt5? ( png zlib fftw X ) | ||
" | ||
|
||
MIN_QT_VER="5.2.0" | ||
QT_DEPEND=" | ||
>=dev-qt/qtcore-${MIN_QT_VER}:5= | ||
>=dev-qt/qtgui-${MIN_QT_VER}:5= | ||
>=dev-qt/qtnetwork-${MIN_QT_VER}:5= | ||
>=dev-qt/qtwidgets-${MIN_QT_VER}:5= | ||
" | ||
COMMON_DEPEND=" | ||
curl? ( net-misc/curl ) | ||
fftw? ( sci-libs/fftw:3.0=[threads] ) | ||
gimp? ( | ||
media-gfx/gimp:0/2 | ||
${QT_DEPEND} | ||
) | ||
graphicsmagick? ( media-gfx/graphicsmagick:0= ) | ||
jpeg? ( virtual/jpeg:0 ) | ||
krita? ( ${QT_DEPEND} ) | ||
opencv? ( >=media-libs/opencv-2.3.1a-r1:0= ) | ||
openexr? ( | ||
media-libs/ilmbase:0= | ||
media-libs/openexr:0= | ||
) | ||
png? ( media-libs/libpng:0= ) | ||
qt5? ( ${QT_DEPEND} ) | ||
tiff? ( media-libs/tiff:0 ) | ||
X? ( | ||
x11-libs/libX11 | ||
x11-libs/libXext | ||
) | ||
zlib? ( sys-libs/zlib:0= )" | ||
RDEPEND="${COMMON_DEPEND} | ||
ffmpeg? ( media-video/ffmpeg:0= ) | ||
" | ||
DEPEND="${COMMON_DEPEND} | ||
gimp? ( dev-qt/linguist-tools ) | ||
krita? ( dev-qt/linguist-tools ) | ||
qt5? ( dev-qt/linguist-tools ) | ||
" | ||
BDEPEND="virtual/pkgconfig" | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/${PN}-2.9.2_ipa-sra.patch | ||
) | ||
|
||
pkg_pretend() { | ||
if [[ ${MERGE_TYPE} != binary ]]; then | ||
if use openmp; then | ||
tc-has-openmp || die "Please switch to an openmp compatible compiler" | ||
fi | ||
fi | ||
} | ||
|
||
src_prepare() { | ||
cmake_src_prepare | ||
sed -i '/CMAKE_CXX_FLAGS/s/-g //' CMakeLists.txt || die | ||
|
||
if use gimp || use krita || use qt5; then | ||
# respect user flags | ||
sed -e '/CMAKE_CXX_FLAGS_RELEASE/d' \ | ||
-e '/${CMAKE_EXE_LINKER_FLAGS} -s/d' \ | ||
-i gmic-qt/CMakeLists.txt || die | ||
local S="${S}/gmic-qt" | ||
# Bug #753377 | ||
local PATCHES=() | ||
cmake_src_prepare | ||
fi | ||
} | ||
|
||
src_configure() { | ||
local mycmakeargs=( | ||
-DBUILD_LIB=ON | ||
-DBUILD_LIB_STATIC=$(usex static-libs) | ||
-DBUILD_CLI=$(usex cli) | ||
-DBUILD_MAN=$(usex cli) | ||
-DBUILD_BASH_COMPLETION=$(usex cli) | ||
-DCUSTOM_CFLAGS=ON | ||
-DENABLE_CURL=$(usex curl) | ||
-DENABLE_X=$(usex X) | ||
-DENABLE_FFMPEG=$(usex ffmpeg) | ||
-DENABLE_FFTW=$(usex fftw) | ||
-DENABLE_GRAPHICSMAGICK=$(usex graphicsmagick) | ||
-DENABLE_JPEG=$(usex jpeg) | ||
-DENABLE_OPENCV=$(usex opencv) | ||
-DENABLE_OPENEXR=$(usex openexr) | ||
-DENABLE_OPENMP=$(usex openmp) | ||
-DENABLE_PNG=$(usex png) | ||
-DENABLE_TIFF=$(usex tiff) | ||
-DENABLE_ZLIB=$(usex zlib) | ||
-DENABLE_DYNAMIC_LINKING=ON | ||
) | ||
|
||
cmake_src_configure | ||
|
||
# configure gmic-qt frontends | ||
local CMAKE_USE_DIR="${S}/gmic-qt" | ||
mycmakeargs=( | ||
-DENABLE_DYNAMIC_LINKING=ON | ||
-DENABLE_CURL=$(usex curl) | ||
-DGMIC_LIB_PATH="${BUILD_DIR}" | ||
-DGMIC_PATH="${S}/src" | ||
) | ||
|
||
if use gimp; then | ||
mycmakeargs+=( -DGMIC_QT_HOST=gimp ) | ||
BUILD_DIR="${BUILD_DIR}"/gimp cmake_src_configure | ||
fi | ||
|
||
if use krita; then | ||
mycmakeargs+=( -DGMIC_QT_HOST=krita ) | ||
BUILD_DIR="${BUILD_DIR}"/krita cmake_src_configure | ||
fi | ||
|
||
if use qt5; then | ||
mycmakeargs+=( -DGMIC_QT_HOST=none ) | ||
BUILD_DIR="${BUILD_DIR}"/qt5 cmake_src_configure | ||
fi | ||
} | ||
|
||
src_compile() { | ||
cmake_src_compile | ||
|
||
# build gmic-qt frontends | ||
local S="${S}/gmic-qt" | ||
use gimp && { BUILD_DIR="${BUILD_DIR}"/gimp cmake_src_compile || die "failed building gimp plugin" ; } | ||
use krita && { BUILD_DIR="${BUILD_DIR}"/krita cmake_src_compile || die "failed building krita plugin" ; } | ||
use qt5 && { BUILD_DIR="${BUILD_DIR}"/qt5 cmake_src_compile || die "failed building qt5 GUI" ; } | ||
} | ||
|
||
src_install() { | ||
cmake_src_install | ||
dodoc README | ||
use cli && newbashcomp "${BUILD_DIR}"/resources/gmic_bashcompletion.sh ${PN} | ||
|
||
local PLUGINDIR="/usr/$(get_libdir)/gimp/2.0/plug-ins" | ||
insinto "${PLUGINDIR}" | ||
doins resources/gmic_cluts.gmz | ||
|
||
# install gmic-qt frontends | ||
if use gimp; then | ||
exeinto "${PLUGINDIR}" | ||
doexe "${BUILD_DIR}"/gimp/gmic_gimp_qt | ||
fi | ||
use krita && dobin "${BUILD_DIR}"/krita/gmic_krita_qt | ||
use qt5 && dobin "${BUILD_DIR}"/qt5/gmic_qt | ||
} |