www-plugins/firefoxpwa: add 2.12.1

Signed-off-by: Filip Štamcar <projects@filips.si>
Closes: https://github.com/gentoo/guru/pull/194
Signed-off-by: Julien Roy <julien@jroy.ca>
This commit is contained in:
Filip Štamcar
2024-05-25 17:03:52 +00:00
committed by Julien Roy
parent db6ce08d9a
commit 08867e4394
2 changed files with 524 additions and 0 deletions

View File

@@ -115,6 +115,7 @@ DIST filedescriptor-0.8.2.crate 10830 BLAKE2B 964470acbd1f36487755a74666a46649d6
DIST filetime-0.2.23.crate 14942 BLAKE2B e4d2d9c11745dfa5592903f3c3c6a9871292a02f9862607b610ead7562b5d1fc3b64d37e779cad0630bde8012efda72d86af5e687cd2ef5d3627d8a89bca517c SHA512 8d5ac82482758577d1d0669abbe7b880efc44958687bba745c9ee4a5c16bddb44ec0fbe9c29cf424e7120905f3c3da607f3a7ca1e50287154c0475ddf2148bf3
DIST firefoxpwa-2.11.1.tar.gz 508188 BLAKE2B a7b6cd7c9b3c3206e617a6adbb0ea0dea6887ab0e9c519e391c97f2becb043f647cc68898ed6202f326fdf110816208c00c9f74d30795f452dcec8d1cd561933 SHA512 eeef79621d3d66382e38a670900b58aa57be67edea44a27d56e7af1134e32c3de38773e34adb6c3edcbf35a884418f7708d00d065866c0b33b5ae245e037b1e4
DIST firefoxpwa-2.12.0.tar.gz 523598 BLAKE2B e2b933c1d35f2af1df25aa54c729a55b2b7e667587abf15aef7b54d187de27c59174ff8a5e9b1dc4e953bd6f0912ae2da4e900a54bb3b9e6eec1d5b6d9b24391 SHA512 709b2fc075203e018c4796e987bb1e5cbee4e728febf12078766a94453f165eeb9616b910d9aa39cfce926ad93ece87750aa4820da8c03ab5b2dca871ed813e5
DIST firefoxpwa-2.12.1.tar.gz 523779 BLAKE2B ce80ff682b85b31ac13291599bd36d0843280b03e1eb6ebcd6e797e17e9e9bffd25d44c4e694815349960ee02056d4c836a429c0e15f081062d01db5c39ee1b6 SHA512 5018471518c8ef5ce70e8c80f25a9388b81e9040feb6f96c49f60215afe583726fa8eba70694aecd1ef27eb40eb9591e12501cba96a5a7f17117e5e1ccefdace
DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284
DIST flate2-1.0.30.crate 75511 BLAKE2B c25d9ab787ef60312523d80cf277bcaae16c7e54b1deb0fc8723a3b22c2586092343db1c538d96a37690d21e52ff822a38c90e10bc554fedb75671fdff6df309 SHA512 21528f80c1709cfa764723dce012903581dbc2b63ecad194ec601fc75103307e1b2ef17479186ad895ad957c9a33c6fd666b2981382a8a68ca78dfac7cb5d578
DIST float-cmp-0.9.0.crate 10102 BLAKE2B 46bce5f7e838a947bbbdd22b085435e795b67fd23479780f65bf1586a70e7a35f04f9af086be98bff24e2583eeac7c9688727a2ddbd1ce978526dc01abf67dfd SHA512 f8dad12ecf8a278769054fd78794999dae8dedbcfde5e77bdf6cea12fdeaadeeb2f1f3ca62df9aadc1bc3f61457236c4854d6d6923ad6d03ae7f23af600572e8

View File

@@ -0,0 +1,523 @@
# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
ab_glyph@0.2.25
ab_glyph_rasterizer@0.1.8
addr2line@0.21.0
adler32@1.2.0
adler@1.0.2
aho-corasick@1.1.3
aligned-vec@0.5.0
alloc-no-stdlib@2.0.4
alloc-stdlib@0.2.2
android-tzdata@0.1.1
android_system_properties@0.1.5
anstream@0.6.13
anstyle-parse@0.2.3
anstyle-query@1.0.2
anstyle-wincon@3.0.2
anstyle@1.0.6
anyhow@1.0.82
arbitrary@1.3.2
arg_enum_proc_macro@0.3.4
arrayref@0.3.7
arrayvec@0.7.4
async-compression@0.4.9
autocfg@1.2.0
av1-grain@0.2.3
avif-serialize@0.8.1
backtrace@0.3.71
base64@0.21.7
base64@0.22.1
bit_field@0.10.2
bitflags@1.3.2
bitflags@2.5.0
bitstream-io@2.2.0
blake3@1.5.1
brotli-decompressor@4.0.0
brotli@5.0.0
built@0.7.2
bumpalo@3.16.0
bytemuck@1.15.0
byteorder-lite@0.1.0
byteorder@1.5.0
bytes@1.6.0
bzip2-sys@0.1.11+1.0.8
bzip2@0.4.4
cc@1.0.96
cfg-expr@0.15.8
cfg-if@1.0.0
cfg_aliases@0.2.0
chrono@0.4.38
clap@4.5.4
clap_builder@4.5.2
clap_complete@4.5.2
clap_derive@4.5.4
clap_lex@0.7.0
color_quant@1.1.0
colorchoice@1.0.0
configparser@3.0.4
const_format@0.2.32
const_format_proc_macros@0.2.32
constant_time_eq@0.3.0
core-foundation-sys@0.8.6
core-foundation@0.9.4
crc32fast@1.4.0
crossbeam-deque@0.8.5
crossbeam-epoch@0.9.18
crossbeam-utils@0.8.19
crunchy@0.2.2
csscolorparser@0.6.2
darling@0.20.8
darling_core@0.20.8
darling_macro@0.20.8
data-url@0.3.1
deflate@0.8.6
deranged@0.3.11
directories@5.0.1
dirs-sys@0.4.1
dmg@0.1.2
either@1.11.0
encoding_rs@0.8.34
equivalent@1.0.1
errno@0.3.8
exr@1.72.0
fastrand@2.1.0
fdeflate@0.3.4
filedescriptor@0.8.2
filetime@0.2.23
flate2@1.0.30
float-cmp@0.9.0
flume@0.11.0
fnv@1.0.7
fontconfig-parser@0.5.6
fontdb@0.16.2
foreign-types-shared@0.1.1
foreign-types@0.3.2
form_urlencoded@1.2.1
fs_extra@1.3.0
futures-channel@0.3.30
futures-core@0.3.30
futures-io@0.3.30
futures-sink@0.3.30
futures-task@0.3.30
futures-util@0.3.30
gag@1.0.0
getrandom@0.2.14
gif@0.13.1
gimli@0.28.1
glob@0.3.1
h2@0.4.4
half@2.4.1
hashbrown@0.12.3
hashbrown@0.14.5
heck@0.5.0
hermit-abi@0.3.9
hex@0.4.3
http-body-util@0.1.1
http-body@1.0.0
http@1.1.0
httparse@1.8.0
hyper-tls@0.6.0
hyper-util@0.1.3
hyper@1.3.1
iana-time-zone-haiku@0.1.2
iana-time-zone@0.1.60
icns@0.3.1
ident_case@1.0.1
idna@0.5.0
image-webp@0.1.2
image@0.25.1
imagesize@0.12.0
imgref@1.10.1
indexmap@1.9.3
indexmap@2.2.6
interpolate_name@0.2.4
ipnet@2.9.0
itertools@0.12.1
itoa@1.0.11
jobserver@0.1.31
jpeg-decoder@0.3.1
js-sys@0.3.69
kurbo@0.11.0
language-tags@0.3.2
lazy_static@1.4.0
lebe@0.5.2
libc@0.2.154
libfuzzer-sys@0.4.7
libredox@0.1.3
line-wrap@0.2.0
linux-raw-sys@0.4.13
lock_api@0.4.12
log@0.4.21
loop9@0.1.5
maybe-rayon@0.1.1
memchr@2.7.2
memmap2@0.9.4
mime@0.3.17
minimal-lexical@0.2.1
miniz_oxide@0.3.7
miniz_oxide@0.7.2
mio@0.8.11
native-tls@0.2.11
new_debug_unreachable@1.0.6
nom@7.1.3
noop_proc_macro@0.3.0
num-bigint@0.4.4
num-conv@0.1.0
num-derive@0.4.2
num-integer@0.1.46
num-rational@0.4.1
num-traits@0.2.18
num_cpus@1.16.0
num_threads@0.1.7
object@0.32.2
once_cell@1.19.0
openssl-macros@0.1.1
openssl-probe@0.1.5
openssl-src@300.2.3+3.2.1
openssl-sys@0.9.102
openssl@0.10.64
option-ext@0.2.0
owned_ttf_parser@0.20.0
parse-display-derive@0.8.2
parse-display@0.8.2
paste@1.0.14
percent-encoding@2.3.1
phf@0.11.2
phf_generator@0.11.2
phf_macros@0.11.2
phf_shared@0.11.2
pico-args@0.5.0
pin-project-internal@1.1.5
pin-project-lite@0.2.14
pin-project@1.1.5
pin-utils@0.1.0
pix@0.13.3
pkg-config@0.3.30
plist@1.6.1
png@0.16.8
png@0.17.13
powerfmt@0.2.0
ppv-lite86@0.2.17
proc-macro2@1.0.81
profiling-procmacros@1.0.15
profiling@1.0.15
qoi@0.4.1
quick-error@1.2.3
quick-error@2.0.1
quick-xml@0.31.0
quote@1.0.36
quoted-string@0.2.2
rand@0.8.5
rand_chacha@0.3.1
rand_core@0.6.4
rav1e@0.7.1
ravif@0.11.5
rayon-core@1.12.1
rayon@1.10.0
redox_syscall@0.4.1
redox_users@0.4.5
regex-automata@0.4.6
regex-syntax@0.7.5
regex-syntax@0.8.3
regex@1.10.4
reqwest@0.12.4
resvg@0.41.0
rgb@0.8.37
roxmltree@0.19.0
rustc-demangle@0.1.23
rustix@0.38.34
rustls-pemfile@2.1.2
rustls-pki-types@1.5.0
rustybuzz@0.13.0
ryu@1.0.17
sanitize-filename@0.5.0
schannel@0.1.23
scopeguard@1.2.0
security-framework-sys@2.10.0
security-framework@2.10.0
serde@1.0.199
serde_derive@1.0.199
serde_json@1.0.116
serde_spanned@0.6.5
serde_urlencoded@0.7.1
serde_with@3.8.1
serde_with_macros@3.8.1
simd-adler32@0.3.7
simd_helpers@0.1.0
simplecss@0.2.1
simplelog@0.12.2
siphasher@0.3.11
siphasher@1.0.1
slab@0.4.9
slotmap@1.0.7
smallvec@1.13.2
smart-default@0.7.1
socket2@0.5.7
spin@0.9.8
strict-num@0.1.1
strsim@0.10.0
strsim@0.11.1
structmeta-derive@0.2.0
structmeta@0.2.0
svgtypes@0.15.0
syn@2.0.60
sync_wrapper@0.1.2
system-configuration-sys@0.5.0
system-configuration@0.5.1
system-deps@6.2.2
tar@0.4.40
target-lexicon@0.12.14
tempfile@3.10.1
termcolor@1.4.1
thiserror-impl@1.0.59
thiserror@1.0.59
tiff@0.9.1
time-core@0.1.2
time-macros@0.2.18
time@0.3.36
tiny-skia-path@0.11.4
tiny-skia@0.11.4
tinyvec@1.6.0
tinyvec_macros@0.1.1
tokio-native-tls@0.3.1
tokio-socks@0.5.1
tokio-util@0.7.10
tokio@1.37.0
toml@0.8.12
toml_datetime@0.6.5
toml_edit@0.22.12
tower-layer@0.3.2
tower-service@0.3.2
tower@0.4.13
tracing-core@0.1.32
tracing@0.1.40
try-lock@0.2.5
ttf-parser@0.20.0
ulid@1.1.2
unicode-bidi-mirroring@0.2.0
unicode-bidi@0.3.15
unicode-ccc@0.2.0
unicode-ident@1.0.12
unicode-normalization@0.1.23
unicode-properties@0.1.1
unicode-script@0.5.6
unicode-vo@0.1.0
unicode-xid@0.2.4
url@2.5.0
urlencoding@2.1.3
usvg@0.41.0
utf8parse@0.2.1
v_frame@0.3.8
vcpkg@0.2.15
version-compare@0.2.0
version_check@0.9.4
want@0.3.1
wasi@0.11.0+wasi-snapshot-preview1
wasm-bindgen-backend@0.2.92
wasm-bindgen-futures@0.4.42
wasm-bindgen-macro-support@0.2.92
wasm-bindgen-macro@0.2.92
wasm-bindgen-shared@0.2.92
wasm-bindgen@0.2.92
web-sys@0.3.69
web-time@1.1.0
weezl@0.1.8
winapi-i686-pc-windows-gnu@0.4.0
winapi-util@0.1.8
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
windows-core@0.52.0
windows-sys@0.48.0
windows-sys@0.52.0
windows-targets@0.48.5
windows-targets@0.52.5
windows@0.52.0
windows_aarch64_gnullvm@0.48.5
windows_aarch64_gnullvm@0.52.5
windows_aarch64_msvc@0.48.5
windows_aarch64_msvc@0.52.5
windows_i686_gnu@0.48.5
windows_i686_gnu@0.52.5
windows_i686_gnullvm@0.52.5
windows_i686_msvc@0.48.5
windows_i686_msvc@0.52.5
windows_x86_64_gnu@0.48.5
windows_x86_64_gnu@0.52.5
windows_x86_64_gnullvm@0.48.5
windows_x86_64_gnullvm@0.52.5
windows_x86_64_msvc@0.48.5
windows_x86_64_msvc@0.52.5
winnow@0.6.7
winreg@0.52.0
xattr@1.3.1
xmlwriter@0.1.0
zstd-safe@7.1.0
zstd-sys@2.0.10+zstd.1.5.6
zstd@0.13.1
zune-core@0.4.12
zune-inflate@0.2.54
zune-jpeg@0.4.11
"
declare -A GIT_CRATES=(
[mime-parse]='https://github.com/filips123/mime;57416f447a10c3343df7fe80deb0ae8a7c77cf0a;mime-%commit%/mime-parse'
[mime]='https://github.com/filips123/mime;57416f447a10c3343df7fe80deb0ae8a7c77cf0a;mime-%commit%'
[web_app_manifest]='https://github.com/filips123/WebAppManifestRS;477c5bbc7406eec01aea40e18338dafcec78c917;WebAppManifestRS-%commit%'
)
inherit cargo desktop flag-o-matic shell-completion toolchain-funcs xdg
DESCRIPTION="A tool to install, manage and use PWAs in Mozilla Firefox (native component)"
HOMEPAGE="https://pwasforfirefox.filips.si/"
SRC_URI="
https://github.com/filips123/PWAsForFirefox/archive/v${PV}.tar.gz -> ${P}.tar.gz
${CARGO_CRATE_URIS}
"
S="${WORKDIR}/PWAsForFirefox-${PV}/native"
# Main project license
LICENSE="MPL-2.0"
# Dependent crate licenses
LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD MIT MPL-2.0
Unicode-DFS-2016 ZLIB
"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="custom-cflags lto static"
# Add app-arch/bzip2 when it finally get pkg-config file
DEPEND="
!static? (
app-arch/zstd:=
dev-libs/openssl:=
)
"
RDEPEND="${DEPEND}"
# As Rust produces LLVM IR when using LTO, lld is needed to link. Furthermore,
# as some crates contain C code, clang should be used to compile them to produce
# compatible IR.
BDEPEND="
lto? (
!custom-cflags? (
sys-devel/clang
sys-devel/lld
)
)
!static? ( virtual/pkgconfig )
"
QA_FLAGS_IGNORED="
usr/bin/firefoxpwa
usr/libexec/firefoxpwa-connector
"
src_prepare() {
default
# Set version in source files as per build instructions
sed -i "s/version = \"0.0.0\"/version = \"${PV}\"/g" Cargo.toml || die
sed -i "s/DISTRIBUTION_VERSION = '0.0.0'/DISTRIBUTION_VERSION = '${PV}'/g" \
userchrome/profile/chrome/pwa/chrome.jsm || die
}
src_configure() {
# Setup toolchain
export CARGO_PROFILE_RELEASE_LTO=$(usex lto true false)
strip-flags
if use lto; then
if ! use custom-cflags; then
CC="${CHOST}-clang"
CXX="${CHOST}-clang++"
RUSTFLAGS="-Clinker=clang -Clink-arg=-fuse-ld=lld ${RUSTFLAGS}"
# Fix -flto[=n] not being recognized by clang.
if tc-is-clang && is-flag "-flto=*"; then
replace-flags "-flto=*" "-flto"
fi
fi
else
filter-lto
fi
# Ask to use system dependencies
if ! use static; then
export PKG_CONFIG_ALLOW_CROSS=1
export ZSTD_SYS_USE_PKG_CONFIG=1
export OPENSSL_NO_VENDOR=1
fi
# Configure features
local myfeatures=(
$(usev static)
)
cargo_src_configure
}
src_install() {
# Executables
dobin target/*/firefoxpwa
exeinto /usr/libexec
doexe target/*/firefoxpwa-connector
# Manifest
local target_dirs=( /usr/lib{,64}/mozilla/native-messaging-hosts )
for target_dir in "${target_dirs[@]}"; do
insinto "${target_dir}"
newins manifests/linux.json firefoxpwa.json
done
# Completions
newbashcomp target/*/completions/firefoxpwa.bash firefoxpwa
dofishcomp target/*/completions/firefoxpwa.fish
dozshcomp target/*/completions/_firefoxpwa
# UserChrome
insinto /usr/share/firefoxpwa
doins -r ./userchrome
# Documentation
dodoc ../README.md
newdoc ../native/README.md README-NATIVE.md
newdoc ../extension/README.md README-EXTENSION.md
# AppStream Metadata
insinto /usr/share/metainfo
doins packages/appstream/si.filips.FirefoxPWA.metainfo.xml
# Icon
doicon -s scalable packages/appstream/si.filips.FirefoxPWA.svg
}
pkg_postinst() {
if [[ ! ${REPLACING_VERSIONS} ]]; then
elog "You have successfully installed the native part of the PWAsForFirefox project."
elog "You should also install the Firefox extension if you haven't already."
elog
elog "Download:"
elog "\thttps://addons.mozilla.org/firefox/addon/pwas-for-firefox/"
fi
xdg_pkg_postinst
}
pkg_postrm() {
if [[ ! ${REPLACED_BY_VERSION} ]]; then
elog "Runtime, profiles and web apps are still installed in user directories."
elog "You can remove them manually after this package is uninstalled."
elog "Doing that will remove all installed web apps and their data."
fi
xdg_pkg_postrm
}