# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=5 inherit gnome2-utils git-2 versionator DESCRIPTION="CEF3-based application for Brackets" HOMEPAGE="http://brackets.io" SRC_URI="" #SRC_URI="https://github.com/adobe/brackets/archive/${P}.tar.gz" #just a placeholder for portage to point to the right filename, #archive have to be packed manually including brackets and brackets-shell #release 1.3 is broken https://github.com/adobe/brackets/issues/10656 KEYWORDS="~amd64" EGIT_REPO_URI="git://github.com/adobe/brackets-shell" EGIT_BRANCH="release" #LICENSE="adobe" LICENSE="" SLOT="0" IUSE="" DEPEND=" net-libs/nodejs " RDEPEND="${DEPEND}" src_unpack() { mkdir ${S} cd ${S} einfo "Fetching brackets" git clone --depth 1 --recursive --branch ${EGIT_BRANCH} \ https://github.com/adobe/brackets.git \ || die "Failed to checkout brackets ${PV}" einfo "Fetching brackets-shell" git clone --depth 1 --recursive --branch ${EGIT_BRANCH} \ https://github.com/adobe/brackets-shell.git \ || die "Failed to checkout brackets ${PV}" } src_prepare() { default_src_prepare epatch "${FILESDIR}/bracketsshell_appshell.gyp.patch" epatch "${FILESDIR}/bracketsshell_appshell_extensions_gtk.cpp.patch" epatch "${FILESDIR}/bracketsshell_appshell_extensions_platform.h.patch" epatch "${FILESDIR}/bracketsshell_appshell_node_process_linux.cpp.patch" epatch "${FILESDIR}/bracketsshell_appshell_paths.gypi.patch" epatch "${FILESDIR}/bracketsshell_cefclient.cpp.patch" epatch "${FILESDIR}/bracketsshell_cefclient.h.patch" epatch "${FILESDIR}/bracketsshell_cefclient_gtk.cpp.patch" epatch "${FILESDIR}/bracketsshell_client_app_gtk.cpp.patch" epatch "${FILESDIR}/bracketsshell_client_handler.cpp.patch" epatch "${FILESDIR}/bracketsshell_client_handler.h.patch" epatch "${FILESDIR}/bracketsshell_client_handler_gtk.cpp.patch" epatch "${FILESDIR}/bracketsshell_gitignore.patch" epatch "${FILESDIR}/bracketsshell_Gruntfile.js.patch" epatch "${FILESDIR}/bracketsshell_resource_util_linux.cpp.patch" epatch_user BRACKETS_S=${S}/brackets BRACKETS_SHELL_S=${S}/brackets-shell einfo "Preparing brackets" cd ${BRACKETS_S} npm install grunt-cli || die "Failed to install grunt-cli" npm install || die "Failed to install nodejs dependencies" einfo "Preparing brackets-shell" cd ${BRACKETS_SHELL_S} PATH=$(npm bin):$PATH npm install grunt-cli || die "Failed to install grunt-cli" npm install || die "Failed to install nodejs dependencies" grunt setup || die "Failed to setup grunt" # link against libudev.so.1 instead of libudev.so.0 sed -i \ -e 's/libudev.so.0/libudev.so.1/g' \ deps/cef/Release/libcef.so || die "sed failed" # Fix QA notice for desktop file sed -i \ -re "s/(Categories=.*)([;]+)?/\1;/g" \ installer/linux/debian/brackets.desktop || die "sed failed" } src_compile() { PATH=$(npm bin):$PATH einfo "Building brackets" cd ${BRACKETS_S} grunt build --verbose || die "Failed to compile" einfo "Building brackets-shell" cd ${BRACKETS_SHELL_S} grunt full-build --verbose || die "Failed to compile" } src_install() { DEBIAN_ROOT_DIR=${BRACKETS_SHELL_S}/installer/linux/debian/package-root prepall into /opt/${PN} insinto /opt/${PN} exeinto /opt/${PN} cd ${DEBIAN_ROOT_DIR}/opt/brackets doins appshell32.png doins appshell48.png doins appshell128.png doins appshell256.png doins cef.pak doins cef_100_percent.pak doins cef_200_percent.pak doins devtools_resources.pak doins icudtl.dat doexe brackets Brackets Brackets-node doins -r lib doins -r locales doins -r node-core doins -r samples doins -r www dosym /opt/${PN}/brackets /usr/bin/brackets insinto /usr/share/applications doins brackets.desktop cd ${DEBIAN_ROOT_DIR}/usr/share dodoc doc/brackets/copyright doicon -s scalable icons/hicolor/scalable/apps/brackets.svg } pkg_preinst() { gnome2_icon_savelist } pkg_postinst() { gnome2_icon_cache_update } pkg_postrm() { gnome2_icon_cache_update }