summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrahmajit Das <brahmajit.xyz@gmail.com>2023-06-16 06:01:26 +0000
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2023-09-11 09:29:35 +0200
commit48f29b64335f87408a20a0fbf9a9dc81bb55b814 (patch)
treebf5b015d1b74097cdfaebc929ebe72c481e97c6d /sci-electronics/splat
parentsci-chemistry/cluster: Fix error: ISO C++17 does not allow register storage c... (diff)
downloadgentoo-48f29b64335f87408a20a0fbf9a9dc81bb55b814.tar.gz
gentoo-48f29b64335f87408a20a0fbf9a9dc81bb55b814.tar.bz2
gentoo-48f29b64335f87408a20a0fbf9a9dc81bb55b814.zip
sci-electronics/splat: Fix error: ISO C++17 does not allow register storage class specifier
Bug: https://bugs.gentoo.org/898168 Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/31477 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'sci-electronics/splat')
-rw-r--r--sci-electronics/splat/files/splat-1.4.2-drop-register-keyword.patch22
-rw-r--r--sci-electronics/splat/splat-1.4.2-r1.ebuild92
2 files changed, 114 insertions, 0 deletions
diff --git a/sci-electronics/splat/files/splat-1.4.2-drop-register-keyword.patch b/sci-electronics/splat/files/splat-1.4.2-drop-register-keyword.patch
new file mode 100644
index 000000000000..4445b06f2057
--- /dev/null
+++ b/sci-electronics/splat/files/splat-1.4.2-drop-register-keyword.patch
@@ -0,0 +1,22 @@
+Register keyword was deprecated in C++14 and removed in C++17
+Bug: https://bugs.gentoo.org/898168
+--- a/splat.cpp
++++ b/splat.cpp
+@@ -567,7 +567,7 @@ double ElevationAngle(struct site source, struct site destination)
+ (downtilt), as referenced to a normal to the center of
+ the earth. */
+
+- register double a, b, dx;
++ double a, b, dx;
+
+ a=GetElevation(destination)+destination.alt+earthradius;
+ b=GetElevation(source)+source.alt+earthradius;
+@@ -2727,7 +2727,7 @@ void PlotPath(struct site source, struct site destination, char mask_value)
+
+ char block;
+ int x, y;
+- register double cos_xmtr_angle, cos_test_angle, test_alt;
++ double cos_xmtr_angle, cos_test_angle, test_alt;
+ double distance, rx_alt, tx_alt;
+
+ ReadPath(source,destination);
diff --git a/sci-electronics/splat/splat-1.4.2-r1.ebuild b/sci-electronics/splat/splat-1.4.2-r1.ebuild
new file mode 100644
index 000000000000..e8c4e8321e79
--- /dev/null
+++ b/sci-electronics/splat/splat-1.4.2-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="RF Signal Propagation, Loss, And Terrain analysis tool"
+HOMEPAGE="https://www.qsl.net/kd2bd/splat.html"
+SRC_URI="https://www.qsl.net/kd2bd/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc hires l10n_es"
+
+DEPEND="
+ app-arch/bzip2
+ sys-libs/zlib
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.2-gcc43.patch
+ "${FILESDIR}"/${PN}-1.4.2-drop-register-keyword.patch
+)
+
+src_configure() {
+ # fake resulting file from interactive configuration script
+ # using default resolution
+ cat <<- EOF > "${S}/splat.h" || die
+ /* Parameters for 3 arc-second standard resolution mode of operation */
+ #define MAXPAGES 9
+ #define HD_MODE 0
+ EOF
+ if use hires; then
+ # fake resulting file from interactive configuration script
+ # using default resolution
+ cat <<- EOF > "${S}/hires.h" || die
+ /* Parameters for 3 arc-second hires resolution mode of operation */
+ #define MAXPAGES 9
+ #define HD_MODE 1
+ EOF
+ fi
+}
+
+src_compile() {
+ tc-export CC CXX
+
+ cp {splat,rfsplat}.cpp || die
+ emake LDLIBS="-lm -lbz2" -E "rfsplat: itwom3.0.o"
+ if use hires; then
+ cp {hires,splat}.h || die
+ cp {splat,rfsplat-hd}.cpp || die
+ emake LDLIBS="-lm -lbz2" -E "rfsplat-hd: itwom3.0.o"
+ fi
+
+ cd utils || die
+
+ emake citydecoder usgs2sdf
+ emake LDLIBS=-lbz2 srtm2sdf
+ emake LDLIBS=-lm bearing
+}
+
+src_install() {
+ local SPLAT_LANG="english"
+ use l10n_es && SPLAT_LANG="spanish"
+ # splat binary
+ dobin rfsplat
+
+ use hires && dobin rfsplat-hd
+
+ # utilities
+ dobin utils/{citydecoder,usgs2sdf,srtm2sdf,postdownload,bearing}
+ newman docs/${SPLAT_LANG}/man/splat.man rfsplat.1
+
+ dodoc CHANGES README utils/fips.txt
+ newdoc utils/README README.UTILS
+
+ use doc && dodoc docs/${SPLAT_LANG}/{pdf/splat.pdf,postscript/splat.ps}
+
+ #sample data
+ docinto sample_data
+ dodoc -r sample_data/.
+}
+
+pkg_postinst() {
+ elog "The original SPLAT! command got renamed to 'rfsplat' to avoid"
+ elog "filename collision with app-portage/splat."
+ elog ""
+ elog "Be aware that it is still referenced as 'splat' in the documentation."
+}