Compare commits

..

3 Commits

3 changed files with 88 additions and 0 deletions

View File

@ -0,0 +1,15 @@
How to create new version of the Firefox PWA Connector:
- Check Firefox PWA repo for new version.
- Pull latest changes of repo and check out proper tag.
- Run `cargo vendor` in the repo.
- Create tarball of vendored cargo deps: `tar -czvf vendor-X.Y.Z.tar.gz vendor/`.
- Move vendor tarball to the overlay files repo under `www-plugins/firefox-pwa-connector`.
- Push vendored tarball for new version.
- Copy over ebuild to new version.
- Check the Cargo.toml of the connector for any new git deps, and add to
the git crates if necessary. Cargo.lock can be checked to find the
proper commit hashes.
- Run `ebuild clean install` and make sure everything ends up where its
supposed to be. A sandbox violation likely indicates need for new
`sed` to patch Maefile.toml to respect `DESTDIR`.

View File

@ -0,0 +1,5 @@
DIST WebAppManifestRS-89ee187e6300bbd2d6f773651a4fcc07e4e7ede6.gh.tar.gz 20964 BLAKE2B 30a1aab01c5f2a2f52e1f47edf1bd3235724fd9da699013e0cfcd4fe73edaa1410f93bc875a223b996a43026b6f96c19ac89ff43828313dba302582699fc893a SHA512 614c69fadf2cfe2a973175a2939edcaa4faeed7e8b4d5640f5eda354dc24fa375c9f9055c86e11be041abd1e6b0bd81dd47eb434896078c5a28b4400a29e4ff3
DIST firefox-pwa-connector-2.4.1.zip 735659 BLAKE2B f25bccbe74c914c37b9cccc5cb1b613c7c0789148142cb096c7f71ab72356bff23a3f936d119194d284c8193c035c43875aec05452424590374ca244ddf20d87 SHA512 e3affcb010adfd318c1385b5e58fe21a4f4b252490d5d3543a9f48131137a0dcc5856be27d0b7d01536078a2fc16d256cefea480a9b0c83731ff512633193586
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.tar.gz 56937356 BLAKE2B f29fd480b134da2fa747548cff8aecfb55c95d24b7d33f65388b9483b025d782649b34d1eafa07c94ebdac1681eb5820c376fd597397784450fad931e4dd2f95 SHA512 0951b409d0835e8303654ed3f0c429d118ba43159342f38a02e0481c5973330fd2a50403599f2197ce40d2296423839085fe784ed9df3cb82602e9a2785894f1

View File

@ -0,0 +1,68 @@
# 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
}