From 98c0ce46585f669e0d512e8578ab5b74ca7d8eff Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 2 May 2017 17:29:54 +0200 Subject: added gr-osmosdr/soapysdr/limesuite Package-Manager: Portage-2.3.5, Repoman-2.3.2 --- net-wireless/LimeSuite/LimeSuite-17.02.2.ebuild | 59 +++++++++++++++++ net-wireless/LimeSuite/Manifest | 3 + net-wireless/LimeSuite/metadata.xml | 16 +++++ net-wireless/gr-osmosdr/Manifest | 4 ++ .../gr-osmosdr/gr-osmosdr-0.1.4_p20150730.ebuild | 73 ++++++++++++++++++++ net-wireless/gr-osmosdr/gr-osmosdr-9999.ebuild | 73 ++++++++++++++++++++ net-wireless/gr-osmosdr/metadata.xml | 18 +++++ net-wireless/soapysdr/Manifest | 4 ++ net-wireless/soapysdr/metadata.xml | 12 ++++ net-wireless/soapysdr/soapysdr-0.6.0.ebuild | 77 ++++++++++++++++++++++ net-wireless/soapysdr/soapysdr-9999.ebuild | 77 ++++++++++++++++++++++ 11 files changed, 416 insertions(+) create mode 100644 net-wireless/LimeSuite/LimeSuite-17.02.2.ebuild create mode 100644 net-wireless/LimeSuite/Manifest create mode 100644 net-wireless/LimeSuite/metadata.xml create mode 100644 net-wireless/gr-osmosdr/Manifest create mode 100644 net-wireless/gr-osmosdr/gr-osmosdr-0.1.4_p20150730.ebuild create mode 100644 net-wireless/gr-osmosdr/gr-osmosdr-9999.ebuild create mode 100644 net-wireless/gr-osmosdr/metadata.xml create mode 100644 net-wireless/soapysdr/Manifest create mode 100644 net-wireless/soapysdr/metadata.xml create mode 100644 net-wireless/soapysdr/soapysdr-0.6.0.ebuild create mode 100644 net-wireless/soapysdr/soapysdr-9999.ebuild diff --git a/net-wireless/LimeSuite/LimeSuite-17.02.2.ebuild b/net-wireless/LimeSuite/LimeSuite-17.02.2.ebuild new file mode 100644 index 0000000..733bd4b --- /dev/null +++ b/net-wireless/LimeSuite/LimeSuite-17.02.2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +WX_GTK_VER="3.0" + +inherit cmake-utils multilib wxwidgets + +DESCRIPTION="Driver and GUI for LMS7002M-based SDR platforms" +HOMEPAGE="https://github.com/myriadrf/LimeSuite" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + SRC_URI="" + EGIT_REPO_URI="git://git.github.com/myriadrf/${PN}.git" + KEYWORDS="" +else + SRC_URI="https://github.com/myriadrf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="wxwidgets novena +soapysdr examples " + +DEPEND=" + + virtual/libusb:1 + dev-db/sqlite:3 + wxwidgets? ( + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + >=media-libs/freeglut-3.0.0 + ) + soapysdr? ( net-wireless/soapysdr )" +RDEPEND="${DEPEND}" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + else + default + fi +} + +src_configure() { + setup-wxwidgets + + mycmakeargs=( + -DENABLE_EXAMPLES=$(usex examples) + -DENABLE_GUI=$(usex wxwidgets) + ) + cmake-utils_src_configure +} + +pkg_postinst() { + elog "Only users in the usb group can capture." + elog "Just run 'gpasswd -a usb', then have re-login." +} diff --git a/net-wireless/LimeSuite/Manifest b/net-wireless/LimeSuite/Manifest new file mode 100644 index 0000000..cf89de8 --- /dev/null +++ b/net-wireless/LimeSuite/Manifest @@ -0,0 +1,3 @@ +DIST LimeSuite-17.02.2.tar.gz 7726763 SHA256 dcccddca98a97950aac07dd903fc840ff28a9ba255e0baf11c58b2524540520b SHA512 3abbcadb23fa0639e83b6d67fe957d1d28e77bba7849a07916ad47a5db4e511c608c35aebceff6f4c412324df93483b6ebc7ec46b4d207b74c30cb25ac69eb1c WHIRLPOOL 904ec04c4dc0c90573f7b97a4f09190c68e23864a39415e86a4d80275db09c399d4785051ae527bcd13335585282fa46bb2c77a7d1125e75e82674226fe2f9df +EBUILD LimeSuite-17.02.2.ebuild 1171 SHA256 3e4dd947f6b646e863fbe8f30c407f5a083a58babef728fa9c865bf1bdcdebeb SHA512 77d5354081094ffcaa96b103bc9ceef1648f4fed7808a41f66caa560798fcc07c0afb89ed3037716a2cecbfcfb1168d5189fcabf7321255eea32b5d6b0bac5d3 WHIRLPOOL c5d2f61ce2b6d8bec8066d119f49b314baa69cdc5fa8fe33408f2a0393d0e0f22047e3574f628b74526a0bd2d8699d80e2793c6bf470cb914975fc5267df7c72 +MISC metadata.xml 614 SHA256 2d0e57ab2d45afcfa3fdd0b6f35317f9162bc5a02376d54ee11579f3e7a801dd SHA512 c2dda4c3abbf069e2d5a764c93d44d85858ab08c18ca87396b279d4d9f970154659b08fc00e0e76855088b5c1d13f1eb83f890711867690e814a3747a18a8af9 WHIRLPOOL a13872739da789b43ed38b419161944e83ae85a456193c77566c666c828922940841fcbab9fb7c84124a50a89b97043adb7ebf11f7f2780f84c6b8982bf64d86 diff --git a/net-wireless/LimeSuite/metadata.xml b/net-wireless/LimeSuite/metadata.xml new file mode 100644 index 0000000..48b8ba5 --- /dev/null +++ b/net-wireless/LimeSuite/metadata.xml @@ -0,0 +1,16 @@ + + + + + andy@ndyk.de + Andrew Karpow + + +The Lime Suite application software provides drivers and SDR application support for the LMS7002M RFIC, and hardware like the LimeSDR, NovenaRF7, and others. + + + Enable support for NovenaRF7 + Enable support for SoapySDR (GnuRadio wrapper) + + + diff --git a/net-wireless/gr-osmosdr/Manifest b/net-wireless/gr-osmosdr/Manifest new file mode 100644 index 0000000..a3f9912 --- /dev/null +++ b/net-wireless/gr-osmosdr/Manifest @@ -0,0 +1,4 @@ +DIST gr-osmosdr-0.1.4_p20150730.tar.xz 1148596 SHA256 b94e597d8042717d70f5f8c358fb8446ef64a91fa6ab2b362e0e7d37457bd961 SHA512 7e6847eba0d4e217ea71bb4b8105290b329bf8840a7193df013b3a0cd9c9ef57f3686252da48cb0df239288b5794c75178a8bb45ff2a2dd8b605f63fec2426d9 WHIRLPOOL db2df16796ab5974d22d4f606bd73aaec53693933fcc5c12e5126f14e4d3d2eadacd7cf2e28cb18a951caf9a16440c72f54177acfd3af16512febd97d6e0072c +EBUILD gr-osmosdr-0.1.4_p20150730.ebuild 1944 SHA256 dccc9e5fa9ea86dd65a6f0667824261c135a2e876f553b00fee81bedf66d3ba6 SHA512 0cf327e1f39b2ebf7b54d1173f74465dfec9afcf90879bc200374e09c37755c11cf62ef7009a7f235916d3794494cfd3c20c72070cb9cab229e87d9903745f25 WHIRLPOOL caadb71a1b7da362f2679c6ee06d17da6e9af18fcae94c616a37e1a24efc135a07550ba1c5ca7488a4bdeee79b4b8f58316735cb09aadbc078e4a79c5e28cfb2 +EBUILD gr-osmosdr-9999.ebuild 1944 SHA256 dccc9e5fa9ea86dd65a6f0667824261c135a2e876f553b00fee81bedf66d3ba6 SHA512 0cf327e1f39b2ebf7b54d1173f74465dfec9afcf90879bc200374e09c37755c11cf62ef7009a7f235916d3794494cfd3c20c72070cb9cab229e87d9903745f25 WHIRLPOOL caadb71a1b7da362f2679c6ee06d17da6e9af18fcae94c616a37e1a24efc135a07550ba1c5ca7488a4bdeee79b4b8f58316735cb09aadbc078e4a79c5e28cfb2 +MISC metadata.xml 834 SHA256 27bc9dc40320cf30deaeac717217cb100bf58687ab27586ba23ebe85275a556a SHA512 f161b8410fb0e856aee78a7e72073032a1facf669c11fc9709a1f6cbe65f220cd5641b5c16b2899ef255847ba4d032d0359c28e7f755fca81e77d5b52cd6de80 WHIRLPOOL 5d8b9b91c41967a8e3ece2c379e3b773e879e9e34723b4bc90b22767652ac44fce5c2db9f79f8b5f19613ac23337fdfbaf89bfbd4daf7b70b5aae9e99b0fd932 diff --git a/net-wireless/gr-osmosdr/gr-osmosdr-0.1.4_p20150730.ebuild b/net-wireless/gr-osmosdr/gr-osmosdr-0.1.4_p20150730.ebuild new file mode 100644 index 0000000..de1842b --- /dev/null +++ b/net-wireless/gr-osmosdr/gr-osmosdr-0.1.4_p20150730.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-utils python-single-r1 + +DESCRIPTION="GNU Radio source block for OsmoSDR and rtlsdr and hackrf" +HOMEPAGE="http://sdr.osmocom.org/trac/wiki/GrOsmoSDR" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + SRC_URI="" + EGIT_REPO_URI="git://git.osmocom.org/${PN}.git" + KEYWORDS="" +else + #git clone git://git.osmocom.org/gr-osmosdr.git + #cd gr-osmosdr + #git archive --format=tar --prefix=gr-osmosdr-${PV}/ v${PV} | xz > ../gr-osmosdr-${PV}.tar.xz + SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/gr-osmosdr-${PV}.tar.xz" + KEYWORDS="~amd64 ~arm ~x86" +fi + +LICENSE="GPL-3" +SLOT="0/${PV}" +IUSE="bladerf fcd hackrf iqbalance mirisdr python rtlsdr uhd soapysdr" + +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:= + >=net-wireless/gnuradio-3.7_rc:0=[fcd?,${PYTHON_USEDEP}] + bladerf? ( net-wireless/bladerf:= ) + hackrf? ( net-libs/libhackrf:= ) + iqbalance? ( net-wireless/gr-iqbal:=[${PYTHON_USEDEP}] ) + mirisdr? ( net-libs/libmirisdr:= ) + rtlsdr? ( >=net-wireless/rtl-sdr-0.5.3:= ) + uhd? ( net-wireless/uhd:=[${PYTHON_USEDEP}] ) + soapysdr? ( net-wireless/soapysdr:= )" +DEPEND="${RDEPEND} + dev-python/cheetah" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +src_prepare() { + epatch_user +} + +src_configure() { + local mycmakeargs=( + -DENABLE_DEFAULT=OFF + -DPYTHON_EXECUTABLE="${PYTHON}" + -DENABLE_FILE=ON + $(cmake-utils_use_enable bladerf) + $(cmake-utils_use_enable fcd) + $(cmake-utils_use_enable hackrf) + $(cmake-utils_use_enable iqbalance) + $(cmake-utils_use_enable mirisdr MIRI) + $(cmake-utils_use_enable python) + $(cmake-utils_use_enable rtlsdr RTL) + $(cmake-utils_use_enable rtlsdr RTL_TCP) + $(cmake-utils_use_enable uhd) + $(cmake-utils_use_enable soapysdr SOAPY) + ) + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + if use python; then + python_fix_shebang "${ED}"/usr/bin + fi +} diff --git a/net-wireless/gr-osmosdr/gr-osmosdr-9999.ebuild b/net-wireless/gr-osmosdr/gr-osmosdr-9999.ebuild new file mode 100644 index 0000000..de1842b --- /dev/null +++ b/net-wireless/gr-osmosdr/gr-osmosdr-9999.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-utils python-single-r1 + +DESCRIPTION="GNU Radio source block for OsmoSDR and rtlsdr and hackrf" +HOMEPAGE="http://sdr.osmocom.org/trac/wiki/GrOsmoSDR" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + SRC_URI="" + EGIT_REPO_URI="git://git.osmocom.org/${PN}.git" + KEYWORDS="" +else + #git clone git://git.osmocom.org/gr-osmosdr.git + #cd gr-osmosdr + #git archive --format=tar --prefix=gr-osmosdr-${PV}/ v${PV} | xz > ../gr-osmosdr-${PV}.tar.xz + SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/gr-osmosdr-${PV}.tar.xz" + KEYWORDS="~amd64 ~arm ~x86" +fi + +LICENSE="GPL-3" +SLOT="0/${PV}" +IUSE="bladerf fcd hackrf iqbalance mirisdr python rtlsdr uhd soapysdr" + +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:= + >=net-wireless/gnuradio-3.7_rc:0=[fcd?,${PYTHON_USEDEP}] + bladerf? ( net-wireless/bladerf:= ) + hackrf? ( net-libs/libhackrf:= ) + iqbalance? ( net-wireless/gr-iqbal:=[${PYTHON_USEDEP}] ) + mirisdr? ( net-libs/libmirisdr:= ) + rtlsdr? ( >=net-wireless/rtl-sdr-0.5.3:= ) + uhd? ( net-wireless/uhd:=[${PYTHON_USEDEP}] ) + soapysdr? ( net-wireless/soapysdr:= )" +DEPEND="${RDEPEND} + dev-python/cheetah" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +src_prepare() { + epatch_user +} + +src_configure() { + local mycmakeargs=( + -DENABLE_DEFAULT=OFF + -DPYTHON_EXECUTABLE="${PYTHON}" + -DENABLE_FILE=ON + $(cmake-utils_use_enable bladerf) + $(cmake-utils_use_enable fcd) + $(cmake-utils_use_enable hackrf) + $(cmake-utils_use_enable iqbalance) + $(cmake-utils_use_enable mirisdr MIRI) + $(cmake-utils_use_enable python) + $(cmake-utils_use_enable rtlsdr RTL) + $(cmake-utils_use_enable rtlsdr RTL_TCP) + $(cmake-utils_use_enable uhd) + $(cmake-utils_use_enable soapysdr SOAPY) + ) + + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + if use python; then + python_fix_shebang "${ED}"/usr/bin + fi +} diff --git a/net-wireless/gr-osmosdr/metadata.xml b/net-wireless/gr-osmosdr/metadata.xml new file mode 100644 index 0000000..8b0b483 --- /dev/null +++ b/net-wireless/gr-osmosdr/metadata.xml @@ -0,0 +1,18 @@ + + + + + andy@ndyk.de + Andrew Karpow + + + Build with Nuand BladeRF support + Build with Funcube Dongle support + Build with Great Scott Gadgets HackRF support + Enable support for I/Q balancing using gr-iqbal + Build with Mirics MSi2500 + MSi001 SDR support + Build with Realtek RTL2832U (rtlsdr) support + Build with Ettus Research USRP Hardware Driver support + Build with SoapySDR abstraction Driver support + + diff --git a/net-wireless/soapysdr/Manifest b/net-wireless/soapysdr/Manifest new file mode 100644 index 0000000..9a46974 --- /dev/null +++ b/net-wireless/soapysdr/Manifest @@ -0,0 +1,4 @@ +DIST soapysdr-0.6.0.tar.gz 112061 SHA256 54b0f84edbd52a10073444d9124f41b622194744d136ea77e25c8b883e65abf9 SHA512 19b65c4d8c052ed40ff22c27511bb3b366a1912cb07930cbfe21808edc67b1fd6d10c96cd597dca988f8a2bff3611bb8345432d91d55032daeeba700cf1303d1 WHIRLPOOL 926b2f22496a201d497832e3b199013072b5779cbdec8f07b0c29242b73196ba8852eabee93f90b4d582c6e7b2817215db08c26e24fa9b1709d8dab44c3757be +EBUILD soapysdr-0.6.0.ebuild 1582 SHA256 d492e4f5a7f302f85cb63373538e51d9b59ceb7866a48b207f73cb0041d4fda1 SHA512 f4c9273ab5ab9e0fe2244d2a5b64ad8e399c69041e420ca72fb2a76b894f6206afe5493fbe78a7d68866a2a9645640a8b11cef5427da7b04eeab183a3c529cd5 WHIRLPOOL 3630c7a6c9fdeb107b72784febfb3e030ebb943628ce6f8f300a62a3ce3f3af522389bda664740f9aa78d48e48d490cfb93e196044191421493ac70d0204e245 +EBUILD soapysdr-9999.ebuild 1582 SHA256 d492e4f5a7f302f85cb63373538e51d9b59ceb7866a48b207f73cb0041d4fda1 SHA512 f4c9273ab5ab9e0fe2244d2a5b64ad8e399c69041e420ca72fb2a76b894f6206afe5493fbe78a7d68866a2a9645640a8b11cef5427da7b04eeab183a3c529cd5 WHIRLPOOL 3630c7a6c9fdeb107b72784febfb3e030ebb943628ce6f8f300a62a3ce3f3af522389bda664740f9aa78d48e48d490cfb93e196044191421493ac70d0204e245 +MISC metadata.xml 509 SHA256 fa22b66b9a52dcbec22b555c0104331e7e3a390c71f50c897ba67a042ba8ab58 SHA512 aba5caf0e9660cd0ad119c053deaea91113ad20293e7a7151d7b881d7fd25aa2707bd0dfa8a114560edefddadb024c690c23aae98dfb165947e5029345b3b8f3 WHIRLPOOL 03459452c72b5a9bc1a647c7cf0d751acec985d9f2c465ce7c2cc945590a71d31d7a50d431a5305669b480983290460171d40a5a37d4b43e359d966c37b0e73f diff --git a/net-wireless/soapysdr/metadata.xml b/net-wireless/soapysdr/metadata.xml new file mode 100644 index 0000000..2bc550c --- /dev/null +++ b/net-wireless/soapysdr/metadata.xml @@ -0,0 +1,12 @@ + + + + + andy@ndyk.de + Andrew Karpow + + +SoapySDR is an open-source generalized C/C++ API and runtime library for interfacing with SDR devices. With SoapySDR, you can instantiate, configure, and stream with an SDR device in a variety of environments. + + + diff --git a/net-wireless/soapysdr/soapysdr-0.6.0.ebuild b/net-wireless/soapysdr/soapysdr-0.6.0.ebuild new file mode 100644 index 0000000..9d12b1a --- /dev/null +++ b/net-wireless/soapysdr/soapysdr-0.6.0.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit cmake-utils python-r1 + +DESCRIPTION="vendor and platform neutral SDR support library" +HOMEPAGE="http://github.com/pothosware/SoapySDR" + +if [ "${PV}" = "9999" ]; then + EGIT_REPO_URI="https://github.com/pothosware/SoapySDR.git" + EGIT_CLONE_TYPE="shallow" + KEYWORDS="" + inherit git-r3 +else + KEYWORDS="~amd64 ~arm ~x86" + SRC_URI="https://github.com/pothosware/SoapySDR/archive/soapy-sdr-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}"/SoapySDR-soapy-sdr-"${PV}" +fi + +LICENSE="Boost-1.0" +SLOT="0" + +IUSE="python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="python? ( ${PYTHON_DEPS} )" +DEPEND="${RDEPEND} + python? ( dev-lang/swig:0 ) +" + +src_prepare() { + eapply_user + use python && python_copy_sources +} + +src_configure() { + configuration() { + local mycmakeargs=( + -DENABLE_PYTHON=$(usex python) + ) + if python_is_python3; then + mycmakeargs+=( -DBUILD_PYTHON3=ON + -DENABLE_PYTHON3=ON + ) + else + mycmakeargs+=( -DBUILD_PYTHON3=OFF + -DENABLE_PYTHON3=OFF + ) + fi + + cmake-utils_src_configure + } + if use python; then + python_foreach_impl configuration + else + configuration + fi +} + +src_compile() { + compilation() { + cmake-utils_src_make + } + use python && python_foreach_impl compilation || compilation +} + +src_install() { + installation() { + cmake-utils_src_install DESTDIR="${ED}" + use python && python_optimize + } + use python && python_foreach_impl installation || installation +} diff --git a/net-wireless/soapysdr/soapysdr-9999.ebuild b/net-wireless/soapysdr/soapysdr-9999.ebuild new file mode 100644 index 0000000..9d12b1a --- /dev/null +++ b/net-wireless/soapysdr/soapysdr-9999.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit cmake-utils python-r1 + +DESCRIPTION="vendor and platform neutral SDR support library" +HOMEPAGE="http://github.com/pothosware/SoapySDR" + +if [ "${PV}" = "9999" ]; then + EGIT_REPO_URI="https://github.com/pothosware/SoapySDR.git" + EGIT_CLONE_TYPE="shallow" + KEYWORDS="" + inherit git-r3 +else + KEYWORDS="~amd64 ~arm ~x86" + SRC_URI="https://github.com/pothosware/SoapySDR/archive/soapy-sdr-${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}"/SoapySDR-soapy-sdr-"${PV}" +fi + +LICENSE="Boost-1.0" +SLOT="0" + +IUSE="python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="python? ( ${PYTHON_DEPS} )" +DEPEND="${RDEPEND} + python? ( dev-lang/swig:0 ) +" + +src_prepare() { + eapply_user + use python && python_copy_sources +} + +src_configure() { + configuration() { + local mycmakeargs=( + -DENABLE_PYTHON=$(usex python) + ) + if python_is_python3; then + mycmakeargs+=( -DBUILD_PYTHON3=ON + -DENABLE_PYTHON3=ON + ) + else + mycmakeargs+=( -DBUILD_PYTHON3=OFF + -DENABLE_PYTHON3=OFF + ) + fi + + cmake-utils_src_configure + } + if use python; then + python_foreach_impl configuration + else + configuration + fi +} + +src_compile() { + compilation() { + cmake-utils_src_make + } + use python && python_foreach_impl compilation || compilation +} + +src_install() { + installation() { + cmake-utils_src_install DESTDIR="${ED}" + use python && python_optimize + } + use python && python_foreach_impl installation || installation +} -- cgit v1.2.3-65-gdbad