commit:     a9ff8e75d736a30ad2819b9ae32de19aa6f42c61
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Tue Aug  8 05:56:25 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 12:51:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9ff8e75

app-misc/astrolog: Add 7.60 and drop register storage class

This commit does the following:
- Fixes C++17 does not allow register storage class
- version bump to 7.60

Closes: https://bugs.gentoo.org/894524
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 app-misc/astrolog/astrolog-7.60.ebuild             | 67 ++++++++++++++++++++++
 .../files/astrolog-7.60-drop-resiters.patch        | 36 ++++++++++++
 2 files changed, 103 insertions(+)

diff --git a/app-misc/astrolog/astrolog-7.60.ebuild 
b/app-misc/astrolog/astrolog-7.60.ebuild
new file mode 100644
index 000000000000..18d1dc655924
--- /dev/null
+++ b/app-misc/astrolog/astrolog-7.60.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please bump with app-misc/astrolog-ephemeris
+
+inherit toolchain-funcs
+
+DESCRIPTION="A many featured astrology chart calculation program"
+HOMEPAGE="https://www.astrolog.org/astrolog.htm";
+SRC_URI="https://www.astrolog.org/ftp/ast74src.zip";
+
+LICENSE="astrolog"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="X"
+
+DEPEND="X? ( x11-libs/libX11 )"
+RDEPEND="${DEPEND}"
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-7.60-drop-resiters.patch
+)
+
+src_prepare() {
+       default
+
+       # remove stripping of created binary, dump hardcoded CFLAGS,
+       # respect CC (bug #243606), and CFLAGS (bug #240057)
+       sed \
+               -e 's:strip:#strip:' -e 's:^CFLAGS = :#CFLAGS = :' \
+               -e 's:\tcc :\t$(CC) $(CFLAGS) $(LDFLAGS) :' \
+               -i Makefile || die
+
+       # we use /usr/share/astrolog for config and (optional) 
ephemeris-data-files
+       sed -i -e "s:~/astrolog:/usr/share/astrolog:g" astrolog.h || die
+
+       # if we do NOT use X, we disable it by removing the -lX11 from the 
Makefile
+       # and remove the "#define X11" and "#define MOUSE" from astrolog.h
+       use X || ( sed -i -e "s:-lm -lX11:-lm:g" Makefile || die
+                  sed -i -e "s:#define X11:/*#define X11:g" astrolog.h || die
+                  sed -i -e "s:#define MOUSE:/*#define MOUSE:g" astrolog.h || 
die)
+}
+
+src_compile() {
+       emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+       dobin astrolog
+       dodoc astrolog.doc changes.doc
+       insinto /usr/share/astrolog
+       doins astrolog.as
+}
+
+pkg_postinst() {
+       elog "There is a sample config file /usr/share/astrolog/astrolog.as"
+       elog "astrolog looks in current dir for a file astrolog.as before"
+       elog "using the file in /usr/share/astrolog"
+       elog "If you want extended accuracy of astrolog's calculations you"
+       elog "can emerge the optional package \"astrolog-ephemeris\" which"
+       elog "needs ~32.9 MB additional diskspace for the ephemeris-files"
+}

diff --git a/app-misc/astrolog/files/astrolog-7.60-drop-resiters.patch 
b/app-misc/astrolog/files/astrolog-7.60-drop-resiters.patch
new file mode 100644
index 000000000000..ae399f8e099d
--- /dev/null
+++ b/app-misc/astrolog/files/astrolog-7.60-drop-resiters.patch
@@ -0,0 +1,36 @@
+Bug: https://bugs.gentoo.org/894524
+Sent patch upstream, dev said they will take it in coming version,
+https://github.com/CruiserOne/Astrolog/pull/20#issuecomment-1666693982
+--- a/placalc.cpp
++++ b/placalc.cpp
+@@ -561,8 +561,8 @@ int hel(int planet, REAL8 t, REAL8 *al, REAL8 *ar, REAL8 
*az, REAL8 *alp,
+ /* speed in radius, AU per day */
+ /* speed in z, AU per day */
+ {
+-  register struct elements *e;
+-  register struct eledata  *d;
++  struct elements *e;
++  struct eledata  *d;
+   REAL8 lk = 0.0;
+   REAL8 rk = 0.0;
+   REAL8 b, h1, sini, sinv, cosi, cosu, cosv, man, truanom, esquare,
+@@ -686,7 +686,7 @@ int hel(int planet, REAL8 t, REAL8 *al, REAL8 *ar, REAL8 
*az, REAL8 *alp,
+ }
+ 
+ 
+-void disturb(register struct kor *k, REAL8 *al, REAL8 *ar, REAL8 lk, REAL8 rk,
++void disturb(struct kor *k, REAL8 *al, REAL8 *ar, REAL8 lk, REAL8 rk,
+   REAL8 man)
+ /* ENDMARK-terminated array of struct kor */
+ /* longitude in degrees, use a pointer to return value */
+--- a/placalc.h
++++ b/placalc.h
+@@ -256,7 +256,7 @@ extern REAL8 test_near_zero(REAL8);
+ extern REAL8 deltat(double);
+ extern void to_mean_ekl();
+ extern int afl2planet();
+-extern void disturb(register struct kor *, REAL8 *, REAL8 *, REAL8, REAL8,
++extern void disturb(struct kor *, REAL8 *, REAL8 *, REAL8, REAL8,
+   REAL8);
+ extern REAL8 fnu(REAL8, REAL8, REAL8);
+ 

Reply via email to