# Copyright 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 shell-completion xdg DESCRIPTION="A tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox" HOMEPAGE="https://pwasforfirefox.filips.si/" SRC_URI=" https://github.com/filips123/PWAsForFirefox/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz ${CARGO_CRATE_URIS} " S="${WORKDIR}/PWAsForFirefox-${PV}/native" LICENSE="MPL-2.0" # Dependent crate licenses LICENSE+=" Apache-2.0 BSD-2 BSD MIT MPL-2.0 Unicode-DFS-2016 ZLIB" SLOT="0" KEYWORDS="~amd64" RDEPEND=" dev-libs/openssl:= " DEPEND=" ${RDEPEND} " BDEPEND=" dev-build/cargo-make virtual/pkgconfig " QA_FLAGS_IGNORED=".*" src_prepare() { default #sed -i -e "/version =/ s/0.0.0/${PV}/" Cargo.toml || die sed -i -E \ -e 's/\$SUDO //' \ -e 's/((install|mkdir|cp) .*) (\S*)$/\1 ${DESTDIR}\3/' \ Makefile.toml || die } src_configure() { makers set-version ${PV} || die cargo_src_configure } src_install() { local -x DESTDIR="${ED}" set -- cargo make install einfo "$@" "$@" || die -n "${*} failed" dodoc ../README.md newdoc ../native/README.md README-NATIVE.md newdoc ../extension/README.md README-EXTENSION.md insinto /usr/share/metainfo doins packages/appstream/si.filips.FirefoxPWA.metainfo.xml newbashcomp target/*/completions/firefoxpwa.bash firefoxpwa dofishcomp target/*/completions/firefoxpwa.fish dozshcomp target/*/completions/_firefoxpwa } pkg_postinst() { einfo "You have successfully installed the native part of the PWAsForFirefox project" einfo "You should also install the Firefox extension if you haven't already" einfo "Download: https://addons.mozilla.org/firefox/addon/pwas-for-firefox/" xdg_pkg_postinst } pkg_postrm() { if [[ ! ${REPLACING_VERSIONS} ]]; then einfo "Runtime, profiles and web apps are still installed in user directories" einfo "You can remove them manually after this package is uninstalled" einfo "Doing that will remove all installed web apps and their data" fi xdg_pkg_postrm }