summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2022-04-25 07:03:10 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2022-04-25 07:03:10 +0000
commit37742fe6063022ff0d19367048532c23c3715828 (patch)
tree46bdc035cdeb785a3b1323d613ff4fb739a6c338
parent2022-04-25 06:48:14 UTC (diff)
parentsci-electronics/librepcb: drop "virtx ... || die" from 0.1.6 (diff)
downloadgentoo-37742fe6063022ff0d19367048532c23c3715828.tar.gz
gentoo-37742fe6063022ff0d19367048532c23c3715828.tar.bz2
gentoo-37742fe6063022ff0d19367048532c23c3715828.zip
Merge updates from master
-rw-r--r--dev-java/openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh6
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild (renamed from dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9.ebuild)0
-rw-r--r--dev-python/pylatex/pylatex-1.4.1.ebuild2
-rw-r--r--dev-util/radare2/Manifest5
-rw-r--r--dev-util/radare2/files/CVE-2022-1437.patch72
-rw-r--r--dev-util/radare2/radare2-4.5.1-r1.ebuild75
-rw-r--r--dev-util/radare2/radare2-5.3.1.ebuild78
-rw-r--r--dev-util/radare2/radare2-5.6.8.ebuild109
-rw-r--r--sci-electronics/librepcb/Manifest1
-rw-r--r--sci-electronics/librepcb/files/librepcb-0.1.6-muparser-fix.patch28
-rw-r--r--sci-electronics/librepcb/librepcb-0.1.6.ebuild50
11 files changed, 267 insertions, 159 deletions
diff --git a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh
index fced31b2be32..258f0d499fc0 100644
--- a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh
+++ b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
VERSION="Eclipse Temurin JRE ${PV}"
-JAVA_HOME="${EPREFIX}/opt/${P}"
-JDK_HOME="${EPREFIX}/opt/${P}"
+JAVA_HOME="${EPREFIX}/opt/${PN}-${SLOT}"
+JDK_HOME="${JAVA_HOME}"
JAVAC="\${JAVA_HOME}/bin/javac"
PATH="\${JAVA_HOME}/bin"
ROOTPATH="\${JAVA_HOME}/bin"
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild
index d7a2d14be024..d7a2d14be024 100644
--- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9.ebuild
+++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild
diff --git a/dev-python/pylatex/pylatex-1.4.1.ebuild b/dev-python/pylatex/pylatex-1.4.1.ebuild
index bb22065092e9..833b1f73d5e3 100644
--- a/dev-python/pylatex/pylatex-1.4.1.ebuild
+++ b/dev-python/pylatex/pylatex-1.4.1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
MY_PN="PyLaTeX"
MY_P="${MY_PN}-${PV}"
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{8..10} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 optfeature
diff --git a/dev-util/radare2/Manifest b/dev-util/radare2/Manifest
index 3ade9bbc8226..37816a87aff6 100644
--- a/dev-util/radare2/Manifest
+++ b/dev-util/radare2/Manifest
@@ -1,6 +1,7 @@
-DIST radare2-4.5.1.tar.gz 8266567 BLAKE2B 0d23c1d47dd79ffd9398ca7b2c8b383ba6a7e3ec662046d1111ab34cabcdaaf1fdd449686433b3229e3c22c31c705530b0a85bbd22b5fc79891a5ad292ba0ff1 SHA512 f08a4cd1e0d65643463d9f9dbb1aacfe793c7b411ec820a18b75a5975d265cfc2cf91e593522c8823aa369098ded21415939acb07c84d8acd102889bf5aed899
-DIST radare2-5.3.1.tar.gz 8500461 BLAKE2B 8b29e81c90f477e313f5d14dea707f3e8d47c9abbe1f9ca2c7caef98a85b38a5b5e37a31063be289c55fda041e10b8403895f863dd602091ab5307213605260d SHA512 34c96c7c863fb8a59f1d03539375d5b8f31f6021dc84ce943daa163d8a0227bf3156963cc187c366790abec4381da6aa987248e76570a498cfcdeb982cb2ffc0
DIST radare2-5.5.4-vector35-arm64.tar.gz 1021299 BLAKE2B 389bdc43e90ba71961e5d8afca495bd63b25d4c0dc9513c5e9cc0770f091199197dc1e4b8a9d4c57206acfd892a6b4ff9ba8b0f925e493f540956c64edfcd809 SHA512 7762cee60acc7605c2c127acab646c5c58c5736e6801058eec69c2da52901d0ecab85b0496d798be6403bedf27ffd4fe4e3a8d47c8802af1fe3805a4ac32ae26
DIST radare2-5.5.4-vector35-armv7.tar.gz 255288 BLAKE2B ca96b3f68381a0987c4efa10dcb798194486019762e89d1eb19a3fd24f6983535eea792099c60e4c1a9d2bdb5baab119fe2e9a7a889fad5a14023e5f984959b8 SHA512 e9eb6cee02bbbb265914b1f9118c7a143ed76a201c085af5516855475bf7f3ad5f9c82d1548e85a0339fbc33e029ef0e4be9d8cef68d212ae16ce1a7f18453ff
DIST radare2-5.5.4.tar.gz 9610424 BLAKE2B 4e113d854a55597270663f9c18f1d71da21fa8e539a997773f30178e93de54d397f56103813ec2c60cfabdf2d811151ad7285fc479e1ee681687831030e18da2 SHA512 b64268a8fcfbd89455b991557c82bb24d5f42471f4424cd971c1143ff604720fb4c00216a7054d72df6bbbdace1b814a6c3538708926c229dd2f8476b7d325da
+DIST radare2-5.6.8-vector35-arm64.tar.gz 1021299 BLAKE2B 389bdc43e90ba71961e5d8afca495bd63b25d4c0dc9513c5e9cc0770f091199197dc1e4b8a9d4c57206acfd892a6b4ff9ba8b0f925e493f540956c64edfcd809 SHA512 7762cee60acc7605c2c127acab646c5c58c5736e6801058eec69c2da52901d0ecab85b0496d798be6403bedf27ffd4fe4e3a8d47c8802af1fe3805a4ac32ae26
+DIST radare2-5.6.8-vector35-armv7.tar.gz 255288 BLAKE2B ca96b3f68381a0987c4efa10dcb798194486019762e89d1eb19a3fd24f6983535eea792099c60e4c1a9d2bdb5baab119fe2e9a7a889fad5a14023e5f984959b8 SHA512 e9eb6cee02bbbb265914b1f9118c7a143ed76a201c085af5516855475bf7f3ad5f9c82d1548e85a0339fbc33e029ef0e4be9d8cef68d212ae16ce1a7f18453ff
+DIST radare2-5.6.8.tar.gz 9627480 BLAKE2B 4de904ee779b72f0a0e305170cdf62b3a4c3fdad768bb2c9a96a90b429c94c2bae1523439d5b869d2fefed89849fde1d996dd1de400fe47ea657bee3dd258fe1 SHA512 e29a3ff235f37bcde4ec6c1c97d1b9c521b57e93512ca40d71be9e88ac1c002f41af905865fdf4685ee94287425cff32500b5a111eec5594bdd7f32f05631910
DIST radare2-testbins-a6d1a0331605b4a5db9aa9260386c850d484dc70.tar.gz 118148516 BLAKE2B 9b1a1861b4aea7db1cc364d16577a2b7afe082b0838178d307ed24704710edfa572533bab9b194d38c1b294e5a4fb522d1a93e92a1c577ca6622a16d94209bd5 SHA512 8888fab0d2295e92c4bd0ab4c2ba646951e41cc4c1f9915d501a27fbff21e82d5340d1a9255d998dcf0e209a57bb35fc714adcb31ed7adb58aa412f6202e69c6
diff --git a/dev-util/radare2/files/CVE-2022-1437.patch b/dev-util/radare2/files/CVE-2022-1437.patch
new file mode 100644
index 000000000000..16e67c5d3193
--- /dev/null
+++ b/dev-util/radare2/files/CVE-2022-1437.patch
@@ -0,0 +1,72 @@
+--- a/libr/bin/format/mach0/coresymbolication.c
++++ b/libr/bin/format/mach0/coresymbolication.c
+@@ -269,6 +269,9 @@ RCoreSymCacheElement *r_coresym_cache_element_new(RBinFile *bf, RBuffer *buf, ut
+ for (i = 0; i < hdr->n_sections && cursor < end; i++) {
+ ut8 *sect_start = cursor;
+ RCoreSymCacheElementSection *sect = &result->sections[i];
++ if (cursor + (word_size * 4) > end) {
++ goto beach;
++ }
+ sect->vaddr = sect->paddr = r_read_ble (cursor, false, bits);
+ if (sect->vaddr < page_zero_size) {
+ sect->vaddr += page_zero_size;
+@@ -359,6 +362,10 @@ RCoreSymCacheElement *r_coresym_cache_element_new(RBinFile *bf, RBuffer *buf, ut
+ continue;
+ }
+ string_origin = relative_to_strings? b + start_of_strings : cursor;
++ if (!string_origin) {
++ cursor += R_CS_EL_SIZE_LSYM;
++ continue;
++ }
+ lsym->flc.file = str_dup_safe (b, string_origin + file_name_off, end);
+ if (!lsym->flc.file) {
+ cursor += R_CS_EL_SIZE_LSYM;
+--- a/libr/bin/p/bin_symbols.c
++++ b/libr/bin/p/bin_symbols.c
+@@ -353,28 +353,30 @@ static bool check_buffer(RBinFile *bf, RBuffer *b) {
+ }
+
+ static RList *symbols(RBinFile *bf) {
+- RList *res = r_list_newf ((RListFree)r_bin_symbol_free);
+- r_return_val_if_fail (res && bf->o && bf->o->bin_obj, res);
++ r_return_val_if_fail (bf && bf->o && bf->o->bin_obj, NULL);
+ RCoreSymCacheElement *element = bf->o->bin_obj;
+ size_t i;
+ HtUU *hash = ht_uu_new0 ();
+ if (!hash) {
+- return res;
++ return NULL;
+ }
++ RList *res = r_list_newf ((RListFree)r_bin_symbol_free);
+ bool found = false;
+- for (i = 0; i < element->hdr->n_lined_symbols; i++) {
+- RCoreSymCacheElementSymbol *sym = (RCoreSymCacheElementSymbol *)&element->lined_symbols[i];
+- if (!sym) {
+- break;
+- }
+- ht_uu_find (hash, sym->paddr, &found);
+- if (found) {
+- continue;
+- }
+- RBinSymbol *s = bin_symbol_from_symbol (element, sym);
+- if (s) {
+- r_list_append (res, s);
+- ht_uu_insert (hash, sym->paddr, 1);
++ if (element->lined_symbols) {
++ for (i = 0; i < element->hdr->n_lined_symbols; i++) {
++ RCoreSymCacheElementSymbol *sym = (RCoreSymCacheElementSymbol *)&element->lined_symbols[i];
++ if (!sym) {
++ break;
++ }
++ ht_uu_find (hash, sym->paddr, &found);
++ if (found) {
++ continue;
++ }
++ RBinSymbol *s = bin_symbol_from_symbol (element, sym);
++ if (s) {
++ r_list_append (res, s);
++ ht_uu_insert (hash, sym->paddr, 1);
++ }
+ }
+ }
+ if (element->symbols) {
diff --git a/dev-util/radare2/radare2-4.5.1-r1.ebuild b/dev-util/radare2/radare2-4.5.1-r1.ebuild
deleted file mode 100644
index a5b8b7c3cfd6..000000000000
--- a/dev-util/radare2/radare2-4.5.1-r1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 toolchain-funcs
-
-DESCRIPTION="unix-like reverse engineering framework and commandline tools"
-HOMEPAGE="http://www.radare.org"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/radareorg/radare2"
-else
- SRC_URI="https://github.com/radareorg/radare2/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="ssl"
-
-RDEPEND="
- dev-libs/libzip
- dev-libs/xxhash
- sys-apps/file
- sys-libs/zlib
- dev-libs/capstone:0=
- ssl? ( dev-libs/openssl:0= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- # Fix hardcoded docdir for fortunes
- sed -i -e "/^#define R2_FORTUNES/s/radare2/$PF/" \
- libr/include/r_userconf.h.acr
- default
-}
-
-src_configure() {
- # Ideally these should be set by ./configure
- tc-export CC AR LD OBJCOPY RANLIB
- export HOST_CC=${CC}
-
- econf \
- --without-libuv \
- --with-syscapstone \
- --with-sysmagic \
- --with-sysxxhash \
- --with-syszip \
- $(use_with ssl openssl)
-}
-
-src_install() {
- default
-
- insinto /usr/share/zsh/site-functions
- doins doc/zsh/_*
-
- newbashcomp doc/bash_autocompletion.sh "${PN}"
- bashcomp_alias "${PN}" rafind2 r2 rabin2 rasm2 radiff2
-
- # a workaround for unstable $(INSTALL) call, bug #574866
- local d
- for d in doc/*; do
- if [[ -d ${d} ]]; then
- rm -rfv "${d}" || die "failed to delete '${d}'"
- fi
- done
-
- # These are not really docs. radare assumes
- # uncompressed files: bug #761250
- docompress -x /usr/share/doc/${PF}/fortunes.{creepy,fun,nsfw,tips}
-}
diff --git a/dev-util/radare2/radare2-5.3.1.ebuild b/dev-util/radare2/radare2-5.3.1.ebuild
deleted file mode 100644
index 470b4d0d33f8..000000000000
--- a/dev-util/radare2/radare2-5.3.1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 toolchain-funcs
-
-DESCRIPTION="unix-like reverse engineering framework and commandline tools"
-HOMEPAGE="http://www.radare.org"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/radareorg/radare2"
-else
- SRC_URI="https://github.com/radareorg/radare2/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="ssl"
-
-RDEPEND="
- dev-libs/libzip
- dev-libs/xxhash
- sys-apps/file
- sys-libs/zlib
- dev-libs/capstone:0=
- ssl? ( dev-libs/openssl:0= )
-"
-DEPEND="
- ${RDEPEND}
- dev-util/gperf
-"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- # Fix hardcoded docdir for fortunes
- sed -i -e "/^#define R2_FORTUNES/s/radare2/$PF/" \
- libr/include/r_userconf.h.acr
- default
-}
-
-src_configure() {
- # Ideally these should be set by ./configure
- tc-export CC AR LD OBJCOPY RANLIB
- export HOST_CC=${CC}
-
- econf \
- --without-libuv \
- --with-syscapstone \
- --with-sysmagic \
- --with-sysxxhash \
- --with-syszip \
- $(use_with ssl openssl)
-}
-
-src_install() {
- default
-
- insinto /usr/share/zsh/site-functions
- doins doc/zsh/_*
-
- newbashcomp doc/bash_autocompletion.sh "${PN}"
- bashcomp_alias "${PN}" rafind2 r2 rabin2 rasm2 radiff2
-
- # a workaround for unstable $(INSTALL) call, bug #574866
- local d
- for d in doc/*; do
- if [[ -d ${d} ]]; then
- rm -rfv "${d}" || die "failed to delete '${d}'"
- fi
- done
-
- # These are not really docs. radare assumes
- # uncompressed files: bug #761250
- docompress -x /usr/share/doc/${PF}/fortunes.{creepy,fun,nsfw,tips}
-}
diff --git a/dev-util/radare2/radare2-5.6.8.ebuild b/dev-util/radare2/radare2-5.6.8.ebuild
new file mode 100644
index 000000000000..f767f59da719
--- /dev/null
+++ b/dev-util/radare2/radare2-5.6.8.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 toolchain-funcs
+
+DESCRIPTION="unix-like reverse engineering framework and commandline tools"
+HOMEPAGE="https://www.radare.org"
+
+ARM64_COMMIT=3c5eaba46dab72ecb7d5f5b865a13fdeee95b464
+ARMV7_COMMIT=dde39f69ffea19fc37e681874b12cb4707bc4f30
+BINS_COMMIT=a6d1a0331605b4a5db9aa9260386c850d484dc70
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/radareorg/radare2"
+else
+ SRC_URI="mirror+https://github.com/radareorg/radare2/archive/${PV}.tar.gz -> ${P}.tar.gz
+ mirror+https://github.com/radareorg/vector35-arch-arm64/archive/${ARM64_COMMIT}.tar.gz -> ${P}-vector35-arm64.tar.gz
+ mirror+https://github.com/radareorg/vector35-arch-armv7/archive/${ARMV7_COMMIT}.tar.gz -> ${P}-vector35-armv7.tar.gz
+ test? ( https://github.com/radareorg/radare2-testbins/archive/${BINS_COMMIT}.tar.gz -> radare2-testbins-${BINS_COMMIT}.tar.gz )
+ "
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="ssl test"
+
+# Need to audit licenses of the binaries used for testing
+RESTRICT="fetch test"
+
+RDEPEND="
+ dev-libs/libzip:=
+ dev-libs/xxhash
+ sys-apps/file
+ sys-libs/zlib
+ dev-libs/capstone:0=
+ ssl? ( dev-libs/openssl:0= )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-util/gperf
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}/CVE-2022-1437.patch" "${FILESDIR}/${PN}-5.5.0-vector35.patch" )
+
+src_prepare() {
+ default
+
+ # Hack for vector35 arm plugins
+ mv "${WORKDIR}/vector35-arch-arm64-${ARM64_COMMIT}" libr/asm/arch/arm/v35arm64/arch-arm64 || die
+ mv "${WORKDIR}/vector35-arch-armv7-${ARMV7_COMMIT}" libr/asm/arch/arm/v35arm64/arch-armv7 || die
+
+ if use test; then
+ cp -r "${WORKDIR}/radare2-testbins-${BINS_COMMIT}" "${S}/test/bins" || die
+ cp -r "${WORKDIR}/radare2-testbins-${BINS_COMMIT}" "${S}" || die
+ fi
+
+ # Fix hardcoded docdir for fortunes
+ sed -i -e "/^#define R2_FORTUNES/s/radare2/$PF/" \
+ libr/include/r_userconf.h.acr
+}
+
+src_configure() {
+ # Ideally these should be set by ./configure
+ tc-export CC AR LD OBJCOPY RANLIB
+ export HOST_CC=${CC}
+
+ econf \
+ --without-libuv \
+ --with-syscapstone \
+ --with-sysmagic \
+ --with-sysxxhash \
+ --with-syszip \
+ $(use_with ssl openssl)
+}
+
+src_install() {
+ default
+
+ insinto /usr/share/zsh/site-functions
+ doins doc/zsh/_*
+
+ newbashcomp doc/bash_autocompletion.sh "${PN}"
+ bashcomp_alias "${PN}" rafind2 r2 rabin2 rasm2 radiff2
+
+ # a workaround for unstable $(INSTALL) call, bug #574866
+ local d
+ for d in doc/*; do
+ if [[ -d ${d} ]]; then
+ rm -rfv "${d}" || die "failed to delete '${d}'"
+ fi
+ done
+
+ # These are not really docs. radare assumes
+ # uncompressed files: bug #761250
+ docompress -x /usr/share/doc/${PF}/fortunes.{creepy,fun,nsfw,tips}
+
+ # Create plugins directory although it's currently unsupported by radare2
+ keepdir "/usr/$(get_libdir)/radare2/${PV}" || die
+}
+
+src_test() {
+ emake -C test -k unit_tests || die
+}
diff --git a/sci-electronics/librepcb/Manifest b/sci-electronics/librepcb/Manifest
index 61e8f60ff028..febaf25c929b 100644
--- a/sci-electronics/librepcb/Manifest
+++ b/sci-electronics/librepcb/Manifest
@@ -1,2 +1,3 @@
DIST librepcb-0.1.3-source.zip 12148919 BLAKE2B 2be3455c9be3e60a7cb314292e2a6ffe10d98f0c647d9c79f223ee5c5ef50675685d914889f772448dba699742d3bcd5b6636d489e630c8033912f3c9f223715 SHA512 28d45800bbbbcee8d30973c1a1e1e561c0fe2c65339eda4f6170779d921a9f5b2f5fb8c1cda00477e59976b88a3c368bb4985f31331bb16f761823642138c78b
DIST librepcb-0.1.5-source.zip 13111207 BLAKE2B 3a8c5f8b310971e1a6bd5b1fa8eb8059cd1c571e9ab369bf80c946ccbd320c258d5e8c65bea3b5a5bc4d85a38cac8205d5bbfbaad6aebf0a031315b73e9b99f4 SHA512 ed8c8fc154a03082bcbfe414bdb934870d09cf137811036a3ce59d70e1ad0b582fea64c31037c84e76a939bf1d087caabb9aa349578b525bce882e853a969653
+DIST librepcb-0.1.6-source.zip 12671974 BLAKE2B bed8d6134159ec663dd88f9933ef0dad6d3bca70776537bf2e16397f0e4fd968a41661d95a118008fcf9d7d6d2432ebac81d78153b3c3ce8d69c64fb59aaf70e SHA512 a51ac2830d65bbd10be8904ecdcc6a7781d80c95e1423ed5bd04fcd009a0b7135ff3a49a87afe9e99006ae1f6ae44f2341021e5733675f2f20b05525860da5d7
diff --git a/sci-electronics/librepcb/files/librepcb-0.1.6-muparser-fix.patch b/sci-electronics/librepcb/files/librepcb-0.1.6-muparser-fix.patch
new file mode 100644
index 000000000000..2abb26b18b59
--- /dev/null
+++ b/sci-electronics/librepcb/files/librepcb-0.1.6-muparser-fix.patch
@@ -0,0 +1,28 @@
+diff --git a/./libs/librepcb/common/utils/mathparser.cpp.orig b/./libs/librepcb/common/utils/mathparser.cpp
+index 618de36..e0903de 100644
+--- a/./libs/librepcb/common/utils/mathparser.cpp.orig
++++ b/./libs/librepcb/common/utils/mathparser.cpp
+@@ -22,7 +22,7 @@
+ ******************************************************************************/
+ #include "mathparser.h"
+
+-#include "muparser/include/muParser.h"
++#include <muParser.h>
+
+ /*******************************************************************************
+ * Namespace
+diff --git a/./cmake/FindMuParser.cmake.orig b/./cmake/FindMuParser.cmake
+--- a/./cmake/FindMuParser.cmake.orig 2021-11-03 01:04:32.000000000 +0300
++++ b/./cmake/FindMuParser.cmake 2022-04-24 18:01:23.996260205 +0300
+@@ -37,6 +37,11 @@
+ if(muparser_FOUND)
+ message(STATUS "Using system MuParser")
+
++ # Add uppercase alias if only the lowercase target is defined
++ if(NOT TARGET MuParser::MuParser)
++ add_library(MuParser::MuParser ALIAS muparser::muparser)
++ endif()
++
+ # Stop here, we're done
+ return()
+ endif()
diff --git a/sci-electronics/librepcb/librepcb-0.1.6.ebuild b/sci-electronics/librepcb/librepcb-0.1.6.ebuild
new file mode 100644
index 000000000000..e8eb15331383
--- /dev/null
+++ b/sci-electronics/librepcb/librepcb-0.1.6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2009-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake virtualx xdg
+
+DESCRIPTION="Free EDA software to develop printed circuit boards"
+HOMEPAGE="https://librepcb.org/"
+SRC_URI="https://download.librepcb.org/releases/${PV}/${P}-source.zip"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ app-arch/unzip
+ dev-qt/linguist-tools:5"
+
+RDEPEND="
+ dev-cpp/muParser:=
+ dev-libs/quazip:=
+ dev-qt/qtcore:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsql:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ sys-libs/zlib"
+
+DEPEND="${RDEPEND}
+ dev-qt/qttest:5"
+
+PATCHES=( "${FILESDIR}"/${P}-muparser-fix.patch )
+
+src_configure() {
+ local mycmakeargs+=(
+ -DUNBUNDLE_QUAZIP=ON
+ -DUNBUNDLE_MUPARSER=ON )
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/tests/unittests || die
+ virtx ./librepcb-unittests --gtest_filter=-SystemInfoTest.testGetUsername
+}