# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=5 inherit autotools eutils qt4-r2 DESCRIPTION="Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung Galaxy S devices." HOMEPAGE="http://www.glassechidna.com.au/products/heimdall/" LICENSE="MIT" SLOT="0" SRC_URI="https://github.com/Benjamin-Dobell/Heimdall/archive/v${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~x86 ~amd64" IUSE="qt4" RDEPEND="qt4? ( dev-qt/qtcore dev-qt/qtgui ) >=dev-libs/libusbx-1.0" DEPEND="$RDEPEND dev-util/pkgconfig" S="${WORKDIR}/Heimdall-${PV}" src_prepare() { rm -r libusbx-1.0 || die "Can't delete libusb sources" edos2unix "${S}"/${PN}-frontend/${PN}-frontend.pro edos2unix "${S}"/${PN}/Makefile.am sed -e 's:/usr/local:/usr:g' -i "${S}"/${PN}-frontend/${PN}-frontend.pro \ || die #sed 's:SYSFS:ATTRS:g' -i "${S}"/${PN}/60-${PN}-galaxy-s.rules || die sed -i -e '/sudo service udev restart/d' "${S}"/heimdall/Makefile.am pushd "${S}/${PN}" &>/dev/null || die eautoreconf popd &>/dev/null || die } src_configure() { pushd libpit &>/dev/null || die econf --prefix=/usr/ --libdir=/usr/$(get_libdir) popd &>/dev/null || die pushd ${PN} &>/dev/null || die econf --prefix=/usr/ --libdir=/usr/$(get_libdir) popd &>/dev/null || die if use qt4; then pushd ${PN}-frontend &>/dev/null || die eqmake4 heimdall-frontend.pro OUTPUTDIR="${D}/usr/bin/" popd &>/dev/null || die fi } src_compile() { pushd libpit &>/dev/null || die emake DESTDIR="${D}" popd &>/dev/null || die pushd ${PN} &>/dev/null || die emake DESTDIR="${D}" popd &>/dev/null || die if use qt4 ; then pushd ${PN}-frontend &>/dev/null || die emake OUTPUTDIR="${D}" popd &>/dev/null || die fi } src_install() { pushd libpit &>/dev/null || die emake DESTDIR="${D}" install popd &>/dev/null || die pushd ${PN} &>/dev/null || die sed '/sudo service udev restart/d' -i Makefile \ || die "Couldn't patch Makefile" emake DESTDIR="${D}" install popd &>/dev/null || die if use qt4 ; then pushd ${PN}-frontend &>/dev/null || die emake OUTPUTDIR="${D}" install fi # move udev file to its proper place dodir /lib mv "${D}"/usr/$(get_libdir)/udev "${D}"/lib || die # remove useless .a file rm -r "${D}"/usr/$(get_libdir) || die } pkg_postinst() { udevadm control --reload-rules \ && udevadm trigger --subsystem-match=usb }