# Copyright 2023 Gentoo Authors, projectmoon # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Empty because of vendor tarball. CRATES=" " # This is apparently necessary even with vendor tarball? declare -A GIT_CRATES=( [data-url]="https://github.com/filips123/rust-url;0032b9e8328f1a7ce2773f71adf316542ee8ddc9;rust-url-%commit%/data-url" [web_app_manifest]="https://github.com/filips123/WebAppManifestRS;89ee187e6300bbd2d6f773651a4fcc07e4e7ede6;WebAppManifestRS-%commit%/" [mime]="https://github.com/filips123/mime;57416f447a10c3343df7fe80deb0ae8a7c77cf0a" ) inherit cargo DESCRIPTION="The native part of the PWAsForFirefox project" # Double check the homepage as the cargo_metadata crate # does not provide this value so instead repository is used HOMEPAGE="https://github.com/filips123/PWAsForFirefox" SRC_URI=" $(cargo_crate_uris) https://github.com/filips123/PWAsForFirefox/archive/refs/tags/v${PV}.zip -> ${P}.zip https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/www-plugins/firefox-pwa-connector/vendor-2.4.1.tar.gz -> vendor.tar.gz " LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 LGPL-3+ MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB" SLOT="0" KEYWORDS="~amd64" DEPEND="" RDEPEND="${DEPEND}" BDEPEND="dev-util/cargo-make" # from guru # Needed as source is in a subdirectory S="${WORKDIR}/PWAsForFirefox-${PV}/native" # rust does not use *FLAGS from make.conf, silence portage warning # update with proper path to binaries this crate installs, omit leading / QA_FLAGS_IGNORED="usr/bin/${PN}" src_prepare() { # Link vendored cargo deps in. ln -s "${WORKDIR}/vendor/"* "${CARGO_HOME}/gentoo/" # Patch makefile according to from-source install instructions. sed -i "s/version = \"0.0.0\"/version = \"${PV}\"/g" Cargo.toml \ || die 'could not set Cargo.toml version' sed -i "s/DISTRIBUTION_VERSION = '0.0.0'/DISTRIBUTION_VERSION = '${PV}'/g" \ "${S}"/userchrome/profile/chrome/pwa/chrome.jsm || die 'could not set chrome.jsm version' sed -i 's/SUDO=$(which sudo) || $(echo "")/SUDO=""/' Makefile.toml # patch makefile to respect DESTDIR sed -i 's/\/usr\/bin\/firefoxpwa/$DESTDIR\/usr\/bin\/firefoxpwa/g' Makefile.toml sed -i 's/\/usr\/libexec\/firefoxpwa-connector/$DESTDIR\/usr\/libexec\/firefoxpwa-connector/g' Makefile.toml sed -i 's/\/usr\/lib\/mozilla\/native-messaging-hosts\/firefoxpwa.json/$DESTDIR\/usr\/lib\/mozilla\/native-messaging-hosts\/firefoxpwa.json/g' Makefile.toml sed -i 's/\/usr\/lib64\/mozilla\/native-messaging-hosts\/firefoxpwa.json/$DESTDIR\/usr\/lib64\/mozilla\/native-messaging-hosts\/firefoxpwa.json/g' Makefile.toml sed -i 's/\/usr\/share\/firefoxpwa\/userchrome/$DESTDIR\/usr\/share\/firefoxpwa\/userchrome/g' Makefile.toml default } src_install() { export DESTDIR="${D}" makers install }