From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 18D74158099 for ; Mon, 27 Nov 2023 18:50:31 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 23C2C2BC034; Mon, 27 Nov 2023 18:50:30 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id F19732BC034 for ; Mon, 27 Nov 2023 18:50:29 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id BC11E340B65 for ; Mon, 27 Nov 2023 18:50:28 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 0ED961323 for ; Mon, 27 Nov 2023 18:50:27 +0000 (UTC) From: "Anna Vyalkova" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Anna Vyalkova" Message-ID: <1701110978.e87f462d5bce0ccd2378f54d5b83b41cfdff7dcd.cybertailor@gentoo> Subject: [gentoo-commits] repo/proj/guru:dev commit in: www-plugins/firefoxpwa/ X-VCS-Repository: repo/proj/guru X-VCS-Files: www-plugins/firefoxpwa/firefoxpwa-2.9.0-r1.ebuild X-VCS-Directories: www-plugins/firefoxpwa/ X-VCS-Committer: cybertailor X-VCS-Committer-Name: Anna Vyalkova X-VCS-Revision: e87f462d5bce0ccd2378f54d5b83b41cfdff7dcd X-VCS-Branch: dev Date: Mon, 27 Nov 2023 18:50:27 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e03d9bba-66b7-4189-8479-7f35adf6dd64 X-Archives-Hash: d55afa64ab78a73252acaefa2a97a3b9 commit: e87f462d5bce0ccd2378f54d5b83b41cfdff7dcd Author: Anna (cybertailor) Vyalkova sysrq in> AuthorDate: Mon Nov 27 11:47:53 2023 +0000 Commit: Anna Vyalkova sysrq in> CommitDate: Mon Nov 27 18:49:38 2023 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=e87f462d www-plugins/firefoxpwa: add 'dev-libs/openssl' dep Other changes: * Remove 'cargo_src_install' * Do not install manifests as symlinks * Do not install license information * Update icon cache ('xdg.eclass') Cosmetic changes: * Put post-remove notice in the ${REPLACING_VERSIONS} guard * Install the icon with 'desktop.eclass' * Install competions with 'shell-completion.eclass' * Fit description in <80 characters * Sort keywords Signed-off-by: Anna (cybertailor) Vyalkova sysrq.in> www-plugins/firefoxpwa/firefoxpwa-2.9.0-r1.ebuild | 440 ++++++++++++++++++++++ 1 file changed, 440 insertions(+) diff --git a/www-plugins/firefoxpwa/firefoxpwa-2.9.0-r1.ebuild b/www-plugins/firefoxpwa/firefoxpwa-2.9.0-r1.ebuild new file mode 100644 index 0000000000..dbd25d0134 --- /dev/null +++ b/www-plugins/firefoxpwa/firefoxpwa-2.9.0-r1.ebuild @@ -0,0 +1,440 @@ +# Copyright 2023 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.4 + anstyle-parse@0.2.2 + anstyle-query@1.0.0 + anstyle-wincon@3.0.1 + anstyle@1.0.4 + anyhow@1.0.75 + arrayref@0.3.7 + arrayvec@0.7.4 + async-compression@0.4.5 + autocfg@1.1.0 + backtrace@0.3.69 + base64@0.21.5 + bit_field@0.10.2 + bitflags@1.3.2 + bitflags@2.4.1 + 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.1.1 + chrono@0.4.31 + clap@4.4.8 + clap_builder@4.4.8 + clap_complete@4.4.4 + clap_derive@4.4.7 + clap_lex@0.6.0 + color_quant@1.1.0 + colorchoice@1.0.0 + configparser@3.0.3 + const_format@0.2.32 + const_format_proc_macros@0.2.32 + core-foundation-sys@0.8.4 + core-foundation@0.9.3 + crc32fast@1.3.2 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.15 + crossbeam-utils@0.8.16 + 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.0 + deflate@0.8.6 + deranged@0.3.9 + 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.7 + exr@1.71.0 + fastrand@2.0.1 + fdeflate@0.3.1 + filedescriptor@0.8.2 + filetime@0.2.22 + flate2@1.0.28 + float-cmp@0.9.0 + flume@0.11.0 + fnv@1.0.7 + fontconfig-parser@0.5.3 + fontdb@0.15.0 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.0 + fs_extra@1.3.0 + futures-channel@0.3.29 + futures-core@0.3.29 + futures-io@0.3.29 + futures-sink@0.3.29 + futures-task@0.3.29 + futures-util@0.3.29 + gag@1.0.0 + getrandom@0.2.11 + gif@0.12.0 + gimli@0.28.0 + glob@0.3.1 + h2@0.3.22 + half@2.2.1 + hashbrown@0.12.3 + hashbrown@0.14.2 + heck@0.4.1 + hermit-abi@0.3.3 + hex@0.4.3 + http-body@0.4.5 + http@0.2.11 + httparse@1.8.0 + httpdate@1.0.3 + hyper-tls@0.5.0 + hyper@0.14.27 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.58 + icns@0.3.1 + ident_case@1.0.1 + idna@0.4.0 + image@0.24.7 + imagesize@0.12.0 + indexmap@1.9.3 + indexmap@2.1.0 + ipnet@2.9.0 + itoa@1.0.9 + jpeg-decoder@0.3.0 + js-sys@0.3.65 + kurbo@0.9.5 + language-tags@0.3.2 + lazy_static@1.4.0 + lebe@0.5.2 + libc@0.2.150 + libredox@0.0.1 + line-wrap@0.1.1 + linux-raw-sys@0.4.11 + lock_api@0.4.11 + log@0.4.20 + memchr@2.6.4 + memmap2@0.8.0 + memoffset@0.9.0 + mime@0.3.17 + miniz_oxide@0.3.7 + miniz_oxide@0.7.1 + mio@0.8.9 + native-tls@0.2.11 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.17 + num_cpus@1.16.0 + num_threads@0.1.6 + object@0.32.1 + once_cell@1.18.0 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-src@300.1.6+3.1.4 + openssl-sys@0.9.95 + openssl@0.10.59 + 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.0 + 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.27 + plist@1.6.0 + png@0.16.8 + png@0.17.10 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + proc-macro2@1.0.69 + qoi@0.4.1 + quick-error@1.2.3 + quick-xml@0.31.0 + quote@1.0.33 + quoted-string@0.2.2 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.0 + rayon@1.8.0 + rctree@0.5.0 + redox_syscall@0.3.5 + 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.22 + resvg@0.36.0 + rgb@0.8.37 + roxmltree@0.18.1 + rustc-demangle@0.1.23 + rustix@0.38.24 + rustybuzz@0.10.0 + ryu@1.0.15 + safemem@0.3.3 + sanitize-filename@0.5.0 + schannel@0.1.22 + scopeguard@1.2.0 + security-framework-sys@2.9.1 + security-framework@2.9.2 + serde@1.0.192 + serde_derive@1.0.192 + serde_json@1.0.108 + serde_urlencoded@0.7.1 + serde_with@3.4.0 + serde_with_macros@3.4.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.6 + smallvec@1.11.2 + smart-default@0.7.1 + socket2@0.4.10 + 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.12.0 + syn@2.0.39 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tar@0.4.40 + tempfile@3.8.1 + termcolor@1.1.3 + thiserror-impl@1.0.50 + thiserror@1.0.50 + tiff@0.9.0 + time-core@0.1.2 + time-macros@0.2.15 + time@0.3.30 + tiny-skia-path@0.11.2 + tiny-skia@0.11.2 + 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.34.0 + tower-service@0.3.2 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.4 + ttf-parser@0.19.2 + ttf-parser@0.20.0 + ulid@1.1.0 + unicode-bidi-mirroring@0.1.0 + unicode-bidi@0.3.13 + unicode-ccc@0.1.2 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + unicode-properties@0.1.0 + unicode-script@0.5.5 + unicode-vo@0.1.0 + unicode-xid@0.2.4 + url@2.4.1 + urlencoding@2.1.3 + usvg-parser@0.36.0 + usvg-text-layout@0.36.0 + usvg-tree@0.36.0 + usvg@0.36.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.88 + wasm-bindgen-futures@0.4.38 + wasm-bindgen-macro-support@0.2.88 + wasm-bindgen-macro@0.2.88 + wasm-bindgen-shared@0.2.88 + wasm-bindgen@0.2.88 + web-sys@0.3.65 + 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.51.1 + windows-sys@0.48.0 + windows-targets@0.48.5 + windows@0.51.1 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_msvc@0.48.5 + windows_i686_gnu@0.48.5 + windows_i686_msvc@0.48.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_msvc@0.48.5 + winreg@0.50.0 + xattr@1.0.1 + xmlparser@0.13.6 + xmlwriter@0.1.0 + zune-inflate@0.2.54 +" + +declare -A GIT_CRATES=( + [data-url]='https://github.com/servo/rust-url;464b1f7d8fe9de117af184c1acb52b4f821a0cdc;rust-url-%commit%/data-url' + [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} +" + +# Main project license +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 ~arm ~arm64 ~x86" +IUSE="lto custom-cflags" + +# Add app-arch/bzip2 when it finally get pkg-config file +DEPEND="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=" + virtual/pkgconfig + lto? ( + !custom-cflags? ( + sys-devel/clang + sys-devel/lld + ) + ) +" + +QA_FLAGS_IGNORED=" + usr/bin/firefoxpwa + usr/libexec/firefoxpwa-connector +" + +S="${WORKDIR}/PWAsForFirefox-${PV}/native" + +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() { + strip-flags + + export CARGO_PROFILE_RELEASE_LTO=$(usex lto true false) + + if use lto; then + if ! use custom-cflags; then + # Fix -flto[=n] not being recognized by clang. + tc-is-gcc && is-flag "-flto=*" && replace-flags "-flto=*" "-flto" + CC="${CHOST}-clang" + CXX="${CHOST}-clang++" + RUSTFLAGS="-Clinker=clang -Clink-arg=-fuse-ld=lld ${RUSTFLAGS}" + fi + else + filter-lto + fi + + export PKG_CONFIG_ALLOW_CROSS=1 + export OPENSSL_NO_VENDOR=1 + 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() { + echo "You have successfully installed the native part of the PWAsForFirefox project" + echo "You should also install the Firefox extension if you haven't already" + echo "Download: https://addons.mozilla.org/firefox/addon/pwas-for-firefox/" + + xdg_pkg_postinst +} + +pkg_postrm() { + if [[ ! ${REPLACING_VERSIONS} ]]; then + echo "Runtime, profiles and web apps are still installed in user directories" + echo "You can remove them manually after this package is uninstalled" + echo "Doing that will remove all installed web apps and their data" + fi + + xdg_pkg_postrm +}