Compare commits

..

No commits in common. "8ad1b8b4e96b73e8a0bbb021d50eed28a0fe04a0" and "fdb396199008ca36625e37e49819ff8d48fe15d8" have entirely different histories.

73 changed files with 2876 additions and 390 deletions

View File

@ -1,49 +0,0 @@
# Copyright 2020-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CMAKE_REMOVE_MODULES_LIST=( "FindGtest" )
inherit cmake
DESCRIPTION="A very simple convenience library for handling properties and signals in C++11"
HOMEPAGE="https://github.com/lib-cpp/properties-cpp"
if [[ "${PV}" == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/lib-cpp/properties-cpp"
else
COMMIT="45863e849b39c4921d6553e6d27e267a96ac7d77" # 9.4.2018
SRC_URI="https://github.com/lib-cpp/properties-cpp/archive/"${COMMIT}".tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-${COMMIT}"
KEYWORDS="~amd64"
fi
LICENSE="LGPL-3"
SLOT="0"
IUSE="doc test"
RESTRICT="!test? ( test )"
DEPEND="
doc? ( app-doc/doxygen )
test? ( dev-cpp/gtest )
"
PATCHES=( "${FILESDIR}/optional_tests.patch" )
src_prepare() {
# Provided FindGtest tries (and fails) to build its own version of gtest rather than actually search for it on the system
#cp "${FILESDIR}"/FindGtest.cmake cmake/FindGtest.cmake || die
sed -i 's/Gtest/GTest/' tests/CMakeLists.txt || die
sed -i 's/${GMOCK_INCLUDE_DIR}/GTest::gmock/' tests/CMakeLists.txt || die
sed -i 's/${GTEST_INCLUDE_DIR}/GTest::gtest/' tests/CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DPROPERTIES_CPP_ENABLE_DOC_GENERATION=$(usex doc)
-DPROPERTIES_CPP_BUILD_TESTS=$(usex test)
)
cmake_src_configure
}

View File

@ -1,2 +1,3 @@
DIST sdbus-cpp-1.1.0.tar.gz 201532 BLAKE2B 3dac74cb7fc6717db9d25463ddfb9122db54edcd3bc9d1e71d18c132ede1efaf12b514f335c3978f51277afff7e6ab5533cfd02241759f7e3d24cede8aa29c6d SHA512 ba6230c0d1019875d92a92f793278c528a01692dc70e7acee8bb289af5dae65c1ad7b1c139f859cb7a960c7b48501178bfdf755163c2bc4d3766e67f3aa9b883 DIST sdbus-cpp-0.8.3.tar.gz 190124 BLAKE2B ad7d3872016471c7b8db0f20609e8debb13d155492655561675add60c9c1e9089553c31f7375136ba696112d17a4bd92a947a600a2c9f2842f7c0ba79f38046d SHA512 bdaccd686aeba9f24284c796fac7d0b6d514365e0b757db91e209e1e15c928d9de8ab1d5f5d21671896b07ea762ab4b7c6a5ce0850b17ad08bacb0f1a668cfb2
DIST systemd-stable-251.tar.gz 11432310 BLAKE2B a525a07a143b6c25b97c2ef510ca38ad7c752b96d7efd073a714d6750fbb8309ab926a6415988eeb195104319484fa2476f5dd486673cc848e24cadbd76744da SHA512 9a67136b1fc6600881b2b1a1d89185e5e48ab600a9226b1f27229f8d87c1afc9a1502095f2e26dff3bf0de8f4780293d6b3f78536357859cbfc4bec62d425125 DIST sdbus-cpp-1.0.0.tar.gz 202061 BLAKE2B 38a73b4c538e4bc64a21cabb1a5e3abdfca52b0d5785e11a55aef59271e772435c6d6844e605ebebb398d09ace565b13f201cd62217a7174a4d9d9be24ef8e6b SHA512 dc6b6c4945f5203ad5e4d86ae78088ce367a5ee28f3bb1c17c116c0755d9b221685a92b32dd9e354351067b012768e8d42ebe5dac93199d1384b9b4dadec09ef
DIST systemd-stable-242.tar.gz 7831827 BLAKE2B cdcb2cb2b2b7b05eb8509faaf9bd5c11fdbab316c4ae61492e1eb5f405c9b2c527acc7105efad13cde1e877febe401a313e3dd43cec4f04aa5a4ea939f20f9a3 SHA512 607d41ce212ea320f51ad3729d86b4b2fb6a3ed78ff493ffe095ac9a7d7b27e56910c1b941c15c2e574b5e8fd8e72ab1d53870112ce604958a717a2f870290ff

View File

@ -0,0 +1,45 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake
DESCRIPTION="High-level C++ D-Bus library for Linux"
HOMEPAGE="https://github.com/Kistler-Group/sdbus-cpp/"
SYSTEMDVER="242"
SRC_URI="
https://github.com/Kistler-Group/sdbus-cpp/archive/v"${PV}".tar.gz -> sdbus-cpp-"${PV}".tar.gz
!systemd? ( https://github.com/systemd/systemd-stable/archive/v"${SYSTEMDVER}".tar.gz -> systemd-stable-"${SYSTEMDVER}".tar.gz )
"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64"
IUSE="systemd"
RDEPEND="
systemd? ( sys-apps/systemd )
"
DEPEND="
${RDEPEND}
virtual/pkgconfig
"
CMAKE_MAKEFILE_GENERATOR=emake # ninja cant handle external projects for some reason
PATCHES=( "${FILESDIR}/remove_download_from_external_project.patch" )
src_prepare() {
cmake_src_prepare
use systemd || mv "${WORKDIR}"/systemd-stable-"${SYSTEMDVER}" "${S}"_build/systemd || die
}
src_configure() {
local mycmakeargs=(
-DBUILD_CODE_GEN=ON # possibly could be use controlled instead
-DBUILD_LIBSYSTEMD=$(usex !systemd)
)
cmake_src_configure
}

View File

@ -1,4 +1,4 @@
# Copyright 2020-2022 Gentoo Authors # Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=8 EAPI=8
@ -8,37 +8,27 @@ inherit cmake
DESCRIPTION="High-level C++ D-Bus library for Linux" DESCRIPTION="High-level C++ D-Bus library for Linux"
HOMEPAGE="https://github.com/Kistler-Group/sdbus-cpp/" HOMEPAGE="https://github.com/Kistler-Group/sdbus-cpp/"
SYSTEMDVER="251" SYSTEMDVER="242"
SRC_URI=" SRC_URI="
https://github.com/Kistler-Group/sdbus-cpp/archive/v${PV}.tar.gz -> ${P}.tar.gz https://github.com/Kistler-Group/sdbus-cpp/archive/v${PV}.tar.gz -> sdbus-cpp-"${PV}".tar.gz
!systemd? ( https://github.com/systemd/systemd-stable/archive/v"${SYSTEMDVER}".tar.gz -> systemd-stable-"${SYSTEMDVER}".tar.gz ) !systemd? ( https://github.com/systemd/systemd-stable/archive/v"${SYSTEMDVER}".tar.gz -> systemd-stable-"${SYSTEMDVER}".tar.gz )
" "
LICENSE="LGPL-2.1" LICENSE="LGPL-2.1"
SLOT="0" SLOT="0"
KEYWORDS="~amd64" KEYWORDS="~amd64"
IUSE="doc examples systemd test" IUSE="systemd"
RESTRICT="!test? ( test )"
CDEPEND=" RDEPEND="
systemd? ( sys-apps/systemd ) systemd? ( sys-apps/systemd )
" "
DEPEND=" DEPEND="
${CDEPEND} ${RDEPEND}
test? (
dev-cpp/gtest
)
"
RDEPEND="
${CDEPEND}
"
BDEPEND="
virtual/pkgconfig virtual/pkgconfig
test? (
sys-apps/dbus
)
" "
CMAKE_MAKEFILE_GENERATOR=emake # ninja cant handle external projects for some reason
PATCHES=( "${FILESDIR}/remove_download_from_external_project.patch" ) PATCHES=( "${FILESDIR}/remove_download_from_external_project.patch" )
src_prepare() { src_prepare() {
@ -48,20 +38,8 @@ src_prepare() {
src_configure() { src_configure() {
local mycmakeargs=( local mycmakeargs=(
-DBUILD_CODE_GEN=ON -DBUILD_CODE_GEN=ON # possibly could be use controlled instead
-DBUILD_LIBSYSTEMD=$(usex !systemd) -DBUILD_LIBSYSTEMD=$(usex !systemd)
-DBUILD_TESTS=$(usex test)
-DBUILD_EXAMPLES=$(usex examples)
-DBUILD_SHARED_LIBS=ON
-DBUILD_DOC=$(usex doc)
) )
cmake_src_configure cmake_src_configure
} }
src_test() {
local myctestargs=(
# Requires system level configs for dbus
--exclude-regex integration-tests
)
cmake_src_test
}

View File

@ -1,3 +1,2 @@
DIST olm-3.2.12.tar.bz2 2742680 BLAKE2B 47c3bacaf05cc0bb6088da34e6a031f9c770893771ddcf9f13bc0e10a050139f14969dfc91f38684336872089b4cbf9d66e4bd85692989eba5fc3df966da3cd2 SHA512 a25db4c72910512beca9120db59ebeeefc5fff6a381e88ae7cf261bc5ab896edc2cfe25ece57b7b28b2e3d8bc66367c457133c147e1a3514f926714159b5cf6f
DIST olm-3.2.6.tar.bz2 485416 BLAKE2B 414e636a1bd32ff7698f3db7748a77aaa2449d260c79f3dcb64db6c509e4f972e4098e439838eb876bc7b738d25a5c704fed94edc9ca41f2c036c3d1438934f0 SHA512 e22af4e7791962978ea4c39b9bebf807a864ca52b329f032e5e398864cd142c1f166aadbce74cb85f776cb0b8352754151f64c60dac2ce1858def73d684fd44a DIST olm-3.2.6.tar.bz2 485416 BLAKE2B 414e636a1bd32ff7698f3db7748a77aaa2449d260c79f3dcb64db6c509e4f972e4098e439838eb876bc7b738d25a5c704fed94edc9ca41f2c036c3d1438934f0 SHA512 e22af4e7791962978ea4c39b9bebf807a864ca52b329f032e5e398864cd142c1f166aadbce74cb85f776cb0b8352754151f64c60dac2ce1858def73d684fd44a
DIST olm-3.2.7.tar.bz2 488852 BLAKE2B 8438d81647425cc2c258eeafaa1a0586d3b38bab32d7849f3e576a8543c910e7eaf19f8c151ad1659e4424a4f09d4641416ecf6dba2cd7523527a5176b29c644 SHA512 c36fefed4f8ba1058729387e4ed3b5b9e3be811940ff8284398255f06915b406f08fb30603f6fe6b28e344cbcaed6cfdbe430b3693701d4050047fb32fd88449 DIST olm-3.2.7.tar.bz2 488852 BLAKE2B 8438d81647425cc2c258eeafaa1a0586d3b38bab32d7849f3e576a8543c910e7eaf19f8c151ad1659e4424a4f09d4641416ecf6dba2cd7523527a5176b29c644 SHA512 c36fefed4f8ba1058729387e4ed3b5b9e3be811940ff8284398255f06915b406f08fb30603f6fe6b28e344cbcaed6cfdbe430b3693701d4050047fb32fd88449

View File

@ -1,108 +0,0 @@
# Copyright 2020-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_OPTIONAL=1
PYTHON_COMPAT=( python3_{8..10} )
inherit cmake distutils-r1
DESCRIPTION="An implementation of the Double Ratchet cryptographic ratchet in C++"
HOMEPAGE="https://git.matrix.org/git/olm/about/"
if [[ "${PV}" == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://gitlab.matrix.org/matrix-org/${PN}.git"
else
SRC_URI="https://gitlab.matrix.org/matrix-org/${PN}/-/archive/${PV}/${P}.tar.bz2"
KEYWORDS="~amd64"
fi
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1)"
IUSE="python test"
REQUIRED_USE="
doc? ( python )
python? ( ${PYTHON_REQUIRED_USE} )
"
RDEPEND="
python? (
${PYTHON_DEPS}
>=dev-python/cffi-1.0.0[${PYTHON_USEDEP}]
dev-python/future[${PYTHON_USEDEP}]
)
"
BDEPEND="
python? (
${RDEPEND}
test? (
dev-python/aspectlib[${PYTHON_USEDEP}]
dev-python/pytest-benchmark[${PYTHON_USEDEP}]
dev-python/pytest-cov[${PYTHON_USEDEP}]
dev-python/pytest-flake8[${PYTHON_USEDEP}]
dev-python/pytest-isort[${PYTHON_USEDEP}]
)
)
"
distutils_enable_tests pytest
distutils_enable_sphinx "${S}"/python/docs
DOCS=( "${S}/docs/" )
src_prepare() {
cmake_src_prepare
if use python; then
pushd python || die
distutils-r1_src_prepare
popd || die
fi
}
src_configure() {
local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DOLM_TESTS=$(usex test)
)
cmake_src_configure
if use python; then
pushd python || die
distutils-r1_src_configure
popd || die
fi
}
src_compile() {
cmake_src_compile
if use python; then
pushd python || die
# Let python build find the already built libolm
export LIBRARY_PATH="${BUILD_DIR}/"
distutils-r1_src_compile
popd || die
fi
}
src_install() {
cmake_src_install
if use python; then
pushd python || die
distutils-r1_src_install
popd || die
fi
einstalldocs
}
src_test() {
# eclass doesnt appear to be to handle CTestTestfile.cmake in build root locations
BUILD_DIR="${BUILD_DIR}/tests" cmake_src_test
if use python; then
pushd ${S}/python || die
LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" distutils-r1_src_test
popd || die
fi
}

View File

@ -0,0 +1 @@
DIST aioresponses-0.7.2.tar.gz 28135 BLAKE2B 300d06ed43ad81d61fe9cab4002b9e9bb062a48aabed8aed21e3a8e26d8e153546ed079e6dda6ef26c6df2e843663ed9e02b2855ac71e011b873da926923a72d SHA512 847c687990c38733c714cfd7b4f268406392aeea6764f084dae25f43246b7b5731f149067fb921864b1b22c9e7b2ca66254ff311d726333d0b23a5566ab18029

View File

@ -0,0 +1,50 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# 29.6.2021: 3.10 blocked by aiohttps and pbr
PYTHON_COMPAT=( python3_{8..9} )
inherit distutils-r1
DESCRIPTION="Aioresponses is a helper for mock/fake web requests in python aiohttp package. "
HOMEPAGE="https://github.com/pnuckowski/aioresponses"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc"
# All tests require internet access
PROPERTIES="test_network"
RESTRICT="
test
!test? ( test )
"
RDEPEND="
dev-python/aiohttp[${PYTHON_USEDEP}]
"
DEPEND="
test? (
${RDEPEND}
dev-python/ddt[${PYTHON_USEDEP}]
dev-python/pytest-cov[${PYTHON_USEDEP}]
)
"
BDEPEND="
dev-python/pbr[${PYTHON_USEDEP}]
doc? ( dev-python/sphinx )
"
distutils_enable_tests pytest
python_compile_all() {
use doc && emake -C docs -j1 html
}
python_install_all() {
use doc && HTML_DOCS=( docs/_build/html/. )
distutils-r1_python_install_all
}

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>parona@protonmail.com</email>
<name>Alfred Wingate</name>
</maintainer>
<upstream>
<remote-id type="github">pnuckowski/aioresponses</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1 @@
DIST baron-0.9.tar.gz 835127 BLAKE2B be5aee3b5f7d8c317295cb88429eb2feb45c2fba135ba1a57370a070bd27dd6ee1fea8048201f40d7579bea56c535855a8605d6304f1987f4b138ed5591d0b77 SHA512 ed31bad1442b8d868ab9872f057db31ad8730654a7e8d49119c75d5631c881b074baf5754b0b0b5023dad62eda1f40461e4445321695248cfa3530b608d48c8e

View File

@ -0,0 +1,17 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1
DESCRIPTION="Full Syntax Tree for python to make writing refactoring code a realist task"
HOMEPAGE="http://baron.pycqa.org"
SRC_URI="https://github.com/PyCQA/baron/archive/"${PV}".tar.gz -> "${P}".tar.gz"
LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="dev-python/rply[${PYTHON_USEDEP}]"

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>parona@protonmail.com</email>
<name>Alfred Wingate</name>
</maintainer>
<upstream>
<remote-id type="github">PyCQA/baron</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1 @@
DIST hsluv-python-5.0.3.gh.tar.gz 540801 BLAKE2B 7e1f8b690fdf662fb973924cca3831c83124ddb6719d7e89b7dab752745ec1d635ae84007dc3960115debd0a36922f855a50312bfea509f7bb4ec808fcc24540 SHA512 b0c8986e2421d9822c38b4e55086e54b8ff9c661a6b60a5bb057beac2dcd8bfd60fffa811c0757e841748076b887cb7c906a954eebdf702235de762527da835f

View File

@ -0,0 +1,18 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..11} )
inherit distutils-r1
DESCRIPTION="Python implementation of HSLuv "
HOMEPAGE="http://pypi.org/project/hsluv"
SRC_URI="https://github.com/hsluv/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
distutils_enable_tests pytest

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>parona@protonmail.com</email>
<name>Alfred Wingate</name>
</maintainer>
<upstream>
<remote-id type="github">hsluv/hsluv-python</remote-id>
<remote-id type="pypi">hsluv</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1 @@
DIST html_sanitizer-1.9.1.tar.gz 14449 BLAKE2B 34b47cd492b86aebd67279916ad1be7088facdb93ee829337eff0d0a6e6ffdfd53148693bf748bb4014328d1bf43f41cc907b2e61340721759e733032ac93d1b SHA512 f9a76733f87dc7642a63314202855d3e8639764f64ed29f8816f325faf67062c929e1edfc435b7d1071feb2ed00f31ca9c3e015c55650d95c42226a66ab1e6dd

View File

@ -0,0 +1,24 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="Allowlist-based HTML cleaner"
HOMEPAGE="https://github.com/matthiask/html-sanitizer/ https://pypi.org/project/html-sanitizer/"
SRC_URI="https://github.com/matthiask/html-sanitizer/archive/"${PV}".tar.gz -> "${PN}"-"${PV}".tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
>=dev-python/lxml-3.6.1
dev-python/beautifulsoup4
"
S="${WORKDIR}/html-sanitizer-${PV}"
distutils_enable_tests unittest

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>parona@protonmail.com</email>
<name>Alfred Wingate</name>
</maintainer>
<upstream>
<remote-id type="github">matthiask/html-sanitizer</remote-id>
</upstream>
</pkgmetadata>

View File

@ -1,2 +1 @@
DIST janus-0.5.0.tar.gz 18006 BLAKE2B 9e22d63cdf5b388f22d2d9f021d289560db127f71b3f4d338affc204379ef633ad88c4cb87abb697b6fcbc839f2e0b2249b0ee4895262bf26e75f23ac4c12471 SHA512 9b220347ad29c1bf613a3db9468c41c0c5216d245a320ccaeb97f784d6a6e9ae631ccac951b18d15e706debd512e25de8c079e79a5c68d195b97cadbeba971a2 DIST janus-0.5.0.tar.gz 18006 BLAKE2B 9e22d63cdf5b388f22d2d9f021d289560db127f71b3f4d338affc204379ef633ad88c4cb87abb697b6fcbc839f2e0b2249b0ee4895262bf26e75f23ac4c12471 SHA512 9b220347ad29c1bf613a3db9468c41c0c5216d245a320ccaeb97f784d6a6e9ae631ccac951b18d15e706debd512e25de8c079e79a5c68d195b97cadbeba971a2
DIST janus-1.0.0.tar.gz 19043 BLAKE2B 0a70e47525d5dbaac019428773dea03bf6fea452aa542be3419b369674b8e06245f3e5566672b2533bfaa8b658a1f591aed19086d54652ef5f57753f96355e82 SHA512 d66899adad12cc1100a20cb75d8e146321ef947bde996a07490158a5f34c39421bb1a5b08ac87679264a6bee1d3dc9f425fa29d52199626d322fe4462ed8f1f3

View File

@ -1,25 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Thread-safe asyncio-aware queue for Python"
HOMEPAGE="https://github.com/aio-libs/janus"
#SRC_URI="https://github.com/aio-libs/janus/archive/refs/tags/v1.0.0.tar.gz -> ${P}.gh.tar.gz"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
BDEPEND="
test? (
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest

View File

@ -7,6 +7,5 @@
</maintainer> </maintainer>
<upstream> <upstream>
<remote-id type="github">aio-libs/janus</remote-id> <remote-id type="github">aio-libs/janus</remote-id>
<remote-id type="pypi">janus</remote-id>
</upstream> </upstream>
</pkgmetadata> </pkgmetadata>

View File

@ -2,4 +2,3 @@ DIST matrix-nio-0.18.2.tar.gz 240893 BLAKE2B 5f366810828fbe06d5d7523f7c6b2d3b2cb
DIST matrix-nio-0.18.3.tar.gz 240965 BLAKE2B 59dc7b7df7ca7ac21b48c1694a730c149d6a0a04e1bc68b3e75fa9278657e44e09eb2fea3a7eb1f56b7bb1c8e7231d649f6908f05ff05acd0566b01d30d8031a SHA512 ca99d4962fbc2f6d82e5b6ea53fcd82d0ed5a3a1c8a21a7ff211bf8892d2b60f72944ae19a41b102cd6473e04eedb614488f2fa2a2fd130ad70078aea2ba9518 DIST matrix-nio-0.18.3.tar.gz 240965 BLAKE2B 59dc7b7df7ca7ac21b48c1694a730c149d6a0a04e1bc68b3e75fa9278657e44e09eb2fea3a7eb1f56b7bb1c8e7231d649f6908f05ff05acd0566b01d30d8031a SHA512 ca99d4962fbc2f6d82e5b6ea53fcd82d0ed5a3a1c8a21a7ff211bf8892d2b60f72944ae19a41b102cd6473e04eedb614488f2fa2a2fd130ad70078aea2ba9518
DIST matrix-nio-0.18.5.tar.gz 241127 BLAKE2B 1b0816b6eb6f0c68e5ecfb10cb48ef43cebd6c16e7076a94bd4f1c104e71a86caca5774c483c942bbf5ea1142c57f7b661fd3030cf238c1ef5d009472f7096de SHA512 c325871abd6c9fad410d7c9938a44e15c62b18c2c00aa0b5e16a769636d23c64dd133fac9bc597db759b647f2cdba3b9eebf52b79c5327831d0fd99d43a1ff2a DIST matrix-nio-0.18.5.tar.gz 241127 BLAKE2B 1b0816b6eb6f0c68e5ecfb10cb48ef43cebd6c16e7076a94bd4f1c104e71a86caca5774c483c942bbf5ea1142c57f7b661fd3030cf238c1ef5d009472f7096de SHA512 c325871abd6c9fad410d7c9938a44e15c62b18c2c00aa0b5e16a769636d23c64dd133fac9bc597db759b647f2cdba3b9eebf52b79c5327831d0fd99d43a1ff2a
DIST matrix-nio-0.18.7.tar.gz 241474 BLAKE2B 515ca0643e7cba3b649a8f7d2df0d5596ac936b260975ba42552e80453fbf4220a1d028bd2f4a8bf6b11782d6124fb90bfe541c0535c14e6cbe77ca3c02d0c68 SHA512 8b63d35c6c2916677a8fec89a56bd8788aadf892cb5d7f2d1b74734130bdc9e94f35caff145bbba60cf8abf915ec4b3e65d488876ddfa43c3cf5f0c284b5f4bd DIST matrix-nio-0.18.7.tar.gz 241474 BLAKE2B 515ca0643e7cba3b649a8f7d2df0d5596ac936b260975ba42552e80453fbf4220a1d028bd2f4a8bf6b11782d6124fb90bfe541c0535c14e6cbe77ca3c02d0c68 SHA512 8b63d35c6c2916677a8fec89a56bd8788aadf892cb5d7f2d1b74734130bdc9e94f35caff145bbba60cf8abf915ec4b3e65d488876ddfa43c3cf5f0c284b5f4bd
DIST matrix-nio-0.19.0.tar.gz 246334 BLAKE2B 14f35f64c3edaae4a09f0a6dd4c1693fee27c3a98b78ba912f2a45d5bfe6ee161e91491721415c0dffce84bf3eae97dbec78f39ecf502f83238ccb2452b7c196 SHA512 395b305c69507b852d06319d00a68417494a69a1217f194a04a3866d81185fdc480e957570b22e2eff900e6874cf1c86b598dd474948902a96537fa0ef174877

View File

@ -1,59 +0,0 @@
# Copyright 2020-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
PYTHON_COMPAT=( python3_{8..10})
inherit distutils-r1
DESCRIPTION="A Python Matrix client library, designed according to sans I/O principles"
HOMEPAGE="https://github.com/poljar/matrix-nio"
SRC_URI="https://github.com/poljar/matrix-nio/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-libs/olm-3.1.3[python(-),${PYTHON_USEDEP}]
>=dev-python/aiohttp-3.7.4[${PYTHON_USEDEP}]
>=dev-python/aiohttp-socks-0.7.0[${PYTHON_USEDEP}]
>=dev-python/aiofiles-0.6.0[${PYTHON_USEDEP}]
>=dev-python/atomicwrites-1.4.0[${PYTHON_USEDEP}]
>=dev-python/cachetools-4.2.1[${PYTHON_USEDEP}]
>=dev-python/future-0.18.2[${PYTHON_USEDEP}]
>=dev-python/h11-0.12.0[${PYTHON_USEDEP}]
>=dev-python/h2-4.0.0[${PYTHON_USEDEP}]
>=dev-python/jsonschema-4.4.0[${PYTHON_USEDEP}]
>=dev-python/logbook-1.5.3[${PYTHON_USEDEP}]
>=dev-python/peewee-3.14.4[${PYTHON_USEDEP}]
>=dev-python/pycryptodome-3.10.1[${PYTHON_USEDEP}]
>=dev-python/unpaddedbase64-2.1.0[${PYTHON_USEDEP}]
"
DEPEND="
test? (
${RDEPEND}
>=dev-python/aioresponses-0.7.2[${PYTHON_USEDEP}]
>=dev-python/Faker-8.0.0[${PYTHON_USEDEP}]
>=dev-python/pytest-aiohttp-0.3.0[${PYTHON_USEDEP}]
>=dev-python/pytest-benchmark-3.2.3[${PYTHON_USEDEP}]
>=dev-python/pytest-isort-1.3.0[${PYTHON_USEDEP}]
>=dev-python/pytest-cov-2.11.1[${PYTHON_USEDEP}]
>=dev-python/hpack-4.0.0[${PYTHON_USEDEP}]
>=dev-python/hyperframe-6.0.0[${PYTHON_USEDEP}]
>=dev-python/hypothesis-6.8.9[${PYTHON_USEDEP}]
>=dev-python/mypy-0.812[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
distutils_enable_sphinx doc dev-python/sphinx_rtd_theme dev-python/m2r2
EPYTEST_DESELECT=(
"tests/async_client_test.py::TestClass::test_connect_wrapper"
)

View File

@ -0,0 +1,2 @@
DIST plyer-1.4.3.tar.gz 281968 BLAKE2B a779eca05ace3cc0bd1809a11b04fe9abfbb91449e875fb2e70e7c80cc3a8a925884578305c5d2f020c02e0b8c42df4d93317abf04e2494bfacf19d12e2e56dc SHA512 4d7bff97714d4222ed0e786e182a8b2e234c978dcc51650fbf5070986c305fb5b076fc127f2bfa24f22b2518f4151b5b70991ebd84007e15d9545ddc40a0e955
DIST plyer-2.0.0.tar.gz 279943 BLAKE2B 84902f008d4584842b1fa1650a7a0cd3bbd1ca1adede330fcd6db9058b677e310417c9b4d44e0724cf03a88469b33c46dc18662e123a1aebf0b8943e6eb6816c SHA512 890878c99acf04027de3dcac3380adc923dae86029f1e78b4186fb02030a50f3538cf5ccbe5ad9c130502f8ca2915e86d08927ab89077bcb255da2b402c39e11

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email> parona@protonmail.com </email>
<name> Alfred Wingate </name>
</maintainer>
<longdescription>
Plyer is a platform-independent api to use features commonly found on various platforms, notably mobile ones, in Python.
</longdescription>
</pkgmetadata>

View File

@ -0,0 +1,15 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python3_{7..9})
inherit distutils-r1
DESCRIPTION="Plyer is a platform-independent Python wrapper for platform-dependent APIs"
HOMEPAGE="https://github.com/kivy/plyer"
SRC_URI="https://github.com/kivy/plyer/archive/"${PV}".tar.gz -> "${PF}".tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"

View File

@ -0,0 +1,15 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python3_{7..9})
inherit distutils-r1
DESCRIPTION="Plyer is a platform-independent Python wrapper for platform-dependent APIs"
HOMEPAGE="https://github.com/kivy/plyer"
SRC_URI="https://github.com/kivy/plyer/archive/"${PV}".tar.gz -> "${PF}".tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"

View File

@ -0,0 +1 @@
DIST redbaron-0.9.2.tar.gz 94843 BLAKE2B d46af29a94aa133035d96e8a2a53bb623d6e18630902791084f08139229c43be21884aad3e7c01990741f82dbe8e583136d9b808f8159e1ebec50ec0de8028a9 SHA512 acebde8fcf5fea419960c2647e8251deb6ea9426e886d642d58ee29924f668a8359867cec934aa10a0eeedf511b454a5f9e603458355869989e3b168165d6f6a

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>parona@protonmail.com</email>
<name>Alfred Wingate</name>
</maintainer>
<upstream>
<remote-id type="github">PyCQA/redbaron</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,21 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1
DESCRIPTION="FST for python to make writing refactoring code a realistic task"
HOMEPAGE="http://redbaron.pycqa.org"
SRC_URI="https://github.com/PyCQA/redbaron/archive/"${PV}".tar.gz -> "${P}".tar.gz"
LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
dev-python/baron[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
"

View File

@ -0,0 +1 @@
DIST simpleaudio-1.0.4.tar.gz 10243850 BLAKE2B 9611d4284ee74277b2024a0eb245191c74a8e2cf8432b4b160a026ea0ff9c14451fbbb7bae1659e424e7e13e198dc5f536a0c6336508f329c84f4f3319798e3d SHA512 2607e6bb0883929d86341eb387f33475e2724bb0e56a3be0f675d09ba0a2b9973e53ce2a31e254ddd789095076d117f1311628a109a15f00b75c25f0e9101be0

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email> parona@protonmail.com </email>
<name> Alfred Wingate </name>
</maintainer>
</pkgmetadata>

View File

@ -0,0 +1,17 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1
DESCRIPTION="A simple audio playback Python extension"
HOMEPAGE="https://github.com/hamiltron/py-simple-audio"
SRC_URI="https://github.com/hamiltron/py-simple-audio/archive/"${PV}".tar.gz -> "${P}".tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
S=""${WORKDIR}"/py-simple-audio-"${PV}""

View File

@ -0,0 +1 @@
DIST sphinx-tabs-2.1.0.tar.gz 519866 BLAKE2B d67f573a1394ac6ebe2e36b66e400c7704c2c0dc5136a52107915defa3efafed73898b444759b20d6ecc232e05423ed8d614c1ba32b416c80ab58be317f67b9f SHA512 7c9f7332422813d994af7e7023ebc63bef3819c73b09765d5af8c33d19990c649b049c6d6479ff6a763a868828ebe5510081a547aab7af1414966b555b1a45b5

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>parona@protonmail.com</email>
<name>Alfred Wingate</name>
</maintainer>
</pkgmetadata>

View File

@ -0,0 +1,20 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1
DESCRIPTION="Tabbed views for Sphinx"
HOMEPAGE="https://sphinx-tabs.readthedocs.io"
SRC_URI="https://github.com/executablebooks/sphinx-tabs/archive/refs/tags/v"${PV}".tar.gz -> "${P}".tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
>=dev-python/sphinx-2.0.0
dev-python/pygments
"

View File

@ -0,0 +1,2 @@
DIST sphinx_press_theme-0.6.1.tar.gz 60034 BLAKE2B fcf25feb504edc6ff0710937f47f3312ef81b88bfe7c3f65f3b4a0d1a3c2f5c5b080320146fc65e286be56daacbf3f3900b63a0a0e46a5c136505dd8386a1baa SHA512 94d6480b7f9df31407297094b1736a327b4a99505f38192e1c48de02730a7e800d695f49c23c9dbce8e205e943c4cb16779e26cc3a48379d7c7810d4d3703720
DIST sphinx_press_theme-0.7.3.tar.gz 59972 BLAKE2B b2d78f3a7b6aae2d684d1ee7d4458b8bda1be70cbe8b371c52717763381116a3f55f2c6d58aad5cfe107fa7cc1fac62ce27e0d720f39fb4280c67912de79d906 SHA512 4404c8770f7a2f543fe3ac16d19536f2b1564367b65afe62674d400bf68c959733a167a9e0b2f4107a0f8a4a8d845e34df0d04233e897d2adae86fa49d642229

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>parona@protonmail.com</email>
<name>Alfred Wingate</name>
</maintainer>
<upstream>
<remote-id type="github">schettino72/sphinx_press_theme</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,20 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
inherit distutils-r1
DESCRIPTION="A Sphinx-doc theme based on Vuepress"
HOMEPAGE="https://schettino72.github.io/sphinx_press_site/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
>=dev-python/sphinx-3.0.0
<dev-python/sphinx-4.0.0
"

View File

@ -0,0 +1,20 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
inherit distutils-r1
DESCRIPTION="A Sphinx-doc theme based on Vuepress"
HOMEPAGE="https://schettino72.github.io/sphinx_press_site/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
>=dev-python/sphinx-4.0.0
<dev-python/sphinx-5.0.0
"

View File

@ -0,0 +1,2 @@
DIST watchgod-0.6.tar.gz 13261 BLAKE2B 6cf32f6ea467fd4cdb3b0da30aa56bfbf3909adb25d2d44621733c665dccf77b203e99049655793a674f688f3adc8519d8e95156932ccfb9dceda28888bac115 SHA512 1eaa0febc4ba8b1e4bbd6e7bae8f2312c2eeaae395ebbf76953fdf937d4eda06bad818574000d6b96abfefe391affb5d007426bbf7867578293729decc6b61fb
DIST watchgod-0.7.tar.gz 13580 BLAKE2B 1e047762da6b85f8fe900993db1dd7ae5b32d7c74715a92fc2b7a8991a753189660232665db4fd9881fb12eb33ea01819424fa3c2f41a7031a972b2f092ee598 SHA512 1278b6046172853bfa8a4e9bff4bb6aa72dc881e0e068975ccb5251f47130de6aa06affa49eae53cc61e08caa4f68c1788551143da2f4b2ebea143bb39297c94

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>parona@protonmail.com</email>
<name>Alfred Wingate</name>
</maintainer>
<upstream>
<remote-id type="github">samuelcolvin/watchgod</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,15 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1
DESCRIPTION="Simple, modern file watching and code reload in python."
HOMEPAGE="https://github.com/samuelcolvin/watchgod"
SRC_URI="https://github.com/samuelcolvin/watchgod/archive/v"${PV}".tar.gz -> "${P}".tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"

View File

@ -0,0 +1,15 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="Simple, modern file watching and code reload in python."
HOMEPAGE="https://github.com/samuelcolvin/watchgod"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"

View File

@ -0,0 +1,422 @@
# Copyright 2019-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# @ECLASS: icecatconfig-v6.60.eclass
# @MAINTAINER:
# moog621@gmail.com
# @SUPPORTED_EAPIS: 5 6 7
# @BLURB: the new gnuzilla common configuration eclass for FF33 and newer, v6
# @DESCRIPTION:
# This eclass is used in gnuzilla ebuilds (icecat)
# to provide a single common place for the common gnuzilla engine compoments.
#
# The eclass provides all common dependencies as well as common use flags.
#
# Some use flags which may be optional in particular gnuzilla packages can be
# supported through setting eclass variables.
#
# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
# and so ebuilds inheriting this eclass do not need to inherit that.
case ${EAPI} in
0|1|2|3|4)
die "EAPI=${EAPI} not supported"
;;
5)
inherit multilib
;;
esac
inherit flag-o-matic toolchain-funcs mozcoreconf-v6
# @ECLASS_VARIABLE: MOZCONFIG_OPTIONAL_WIFI
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild needs to provide
# optional necko-wifi support via IUSE="wifi". Currently this would include
# ebuilds for firefox, and potentially seamonkey.
#
# Leave the variable UNSET if necko-wifi support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS_VARIABLE: MOZCONFIG_OPTIONAL_JIT
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild needs to provide
# deterministic jit support via IUSE="jit". The upstream default will be used
# otherwise, which is generally to enable jit unless support for the platform
# is missing.
#
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS_VARIABLE: MOZCONFIG_OPTIONAL_GTK3
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional gtk3 support via IUSE="force-gtk3". Currently this would include
# thunderbird and seamonkey in the future, once support is ready for testing.
#
# Leave the variable UNSET if gtk3 support should not be optionally available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# If gtk+:3 is to be the standard toolkit, do not use this and instead use
# MOZCONFIG_OPTIONAL_GTK2ONLY.
# @ECLASS_VARIABLE: MOZCONFIG_OPTIONAL_GTK2ONLY
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional gtk2-only support via IUSE="gtk2".
#
# Note that this option conflicts directly with MOZCONFIG_OPTIONAL_GTK3, both
# variables cannot be set at the same time and this variable will be ignored if
# MOZCONFIG_OPTIONAL_GTK3 is set.
#
# Leave the variable UNSET if gtk2-only support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# use-flags common among all gnuzilla ebuilds
IUSE="${IUSE} clang dbus debug neon pulseaudio selinux startup-notification
system-icu system-jpeg system-libevent system-sqlite system-libvpx"
# some notes on deps:
# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
RDEPEND=">=app-text/hunspell-1.5.4:=
dev-libs/atk
dev-libs/expat
>=x11-libs/cairo-1.10[X]
>=x11-libs/gtk+-2.18:2
x11-libs/gdk-pixbuf
>=x11-libs/pango-1.22.0
>=media-libs/libpng-1.6.34:0=[apng]
>=media-libs/mesa-10.2:*
media-libs/fontconfig
>=media-libs/freetype-2.4.10
kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
virtual/freedesktop-icon-theme
dbus? ( >=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72 )
startup-notification? ( >=x11-libs/startup-notification-0.8 )
>=x11-libs/pixman-0.19.2
>=dev-libs/glib-2.26:2
>=sys-libs/zlib-1.2.3
>=virtual/libffi-3.0.10:=
virtual/ffmpeg
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrender
x11-libs/libXt
system-icu? ( >=dev-libs/icu-59.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
system-sqlite? ( >=dev-db/sqlite-3.23.1:3[secure-delete,debug=] )
system-libvpx? (
>=media-libs/libvpx-1.5.0:0=[postproc]
<media-libs/libvpx-1.8:0=[postproc]
)
"
if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
MOZCONFIG_OPTIONAL_GTK2ONLY=
if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then
IUSE+=" +force-gtk3"
else
IUSE+=" force-gtk3"
fi
RDEPEND+=" force-gtk3? ( >=x11-libs/gtk+-3.4.0:3 )"
elif [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
if [[ ${MOZCONFIG_OPTIONAL_GTK2ONLY} = "enabled" ]]; then
IUSE+=" +gtk2"
else
IUSE+=" gtk2"
fi
RDEPEND+=" !gtk2? ( >=x11-libs/gtk+-3.4.0:3 )"
else
# no gtk3 related dep set by optional use flags, force it
RDEPEND+=" >=x11-libs/gtk+-3.4.0:3"
fi
if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
IUSE+=" +wifi"
else
IUSE+=" wifi"
fi
RDEPEND+="
wifi? (
kernel_linux? ( >=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72
net-misc/networkmanager )
)"
fi
DEPEND="app-arch/zip
app-arch/unzip
>=sys-devel/binutils-2.30
sys-apps/findutils
|| (
(
sys-devel/clang:9
!clang? ( sys-devel/llvm:9 )
clang? (
=sys-devel/lld-9*
sys-devel/llvm:9[gold]
)
)
(
sys-devel/clang:8
!clang? ( sys-devel/llvm:8 )
clang? (
=sys-devel/lld-8*
sys-devel/llvm:8[gold]
)
)
(
sys-devel/clang:7
!clang? ( sys-devel/llvm:7 )
clang? (
=sys-devel/lld-7*
sys-devel/llvm:7[gold]
)
)
(
sys-devel/clang:6
!clang? ( sys-devel/llvm:6 )
clang? (
=sys-devel/lld-6*
sys-devel/llvm:6[gold]
)
)
)
pulseaudio? ( media-sound/pulseaudio )
elibc_glibc? (
virtual/rust
)
elibc_musl? (
virtual/rust
)
${RDEPEND}"
RDEPEND+="
pulseaudio? ( || ( media-sound/pulseaudio
>=media-sound/apulse-0.1.9 ) )
selinux? ( sec-policy/selinux-mozilla )"
# @FUNCTION: mozconfig_config
# @DESCRIPTION:
# Set common configure options for gnuzilla packages.
# Call this within src_configure() phase, after mozconfig_init
#
# Example:
#
# inherit mozconfig-v6.46
#
# src_configure() {
# mozconfig_init
# mozconfig_config
# # ... misc ebuild-unique settings via calls to
# # ... mozconfig_{annotate,use_with,use_enable}
# mozconfig_final
# }
mozconfig_config() {
if use clang && ! tc-is-clang ; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
CC=${CHOST}-clang
CXX=${CHOST}-clang++
strip-unsupported-flags
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
einfo "Enforcing the use of gcc due to USE=-clang ..."
CC=${CHOST}-gcc
CXX=${CHOST}-g++
strip-unsupported-flags
fi
# Migrated from mozcoreconf-2
mozconfig_annotate 'system_libs' \
--with-system-zlib \
--with-system-bz2
# Stylo is horribly broken on arm, renders GUI unusable
use arm && mozconfig_annotate 'breaks UI on arm' --disable-stylo
# Must pass release in order to properly select linker
mozconfig_annotate 'Enable by Gentoo' --enable-release
# Set correct update channel, bug 677722
if [[ -n "${MOZ_ESR}" ]] ; then
mozconfig_annotate 'set update channel to ESR' --enable-update-channel=esr
fi
# Avoid auto-magic on linker
if use clang ; then
# This is upstream's default
mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
elif tc-ld-is-gold ; then
mozconfig_annotate "linker is set to gold" --enable-linker=gold
else
mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
fi
# Enable position independent executables
mozconfig_annotate 'enabled by Gentoo' --enable-pie
mozconfig_use_enable debug
mozconfig_use_enable debug tests
if ! use debug ; then
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
else
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
fi
mozconfig_use_enable startup-notification
if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
# wifi pulls in dbus so manage both here
mozconfig_use_enable wifi necko-wifi
if use kernel_linux && use wifi && ! use dbus; then
echo "Enabling dbus support due to wifi request"
mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus
else
mozconfig_use_enable dbus
fi
else
mozconfig_use_enable dbus
mozconfig_annotate 'disabled' --disable-necko-wifi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
mozconfig_use_enable jit ion
fi
# These are enabled by default in all gnuzilla applications
mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
if use system-libevent; then
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
fi
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate 'Gentoo default' --enable-system-hunspell
mozconfig_annotate '' --disable-crashreporter
mozconfig_annotate 'Gentoo default' --with-system-png
mozconfig_annotate '' --enable-system-ffi
mozconfig_annotate '' --disable-gconf
mozconfig_annotate '' --with-intl-api
mozconfig_annotate '' --enable-system-pixman
# skia has no support for big-endian platforms
if [[ $(tc-endian) == "big" ]]; then
mozconfig_annotate 'big endian target' --disable-skia
else
mozconfig_annotate '' --enable-skia
fi
# default toolkit is cairo-gtk3, optional use flags can change this
local toolkit="cairo-gtk3"
local toolkit_comment=""
if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
if ! use force-gtk3; then
toolkit="cairo-gtk2"
toolkit_comment="force-gtk3 use flag"
fi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
if use gtk2 ; then
toolkit="cairo-gtk2"
else
toolkit_comment="gtk2 use flag"
fi
fi
mozconfig_annotate "${toolkit_comment}" --enable-default-toolkit=${toolkit}
# Instead of the standard --build= and --host=, gnuzilla uses --host instead
# of --build, and --target intstead of --host.
# Note, gnuzilla also has --build but it does not do what you think it does.
# Set both --target and --host as gnuzilla uses python to guess values otherwise
mozconfig_annotate '' --target="${CHOST}"
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
mozconfig_use_enable pulseaudio
# force the deprecated alsa sound code if pulseaudio is disabled
if use kernel_linux && ! use pulseaudio ; then
mozconfig_annotate '-pulseaudio' --enable-alsa
fi
mozconfig_use_enable system-sqlite
mozconfig_use_with system-jpeg
mozconfig_use_with system-icu
mozconfig_use_with system-libvpx
if use clang ; then
# https://bugzilla.mozilla.org/show_bug.cgi?id=1423822
mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
fi
# Modifications to better support ARM, bug 553364
if use neon ; then
mozconfig_annotate '' --with-fpu=neon
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
mozconfig_annotate '' --with-thumb=yes
mozconfig_annotate '' --with-thumb-interwork=no
fi
fi
if [[ ${CHOST} == armv*h* ]] ; then
mozconfig_annotate '' --with-float-abi=hard
if ! use system-libvpx ; then
sed -i -e "s|softfp|hard|" \
"${S}"/media/libvpx/moz.build
fi
fi
}
# @FUNCTION: mozconfig_install_prefs
# @DESCRIPTION:
# Set preferences into the prefs.js file specified as a parameter to
# the function. This sets both some common prefs to all gnuzilla
# packages, and any prefs that may relate to the use flags administered
# by mozconfig_config().
#
# Call this within src_install() phase, after copying the template
# prefs file (if any) from ${FILESDIR}
#
# Example:
#
# inherit mozconfig-v6.46
#
# src_install() {
# cp "${FILESDIR}"/gentoo-default-prefs.js \
# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
# || die
#
# mozconfig_install_prefs \
# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
#
# ...
# }
mozconfig_install_prefs() {
local prefs_file="${1}"
einfo "Adding prefs from mozconfig to ${prefs_file}"
# set dictionary path, to use system hunspell
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
>>"${prefs_file}" || die
# force cairo as the canvas renderer on platforms without skia support
if [[ $(tc-endian) == "big" ]] ; then
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
>>"${prefs_file}" || die
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
>>"${prefs_file}" || die
fi
}

View File

@ -0,0 +1,382 @@
# Copyright 2019-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: icecatlinguas-v2.eclass
# @MAINTAINER:
# moog621@gmail.com
# @AUTHOR:
# moog621@gmail.com
# @SUPPORTED_EAPIS: 2 3 4 5 6
# @BLURB: Handle language packs for gnuzilla products
# @DESCRIPTION:
# Sets IUSE according to MOZ_LANGS (language packs available). Also exports
# src_unpack, src_compile and src_install for use in ebuilds, and provides
# supporting functions for langpack generation and installation.
inherit mozextension
case "${EAPI:-0}" in
0|1)
die "EAPI ${EAPI:-0} does not support the '->' SRC_URI operator";;
2|3|4|5|6)
EXPORT_FUNCTIONS src_unpack src_compile src_install;;
*)
die "EAPI ${EAPI} is not supported, contact eclass maintainers";;
esac
# @ECLASS_VARIABLE: MOZ_LANGS
# @DESCRIPTION:
# Array containing the list of language pack xpis available for
# this release. The list can be updated with scripts/get_langs.sh from the
# mozilla overlay.
: ${MOZ_LANGS:=()}
# @ECLASS_VARIABLE: MOZ_PV
# @DESCRIPTION:
# Ebuild package version converted to equivalent upstream version.
# Defaults to ${PV}, and should be overridden for alphas, betas, and RCs
: ${MOZ_PV:="${PV}"}
# @ECLASS_VARIABLE: MOZ_PN
# @DESCRIPTION:
# Ebuild package name converted to equivalent upstream name.
# Defaults to ${PN}, and should be overridden for binary ebuilds.
: ${MOZ_PN:="${PN}"}
# @ECLASS_VARIABLE: MOZ_P
# @DESCRIPTION:
# Ebuild package name + version converted to upstream equivalent.
# Defaults to ${MOZ_PN}-${MOZ_PV}
: ${MOZ_P:="${MOZ_PN}-${MOZ_PV}"}
# @ECLASS_VARIABLE: MOZ_FTP_URI
# @DESCRIPTION:
# The ftp URI prefix for the release tarballs and language packs.
: ${MOZ_FTP_URI:=""}
# @ECLASS_VARIABLE: MOZ_HTTP_URI
# @DESCRIPTION:
# The http URI prefix for the release tarballs and language packs.
: ${MOZ_HTTP_URI:=""}
# @ECLASS_VARIABLE: MOZ_LANGPACK_HTTP_URI
# @DESCRIPTION:
# An alternative http URI if it differs from official mozilla URI.
# Defaults to whatever MOZ_HTTP_URI was set to.
: ${MOZ_LANGPACK_HTTP_URI:=${MOZ_HTTP_URI}}
# @ECLASS_VARIABLE: MOZ_LANGPACK_PREFIX
# @DESCRIPTION:
# The relative path till the lang code in the langpack file URI.
# Defaults to ${MOZ_PV}/langpacks
: ${MOZ_LANGPACK_PREFIX:="${MOZ_PV}/langpacks/${MOZ_P}."}
# @ECLASS_VARIABLE: MOZ_LANGPACK_SUFFIX
# @DESCRIPTION:
# The suffix after the lang code in the langpack file URI.
# Defaults to '.xpi'
: ${MOZ_LANGPACK_SUFFIX:=".langpack.xpi"}
# @ECLASS_VARIABLE: MOZ_LANGPACK_UNOFFICIAL
# @DESCRIPTION:
# The status of the langpack, used to differentiate within
# Manifests and on Gentoo mirrors as to when the langpacks are
# generated officially by gnuzilla or if they were generated
# unofficially by others. When
# this var is set, the distfile will have a .unofficial.xpi
# suffix.
: ${MOZ_LANGPACK_UNOFFICIAL:=""}
# @ECLASS_VARIABLE: MOZ_GENERATE_LANGPACKS
# @DESCRIPTION:
# This flag specifies whether or not the langpacks should be
# generated directly during the build process, rather than
# being downloaded and installed from upstream pre-built
# extensions. Primarily it supports pre-release builds.
# Defaults to empty.
: ${MOZ_GENERATE_LANGPACKS:=""}
# @ECLASS_VARIABLE: MOZ_L10N_SOURCEDIR
# @DESCRIPTION:
# The path that l10n sources can be found at, once unpacked.
# Defaults to ${WORKDIR}/l10n-sources
: ${MOZ_L10N_SOURCEDIR:="${WORKDIR}/l10n-sources"}
# @ECLASS_VARIABLE: MOZ_L10N_URI_PREFIX
# @DESCRIPTION:
# The full URI prefix of the distfile for each l10n locale. The
# AB_CD and MOZ_L10N_URI_SUFFIX will be appended to this to complete the
# SRC_URI when MOZ_GENERATE_LANGPACKS is set. If empty, nothing will
# be added to SRC_URI.
# Defaults to empty.
: ${MOZ_L10N_URI_PREFIX:=""}
# @ECLASS_VARIABLE: MOZ_L10N_URI_SUFFIX
# @DESCRIPTION:
# The suffix of l10n source distfiles.
# Defaults to '.tar.xz'
: ${MOZ_L10N_URI_SUFFIX:=".tar.xz"}
# @ECLASS_VARIABLE: MOZ_FORCE_UPSTREAM_L10N
# @DESCRIPTION:
# Set this to use upstream langpaks even if the package normally
# shouldn't (ie it is an alpha or beta package)
: ${MOZ_FORCE_UPSTREAM_L10N:=""}
# @ECLASS_VARIABLE: MOZ_TOO_REGIONALIZED_FOR_L10N
# @INTERNAL
# @DESCRIPTION:
# Upstream identifiers that should not contain region subtags in L10N
MOZ_TOO_REGIONALIZED_FOR_L10N=( fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO nn-NO pa-IN sv-SE )
# @ECLASS_VARIABLE: MOZ_INSTALL_L10N_XPIFILE
# @DESCRIPTION:
# Install langpacks as .xpi file instead of unpacked directory.
# Leave unset to install unpacked
: ${MOZ_INSTALL_L10N_XPIFILE:=""}
# Add l10n_* to IUSE according to available language packs
# No language packs for alphas and betas
if ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] ; then
if ! [[ ${PV} =~ alpha|beta ]] || { [[ ${PN} == seamonkey ]] && ! [[ ${PV} =~ alpha ]] ; } || [[ -n ${MOZ_FORCE_UPSTREAM_L10N} ]] ; then
[[ -z ${MOZ_FTP_URI} ]] && [[ -z ${MOZ_LANGPACK_HTTP_URI} ]] && die "No URI set to download langpacks, please set one of MOZ_{FTP,HTTP_LANGPACK}_URI"
for x in "${MOZ_LANGS[@]}" ; do
# en and en_US are handled internally
if [[ ${x} == en ]] || [[ ${x} == en-US ]]; then
continue
fi
# strip region subtag if $x is in the list
if has ${x} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
xflag=${x%%-*}
else
xflag=${x}
fi
SRC_URI+=" l10n_${xflag/[_@]/-}? ("
[[ -n ${MOZ_FTP_URI} ]] && SRC_URI+="
${MOZ_FTP_URI}/${MOZ_LANGPACK_PREFIX}${x}${MOZ_LANGPACK_SUFFIX} -> ${MOZ_P}.${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi"
[[ -n ${MOZ_LANGPACK_HTTP_URI} ]] && SRC_URI+="
${MOZ_LANGPACK_HTTP_URI}/${MOZ_LANGPACK_PREFIX}${x}${MOZ_LANGPACK_SUFFIX} -> ${MOZ_P}.${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi"
SRC_URI+=" )"
IUSE+=" l10n_${xflag/[_@]/-}"
# einfo "MOZ_LANGPACK_HTTP_URI: ${MOZ_LANGPACK_HTTP_URI}"
# einfo "MOZ_LANGPACK_PREFIX: ${MOZ_LANGPACK_PREFIX}"
# einfo "x: ${x}"
# einfo "MOZ_LANGPACK_SUFFIX: ${MOZ_LANGPACK_SUFFIX}"
# We used to do some magic if specific/generic locales were missing, but
# we stopped doing that due to bug 325195.
done
fi
else
for x in "${MOZ_LANGS[@]}" ; do
# en and en_US are handled internally
if [[ ${x} == en ]] || [[ ${x} == en-US ]]; then
continue
fi
# strip region subtag if $x is in the list
if has ${x} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
xflag=${x%%-*}
else
xflag=${x}
fi
if [[ -n ${MOZ_L10N_URI_PREFIX} ]]; then
SRC_URI+=" l10n_${xflag/[_@]/-}? ( ${MOZ_L10N_URI_PREFIX}${x}${MOZ_L10N_URI_SUFFIX} )"
fi
IUSE+=" l10n_${xflag/[_@]/-}"
done
fi
unset x xflag
# @FUNCTION: icecatlinguas_export
# @INTERNAL
# @DESCRIPTION:
# Generate the list of language packs called "icecatlinguas"
# This list is used to unpack and install the xpi language packs
icecatlinguas_export() {
if [[ ${PN} == seamonkey ]] ; then
[[ ${PV} =~ alpha ]] && ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] && return
else
[[ ${PV} =~ alpha|beta ]] && ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] && return
fi
local lingua lflag
icecatlinguas=()
# Set icecatlinguas based on the enabled l10n_* USE flags.
for lingua in "${MOZ_LANGS[@]}"; do
# strip region subtag if $x is in the list
if has ${lingua} en en-US; then
# For gnuzilla products, en and en_US are handled internally
continue
elif has ${lingua} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
lflag=${lingua%%-*}
else
lflag=${lingua}
fi
use l10n_${lflag/[_@]/-} && icecatlinguas+=( ${lingua} )
done
# Compatibility code - Check LINGUAS and warn if anything set there isn't enabled via l10n
for lingua in ${LINGUAS}; do
if has ${lingua//[_@]/-} en en-US; then
# For gnuzilla products, en and en_US are handled internally
continue
# If this language is supported by ${P},
elif has ${lingua} "${MOZ_LANGS[@]//-/_}"; then
# Warn the language is missing, if it isn't already there
has ${lingua//[_@]/-} "${icecatlinguas[@]//[_@]/-}" || \
ewarn "LINGUAS value ${lingua} is not enabled using L10N use flags"
continue
# For each short lingua that isn't in MOZ_LANGS,
# We used to add *all* long MOZ_LANGS to the icecatlinguas list,
# but we stopped doing that due to bug 325195.
else
:
fi
einfo "Sorry, but ${P} does not support the ${lingua} locale in LINGUAS"
done
}
# @FUNCTION: icecatlinguas_src_unpack
# @DESCRIPTION:
# Unpack xpi language packs according to the user's LINGUAS settings
icecatlinguas_src_unpack() {
local x
einfo "LOL"
if ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then
icecatlinguas_export
for x in "${icecatlinguas[@]}"; do
# FIXME: Add support for unpacking xpis to portage
xpi_unpack "${MOZ_P}.${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi"
done
if [[ "${icecatlinguas[*]}" != "" && "${icecatlinguas[*]}" != "en" ]]; then
einfo "Selected language packs (first will be default): ${icecatlinguas[*]}"
fi
fi
}
# For the phase function export
icecatlinguas-v2_src_unpack() {
icecatlinguas_src_unpack
}
# @FUNCTION: icecatlinguas_mozconfig
# @DESCRIPTION:
# if applicable, add the necessary flag to .mozconfig to support
# the generation of locales. Note that this function requires
# mozconfig_annontate to already be declared via an inherit of
# mozconfig or mozcoreconf.
icecatlinguas_mozconfig() {
if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then
if declare -f mozconfig_annotate >/dev/null ; then
mozconfig_annotate 'for building locales' --with-l10n-base=${MOZ_L10N_SOURCEDIR}
else
die "Could not configure l10n-base, mozconfig_annotate not declared -- missing inherit?"
fi
fi
}
# @FUNCTION: icecatlinguas_src_compile
# @DESCRIPTION:
# if applicable, build the selected locales.
icecatlinguas_src_compile() {
if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then
# leverage BUILD_OBJ_DIR if set otherwise assume PWD.
local x y targets=( "langpack" ) localedir="${BUILD_OBJ_DIR:-.}"
case ${PN} in
*firefox)
localedir+="/browser/locales"
;;
seamonkey)
localedir+="/suite/locales"
;;
*thunderbird)
localedir+="/mail/locales"
targets+=( "calendar-langpack" )
;;
*) die "Building locales for ${PN} is not supported."
esac
pushd "${localedir}" > /dev/null || die
icecatlinguas_export
for x in "${icecatlinguas[@]}"; do for y in "${targets[@]}"; do
emake ${y}-${x} LOCALE_MERGEDIR="./${y}-${x}"
done; done
popd > /dev/null || die
fi
}
# For the phase function export
icecatlinguas-v2_src_compile() {
icecatlinguas_src_compile
}
# @FUNCTION: icecatlinguas_xpistage_langpacks
# @DESCRIPTION:
# Add extra langpacks to the xpi-stage dir for prebuilt plugins
#
# First argument is the path to the extension
# Second argument is the prefix of the source (same as first if unspecified)
# Remaining arguments are the modules in the extension that are localized
# (basename of first if unspecified)
#
# Example - installing extra langpacks for lightning:
# src_install() {
# ... # general installation steps
# icecatlinguas_xpistage_langpacks \
# "${BUILD_OBJ_DIR}"/dist/xpi-stage/lightning \
# "${WORKDIR}"/lightning \
# lightning calendar
# ... # proceed with installation from the xpi-stage dir
# }
icecatlinguas_xpistage_langpacks() {
local l c modpath="${1}" srcprefix="${1}" modules=( "${1##*/}" )
shift
if [[ -n ${1} ]] ; then srcprefix="${1}" ; shift ; fi
if [[ -n ${1} ]] ; then modules=( $@ ) ; fi
icecatlinguas_export
mkdir -p "${modpath}/chrome" || die
for l in "${icecatlinguas[@]}"; do for c in "${modules[@]}" ; do
if [[ -e "${srcprefix}-${l}/chrome/${c}-${l}" ]]; then
cp -RLp -t "${modpath}/chrome" "${srcprefix}-${l}/chrome/${c}-${l}" || die
grep "locale ${c} ${l} chrome/" "${srcprefix}-${l}/chrome.manifest" \
>>"${modpath}/chrome.manifest" || die
elif [[ -e "${srcprefix}/chrome/${c}-${l}" ]]; then
cp -RLp -t "${modpath}/chrome" "${srcprefix}/chrome/${c}-${l}" || die
grep "locale ${c} ${l} chrome/" "${srcprefix}/chrome.manifest" \
>>"${modpath}/chrome.manifest" || die
else
ewarn "Locale ${l} was not found for ${c}, skipping."
fi
done; done
}
# @FUNCTION: icecatlinguas-v2_src_install
# @DESCRIPTION:
# Install xpi language packs according to the user's L10N settings
# NOTE - uses ${BUILD_OBJ_DIR} or PWD if unset, for source-generated langpacks
icecatlinguas_src_install() {
local x
icecatlinguas_export
if [[ -n ${MOZ_GENERATE_LANGPACKS} ]] && [[ -n ${icecatlinguas[*]} ]]; then
local repopath="${WORKDIR}/${PN}-generated-langpacks"
mkdir -p "${repopath}" || die
pushd "${BUILD_OBJ_DIR:-.}"/dist/*/xpi > /dev/null || die
for x in "${icecatlinguas[@]}"; do
cp "${MOZ_P}.${x}.langpack.xpi" \
"${repopath}/${MOZ_P}.${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" || die
xpi_unpack "${repopath}/${MOZ_P}.${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi"
done
popd > /dev/null || die
fi
for x in "${icecatlinguas[@]}"; do
if [[ -n ${MOZ_INSTALL_L10N_XPIFILE} ]]; then
xpi_copy "${WORKDIR}/${MOZ_P}.${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}"
else
xpi_install "${WORKDIR}/${MOZ_P}.${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}"
fi
done
}
# For the phase function export
icecatlinguas-v2_src_install() {
icecatlinguas_src_install
}

View File

@ -0,0 +1,424 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# @ECLASS: mozconfig-v6.55.eclass
# @MAINTAINER:
# mozilla team <mozilla@gentoo.org>
# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6
# @DESCRIPTION:
# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
# to provide a single common place for the common mozilla engine compoments.
#
# The eclass provides all common dependencies as well as common use flags.
#
# Some use flags which may be optional in particular mozilla packages can be
# supported through setting eclass variables.
#
# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
# and so ebuilds inheriting this eclass do not need to inherit that.
case ${EAPI} in
0|1|2|3|4)
die "EAPI=${EAPI} not supported"
;;
5)
inherit multilib
;;
esac
inherit flag-o-matic toolchain-funcs
case ${PN} in
(seamonkey) inherit mozcoreconf-v6 ;;
(waterfox) inherit mozcoreconf-v5 ;;
(*) die "Don't use this eclass with some other package!" ;;
esac
# @ECLASS_VARIABLE: MOZCONFIG_OPTIONAL_WIFI
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild needs to provide
# optional necko-wifi support via IUSE="wifi". Currently this would include
# ebuilds for firefox, and potentially seamonkey.
#
# Leave the variable UNSET if necko-wifi support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS_VARIABLE: MOZCONFIG_OPTIONAL_JIT
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild needs to provide
# deterministic jit support via IUSE="jit". The upstream default will be used
# otherwise, which is generally to enable jit unless support for the platform
# is missing.
#
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS_VARIABLE: MOZCONFIG_OPTIONAL_GTK3
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional gtk3 support via IUSE="force-gtk3". Currently this would include
# thunderbird and seamonkey in the future, once support is ready for testing.
#
# Leave the variable UNSET if gtk3 support should not be optionally available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# If gtk+:3 is to be the standard toolkit, do not use this and instead use
# MOZCONFIG_OPTIONAL_GTK2ONLY.
# @ECLASS_VARIABLE: MOZCONFIG_OPTIONAL_GTK2ONLY
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional gtk2-only support via IUSE="gtk2".
#
# Note that this option conflicts directly with MOZCONFIG_OPTIONAL_GTK3, both
# variables cannot be set at the same time and this variable will be ignored if
# MOZCONFIG_OPTIONAL_GTK3 is set.
#
# Leave the variable UNSET if gtk2-only support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# @ECLASS_VARIABLE: MOZCONFIG_OPTIONAL_QT5
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
# optional qt5 support via IUSE="qt5". Currently this would include
# ebuilds for firefox, but thunderbird and seamonkey could follow in the future.
#
# Leave the variable UNSET if qt5 support should not be available.
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
# use-flags common among all mozilla ebuilds
IUSE="${IUSE} dbus debug neon pulseaudio selinux startup-notification system-harfbuzz
system-icu system-jpeg system-libevent system-sqlite system-libvpx"
# some notes on deps:
# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
RDEPEND="
>=app-text/hunspell-1.5.4:=
>=dev-libs/glib-2.26:2
>=media-libs/freetype-2.4.10
>=media-libs/libpng-1.6.31:0=[apng]
>=media-libs/mesa-10.2:*
>=sys-libs/zlib-1.2.3
>=x11-libs/cairo-1.10[X]
>=x11-libs/gtk+-2.18:2
>=x11-libs/pango-1.22.0
>=x11-libs/pixman-0.19.2
dev-libs/atk
dev-libs/expat
dev-libs/libffi
media-libs/fontconfig
media-video/ffmpeg
virtual/freedesktop-icon-theme
x11-libs/gdk-pixbuf
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrender
x11-libs/libXt
dbus? (
>=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72
)
kernel_linux? (
!pulseaudio? (
media-libs/alsa-lib
)
)
pulseaudio? (
|| (
media-sound/pulseaudio
>=media-sound/apulse-0.1.9
)
)
startup-notification? (
>=x11-libs/startup-notification-0.8
)
system-icu? (
>=dev-libs/icu-59.1:=
)
system-jpeg? (
>=media-libs/libjpeg-turbo-1.2.1
)
system-libevent? (
>=dev-libs/libevent-2.0:0=
)
system-sqlite? (
>=dev-db/sqlite-3.19.3:3[secure-delete,debug=]
)
system-libvpx? (
>=media-libs/libvpx-1.5.0:0=[postproc]
)
system-harfbuzz? (
>=media-libs/harfbuzz-1.3.3:0=
>=media-gfx/graphite2-1.3.9-r1
)
"
if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
MOZCONFIG_OPTIONAL_GTK2ONLY=
if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then
IUSE+=" +force-gtk3"
else
IUSE+=" force-gtk3"
fi
RDEPEND+=" force-gtk3? ( >=x11-libs/gtk+-3.4.0:3 )"
elif [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
if [[ ${MOZCONFIG_OPTIONAL_GTK2ONLY} = "enabled" ]]; then
IUSE+=" +gtk2"
else
IUSE+=" gtk2"
fi
RDEPEND+=" !gtk2? ( >=x11-libs/gtk+-3.4.0:3 )"
else
# no gtk3 related dep set by optional use flags, force it
RDEPEND+=" >=x11-libs/gtk+-3.4.0:3"
fi
if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
IUSE+=" +wifi"
else
IUSE+=" wifi"
fi
RDEPEND+="
wifi? (
kernel_linux? ( >=sys-apps/dbus-0.60
>=dev-libs/dbus-glib-0.72
net-misc/networkmanager )
)"
fi
DEPEND="app-arch/zip
app-arch/unzip
>=sys-devel/binutils-2.16.1
sys-apps/findutils
pulseaudio? ( media-sound/pulseaudio )
${RDEPEND}"
RDEPEND+="
pulseaudio? ( || ( media-sound/pulseaudio
>=media-sound/apulse-0.1.9 ) )
selinux? ( sec-policy/selinux-mozilla )"
# @FUNCTION: mozconfig_config
# @DESCRIPTION:
# Set common configure options for mozilla packages.
# Call this within src_configure() phase, after mozconfig_init
#
# Example:
#
# inherit mozconfig-v6.46
#
# src_configure() {
# mozconfig_init
# mozconfig_config
# # ... misc ebuild-unique settings via calls to
# # ... mozconfig_{annotate,use_with,use_enable}
# mozconfig_final
# }
mozconfig_config() {
# Migrated from mozcoreconf-2
mozconfig_annotate 'system_libs' \
--with-system-zlib \
--with-system-bz2
# Disable for testing purposes only
mozconfig_annotate 'Upstream bug 1341234' --disable-stylo
# Must pass release in order to properly select linker via gold useflag
mozconfig_annotate 'Enable by Gentoo' --enable-release
# Must pass --enable-gold if using ld.gold
if tc-ld-is-gold ; then
mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold
else
mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold
fi
if has bindist ${IUSE}; then
mozconfig_use_enable !bindist official-branding
if [[ ${PN} == firefox ]] && use bindist ; then
mozconfig_annotate '' --with-branding=browser/branding/aurora
fi
fi
# Enable position independent executables
mozconfig_annotate 'enabled by Gentoo' --enable-pie
mozconfig_use_enable debug
mozconfig_use_enable debug tests
if ! use debug ; then
mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
else
mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
fi
mozconfig_use_enable startup-notification
if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
# wifi pulls in dbus so manage both here
mozconfig_use_enable wifi necko-wifi
if use kernel_linux && use wifi && ! use dbus; then
echo "Enabling dbus support due to wifi request"
mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus
else
mozconfig_use_enable dbus
fi
else
mozconfig_use_enable dbus
mozconfig_annotate 'disabled' --disable-necko-wifi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
mozconfig_use_enable jit ion
fi
# These are enabled by default in all mozilla applications
mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
if use system-libevent; then
mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
fi
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate 'Gentoo default' --enable-system-hunspell
mozconfig_annotate '' --disable-crashreporter
mozconfig_annotate 'Gentoo default' --with-system-png
mozconfig_annotate '' --enable-system-ffi
mozconfig_annotate '' --disable-gconf
mozconfig_annotate '' --with-intl-api
# skia has no support for big-endian platforms
if [[ $(tc-endian) == "big" ]]; then
mozconfig_annotate 'big endian target' --disable-skia
else
mozconfig_annotate '' --enable-skia
fi
# default toolkit is cairo-gtk3, optional use flags can change this
local toolkit="cairo-gtk3"
local toolkit_comment=""
if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
if ! use force-gtk3; then
toolkit="cairo-gtk2"
toolkit_comment="force-gtk3 use flag"
fi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
if use gtk2 ; then
toolkit="cairo-gtk2"
else
toolkit_comment="gtk2 use flag"
fi
fi
if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then
if use qt5; then
toolkit="cairo-qt"
toolkit_comment="qt5 use flag"
# need to specify these vars because the qt5 versions are not found otherwise,
# and setting --with-qtdir overrides the pkg-config include dirs
local i
for i in qmake moc rcc; do
echo "export HOST_${i^^}=\"$(qt5_get_bindir)/${i}\"" \
>> "${S}"/.mozconfig || die
done
echo 'unset QTDIR' >> "${S}"/.mozconfig || die
mozconfig_annotate '+qt5' --disable-gio
fi
fi
mozconfig_annotate "${toolkit_comment}" --enable-default-toolkit=${toolkit}
# Instead of the standard --build= and --host=, mozilla uses --host instead
# of --build, and --target intstead of --host.
# Note, mozilla also has --build but it does not do what you think it does.
# Set both --target and --host as mozilla uses python to guess values otherwise
mozconfig_annotate '' --target="${CHOST}"
mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
mozconfig_use_enable pulseaudio
# force the deprecated alsa sound code if pulseaudio is disabled
if use kernel_linux && ! use pulseaudio ; then
mozconfig_annotate '-pulseaudio' --enable-alsa
fi
# For testing purpose only
mozconfig_annotate 'Sandbox' --enable-content-sandbox
mozconfig_use_enable system-sqlite
mozconfig_use_with system-jpeg
mozconfig_use_with system-icu
mozconfig_use_with system-libvpx
mozconfig_use_with system-harfbuzz
mozconfig_use_with system-harfbuzz system-graphite2
# Modifications to better support ARM, bug 553364
if use neon ; then
mozconfig_annotate '' --with-fpu=neon
mozconfig_annotate '' --with-thumb=yes
mozconfig_annotate '' --with-thumb-interwork=no
fi
if [[ ${CHOST} == armv* ]] ; then
mozconfig_annotate '' --with-float-abi=hard
if ! use system-libvpx ; then
sed -i -e "s|softfp|hard|" \
"${S}"/media/libvpx/moz.build
fi
fi
}
# @FUNCTION: mozconfig_install_prefs
# @DESCRIPTION:
# Set preferences into the prefs.js file specified as a parameter to
# the function. This sets both some common prefs to all mozilla
# packages, and any prefs that may relate to the use flags administered
# by mozconfig_config().
#
# Call this within src_install() phase, after copying the template
# prefs file (if any) from ${FILESDIR}
#
# Example:
#
# inherit mozconfig-v6.46
#
# src_install() {
# cp "${FILESDIR}"/gentoo-default-prefs.js \
# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
# || die
#
# mozconfig_install_prefs \
# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
#
# ...
# }
mozconfig_install_prefs() {
local prefs_file="${1}"
einfo "Adding prefs from mozconfig to ${prefs_file}"
# set dictionary path, to use system hunspell
echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
>>"${prefs_file}" || die
# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
if use system-harfbuzz ; then
echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
>>"${prefs_file}" || die
fi
# force cairo as the canvas renderer on platforms without skia support
if [[ $(tc-endian) == "big" ]] ; then
echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
>>"${prefs_file}" || die
echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
>>"${prefs_file}" || die
fi
}

View File

@ -0,0 +1,278 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
# @ECLASS: mozcoreconf-v5.eclass
# @MAINTAINER:
# Mozilla team <mozilla@gentoo.org>
# @BLURB: core options and configuration functions for mozilla
# @DESCRIPTION:
#
# inherit mozconfig-v6.* or above for mozilla configuration support
# @ECLASS_VARIABLE: MOZILLA_FIVE_HOME
# @DESCRIPTION:
# This is an eclass-generated variable that defines the rpath that the mozilla
# product will be installed in. Read-only
if [[ ! ${_MOZCORECONF} ]]; then
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads'
inherit multilib toolchain-funcs flag-o-matic python-any-r1 versionator
IUSE="${IUSE} custom-cflags custom-optimization"
DEPEND="virtual/pkgconfig
${PYTHON_DEPS}"
# @FUNCTION: mozconfig_annotate
# @DESCRIPTION:
# add an annotated line to .mozconfig
#
# Example:
# mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc
# => ac_add_options --enable-js-ultrasparc # building on ultrasparc
mozconfig_annotate() {
declare reason=$1 x ; shift
[[ $# -gt 0 ]] || die "mozconfig_annotate missing flags for ${reason}\!"
for x in ${*}; do
echo "ac_add_options ${x} # ${reason}" >>.mozconfig
done
}
# @FUNCTION: mozconfig_use_enable
# @DESCRIPTION:
# add a line to .mozconfig based on a USE-flag
#
# Example:
# mozconfig_use_enable truetype freetype2
# => ac_add_options --enable-freetype2 # +truetype
mozconfig_use_enable() {
declare flag=$(use_enable "$@")
mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}"
}
# @FUNCTION mozconfig_use_with
# @DESCRIPTION
# add a line to .mozconfig based on a USE-flag
#
# Example:
# mozconfig_use_with kerberos gss-api /usr/$(get_libdir)
# => ac_add_options --with-gss-api=/usr/lib # +kerberos
mozconfig_use_with() {
declare flag=$(use_with "$@")
mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}"
}
# @FUNCTION mozconfig_use_extension
# @DESCRIPTION
# enable or disable an extension based on a USE-flag
#
# Example:
# mozconfig_use_extension gnome gnomevfs
# => ac_add_options --enable-extensions=gnomevfs
mozconfig_use_extension() {
declare minus=$(use $1 || echo -)
mozconfig_annotate "${minus:-+}$1" --enable-extensions=${minus}${2}
}
moz_pkgsetup() {
# Ensure we use C locale when building
export LANG="C"
export LC_ALL="C"
export LC_MESSAGES="C"
export LC_CTYPE="C"
# Ensure we use correct toolchain
export HOST_CC="$(tc-getBUILD_CC)"
export HOST_CXX="$(tc-getBUILD_CXX)"
tc-export CC CXX LD PKG_CONFIG
# Ensure that we have a sane build enviroment
export MOZILLA_CLIENT=1
export BUILD_OPT=1
export NO_STATIC_LIB=1
export USE_PTHREADS=1
export ALDFLAGS=${LDFLAGS}
# ensure MOZCONFIG is not defined
unset MOZCONFIG
# set MOZILLA_FIVE_HOME
export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
# nested configure scripts in mozilla products generate unrecognized options
# false positives when toplevel configure passes downwards.
export QA_CONFIGURE_OPTIONS=".*"
if [[ $(gcc-major-version) -eq 3 ]]; then
ewarn "Unsupported compiler detected, DO NOT file bugs for"
ewarn "outdated compilers. Bugs opened with gcc-3 will be closed"
ewarn "invalid."
fi
python-any-r1_pkg_setup
}
# @FUNCTION: mozconfig_init
# @DESCRIPTION:
# Initialize mozilla configuration and populate with core settings.
# This should be called in src_configure before any other mozconfig_* functions.
mozconfig_init() {
declare enable_optimize pango_version myext x
declare XUL=$([[ ${PN} == xulrunner ]] && echo true || echo false)
declare FF=$([[ ${PN} == firefox ]] && echo true || echo false)
declare SM=$([[ ${PN} == seamonkey ]] && echo true || echo false)
declare TB=$([[ ${PN} == thunderbird ]] && echo true || echo false)
declare WF=$([[ ${PN} == waterfox ]] && echo true || echo false)
####################################
#
# Setup the initial .mozconfig
# See http://www.mozilla.org/build/configure-build.html
#
####################################
case ${PN} in
*xulrunner)
cp xulrunner/config/mozconfig .mozconfig \
|| die "cp xulrunner/config/mozconfig failed" ;;
*firefox|waterfox)
cp browser/config/mozconfig .mozconfig \
|| die "cp browser/config/mozconfig failed" ;;
seamonkey)
# Must create the initial mozconfig to enable application
: >.mozconfig || die "initial mozconfig creation failed"
mozconfig_annotate "" --enable-application=suite ;;
*thunderbird)
# Must create the initial mozconfig to enable application
: >.mozconfig || die "initial mozconfig creation failed"
mozconfig_annotate "" --enable-application=mail ;;
esac
####################################
#
# CFLAGS setup and ARCH support
#
####################################
# Set optimization level
if [[ $(gcc-major-version) -ge 7 ]]; then
mozconfig_annotate "Workaround known breakage" --enable-optimize=-O2
elif [[ ${ARCH} == hppa ]]; then
mozconfig_annotate "more than -O0 causes a segfault on hppa" --enable-optimize=-O0
elif [[ ${ARCH} == x86 ]]; then
mozconfig_annotate "less then -O2 causes a segfault on x86" --enable-optimize=-O2
elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then
# Set optimization level based on CFLAGS
if is-flag -O0; then
mozconfig_annotate "from CFLAGS" --enable-optimize=-O0
elif [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then
mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1
elif is-flag -O4; then
mozconfig_annotate "from CFLAGS" --enable-optimize=-O4
elif is-flag -O3; then
mozconfig_annotate "from CFLAGS" --enable-optimize=-O3
elif is-flag -O1; then
mozconfig_annotate "from CFLAGS" --enable-optimize=-O1
elif is-flag -Os; then
mozconfig_annotate "from CFLAGS" --enable-optimize=-Os
else
mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2
fi
else
# Enable Mozilla's default
mozconfig_annotate "mozilla default" --enable-optimize
fi
# Strip optimization so it does not end up in compile string
filter-flags '-O*'
# Strip over-aggressive CFLAGS
use custom-cflags || strip-flags
# Additional ARCH support
case "${ARCH}" in
arm)
# Reduce the memory requirements for linking
append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
;;
alpha)
# Historically we have needed to add -fPIC manually for 64-bit.
# Additionally, alpha should *always* build with -mieee for correct math
# operation
append-flags -fPIC -mieee
;;
ia64)
# Historically we have needed to add this manually for 64-bit
append-flags -fPIC
;;
ppc64)
append-flags -fPIC -mminimal-toc
# Reduce the memory requirements for linking
append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
;;
esac
# We need to append flags for gcc-6 support
if [[ $(gcc-major-version) -ge 6 ]]; then
append-cxxflags -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2
fi
# Use the MOZILLA_FIVE_HOME for the rpath
append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
# Set MOZILLA_FIVE_HOME in mozconfig
mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
####################################
#
# mozconfig setup
#
####################################
mozconfig_annotate disable_update_strip \
--disable-updater \
--disable-strip \
--disable-install-strip
# jemalloc won't build with older glibc
! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate "we have old glibc" --disable-jemalloc
}
# @FUNCTION: mozconfig_final
# @DESCRIPTION:
# Apply EXTRA_ECONF values to .mozconfig
# Display a table describing all configuration options paired
# with reasons, then clean up extensions list.
# This should be called in src_configure at the end of all other mozconfig_* functions.
mozconfig_final() {
declare ac opt hash reason
# Apply EXTRA_ECONF entries to .mozconfig
if [[ -n ${EXTRA_ECONF} ]]; then
IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
for opt in "${ac[@]}"; do
mozconfig_annotate "EXTRA_ECONF" --${opt#--}
done
fi
echo
echo "=========================================================="
echo "Building ${PF} with the following configuration"
grep ^ac_add_options .mozconfig | while read ac opt hash reason; do
[[ -z ${hash} || ${hash} == \# ]] \
|| die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
done
echo "=========================================================="
echo
# Resolve multiple --enable-extensions down to one
declare exts=$(sed -n 's/^ac_add_options --enable-extensions=\([^ ]*\).*/\1/p' \
.mozconfig | xargs)
sed -i '/^ac_add_options --enable-extensions/d' .mozconfig
echo "ac_add_options --enable-extensions=${exts// /,}" >> .mozconfig
}
_MOZCORECONF=1
fi

View File

@ -1,2 +1 @@
DIST matrix-commander-0.0.0_pre20210806.tar.gz 735964 BLAKE2B f3f4c495823767778db99b65bb5aa88f45ea4009004b0c3825bd476a3a1d5c9e569aa18dfcc3408614357fbd2ba6931ec91fbea9f2efba488d83f812ba857d6a SHA512 0d32a3315978c6c373df5e1a7660516cd2c12ce9802f007a2299c99891b628b23159dbe511159aa5631d3b3717851230bd97eab12050f59a7735431246d55d54 DIST matrix-commander-0.0.0_pre20210806.tar.gz 735964 BLAKE2B f3f4c495823767778db99b65bb5aa88f45ea4009004b0c3825bd476a3a1d5c9e569aa18dfcc3408614357fbd2ba6931ec91fbea9f2efba488d83f812ba857d6a SHA512 0d32a3315978c6c373df5e1a7660516cd2c12ce9802f007a2299c99891b628b23159dbe511159aa5631d3b3717851230bd97eab12050f59a7735431246d55d54
DIST matrix-commander-3.0.1.gh.tar.gz 1772532 BLAKE2B 27e4f6ece7c66d8b89a4793019c5fba405e67b5df707807a12cb796f08f58d71ceecd32eb60620c403e8c72bc4e3b1f9e6cfd5a43aa3af643746e5d70204234c SHA512 c68c053dfd52eaf8e1ee13c14a805992021d5cf9c00403aefafd03cb8fac8d2fbc43684671765038088acb34a0d08c316adece9ed05b90f7935d49933d0d637a

View File

@ -1,42 +0,0 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..10} )
inherit distutils-r1 bash-completion-r1
DESCRIPTION="Simple but convenient CLI-based Matrix client app for sending and receiving"
HOMEPAGE="https://github.com/8go/matrix-commander"
SRC_URI="https://github.com/8go/matrix-commander/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
# Tests are a bunch shell scripts and lone python script
# Not gonna bother
RESTRICT="test"
RDEPEND="
$(python_gen_cond_dep '
>=dev-python/aiofiles-0.6.0[${PYTHON_USEDEP}]
dev-python/aiohttp[${PYTHON_USEDEP}]
dev-python/dbus-python[${PYTHON_USEDEP}]
dev-python/markdown[${PYTHON_USEDEP}]
>=dev-python/matrix-nio-0.14.1[e2e(+),${PYTHON_USEDEP}]
dev-python/notify2[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/python-magic[${PYTHON_USEDEP}]
dev-python/pyxdg[${PYTHON_USEDEP}]
')
"
src_install() {
distutils-r1_src_install
dobashcomp auto-completion/bash/matrix-commander.bash
}

View File

@ -3,6 +3,5 @@
<pkgmetadata> <pkgmetadata>
<upstream> <upstream>
<remote-id type="github">8go/matrix-commander</remote-id> <remote-id type="github">8go/matrix-commander</remote-id>
<remote-id type="pypi">matrix-commander</remote-id>
</upstream> </upstream>
</pkgmetadata> </pkgmetadata>

3
net-im/mirage/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST hsluv-c-9e9be32d6010cad484a7b12b1a3d19c6cf4c1353.tar.gz 1073542 BLAKE2B d798c71be3d3f7ad4248650f08bbb477b43b27edafa8519ddb9ac2873a1da99767f6f6668280fc9fa8abce7ab8347a9fe040a9b80c189f4e13465b5747e07adc SHA512 ecd8c9afa9e22c6a0093435ce89b5d5b1882207359d02a65f6e62952fa4b57fc5b3e1aaa07527553a7e86c350173409b21d41b3da5235a7fb5f96b61944be839
DIST mirage-v0.7.1.tar.gz 3287140 BLAKE2B 9b31c9754a9f7ee7ab79d004e3f923ed027ad6f7c28f088a76b89708b067fd4fa08d6042ebb4ca3807ede2df3fbf80cb3f93354714839b5e3f82c47e07993985 SHA512 af4e6adb33e4fad200947d91592b76115be426c8d5a780bed0cffbbea72189bd513815c2c2aa74ae6e06c6b35e17a2fc47b4350cc57fe27c35f972753b5bb772
DIST mirage-v0.7.2.tar.gz 3296045 BLAKE2B c14bf14059192b2732ddccca0a7d963b24a68798a87d6f3f869f25e499a187d86002f20706b95134bb4770082ede5c6998f72f69e1700a881c949262ed07f42b SHA512 793e730aae73c95f1aee4df85ffc9c0bb785da8ec1f7845d98d785ef2649d1f837dba8c82c4ce87462e26f736de5fcab76ed8b351aa09e38cbab637a45a10108

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email> parona@protonmail.com </email>
<name> Alfred Wingate </name>
</maintainer>
<maintainer type="person">
<email>hedmoo@yahoo.com</email>
<name>Andreas Westman Dorcsak</name>
</maintainer>
<upstream>
<remote-id type="github">mirukana/mirage</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,111 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
inherit qmake-utils python-single-r1 xdg
DESCRIPTION="A fancy, customizable, keyboard-operable Qt/QML+Python Matrix chat client."
HOMEPAGE="https://github.com/mirukana/mirage"
# Currently only one submodule needed for the build, but keeping the capacity to add more submodules for the future.
SUBMODULE_COMMITS=(
"9e9be32d6010cad484a7b12b1a3d19c6cf4c1353"
)
#[0] hsluv/hsluv-c
if [[ "${PV}" == "9999" ]]
then
inherit git-r3
EGIT_REPO_URI="https://github.com/mirukana/mirage.git"
EGIT_BRANCH="dev"
EGIT_SUBMODULES=( submodules/hsluv-c )
else
SRC_URI="
https://github.com/mirukana/"${PN}"/archive/v"${PV}".tar.gz -> "${PN}"-v"${PV}".tar.gz
https://github.com/hsluv/hsluv-c/archive/"${SUBMODULE_COMMITS[0]}".tar.gz -> hsluv-c-"${SUBMODULE_COMMITS[0]}".tar.gz
"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3"
SLOT="0"
IUSE="X"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="
>=dev-qt/qtcore-5.12
>=dev-qt/qtdeclarative-5.12
>=dev-qt/qtquickcontrols2-5.12[widgets]
>=dev-qt/qtgraphicaleffects-5.12
X? (
x11-libs/libX11
x11-libs/libXScrnSaver
)
"
RDEPEND="
${DEPEND}
${PYTHON_DEPS}
>=dev-qt/qtgui-5.12[gif,png,jpeg]
>=dev-qt/qtimageformats-5.12
>=dev-qt/qtsvg-5.12
dev-libs/olm
dev-python/pyotherside[${PYTHON_SINGLE_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/aiofiles-0.4.0[${PYTHON_USEDEP}]
>=dev-python/appdirs-1.4.4[${PYTHON_USEDEP}]
>=dev-python/dbus-python-1.2.16[${PYTHON_USEDEP}]
>=dev-python/filetype-1.0.7[${PYTHON_USEDEP}]
>=dev-python/hsluv-python-5.0.0[${PYTHON_USEDEP}]
>=dev-python/html_sanitizer-1.9.1[${PYTHON_USEDEP}]
>=dev-python/lxml-4.5.1[${PYTHON_USEDEP}]
>=dev-python/matrix-nio-0.17.0[e2e,${PYTHON_USEDEP}]
>=dev-python/mistune-0.8.4[${PYTHON_USEDEP}]
>=dev-python/pillow-7.0.0[${PYTHON_USEDEP}]
>=dev-python/plyer-1.4.3[${PYTHON_USEDEP}]
>=dev-python/pymediainfo-4.2.1[${PYTHON_USEDEP}]
>=dev-python/redbaron-0.9.2[${PYTHON_USEDEP}]
>=dev-python/simpleaudio-1.0.4[${PYTHON_USEDEP}]
>=dev-python/sortedcontainers-2.2.2[${PYTHON_USEDEP}]
>=dev-python/watchgod-0.6[${PYTHON_USEDEP}]
>=media-gfx/cairosvg-2.4.2[${PYTHON_USEDEP}]
')
media-libs/alsa-lib
media-libs/libjpeg-turbo
media-libs/libmediainfo
media-libs/libwebp
media-libs/tiff
media-libs/openjpeg:2
sys-libs/zlib
"
src_prepare() {
move_lib() {
local IN_DIR="${1}"
local OUT_DIR
[ -z "${2}" ] && OUT_DIR="${IN_DIR}" || OUT_DIR=""${2%/}"/"${IN_DIR}""
mv ""${WORKDIR}"/"${IN_DIR}""*/* ""${S}"/"${OUT_DIR}"" || die
}
if [ "${PV}" != "9999" ]; then
local submodules_libs="hsluv-c"
for submodules_lib in ${submodules_libs} ; do
move_lib "${submodules_lib}" submodules
done
fi
eapply_user
}
src_configure() {
if use !X; then
myconf="CONFIG+=no-x11"
fi
eqmake5 mirage.pro PREFIX="${EPREFIX}/usr" ${myconf}
}
src_install() {
emake INSTALL_ROOT="${D}" install
}

View File

@ -0,0 +1,111 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
inherit qmake-utils python-single-r1 xdg
DESCRIPTION="A fancy, customizable, keyboard-operable Qt/QML+Python Matrix chat client."
HOMEPAGE="https://github.com/mirukana/mirage"
# Currently only one submodule needed for the build, but keeping the capacity to add more submodules for the future.
SUBMODULE_COMMITS=(
"9e9be32d6010cad484a7b12b1a3d19c6cf4c1353"
)
#[0] hsluv/hsluv-c
if [[ "${PV}" == "9999" ]]
then
inherit git-r3
EGIT_REPO_URI="https://github.com/mirukana/mirage.git"
EGIT_BRANCH="dev"
EGIT_SUBMODULES=( submodules/hsluv-c )
else
SRC_URI="
https://github.com/mirukana/"${PN}"/archive/v"${PV}".tar.gz -> "${PN}"-v"${PV}".tar.gz
https://github.com/hsluv/hsluv-c/archive/"${SUBMODULE_COMMITS[0]}".tar.gz -> hsluv-c-"${SUBMODULE_COMMITS[0]}".tar.gz
"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3"
SLOT="0"
IUSE="X"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="
>=dev-qt/qtcore-5.12
>=dev-qt/qtdeclarative-5.12
>=dev-qt/qtquickcontrols2-5.12[widgets]
>=dev-qt/qtgraphicaleffects-5.12
X? (
x11-libs/libX11
x11-libs/libXScrnSaver
)
"
RDEPEND="
${DEPEND}
${PYTHON_DEPS}
>=dev-qt/qtgui-5.12[gif,png,jpeg]
>=dev-qt/qtimageformats-5.12
>=dev-qt/qtsvg-5.12
dev-libs/olm
dev-python/pyotherside[${PYTHON_SINGLE_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/aiofiles-0.4.0[${PYTHON_USEDEP}]
>=dev-python/appdirs-1.4.4[${PYTHON_USEDEP}]
>=dev-python/dbus-python-1.2.16[${PYTHON_USEDEP}]
>=dev-python/filetype-1.0.7[${PYTHON_USEDEP}]
>=dev-python/hsluv-python-5.0.0[${PYTHON_USEDEP}]
>=dev-python/html_sanitizer-1.9.1[${PYTHON_USEDEP}]
>=dev-python/lxml-4.5.1[${PYTHON_USEDEP}]
>=dev-python/matrix-nio-0.18.0[e2e,${PYTHON_USEDEP}]
>=dev-python/mistune-0.8.4[${PYTHON_USEDEP}]
>=dev-python/pillow-7.0.0[${PYTHON_USEDEP}]
>=dev-python/plyer-1.4.3[${PYTHON_USEDEP}]
>=dev-python/pymediainfo-4.2.1[${PYTHON_USEDEP}]
>=dev-python/redbaron-0.9.2[${PYTHON_USEDEP}]
>=dev-python/simpleaudio-1.0.4[${PYTHON_USEDEP}]
>=dev-python/sortedcontainers-2.2.2[${PYTHON_USEDEP}]
>=dev-python/watchgod-0.7[${PYTHON_USEDEP}]
>=media-gfx/cairosvg-2.4.2[${PYTHON_USEDEP}]
')
media-libs/alsa-lib
media-libs/libjpeg-turbo
media-libs/libmediainfo
media-libs/libwebp
media-libs/tiff
media-libs/openjpeg:2
sys-libs/zlib
"
src_prepare() {
move_lib() {
local IN_DIR="${1}"
local OUT_DIR
[ -z "${2}" ] && OUT_DIR="${IN_DIR}" || OUT_DIR=""${2%/}"/"${IN_DIR}""
mv ""${WORKDIR}"/"${IN_DIR}""*/* ""${S}"/"${OUT_DIR}"" || die
}
if [ "${PV}" != "9999" ]; then
local submodules_libs="hsluv-c"
for submodules_lib in ${submodules_libs} ; do
move_lib "${submodules_lib}" submodules
done
fi
eapply_user
}
src_configure() {
if use !X; then
myconf="CONFIG+=no-x11"
fi
eqmake5 mirage.pro PREFIX="${EPREFIX}/usr" ${myconf}
}
src_install() {
emake INSTALL_ROOT="${D}" install
}

View File

@ -0,0 +1,111 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
inherit qmake-utils python-single-r1 xdg
DESCRIPTION="A fancy, customizable, keyboard-operable Qt/QML+Python Matrix chat client."
HOMEPAGE="https://github.com/mirukana/mirage"
# Currently only one submodule needed for the build, but keeping the capacity to add more submodules for the future.
SUBMODULE_COMMITS=(
"9e9be32d6010cad484a7b12b1a3d19c6cf4c1353"
)
#[0] hsluv/hsluv-c
if [[ "${PV}" == "9999" ]]
then
inherit git-r3
EGIT_REPO_URI="https://github.com/mirukana/mirage.git"
EGIT_BRANCH="dev"
EGIT_SUBMODULES=( submodules/hsluv-c )
else
SRC_URI="
https://github.com/mirukana/"${PN}"/archive/v"${PV}".tar.gz -> "${PN}"-v"${PV}".tar.gz
https://github.com/hsluv/hsluv-c/archive/"${SUBMODULE_COMMITS[0]}".tar.gz -> hsluv-c-"${SUBMODULE_COMMITS[0]}".tar.gz
"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3"
SLOT="0"
IUSE="X"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="
>=dev-qt/qtcore-5.12
>=dev-qt/qtdeclarative-5.12
>=dev-qt/qtquickcontrols2-5.12[widgets]
>=dev-qt/qtgraphicaleffects-5.12
X? (
x11-libs/libX11
x11-libs/libXScrnSaver
)
"
RDEPEND="
${DEPEND}
${PYTHON_DEPS}
>=dev-qt/qtgui-5.12[gif,png,jpeg]
>=dev-qt/qtimageformats-5.12
>=dev-qt/qtsvg-5.12
dev-libs/olm
dev-python/pyotherside[${PYTHON_SINGLE_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/aiofiles-0.4.0[${PYTHON_USEDEP}]
>=dev-python/appdirs-1.4.4[${PYTHON_USEDEP}]
>=dev-python/dbus-python-1.2.16[${PYTHON_USEDEP}]
>=dev-python/filetype-1.0.7[${PYTHON_USEDEP}]
>=dev-python/hsluv-python-5.0.0[${PYTHON_USEDEP}]
>=dev-python/html_sanitizer-1.9.1[${PYTHON_USEDEP}]
>=dev-python/lxml-4.5.1[${PYTHON_USEDEP}]
>=dev-python/matrix-nio-0.17.0[e2e,${PYTHON_USEDEP}]
>=dev-python/mistune-0.8.4[${PYTHON_USEDEP}]
>=dev-python/pillow-7.0.0[${PYTHON_USEDEP}]
>=dev-python/plyer-1.4.3[${PYTHON_USEDEP}]
>=dev-python/pymediainfo-4.2.1[${PYTHON_USEDEP}]
>=dev-python/redbaron-0.9.2[${PYTHON_USEDEP}]
>=dev-python/simpleaudio-1.0.4[${PYTHON_USEDEP}]
>=dev-python/sortedcontainers-2.2.2[${PYTHON_USEDEP}]
>=dev-python/watchgod-0.6[${PYTHON_USEDEP}]
>=media-gfx/cairosvg-2.4.2[${PYTHON_USEDEP}]
')
media-libs/alsa-lib
media-libs/libjpeg-turbo
media-libs/libmediainfo
media-libs/libwebp
media-libs/tiff
media-libs/openjpeg:2
sys-libs/zlib
"
src_prepare() {
move_lib() {
local IN_DIR="${1}"
local OUT_DIR
[ -z "${2}" ] && OUT_DIR="${IN_DIR}" || OUT_DIR=""${2%/}"/"${IN_DIR}""
mv ""${WORKDIR}"/"${IN_DIR}""*/* ""${S}"/"${OUT_DIR}"" || die
}
if [ "${PV}" != "9999" ]; then
local submodules_libs="hsluv-c"
for submodules_lib in ${submodules_libs} ; do
move_lib "${submodules_lib}" submodules
done
fi
eapply_user
}
src_configure() {
if use !X; then
myconf="CONFIG+=no-x11"
fi
eqmake5 mirage.pro PREFIX="${EPREFIX}/usr" ${myconf}
}
src_install() {
emake INSTALL_ROOT="${D}" install
}

View File

@ -1,2 +1 @@
DIST pantalaimon-0.10.2.tar.gz 2494924 BLAKE2B fecb33571c159d71d62477f662bf146651f496f6d28aa13a197e9b2076acc4ec2b9c89586c6bbc8fee586cd31b74086fb8dd14bf417853b35c4d3941a01f2d40 SHA512 27d887959a74469967174140f1a511a152ebe2813186cd3e8136fcc91d0726a4c0fdf46427d5bcee8401567ff88468143139b0bdc1f27a389b6fb85cf28b317b DIST pantalaimon-0.10.2.tar.gz 2494924 BLAKE2B fecb33571c159d71d62477f662bf146651f496f6d28aa13a197e9b2076acc4ec2b9c89586c6bbc8fee586cd31b74086fb8dd14bf417853b35c4d3941a01f2d40 SHA512 27d887959a74469967174140f1a511a152ebe2813186cd3e8136fcc91d0726a4c0fdf46427d5bcee8401567ff88468143139b0bdc1f27a389b6fb85cf28b317b
DIST pantalaimon-0.10.4.tar.gz 2495386 BLAKE2B edb8c38412448b8a37c9554efe577ca7519262d030f320a090c3d4ca23c197eabccb0253c9d5154776ce263a053f7a585ffed773b53e2a8555a588e1ce4b6483 SHA512 59b3fd27d653a5dedebb9354245e7cb1864792b523cf45696035a327a5946d6ce43a5c97bef301093897265f390dca05e9b68927d8c816de494a83301b05e9bd

View File

@ -1,67 +0,0 @@
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..10} )
inherit distutils-r1
DESCRIPTION="A Matrix proxy daemon that adds E2E encryption capabilities"
HOMEPAGE="https://github.com/matrix-org/pantalaimon"
SRC_URI="https://github.com/matrix-org/pantalaimon/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
>=dev-python/attrs-19.3.0[${PYTHON_USEDEP}]
>=dev-python/aiohttp-3.6[${PYTHON_USEDEP}]
<dev-python/aiohttp-4.0[${PYTHON_USEDEP}]
>=dev-python/appdirs-1.4.4[${PYTHON_USEDEP}]
>=dev-python/cachetools-3.0.0[${PYTHON_USEDEP}]
>=dev-python/click-7.1.2[${PYTHON_USEDEP}]
>=dev-python/dbus-python-1.2[${PYTHON_USEDEP}]
<dev-python/dbus-python-1.3[${PYTHON_USEDEP}]
>=dev-python/janus-0.5[${PYTHON_USEDEP}]
>=dev-python/keyring-21.2.1[${PYTHON_USEDEP}]
>=dev-python/logbook-1.5.3[${PYTHON_USEDEP}]
>=dev-python/matrix-nio-0.18[e2e(+),${PYTHON_USEDEP}]
<dev-python/matrix-nio-0.20[e2e(+),${PYTHON_USEDEP}]
>=dev-python/notify2-0.3[${PYTHON_USEDEP}]
<dev-python/notify2-0.4[${PYTHON_USEDEP}]
>=dev-python/peewee-3.13.1[${PYTHON_USEDEP}]
>dev-python/prompt_toolkit-2[${PYTHON_USEDEP}]
<dev-python/prompt_toolkit-4[${PYTHON_USEDEP}]
>=dev-python/pydbus-0.6[${PYTHON_USEDEP}]
<dev-python/pydbus-0.7[${PYTHON_USEDEP}]
>=dev-python/pygobject-3.36[${PYTHON_USEDEP}]
"
# lets relax the dependency
# <dev-python/pygobject-3.40[${PYTHON_USEDEP}]
BDEPEND="
test? (
${RDEPEND}
)
"
distutils_enable_tests pytest
src_install() {
distutils-r1_src_install
einstalldocs
doman docs/man/pantalaimon.{5,8}
dodoc docs/man/pantalaimon.{5,8}.md
doman docs/man/panctl.1
dodoc docs/man/panctl.md
# issue: contrib config could be much better
sed -i 's/^/# /' contrib/pantalaimon.conf || die
insinto /etc
doins contrib/pantalaimon.conf
insinto /usr/lib/systemd/user
doins contrib/pantalaimon.service
}

2
net-im/spectral/Manifest Normal file
View File

@ -0,0 +1,2 @@
DIST 36befddf5d57faad990e72c88c5844794f274145.tar.gz 52369 BLAKE2B 02e2a85c5df7a173b1ec27f126474db0d1ddf2c5858d41b904d463277d134f6f301e25597fd71d61d4a512207eb739e094b44a6af7d9bb7deb65823ab6836691 SHA512 bfb7af36abd5ded014549042e760c1ec6779f46dd6c30e672ada21decc7a1b1a631ada1cc2c57d62d0daca4cccff9640077345b3661ef73021d5e2ee8058ae9b
DIST spectral-854.tar.gz 846106 BLAKE2B 6dc95d52f0acff646e6114e85c16dc9881edbc96eda1168094a477ef3b23d459c9d77aeedbd317cfa225317a9a83cd089539ccafff76df2da3104ef457034b20 SHA512 c8e5c65829a6fae07371461da1f91f33c01194db43a72dda5a35492bcd23595b5270f578494835ca484f9d9de24ab264754fb28f3483fd8ba4c190540416a0cd

View File

@ -0,0 +1,52 @@
--- a/src/spectralroom.cpp 2020-04-16 04:44:53.000000000 +0200
+++ b/src/spectralroom.cpp 2020-07-29 05:33:32.000000000 +0200
@@ -167,7 +167,7 @@
QDateTime SpectralRoom::lastActiveTime() const {
if (timelineSize() == 0)
return QDateTime();
- return messageEvents().rbegin()->get()->timestamp();
+ return messageEvents().rbegin()->get()->originTimestamp();
}
int SpectralRoom::savedTopVisibleIndex() const {
@@ -397,30 +397,30 @@
const auto job = connection()->uploadFile(localFile.toLocalFile());
if (isJobRunning(job)) {
connect(job, &BaseJob::success, this, [this, job] {
- connection()->callApi<SetRoomStateJob>(
- id(), "m.room.avatar", QJsonObject{{"url", job->contentUri()}});
+ connection()->callApi<SetRoomStateWithKeyJob>(
+ id(), "m.room.avatar", localUser()->id(), QJsonObject{{"url", job->contentUri()}});
});
}
}
void SpectralRoom::addLocalAlias(const QString& alias) {
- auto aliases = localAliases();
- if (aliases.contains(alias))
+ auto a = aliases();
+ if (a.contains(alias))
return;
- aliases += alias;
+ a += alias;
- setLocalAliases(aliases);
+ setLocalAliases(a);
}
void SpectralRoom::removeLocalAlias(const QString& alias) {
- auto aliases = localAliases();
- if (!aliases.contains(alias))
+ auto a = aliases();
+ if (!a.contains(alias))
return;
- aliases.removeAll(alias);
+ a.removeAll(alias);
- setLocalAliases(aliases);
+ setLocalAliases(a);
}
QString SpectralRoom::markdownToHTML(const QString& markdown) {

View File

@ -0,0 +1,22 @@
--- a/src/publicroomlistmodel.cpp 2020-04-16 04:44:53.000000000 +0200
+++ b/src/publicroomlistmodel.cpp 2020-07-29 05:33:32.000000000 +0200
@@ -110,15 +110,14 @@
attempted = true;
if (job->status() == BaseJob::Success) {
- auto resp = job->data();
- nextBatch = resp.nextBatch;
+ nextBatch = job->nextBatch();
this->beginInsertRows({}, rooms.count(),
- rooms.count() + resp.chunk.count() - 1);
- rooms.append(resp.chunk);
+ rooms.count() + job->chunk().count() - 1);
+ rooms.append(job->chunk());
this->endInsertRows();
- if (resp.nextBatch.isEmpty()) {
+ if (job->nextBatch().isEmpty()) {
emit hasMoreChanged();
}
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>hedmoo@yahoo.com</email>
<name>Andreas Westman Dorcsak</name>
</maintainer>
</pkgmetadata>

View File

@ -0,0 +1,76 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A glossy client for Matrix, written in QtQuick Controls 2 and C++."
HOMEPAGE="https://gitlab.com/spectral-im/spectral"
inherit cmake
COMMON_URI="https://github.com/oKcerG/SortFilterProxyModel/archive/36befddf5d57faad990e72c88c5844794f274145.tar.gz"
if [[ ${PV} == 9999 ]]
then
EGIT_REPO_URI="https://gitlab.com/b0/spectral.git"
inherit git-r3
else
SRC_URI="https://gitlab.com/spectral-im/spectral/-/archive/${PV}/${P}.tar.gz
${COMMON_URI}"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3"
SLOT="0"
RDEPEND="
app-text/cmark
dev-qt/qtdeclarative
dev-qt/qtgui
dev-qt/qtmultimedia[qml]
dev-qt/qtwidgets
>=dev-qt/qtquickcontrols2-5.12
>=net-libs/libquotient-0.6.0
dev-libs/libQtOlm
dev-libs/qtkeychain
|| ( media-fonts/roboto media-fonts/noto )
dev-qt/qtsvg
"
DEPEND="
${RDEPEND}
>=dev-qt/qtcore-5.12
"
PATCHES=(
# patches for build with libQuotient-0.6.0
"${FILESDIR}/libQuotient-0.6.patch-1.patch"
"${FILESDIR}/libQuotient-0.6.patch-2.patch"
)
src_prepare() {
if [[ ${PV} != 9999 ]]
then
move_lib() {
local IN_DIR="${1}"
local OUT_DIR[ -z "${2}" ] && OUT_DIR="${IN_DIR}" || OUT_DIR="${2%/}/${IN_DIR}"
mv "${WORKDIR}/${IN_DIR}"*/* "${S}/${OUT_DIR}" || die
}
local thirdparty_libs=" SortFilterProxyModel"
for thirdparty_lib in ${thirdparty_libs} ; do
move_lib "${thirdparty_lib}" include
done
fi
cmake_src_prepare
}
pkg_postinst() {
xdg_icon_cache_update
}
pkg_postrm() {
xdg_icon_cache_update
}

View File

@ -0,0 +1,70 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A glossy client for Matrix, written in QtQuick Controls 2 and C++."
HOMEPAGE="https://gitlab.com/spectral-im/spectral"
inherit cmake
COMMON_URI="https://github.com/oKcerG/SortFilterProxyModel/archive/36befddf5d57faad990e72c88c5844794f274145.tar.gz"
if [[ ${PV} == 9999 ]]
then
EGIT_REPO_URI="https://gitlab.com/b0/spectral.git"
inherit git-r3
else
SRC_URI="https://gitlab.com/spectral-im/spectral/-/archive/${PV}/${P}.tar.gz
${COMMON_URI}"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3"
SLOT="0"
RDEPEND="
app-text/cmark
dev-qt/qtdeclarative
dev-qt/qtgui
dev-qt/qtmultimedia[qml]
dev-qt/qtwidgets
>=dev-qt/qtquickcontrols2-5.12
>=net-libs/libquotient-0.6_beta1
dev-libs/libQtOlm
dev-libs/qtkeychain
|| ( media-fonts/roboto media-fonts/noto )
dev-qt/qtsvg
"
DEPEND="
${RDEPEND}
>=dev-qt/qtcore-5.12
"
src_prepare() {
if [[ ${PV} != 9999 ]]
then
move_lib() {
local IN_DIR="${1}"
local OUT_DIR[ -z "${2}" ] && OUT_DIR="${IN_DIR}" || OUT_DIR="${2%/}/${IN_DIR}"
mv "${WORKDIR}/${IN_DIR}"*/* "${S}/${OUT_DIR}" || die
}
local thirdparty_libs=" SortFilterProxyModel"
for thirdparty_lib in ${thirdparty_libs} ; do
move_lib "${thirdparty_lib}" include
done
fi
cmake_src_prepare
}
pkg_postinst() {
xdg_icon_cache_update
}
pkg_postrm() {
xdg_icon_cache_update
}

View File

@ -0,0 +1,2 @@
DIST libquotient-0.6.3.tar.gz 559142 BLAKE2B 77ba0583a90e9d29d44ce9a70909d6b51462a1f16dbc2e9d321eb9d638329af41fe7b0c4f7569e5d46f3a9c12d32b1ef0b926c5e285bc3ed9b70ba6d4dbe8024 SHA512 a81d88b00edc2af8ad9a6a297f1d65ef5d96fb305f503b46f29381df1bb007b42e44b207fb649316c38c977a5b03c93f884407dccdc48ab066af6b004dd9a9d6
DIST libquotient-0.6.4.tar.gz 559830 BLAKE2B 23a2d5bed5a5bcd30ffa00465291f5670d187d44991fe424bce5a2ce1ffc9d4fc09b0cc1e44e7b2b2470f82f6a3bcf4be2d6d9185d2952761a9a94d6f4fae2ce SHA512 6f505a697b6bd123004faaaae4ea6788ed985dafd965c5768cc838be98d6b27f65d5fb04c02d41c6a9ca2ce622acbd49264a9a14a99a087126d2852a926184ce

View File

@ -0,0 +1,29 @@
From d82cb1f43cab7976e25c6e9ff3e4ae17789ee11c Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Sun, 3 Jan 2021 15:18:01 +0100
Subject: [PATCH] Install EXPORT_ANDROID_MK only if(ANDROID)
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
CMakeLists.txt | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ee1cb4..eec27c8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -321,7 +321,10 @@ install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION ${ConfigFilesLocation}
)
-install(EXPORT_ANDROID_MK ${PROJECT_NAME}Targets DESTINATION share/ndk-modules)
+
+if (ANDROID)
+ install(EXPORT_ANDROID_MK ${PROJECT_NAME}Targets DESTINATION share/ndk-modules)
+endif ()
if (WIN32)
install(FILES mime/packages/freedesktop.org.xml DESTINATION mime/packages)
--
2.30.0

View File

@ -0,0 +1,42 @@
From ff972d181f0f9e7bfa327c71450d55f951de27c1 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Sun, 3 Jan 2021 15:05:59 +0100
Subject: [PATCH] Put Qt5Test dependency behind -DQuotient_INSTALL_TESTS
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
CMakeLists.txt | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ee1cb4..2a0908d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -58,7 +58,7 @@ else()
endforeach ()
endif()
-find_package(Qt5 5.9 REQUIRED Network Gui Multimedia Test)
+find_package(Qt5 5.9 REQUIRED Network Gui Multimedia)
get_filename_component(Qt5_Prefix "${Qt5_DIR}/../../../.." ABSOLUTE)
if (${PROJECT_NAME}_ENABLE_E2EE)
@@ -280,9 +280,12 @@ if (${PROJECT_NAME}_ENABLE_E2EE)
endif()
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network Qt5::Gui Qt5::Multimedia)
-set(TEST_BINARY quotest)
-add_executable(${TEST_BINARY} ${tests_SRCS})
-target_link_libraries(${TEST_BINARY} Qt5::Core Qt5::Test ${PROJECT_NAME})
+if(${PROJECT_NAME}_INSTALL_TESTS)
+ find_package(Qt5Test)
+ set(TEST_BINARY quotest)
+ add_executable(${TEST_BINARY} ${tests_SRCS})
+ target_link_libraries(${TEST_BINARY} Qt5::Core Qt5::Test ${PROJECT_NAME})
+endif()
configure_file(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY NEWLINE_STYLE UNIX)
--
2.30.0

View File

@ -0,0 +1,92 @@
From f286ef4c5b3c71510d6ef15e8cc12cada84f3682 Mon Sep 17 00:00:00 2001
From: Nicolas Fella <nicolas.fella@gmx.de>
Date: Sun, 27 Dec 2020 21:24:06 +0100
Subject: [PATCH] Fix use-after-free of QNetworkReply in BaseJob
Usually QNetworkAccessManager expects the user to delete the replies, but when the QNetworkAccessManager itself is deleted it deletes all pending replies (https://code.woboq.org/qt5/qtbase/src/network/access/qnetworkaccessmanager.cpp.html#529).
This can lead to use-after-free crashes when d->reply is accessed. By putting the reply into a QPointer the exiting if(d->reply) checks can work properly.
(cherry picked from commit 9d854e778d8d6ef8e03e1ea74fe958675b24fd45)
---
lib/jobs/basejob.cpp | 33 +++++++++++++++++++--------------
1 file changed, 19 insertions(+), 14 deletions(-)
diff --git a/lib/jobs/basejob.cpp b/lib/jobs/basejob.cpp
index 3fa1cd94..2ac942f5 100644
--- a/lib/jobs/basejob.cpp
+++ b/lib/jobs/basejob.cpp
@@ -24,6 +24,7 @@
#include <QtCore/QTimer>
#include <QtCore/QStringBuilder>
#include <QtCore/QMetaEnum>
+#include <QtCore/QPointer>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkReply>
#include <QtNetwork/QNetworkRequest>
@@ -76,15 +77,6 @@ QDebug BaseJob::Status::dumpToLog(QDebug dbg) const
return dbg << ": " << message;
}
-struct NetworkReplyDeleter : public QScopedPointerDeleteLater {
- static inline void cleanup(QNetworkReply* reply)
- {
- if (reply && reply->isRunning())
- reply->abort();
- QScopedPointerDeleteLater::cleanup(reply);
- }
-};
-
template <typename... Ts>
constexpr auto make_array(Ts&&... items)
{
@@ -112,6 +104,16 @@ class BaseJob::Private {
retryTimer.setSingleShot(true);
}
+ ~Private()
+ {
+ if (reply) {
+ if (reply->isRunning()) {
+ reply->abort();
+ }
+ delete reply;
+ }
+ }
+
void sendRequest();
/*! \brief Parse the response byte array into JSON
*
@@ -140,7 +142,10 @@ class BaseJob::Private {
QByteArrayList expectedKeys;
- QScopedPointer<QNetworkReply, NetworkReplyDeleter> reply;
+ // When the QNetworkAccessManager is destroyed it destroys all pending replies.
+ // Using QPointer allows us to know when that happend.
+ QPointer<QNetworkReply> reply;
+
Status status = Unprepared;
QByteArray rawResponse;
/// Contains a null document in case of non-JSON body (for a successful
@@ -315,16 +320,16 @@ void BaseJob::Private::sendRequest()
switch (verb) {
case HttpVerb::Get:
- reply.reset(connection->nam()->get(req));
+ reply = connection->nam()->get(req);
break;
case HttpVerb::Post:
- reply.reset(connection->nam()->post(req, requestData.source()));
+ reply = connection->nam()->post(req, requestData.source());
break;
case HttpVerb::Put:
- reply.reset(connection->nam()->put(req, requestData.source()));
+ reply = connection->nam()->put(req, requestData.source());
break;
case HttpVerb::Delete:
- reply.reset(connection->nam()->sendCustomRequest(req, "DELETE", requestData.source()));
+ reply = connection->nam()->sendCustomRequest(req, "DELETE", requestData.source());
break;
}
}

View File

@ -0,0 +1,29 @@
From d82cb1f43cab7976e25c6e9ff3e4ae17789ee11c Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Sun, 3 Jan 2021 15:18:01 +0100
Subject: [PATCH] Install EXPORT_ANDROID_MK only if(ANDROID)
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
CMakeLists.txt | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ee1cb4..eec27c8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -321,7 +321,10 @@ install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION ${ConfigFilesLocation}
)
-install(EXPORT_ANDROID_MK ${PROJECT_NAME}Targets DESTINATION share/ndk-modules)
+
+if (ANDROID)
+ install(EXPORT_ANDROID_MK ${PROJECT_NAME}Targets DESTINATION share/ndk-modules)
+endif ()
if (WIN32)
install(FILES mime/packages/freedesktop.org.xml DESTINATION mime/packages)
--
2.30.0

View File

@ -0,0 +1,42 @@
From ff972d181f0f9e7bfa327c71450d55f951de27c1 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Sun, 3 Jan 2021 15:05:59 +0100
Subject: [PATCH] Put Qt5Test dependency behind -DQuotient_INSTALL_TESTS
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
CMakeLists.txt | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ee1cb4..2a0908d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -58,7 +58,7 @@ else()
endforeach ()
endif()
-find_package(Qt5 5.9 REQUIRED Network Gui Multimedia Test)
+find_package(Qt5 5.9 REQUIRED Network Gui Multimedia)
get_filename_component(Qt5_Prefix "${Qt5_DIR}/../../../.." ABSOLUTE)
if (${PROJECT_NAME}_ENABLE_E2EE)
@@ -280,9 +280,12 @@ if (${PROJECT_NAME}_ENABLE_E2EE)
endif()
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network Qt5::Gui Qt5::Multimedia)
-set(TEST_BINARY quotest)
-add_executable(${TEST_BINARY} ${tests_SRCS})
-target_link_libraries(${TEST_BINARY} Qt5::Core Qt5::Test ${PROJECT_NAME})
+if(${PROJECT_NAME}_INSTALL_TESTS)
+ find_package(Qt5Test)
+ set(TEST_BINARY quotest)
+ add_executable(${TEST_BINARY} ${tests_SRCS})
+ target_link_libraries(${TEST_BINARY} Qt5::Core Qt5::Test ${PROJECT_NAME})
+endif()
configure_file(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY NEWLINE_STYLE UNIX)
--
2.30.0

View File

@ -0,0 +1,50 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake
DESCRIPTION="A Qt5 library to write cross-platform clients for Matrix"
HOMEPAGE="https://matrix.org/docs/projects/sdk/quotient"
if [[ ${PV} == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/quotient-im/"${PN}".git"
else
SRC_URI="https://github.com/quotient-im/libQuotient/archive/"${PV}".tar.gz -> "${P}".tar.gz"
KEYWORDS="~amd64"
S="${WORKDIR}/libQuotient-${PV}"
fi
LICENSE="LGPL-2.1"
SLOT="0"
IUSE="e2e"
DEPEND="
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtnetwork:5
dev-qt/qttest:5
e2e? ( dev-libs/libQtOlm )
"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-use-after-free.patch # 0.6.x branch
# downstream patches
"${FILESDIR}"/${P}-no-android.patch
"${FILESDIR}"/${P}-no-tests.patch
)
src_configure() {
local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DQuotient_ENABLE_E2EE=$(usex e2e)
-DUSE_INTREE_LIBQOLM=OFF
-DQuotient_INSTALL_TESTS=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
)
cmake_src_configure
}

View File

@ -0,0 +1,47 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake
DESCRIPTION="A Qt5 library to write cross-platform clients for Matrix"
HOMEPAGE="https://matrix.org/docs/projects/sdk/quotient"
if [[ ${PV} == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/quotient-im/"${PN}".git"
else
SRC_URI="https://github.com/quotient-im/libQuotient/archive/"${PV}".tar.gz -> "${P}".tar.gz"
KEYWORDS="~amd64"
S="${WORKDIR}/libQuotient-${PV}"
fi
LICENSE="LGPL-2.1"
SLOT="0"
IUSE="e2e"
DEPEND="
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtnetwork:5
e2e? ( dev-libs/libQtOlm )
"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-no-android.patch
"${FILESDIR}"/${P}-no-tests.patch
)
src_configure() {
local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DQuotient_ENABLE_E2EE=$(usex e2e)
-DUSE_INTREE_LIBQOLM=OFF
-DQuotient_INSTALL_TESTS=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
)
cmake_src_configure
}

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>hedmoo@yahoo.com</email>
<name>Andreas Westman Dorcsak</name>
</maintainer>
<upstream>
<remote-id type="github">quotient-im/libQuotient</remote-id>
</upstream>
<use>
<flag name="e2e">Build with e2e encryption support</flag>
</use>
</pkgmetadata>