commit:     48f29b64335f87408a20a0fbf9a9dc81bb55b814
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Fri Jun 16 06:01:26 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Sep 11 07:29:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48f29b64

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 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/31477
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 .../files/splat-1.4.2-drop-register-keyword.patch  | 22 ++++++
 sci-electronics/splat/splat-1.4.2-r1.ebuild        | 92 ++++++++++++++++++++++
 2 files changed, 114 insertions(+)

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."
+}

Reply via email to