diff options
Diffstat (limited to 'dev-libs/gtkd/gtkd-3.2.3.ebuild')
-rw-r--r-- | dev-libs/gtkd/gtkd-3.2.3.ebuild | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/dev-libs/gtkd/gtkd-3.2.3.ebuild b/dev-libs/gtkd/gtkd-3.2.3.ebuild new file mode 100644 index 0000000..4cc9f6b --- /dev/null +++ b/dev-libs/gtkd/gtkd-3.2.3.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +DESCRIPTION="D binding and OO wrapper of GTK+ and is released on the LGPL license" +HOMEPAGE="http://gtkd.org/" +LICENSE="LGPL-3" + +SLOT="3" +KEYWORDS="~x86 ~amd64" +SRC_URI="http://gtkd.org/Downloads/sources/GtkD-${PV}.zip" + +DLANG_VERSION_RANGE="2.064 2.066-" +DLANG_PACKAGE_TYPE="multi" + +inherit eutils dlang + +DEPEND="app-arch/unzip" +RDEPEND=" + >=x11-libs/gtk+-3.18:3[${MULTILIB_USEDEP}] + sourceview? ( >=x11-libs/gtksourceview-3.18:3.0 ) + gstreamer? ( >=media-libs/gstreamer-1.6:1.0 ) + vte? ( >=x11-libs/vte-0.37.4:2.91 ) +" + +GTKD_USE_FLAGS=(gtk opengl sourceview gstreamer vte ) +GTKD_LIB_NAMES=(gtkd gtkdgl gtkdsv gstreamerd vted ) +GTKD_SRC_DIRS=( src srcgl srcsv srcgstreamer srcvte) +IUSE="${GTKD_USE_FLAGS[@]:1} static-libs" + +MAJOR=$(get_major_version) +MINOR=$(get_after_major_version) + +src_unpack() { + unzip -q "${DISTDIR}/${A}" -d "${S}" +} + +d_src_compile() { + compile_libs() { + # Build the shared library version of the component + if dlang_has_shared_lib_support; then + dlang_compile_lib_so lib${LIB_NAME}-${MAJOR}.so.0.${MINOR} \ + lib${LIB_NAME}-${MAJOR}.so.0 -Isrc ${GTKD_SRC_DIRS[$i]}/*/*.d + else + ewarn "${DC} does not have shared library support." + ewarn "Only static ${LIB_NAME} will be compiled if selected through the static-libs USE flag." + fi + + # Build the static library version + if use static-libs; then + local libname=lib${LIB_NAME}-${MAJOR} + if [[ "${DLANG_VENDOR}" == "DigitalMars" ]]; then + dlang_exec ${DC} ${DCFLAGS} -m${MODEL} ${SRC_DIR}/*/*.d -Isrc -lib \ + ${LDFLAGS} ${DLANG_OUTPUT_FLAG}${libname}.a + elif [[ "${DLANG_VENDOR}" == "GNU" ]]; then + dlang_exec ${DC} ${DCFLAGS} -m${MODEL} ${SRC_DIR}/*/*.d -Isrc -c \ + ${LDFLAGS} ${DLANG_OUTPUT_FLAG}${libname}.o + dlang_exec ar rcs ${libname}.a ${libname}.o + elif [[ "${DLANG_VENDOR}" == "LDC" ]]; then + dlang_exec ${DC} ${DCFLAGS} -m${MODEL} ${SRC_DIR}/*/*.d -Isrc -lib -od=${SRC_DIR} -oq \ + ${LDFLAGS} ${DLANG_OUTPUT_FLAG}${libname}.a + fi + fi + } + + foreach_used_component compile_libs +} + +d_src_test() { + emake LINKERFLAG="${DLANG_LINKER_FLAG}" output="${DLANG_OUTPUT_FLAG}\$@" test +} + +d_src_install() { + install_libs() { + # Install the shared library version of the component + if dlang_has_shared_lib_support; then + local libfile="lib${LIB_NAME}-${MAJOR}.so" + dolib.so "${libfile}.0.${MINOR}" + dosym "${libfile}.0.${MINOR}" "/usr/$(get_libdir)/${libfile}.0" + dosym "${libfile}.0.${MINOR}" "/usr/$(get_libdir)/${libfile}" + fi + + # Install the static library version + if use static-libs; then + dolib.a "lib${LIB_NAME}-${MAJOR}.a" + fi + } + + foreach_used_component install_libs +} + +d_src_install_all() { + # Obligatory docs + dodoc AUTHORS README + + # Include files + insinto "${DLANG_IMPORT_DIR}/${PN}-${MAJOR}" + + install_headers() { + files="${SRC_DIR}/*" + doins -r ${files} + } + + foreach_used_component install_headers +} + +foreach_used_component() { + for (( i = 0 ; i < ${#GTKD_LIB_NAMES[@]} ; i++ )); do + if [[ ${GTKD_LIB_NAMES[$i]} == "gtkd" ]] || use ${GTKD_USE_FLAGS[$i]}; then + LIB_NAME=${GTKD_LIB_NAMES[$i]} SRC_DIR=${GTKD_SRC_DIRS[$i]} ${@} + fi + done +} |