# Copyright 2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 CRATES=" ab_glyph@0.2.23 ab_glyph_rasterizer@0.1.8 addr2line@0.21.0 adler32@1.2.0 adler@1.0.2 aho-corasick@1.1.2 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.11 anstyle-parse@0.2.3 anstyle-query@1.0.2 anstyle-wincon@3.0.2 anstyle@1.0.4 anyhow@1.0.79 arrayref@0.3.7 arrayvec@0.7.4 async-compression@0.4.6 autocfg@1.1.0 backtrace@0.3.69 base64@0.21.7 bit_field@0.10.2 bitflags@1.3.2 bitflags@2.4.2 brotli-decompressor@2.5.1 brotli@3.4.0 bumpalo@3.14.0 bytemuck@1.14.0 byteorder@1.5.0 bytes@1.5.0 bzip2-sys@0.1.11+1.0.8 bzip2@0.4.4 cc@1.0.83 cfg-if@1.0.0 cfg_aliases@0.2.0 chrono@0.4.31 clap@4.4.18 clap_builder@4.4.18 clap_complete@4.4.8 clap_derive@4.4.7 clap_lex@0.6.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 core-foundation-sys@0.8.6 core-foundation@0.9.4 crc32fast@1.3.2 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.3 darling_core@0.20.3 darling_macro@0.20.3 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.9.0 encoding_rs@0.8.33 equivalent@1.0.1 errno@0.3.8 exr@1.71.0 fastrand@2.0.1 fdeflate@0.3.4 filedescriptor@0.8.2 filetime@0.2.23 flate2@1.0.28 float-cmp@0.9.0 flume@0.11.0 fnv@1.0.7 fontconfig-parser@0.5.3 fontdb@0.16.0 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.12 gif@0.12.0 gimli@0.28.1 glob@0.3.1 h2@0.3.24 half@2.2.1 hashbrown@0.12.3 hashbrown@0.14.3 heck@0.4.1 hermit-abi@0.3.4 hex@0.4.3 http-body@0.4.6 http@0.2.11 httparse@1.8.0 httpdate@1.0.3 hyper-tls@0.5.0 hyper@0.14.28 iana-time-zone-haiku@0.1.2 iana-time-zone@0.1.59 icns@0.3.1 ident_case@1.0.1 idna@0.5.0 image@0.24.8 imagesize@0.12.0 indexmap@1.9.3 indexmap@2.1.0 ipnet@2.9.0 itoa@1.0.10 jpeg-decoder@0.3.1 js-sys@0.3.67 kurbo@0.9.5 language-tags@0.3.2 lazy_static@1.4.0 lebe@0.5.2 libc@0.2.152 libredox@0.0.1 line-wrap@0.1.1 linux-raw-sys@0.4.13 lock_api@0.4.11 log@0.4.20 memchr@2.7.1 memmap2@0.9.3 mime@0.3.17 miniz_oxide@0.3.7 miniz_oxide@0.7.1 mio@0.8.11 native-tls@0.2.11 num-traits@0.2.17 num_cpus@1.16.0 num_threads@0.1.6 object@0.32.2 once_cell@1.19.0 openssl-macros@0.1.1 openssl-probe@0.1.5 openssl-src@300.2.1+3.2.0 openssl-sys@0.9.99 openssl@0.10.63 option-ext@0.2.0 owned_ttf_parser@0.20.0 parse-display-derive@0.8.2 parse-display@0.8.2 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-lite@0.2.13 pin-utils@0.1.0 pix@0.13.3 pkg-config@0.3.29 plist@1.6.0 png@0.16.8 png@0.17.11 powerfmt@0.2.0 ppv-lite86@0.2.17 proc-macro2@1.0.78 qoi@0.4.1 quick-error@1.2.3 quick-xml@0.31.0 quote@1.0.35 quoted-string@0.2.2 rand@0.8.5 rand_chacha@0.3.1 rand_core@0.6.4 rayon-core@1.12.1 rayon@1.8.1 rctree@0.5.0 redox_syscall@0.4.1 redox_users@0.4.4 regex-automata@0.4.3 regex-syntax@0.7.5 regex-syntax@0.8.2 regex@1.10.2 reqwest@0.11.23 resvg@0.37.0 rgb@0.8.37 roxmltree@0.18.1 roxmltree@0.19.0 rustc-demangle@0.1.23 rustix@0.38.30 rustybuzz@0.12.1 ryu@1.0.16 safemem@0.3.3 sanitize-filename@0.5.0 schannel@0.1.23 scopeguard@1.2.0 security-framework-sys@2.9.1 security-framework@2.9.2 serde@1.0.195 serde_derive@1.0.195 serde_json@1.0.111 serde_urlencoded@0.7.1 serde_with@3.5.0 serde_with_macros@3.5.0 simd-adler32@0.3.7 simplecss@0.2.1 simplelog@0.12.1 siphasher@0.3.11 slab@0.4.9 slotmap@1.0.7 smallvec@1.13.1 smart-default@0.7.1 socket2@0.5.5 spin@0.9.8 strict-num@0.1.1 strsim@0.10.0 structmeta-derive@0.2.0 structmeta@0.2.0 svgtypes@0.13.0 syn@2.0.48 system-configuration-sys@0.5.0 system-configuration@0.5.1 tar@0.4.40 tempfile@3.9.0 termcolor@1.1.3 thiserror-impl@1.0.56 thiserror@1.0.56 tiff@0.9.1 time-core@0.1.2 time-macros@0.2.16 time@0.3.31 tiny-skia-path@0.11.3 tiny-skia@0.11.3 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.35.1 tower-service@0.3.2 tracing-core@0.1.32 tracing@0.1.40 try-lock@0.2.5 ttf-parser@0.20.0 ulid@1.1.0 unicode-bidi-mirroring@0.1.0 unicode-bidi@0.3.15 unicode-ccc@0.1.2 unicode-ident@1.0.12 unicode-normalization@0.1.22 unicode-properties@0.1.1 unicode-script@0.5.5 unicode-vo@0.1.0 unicode-xid@0.2.4 url@2.5.0 urlencoding@2.1.3 usvg-parser@0.37.0 usvg-text-layout@0.37.0 usvg-tree@0.37.0 usvg@0.37.0 utf8parse@0.2.1 vcpkg@0.2.15 version_check@0.9.4 want@0.3.1 wasi@0.11.0+wasi-snapshot-preview1 wasm-bindgen-backend@0.2.90 wasm-bindgen-futures@0.4.40 wasm-bindgen-macro-support@0.2.90 wasm-bindgen-macro@0.2.90 wasm-bindgen-shared@0.2.90 wasm-bindgen@0.2.90 web-sys@0.3.67 weezl@0.1.7 winapi-i686-pc-windows-gnu@0.4.0 winapi-util@0.1.6 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.0 windows@0.52.0 windows_aarch64_gnullvm@0.48.5 windows_aarch64_gnullvm@0.52.0 windows_aarch64_msvc@0.48.5 windows_aarch64_msvc@0.52.0 windows_i686_gnu@0.48.5 windows_i686_gnu@0.52.0 windows_i686_msvc@0.48.5 windows_i686_msvc@0.52.0 windows_x86_64_gnu@0.48.5 windows_x86_64_gnu@0.52.0 windows_x86_64_gnullvm@0.48.5 windows_x86_64_gnullvm@0.52.0 windows_x86_64_msvc@0.48.5 windows_x86_64_msvc@0.52.0 winreg@0.50.0 xattr@1.3.1 xmlparser@0.13.6 xmlwriter@0.1.0 zune-inflate@0.2.54 " 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=" 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 }