1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 CMAKE_BUILD_TYPE=Release
7 inherit cmake bash-completion-r1 toolchain-funcs
9 if [[ ${PV} == "9999" ]]; then
10 EGIT_REPO_URI="https://github.com/dtschump/gmic.git"
13 SRC_URI="https://gmic.eu/files/source/${PN}_${PV}.tar.gz"
14 KEYWORDS="~amd64 ~x86"
17 DESCRIPTION="GREYC's Magic Image Converter"
18 HOMEPAGE="https://gmic.eu/ https://github.com/dtschump/gmic"
20 LICENSE="CeCILL-2 GPL-3"
22 IUSE="+cli curl ffmpeg fftw gimp graphicsmagick jpeg krita opencv openexr openmp png qt5 static-libs tiff X zlib"
24 || ( cli gimp krita qt5 )
25 gimp? ( png zlib fftw X )
26 krita? ( png zlib fftw X )
27 qt5? ( png zlib fftw X )
32 >=dev-qt/qtcore-${MIN_QT_VER}:5=
33 >=dev-qt/qtgui-${MIN_QT_VER}:5=
34 >=dev-qt/qtnetwork-${MIN_QT_VER}:5=
35 >=dev-qt/qtwidgets-${MIN_QT_VER}:5=
38 curl? ( net-misc/curl )
39 fftw? ( sci-libs/fftw:3.0=[threads] )
41 >=media-gfx/gimp-2.8.0
44 graphicsmagick? ( media-gfx/graphicsmagick:0= )
45 jpeg? ( virtual/jpeg:0 )
46 krita? ( ${QT_DEPEND} )
47 opencv? ( >=media-libs/opencv-2.3.1a-r1:0= )
52 png? ( media-libs/libpng:0= )
54 tiff? ( media-libs/tiff:0 )
59 zlib? ( sys-libs/zlib:0= )"
60 RDEPEND="${COMMON_DEPEND}
61 ffmpeg? ( media-video/ffmpeg:0= )
63 DEPEND="${COMMON_DEPEND}
64 gimp? ( dev-qt/linguist-tools )
65 krita? ( dev-qt/linguist-tools )
66 qt5? ( dev-qt/linguist-tools )
68 BDEPEND="virtual/pkgconfig"
72 tc-has-openmp || die "Please switch to an openmp compatible compiler"
75 if ! test-flag-CXX -std=c++11 ; then
76 die "You need at least GCC 4.7.x or Clang >= 3.3 for C++11-specific compiler flags"
82 sed -i '/CMAKE_CXX_FLAGS/s/-g //' CMakeLists.txt || die
84 if use gimp || use krita || use qt5; then
86 sed -e '/CMAKE_CXX_FLAGS_RELEASE/d' \
87 -e '/${CMAKE_EXE_LINKER_FLAGS} -s/d' \
88 -i gmic-qt/CMakeLists.txt || die
89 local S="${S}/gmic-qt"
97 -DBUILD_LIB_STATIC=$(usex static-libs)
98 -DBUILD_CLI=$(usex cli)
99 -DBUILD_MAN=$(usex cli)
100 -DBUILD_BASH_COMPLETION=$(usex cli)
102 -DENABLE_CURL=$(usex curl)
104 -DENABLE_FFMPEG=$(usex ffmpeg)
105 -DENABLE_FFTW=$(usex fftw)
106 -DENABLE_GRAPHICSMAGICK=$(usex graphicsmagick)
107 -DENABLE_JPEG=$(usex jpeg)
108 -DENABLE_OPENCV=$(usex opencv)
109 -DENABLE_OPENEXR=$(usex openexr)
110 -DENABLE_OPENMP=$(usex openmp)
111 -DENABLE_PNG=$(usex png)
112 -DENABLE_TIFF=$(usex tiff)
113 -DENABLE_ZLIB=$(usex zlib)
114 -DENABLE_DYNAMIC_LINKING=ON
119 # configure gmic-qt frontends
120 local CMAKE_USE_DIR="${S}/gmic-qt"
122 -DENABLE_DYNAMIC_LINKING=ON
123 -DENABLE_CURL=$(usex curl)
124 -DGMIC_LIB_PATH="${BUILD_DIR}"
125 -DGMIC_PATH="${S}/src"
129 mycmakeargs+=( -DGMIC_QT_HOST=gimp )
130 BUILD_DIR="${BUILD_DIR}"/gimp cmake_src_configure
134 mycmakeargs+=( -DGMIC_QT_HOST=krita )
135 BUILD_DIR="${BUILD_DIR}"/krita cmake_src_configure
139 mycmakeargs+=( -DGMIC_QT_HOST=none )
140 BUILD_DIR="${BUILD_DIR}"/qt5 cmake_src_configure
147 # build gmic-qt frontends
148 local S="${S}/gmic-qt"
149 use gimp && { BUILD_DIR="${BUILD_DIR}"/gimp cmake_src_compile || die "failed building gimp plugin" ; }
150 use krita && { BUILD_DIR="${BUILD_DIR}"/krita cmake_src_compile || die "failed building krita plugin" ; }
151 use qt5 && { BUILD_DIR="${BUILD_DIR}"/qt5 cmake_src_compile || die "failed building qt5 GUI" ; }
157 use cli && newbashcomp "${BUILD_DIR}"/resources/gmic_bashcompletion.sh ${PN}
159 local PLUGINDIR="/usr/$(get_libdir)/gimp/2.0/plug-ins"
160 insinto "${PLUGINDIR}"
161 doins resources/gmic_cluts.gmz
163 # install gmic-qt frontends
165 exeinto "${PLUGINDIR}"
166 doexe "${BUILD_DIR}"/gimp/gmic_gimp_qt
168 use krita && dobin "${BUILD_DIR}"/krita/gmic_krita_qt
169 use qt5 && dobin "${BUILD_DIR}"/qt5/gmic_qt