# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 PYTHON_COMPAT=( python2_7 ) PYTHON_REQ_USE="tk?" CMAKE_MAKEFILE_GENERATOR=ninja inherit cmake-utils eutils fdo-mime flag-o-matic gnome2 multilib python-single-r1 DESCRIPTION="Desktop publishing (DTP) and layout program" HOMEPAGE="http://www.scribus.net/" SRC_URI="mirror://sourceforge/project/${PN}/${PN}-devel/${PV}/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~hppa ~ppc64 ~x86" IUSE="+boost debug examples graphicsmagick hunspell +minimal osg +pdf scripts templates tk" #a=$((ls resources/translations/scribus.*ts | sed -e 's:\.: :g' | awk '{print $2}'; ls resources/loremipsum/*xml | sed -e 's:\.: :g' -e 's:loremipsum\/: :g'| awk '{print $2}'; ls resources/dicts/hyph*dic | sed -e 's:\.: :g' -e 's:hyph_: :g' | awk '{print $2}'; ls resources/dicts/README_*txt | sed -e 's:_hyph::g' -e 's:\.: :g' -e 's:README_: :g' | awk '{print $2}') | sort | uniq); echo $a IUSE_LINGUAS=" af ar bg br ca ca_ES cs cs_CZ cy cy_GB da da_DK de de@1901 de_CH de_DE el en_AU en_GB en_US eo es es_ES et eu fi fi_FI fr gl he hr hu hu_HU ia id id_ID is is_IS it ja ko ku la lt lt_LT nb_NO nl nn_NO pl pl_PL pt pt_BR pt_PT ro ro_RO ru ru_RU sa sk sk_SK sl sl_SI sq sr sv sv_SE th_TH tr uk uk_UA zh_CN zh_TW" IUSE+=" ${IUSE_LINGUAS// / linguas_}" REQUIRED_USE=" ${PYTHON_REQUIRED_USE} tk? ( scripts )" # osg # couple of third_party libs bundled COMMON_DEPEND=" ${PYTHON_DEPS} app-text/libmspub app-text/poppler:= dev-libs/hyphen dev-libs/librevenge dev-libs/libxml2 dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtopengl:5 dev-qt/qtprintsupport:5 dev-qt/qtquickcontrols:5 dev-qt/qtwidgets:5 dev-qt/qtxml:5 media-libs/fontconfig media-libs/freetype:2 media-libs/lcms:2 media-libs/libcdr media-libs/libpagemaker media-libs/libpng:0= media-libs/libvisio media-libs/tiff:0 net-print/cups sys-libs/zlib[minizip] virtual/jpeg:0= >=x11-libs/cairo-1.10.0[X,svg] boost? ( >=dev-libs/boost-1.62:= ) hunspell? ( app-text/hunspell ) graphicsmagick? ( media-gfx/graphicsmagick ) osg? ( dev-games/openscenegraph ) pdf? ( app-text/podofo:0= ) scripts? ( dev-python/pillow[tk?,${PYTHON_USEDEP}] ) tk? ( dev-python/pillow[tk?,${PYTHON_USEDEP}] ) " RDEPEND="${COMMON_DEPEND} app-text/ghostscript-gpl" DEPEND="${COMMON_DEPEND} dev-qt/linguist-tools:5 virtual/pkgconfig" PATCHES=( "${FILESDIR}"/${PN}-1.5.0-docdir.patch "${FILESDIR}"/${P}-fpic.patch "${FILESDIR}"/${P}-cmake-qt57.patch "${FILESDIR}"/${P}-qt57-build.patch "${FILESDIR}"/${P}-cxx-build.patch "${FILESDIR}"/${P}-gcc6-warn.patch ) src_prepare() { rm -r codegen/cheetah || die cat > cmake/modules/FindZLIB.cmake <<- EOF || die find_package(PkgConfig) pkg_check_modules(ZLIB minizip zlib) SET( ZLIB_LIBRARY \${ZLIB_LIBRARIES} ) SET( ZLIB_INCLUDE_DIR \${ZLIB_INCLUDE_DIRS} ) MARK_AS_ADVANCED( ZLIB_LIBRARY ZLIB_INCLUDE_DIR ) EOF sed \ -e "/^\s*unzip\.[ch]/d" \ -e "/^\s*ioapi\.[ch]/d" \ -i scribus/CMakeLists.txt Scribus.pro || die rm scribus/ioapi.[ch] || die sed \ -e 's:\(${CMAKE_INSTALL_PREFIX}\):./\1:g' \ -i resources/templates/CMakeLists.txt || die edos2unix scribus/ui/propertiespalette_utils.cpp cmake-utils_src_prepare } src_configure() { # bug #550818 append-cppflags -DHAVE_MEMRCHR local _lang lang langs for lang in ${IUSE_LINGUAS}; do _lang=$(translate_lang ${lang}) if use linguas_${lang} || [[ ${lang} == "en" ]]; then # From the CMakeLists.txt # "#Bit of a hack, preprocess all the filenames to generate our language string, needed for -DWANT_GUI_LANG=en_GB;de_DE , etc" langs+=";${_lang}" else # Don't install localized documentation sed -e "/${_lang}/d" -i doc/CMakeLists.txt || die safe_delete \ ./resources/dicts/README_${_lang}.txt \ ./resources/dicts/README_hyph_${_lang}.txt \ ./resources/dicts/hyph_${_lang}.dic \ ./resources/loremipsum/${_lang}.xml fi sed -e "/en_EN/d" -i doc/CMakeLists.txt || die safe_delete \ ./resources/dicts/README_en_EN.txt \ ./resources/dicts/README_hyph_en_EN.txt \ ./resources/dicts/hyph_en_EN.dic \ ./resources/loremipsum/en_EN.xml done local mycmakeargs=( -DHAVE_PYTHON=ON -DPYTHON_INCLUDE_PATH="$(python_get_includedir)" -DPYTHON_LIBRARY="$(python_get_library_path)" -DWANT_DISTROBUILD=ON -DDOCDIR="${EPREFIX%/}/usr/share/doc/${PF}/" -DWANT_GUI_LANG="${langs#;};en" -DWANT_CPP11=ON -DWITH_PODOFO="$(usex pdf)" -DWITH_BOOST="$(usex boost)" -DWANT_GRAPHICSMAGICK="$(usex graphicsmagick)" -DWANT_NOOSG="$(usex !osg)" -DWANT_DEBUG="$(usex debug)" -DWANT_NOHEADERINSTALL="$(usex minimal)" -DWANT_HUNSPELL="$(usex hunspell)" -DWANT_NOEXAMPLES="$(usex !examples)" -DWANT_NOTEMPLATES="$(usex !templates)" ) cmake-utils_src_configure } src_compile() { cmake-utils_src_compile } src_install() { cmake-utils_src_install local lang _lang # en_EN can be deleted always for lang in ${IUSE_LINGUAS}; do if ! use linguas_${lang}; then _lang=$(translate_lang ${lang}) safe_delete "${ED%/}"/usr/share/man/${_lang} fi done if ! use scripts; then rm "${ED%/}"/usr/share/scribus/scripts/*.py || die elif ! use tk; then rm "${ED%/}"/usr/share/scribus/scripts/{FontSample,CalendarWizard}.py || die fi use scripts && \ python_fix_shebang "${ED%/}"/usr/share/scribus/scripts && \ python_optimize "${ED%/}"/usr/share/scribus/scripts mv "${ED%/}"/usr/share/doc/${PF}/{en,html} || die ln -sf html "${ED%/}"/usr/share/doc/${PF}/en || die cat >> "${T}"/COPYING <<- EOF || die ${PN} is licensed under the "${LICENSE}". Please visit https://www.gnu.org/licenses/gpl-2.0.html for the complete license text. EOF dodoc "${T}"/COPYING docompress -x /usr/share/doc/${PF}/en /usr/share/doc/${PF}/{AUTHORS,TRANSLATION,LINKS,COPYING} local size for size in 16 32 128 256; do newicon -s $size resources/iconsets/artwork/icon_${size}x${size}.png scribus.png done newicon -s 64 resources/iconsets/artwork/icon_32x32@2x.png scribus.png doicon resources/iconsets/*/scribus.png domenu scribus.desktop } pkg_preinst() { gnome2_icon_savelist } pkg_postinst() { fdo-mime_desktop_database_update fdo-mime_mime_database_update gnome2_icon_cache_update } pkg_postrm() { fdo-mime_desktop_database_update fdo-mime_mime_database_update gnome2_icon_cache_update } safe_delete () { local x for x in ${@}; do if [[ -d "${x}" ]]; then ebegin "Deleting ${x} recursively" rm -r "${x}" || die eend $? elif [[ -f "${x}" ]]; then ebegin "Deleting ${x}" rm "${x}" || die eend $? fi done } translate_lang() { _lang=${1} [[ ${1} == "ru_RU" ]] && _lang+=_0 [[ ${1} == "de@1901" ]] && _lang=de_1901 echo ${_lang} }