www-plugins/firefox-pwa-connector: properly handle multiple versions of vendored deps

This commit is contained in:
projectmoon 2023-03-27 14:36:00 +02:00
parent 7280d559bb
commit e57750c693
2 changed files with 76 additions and 0 deletions

View File

@ -3,5 +3,6 @@ DIST firefox-pwa-connector-2.4.1.tar.gz 663129 BLAKE2B 61c04d67349c005530f4283e5
DIST firefox-pwa-connector-2.5.0.tar.gz 665141 BLAKE2B 5e7cbe761697a1216be1c0bf4152936514cc1ffd385e5cb94003d086ff44e3755a91e819783a5582e05d03456f4ddc132077cb717a05db18cd96383621cc894f SHA512 f34ae54ed2895706af6c33899aa1136a664f141dcfcbcf3d583cabf6758b94daa56745342d13b468e98cb53c97028b6d07ea8b8bed5e07eb38abdd80f0066394
DIST mime-57416f447a10c3343df7fe80deb0ae8a7c77cf0a.gh.tar.gz 22313 BLAKE2B a659e06d1316c7b5102f4a87f02bc35cb05947ff496167cc5acf9ba038c2091ef732bd43f298d9897aee2ce9e0f0e58253a5b06a1105251c0cdbb869db9410b8 SHA512 0d6726f66e34c83895b92928da4b8a1284d5e1d98bc7b01af1036fd92b0299fbc1dbcd0605c2323619db5cb807dcdcdb76da0026058c74c07e54959be1c75dde
DIST rust-url-0032b9e8328f1a7ce2773f71adf316542ee8ddc9.gh.tar.gz 384127 BLAKE2B 8ff1c840742730713494c48e2376201ab114634e5480d66d97661186dd3b218b7bf74024331af64afeec56dfce10dcb7db6349d1c2657b797cf9d199b9c98a75 SHA512 2826c77f9fe57cd5d8686e407994b5917818399f2bcb02050f08101709bf8ea0394615268e5059f2f8825c864f2ba768c3d902534ed309d0b9ad48eafe714191
DIST vendor-2.4.1.tar.gz 56937356 BLAKE2B f29fd480b134da2fa747548cff8aecfb55c95d24b7d33f65388b9483b025d782649b34d1eafa07c94ebdac1681eb5820c376fd597397784450fad931e4dd2f95 SHA512 0951b409d0835e8303654ed3f0c429d118ba43159342f38a02e0481c5973330fd2a50403599f2197ce40d2296423839085fe784ed9df3cb82602e9a2785894f1
DIST vendor-2.5.0.tar.gz 49265774 BLAKE2B e2ccbd915281a7a2113a9047b36735a183cb85beecf05c453583ccd885e01de805da7d2286cbde14c89b52989ed7fe2f1d24243208898098cc4586bd468efd85 SHA512 7a11254a4f27569f44a048105a0381a777d88bb3b0e47e54aa78872a63d69a824806fd6e3049e569d3153ee1b90d92485322f9b5267de543d5f436b910f2c96d
DIST vendor.tar.gz 56937356 BLAKE2B f29fd480b134da2fa747548cff8aecfb55c95d24b7d33f65388b9483b025d782649b34d1eafa07c94ebdac1681eb5820c376fd597397784450fad931e4dd2f95 SHA512 0951b409d0835e8303654ed3f0c429d118ba43159342f38a02e0481c5973330fd2a50403599f2197ce40d2296423839085fe784ed9df3cb82602e9a2785894f1

View File

@ -0,0 +1,75 @@
# 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"
HOMEPAGE="https://github.com/filips123/PWAsForFirefox"
RESTRICT="mirror"
SRC_URI="
$(cargo_crate_uris)
https://github.com/filips123/PWAsForFirefox/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/www-plugins/firefox-pwa-connector/vendor-${PV}.tar.gz -> vendor-${PV}.tar.gz
"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="dev-libs/openssl"
RDEPEND="${DEPEND}"
# 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 files according to upstream 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'
default
}
src_install() {
# Upstream uses cargo-make, but this is not packaged in Gentoo, nor
# does it support DESTDIR, so portage sandbox violations occur. The
# makefile installation instructions are very simple, so replicate
# them here.
# Actual binaries
into /usr
dobin target/release/firefoxpwa
exeinto /usr/libexec/
doexe target/release/firefoxpwa-connector
# Install native messaging host
insinto /usr/$(get_libdir)/mozilla/native-messaging-hosts/
newins manifests/linux.json firefoxpwa.json
# Copy the userchrome directory to the correct location
insinto /usr/share/firefoxpwa/userchrome/
doins -r userchrome/*
}