[PATCH] gnu: Add Xplanet

  • Done
  • quality assurance status badge
Details
4 participants
  • Eric Bavier
  • Danny Milosavljevic
  • Jakub K?dzio?ka
  • R Veera Kumar
Owner
unassigned
Submitted by
R Veera Kumar
Severity
normal
R
R
R Veera Kumar wrote on 30 Mar 2020 10:19
(address . guix-patches@gnu.org)
20200330081929.GA7259@tulip
Attachment: file
D
D
Danny Milosavljevic wrote on 30 Mar 2020 12:54
(name . R Veera Kumar)(address . vkor@vkten.in)(address . 40322@debbugs.gnu.org)
20200330125418.24702631@scratchpost.org
Hi,

please add an extra line to each patch which records where you got it from (at
least the author and year).

Otherwise OK.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl6Bz9oACgkQ5xo1VCww
uqV5XQf8CG7PUIKP5/kDi8qp3TbG9txM5Izfgt44jaF1M20L8rQZJIMYdAxC0IHi
g35FKBj0bw2Qb6aHMCphaRoG4U3mip/j/wtzkF8bPPbCmpu9hI+H8EdcNDPlXtq0
/Gq/Glt+GLnvrxfo7Al+MW57mCgFqNrqdq5PZjaQmuLodtI7SajETQj3Ve4TSxXW
JNWoWyM/3JPslZj21rRvfi5TVUMzY1JlrFQvJZ47wat/Aeddh8AEqj3ETXsBTYtl
SrTDTbYqifzG7VcpUHXD/YTPFwXQb6OqrXvlY7zw1Gk14fNaDZMp+eGy5C+7+sNC
ceM1aoTjeLKPRDFYk96deEVn9P61tw==
=HJ8P
-----END PGP SIGNATURE-----


R
R
R Veera Kumar wrote on 30 Mar 2020 18:58
[PATCH v2] gnu: Add Xplanet
(address . 40322@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20200330165808.GA10546@tulip
Attachment: file
J
J
Jakub K?dzio?ka wrote on 30 Mar 2020 22:10
(name . R Veera Kumar)(address . vkor@vkten.in)
20200330201032.ta53dlld3ybwggsa@gravity
On Mon, Mar 30, 2020 at 10:28:08PM +0530, R Veera Kumar wrote:
Toggle quote (13 lines)
> gnu/packages/astronomy.scm | 51 ++++++
> ...t-1.3.1-libdisplay_DisplayOutput.cpp.patch | 16 ++
> .../xplanet-1.3.1-libimage_gif.c.patch | 54 ++++++
> ...planet-1.3.1-readConfig-fixclang.cpp.patch | 78 +++++++++
> ...xplanet-1.3.1-remove-null-comparison.patch | 161 ++++++++++++++++++
> ...t-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch | 15 ++
> 6 files changed, 375 insertions(+)
> create mode 100644 gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch
> create mode 100644 gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
> create mode 100644 gnu/packages/patches/xplanet-1.3.1-readConfig-fixclang.cpp.patch
> create mode 100644 gnu/packages/patches/xplanet-1.3.1-remove-null-comparison.patch
> create mode 100644 gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch

Veera,

don't forget to register your new files in gnu/local.mk

Regards,
Jakub K?dzio?ka
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl6CUjgACgkQ4xWnWEYT
FWQxQxAAlADHVE33A2gSO34o1Ay48npLJDPXcvf2xL/LK5oE0y4mBRierS86ADQ+
2lVryaaxTv8V36DyxiQVxVlgrcnxN+Q7n1p9ntDYE5JRCnS3eN6GsnqZH7YHKso7
IDBLHDRKlsZvroWzfoANIouJVGxclXznd7GkUOuPWrsECxEEG/S0imsVQ1gNUg1S
xNidSTbTtdgDl2vj1w24/vuEoIEiWEJUtevvlv2ZoF79TF4ou00DHZR5ZQZFE6Lx
bhF702ehm1yLs+YsXB+Iqp4G7DfjFOu4yONF0DKS/2TyBNu3AYILY1acR6C0FfNg
79HX4ZFPfEI/XRa9ZIPM8j1cuSj4Nqs+2iQHuVQXkkScYjAuSSz8dsHEFMreWcue
Qd9gMyP7THUMjsMGo1UfrpLQ/bSd2FD/E9qUIlQoy22DLttz9UejeeSXxEZfeOwA
0ltHUV+WgqAjkjHrXno1qxXlxLNYcb4Mehn+4EsJw/87dnYUiaRVEZx8BSLO6hXD
3CwM5bhMxVGCmQ0tefpMHkUjOgnYqRo2RgGx0r6PtJsX5q2avIHzacpF1lf52HtN
ELcXpbk+m1P/EK082JNKiVhddwv8clHf7SDgAe3mxwwhXyb2jljGc58P5hAldaOB
LkNoxuQJ+IgUEiNz96xiXnvrehZjR8a2ZCY9CCmstGtzZ/wZsuk=
=jZFv
-----END PGP SIGNATURE-----


R
R
R Veera Kumar wrote on 31 Mar 2020 09:57
[PATCH v3] gnu: Add Xplanet.
(address . 40322@debbugs.gnu.org)
20200331075757.GA1219@tulip
Attachment: file
E
E
Eric Bavier wrote on 31 Mar 2020 16:50
(name . R Veera Kumar)(address . vkor@vkten.in)
0b0a249b0cdf15e14056c2c277e97187@posteo.net
On 31.03.2020 02:57, R Veera Kumar wrote:
Toggle quote (7 lines)
> + (patches
> + (search-patches
> + "xplanet-1.3.1-remove-null-comparison.patch"
> + "xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch"
> + "xplanet-1.3.1-libimage_gif.c.patch"
> + "xplanet-1.3.1-readConfig-fixclang.cpp.patch"

Is this patch necessary if we're building with gcc?

Toggle quote (21 lines)
> + "xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch"))))
> + (build-system gnu-build-system)
> + (native-inputs
> + `(("pkg-config" ,pkg-config)))
> + (inputs
> + `(("libx11" ,libx11)
> + ("libxscrnsaver" ,libxscrnsaver)
> + ("libxext" ,libxext)
> + ("libice" ,libice)
> + ("freetype" ,freetype)
> + ("pango" ,pango)
> + ("giflib" ,giflib)
> + ("libjpeg", libjpeg)
> + ("libpng" ,libpng)
> + ("libtiff" ,libtiff)
> + ("zlib" ,zlib)))
> + (arguments
> + `(#:configure-flags
> + (list
> + "--without-pnm" ;; no proper pnm library in guix

The "netpbm" package provides a pnm library.

Toggle quote (26 lines)
> diff --git
> a/gnu/packages/patches/xplanet-1.3.1-remove-null-comparison.patch
> b/gnu/packages/patches/xplanet-1.3.1-remove-null-comparison.patch
> new file mode 100644
> index 0000000000..002701ed0c
> --- /dev/null
> +++ b/gnu/packages/patches/xplanet-1.3.1-remove-null-comparison.patch
> @@ -0,0 +1,161 @@
> +Origin: Gentoo Harri Nieminen 2017-02-28
> +Url:
> https://gitweb.gentoo.org/repo/gentoo.git/log/x11-misc/xplanet/files/
> ++xplanet-1.3.1-remove-null-comparison.patch
> +
> +Index: src/libannotate/addArcs.cpp
> +===================================================================
> +diff --git a/src/libannotate/addArcs.cpp b/src/libannotate/addArcs.cpp
> +--- a/src/libannotate/addArcs.cpp (revision 206)
> ++++ b/src/libannotate/addArcs.cpp (revision 207)
> +@@ -258,7 +258,7 @@
> + {
> + ifstream inFile(arcFile.c_str());
> + char *line = new char[MAX_LINE_LENGTH];
> +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') !=
> NULL)
> ++ while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))

I'm worried this might not be correct. The "getline" function always
returns it's first parameter, which, I think, can never evaluate to a
falsy value. The safer option would be to call ".eof()" on the result,
and would match the intentions. See e.g.

--
`~Eric
R
R
R Veera Kumar wrote on 1 Apr 2020 19:08
(name . Eric Bavier)(address . bavier@posteo.net)
20200401170812.GB16198@tulip
On Tue, Mar 31, 2020 at 09:50:27AM -0500, Eric Bavier wrote:
Toggle quote (11 lines)
> On 31.03.2020 02:57, R Veera Kumar wrote:
> > + (patches
> > + (search-patches
> > + "xplanet-1.3.1-remove-null-comparison.patch"
> > + "xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch"
> > + "xplanet-1.3.1-libimage_gif.c.patch"
> > + "xplanet-1.3.1-readConfig-fixclang.cpp.patch"
>
> Is this patch necessary if we're building with gcc?
>

No. It is to build with clang. I thought since Guix also has clang, it
might be useful in future. I will drop it.
Toggle quote (18 lines)
> > + "xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch"))))
> > + (build-system gnu-build-system)
> > + (native-inputs
> > + `(("pkg-config" ,pkg-config)))
> > + (inputs
> > + ("giflib" ,giflib)
> > + ("libjpeg", libjpeg)
> > + ("libpng" ,libpng)
> > + ("libtiff" ,libtiff)
> > + ("zlib" ,zlib)))
> > + (arguments
> > + `(#:configure-flags
> > + (list
> > + "--without-pnm" ;; no proper pnm library in guix
>
> The "netpbm" package provides a pnm library.
>

I know it. It does not compiles with the current netpbm.
The libnetpbm.so file is not installed by the pkg and xplanet
configure script marks it as not available.

I have filed bug report for this: #40376

It can be packaged without netpbm for now and when the fix is there
I will enable it.

Toggle quote (32 lines)
> > diff --git
> > a/gnu/packages/patches/xplanet-1.3.1-remove-null-comparison.patch
> > b/gnu/packages/patches/xplanet-1.3.1-remove-null-comparison.patch
> > new file mode 100644
> > index 0000000000..002701ed0c
> > --- /dev/null
> > +++ b/gnu/packages/patches/xplanet-1.3.1-remove-null-comparison.patch
> > @@ -0,0 +1,161 @@
> > +Origin: Gentoo Harri Nieminen 2017-02-28
> > +Url:
> > https://gitweb.gentoo.org/repo/gentoo.git/log/x11-misc/xplanet/files/
> > ++xplanet-1.3.1-remove-null-comparison.patch
> > +
> > +Index: src/libannotate/addArcs.cpp
> > +===================================================================
> > +diff --git a/src/libannotate/addArcs.cpp b/src/libannotate/addArcs.cpp
> > +--- a/src/libannotate/addArcs.cpp (revision 206)
> > ++++ b/src/libannotate/addArcs.cpp (revision 207)
> > +@@ -258,7 +258,7 @@
> > + {
> > + ifstream inFile(arcFile.c_str());
> > + char *line = new char[MAX_LINE_LENGTH];
> > +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') !=
> > NULL)
> > ++ while (inFile.getline (line, MAX_LINE_LENGTH, '\n'))
>
> I'm worried this might not be correct. The "getline" function always
> returns it's first parameter, which, I think, can never evaluate to a falsy
> value. The safer option would be to call ".eof()" on the result, and would
> match the intentions. See e.g. https://notabug.org/bavier/guix-bavier/src/master/bavier/patches/xplanet-cxx11-eof.patch
>

Okay. I have tested with your patch and builds and works fine.

R Veera Kumar

Toggle quote (2 lines)
> --
> `~Eric
R
R
R Veera Kumar wrote on 2 Apr 2020 12:53
[PATCH v4] gnu: Add xplanet.
(address . 40322@debbugs.gnu.org)(name . R Veera Kumar)(address . vkor@vkten.in)
20200402105317.12941-1-vkor@vkten.in
* gnu/packages/astronomy.scm (xplanet): New variable.
* gnu/packages/astronomy.scm: Add missing modules.
* gnu/packages/astronomy.scm: Add copyright line.
* gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch: New file.
* gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch: New file.
* gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch: New file.
* gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch: New file.
* gnu/packages/astronomy.scm (xplanet)[source]: Use them.
* gnu/local.mk (dist_patch_DATA): Add them.

Signed-off-by: R Veera Kumar <vkor@vkten.in>
---
Changes in v4:
- Add netpbm support
- Drop patch for fix build with clang
- Replace patch for cxx11 build fix with a correct one
Changes in v3:
- Add patches to gnu/local.mk
- Put Copyright marks in files
Changes in v2:
- Add origin, author and year in patches
---
gnu/local.mk | 5 +
gnu/packages/astronomy.scm | 55 +++++++
.../patches/xplanet-1.3.1-cxx11-eof.patch | 154 ++++++++++++++++++
...t-1.3.1-libdisplay_DisplayOutput.cpp.patch | 16 ++
.../xplanet-1.3.1-libimage_gif.c.patch | 54 ++++++
...t-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch | 15 ++
6 files changed, 299 insertions(+)
create mode 100644 gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch
create mode 100644 gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch
create mode 100644 gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
create mode 100644 gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch

Toggle diff (375 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 6c85e6e806..e049974908 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -28,6 +28,7 @@
# Copyright © 2019 Amin Bandali <bandali@gnu.org>
# Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
# Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+# Copyright © 2020 R Veera Kumar <vkor@vkten.in>
#
# This file is part of GNU Guix.
#
@@ -1526,6 +1527,10 @@ dist_patch_DATA = \
%D%/packages/patches/xmoto-utf8.patch \
%D%/packages/patches/xmoto-remove-glext.patch \
%D%/packages/patches/xmoto-reproducible.patch \
+ %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
+ %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
+ %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
+ %D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \
%D%/packages/patches/xsane-fix-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 3bb236fde9..ec90eba974 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
+;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,9 +26,11 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
+ #:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages image)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages version-control)
#:use-module (gnu packages pkg-config)
@@ -41,6 +44,8 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages netpbm)
+ #:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (srfi srfi-1))
@@ -289,3 +294,53 @@ Mechanics, Astrometry and Astrodynamics library.")
(license (list license:lgpl2.0+
license:gpl2+)))) ; examples/transforms.c & lntest/*.c
+(define-public xplanet
+ (package
+ (name "xplanet")
+ (version "1.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "mirror://sourceforge/xplanet/xplanet/"
+ version "/xplanet-" version ".tar.gz"))
+ (sha256
+ (base32 "1rzc1alph03j67lrr66499zl0wqndiipmj99nqgvh9xzm1qdb023"))
+ (patches
+ (search-patches
+ "xplanet-1.3.1-cxx11-eof.patch"
+ "xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch"
+ "xplanet-1.3.1-libimage_gif.c.patch"
+ "xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxscrnsaver" ,libxscrnsaver)
+ ("libice" ,libice)
+ ("freetype" ,freetype)
+ ("pango" ,pango)
+ ("giflib" ,giflib)
+ ("libjpeg", libjpeg)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("netpbm" ,netpbm)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:configure-flags
+ (let ((netpbm (assoc-ref %build-inputs "netpbm")))
+ (append (list
+ ;; Give correct path for pnm.h header to configure script
+ (string-append "CPPFLAGS=-I" netpbm "/include/netpbm")
+ ;; no nasa jpl cspice support
+ "--without-cspice" )))))
+ (home-page "http://xplanet.sourceforge.net/")
+ (synopsis "Planetary body renderer")
+ (description
+ "Xplanet renders an image of a planet into an X window or file.
+All of the major planets and most satellites can be drawn and different map
+projections are also supported, including azimuthal, hemisphere, Lambert,
+Mercator, Mollweide, Peters, polyconic, orthographic and rectangular.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch
new file mode 100644
index 0000000000..b4d5850f75
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch
@@ -0,0 +1,154 @@
+Author: Eric Bavier Date: 2020-01-13
+Url: https://notabug.org/bavier/guix-bavier/raw/master/bavier/patches/
++xplanet-cxx11-eof.patch
+
+diff --git a/src/libannotate/addArcs.cpp b/src/libannotate/addArcs.cpp
+index 2ee06c0..4fdb343 100644
+--- a/src/libannotate/addArcs.cpp
++++ b/src/libannotate/addArcs.cpp
+@@ -258,7 +258,7 @@ addArcs(PlanetProperties *planetProperties, Planet *planet,
+ {
+ ifstream inFile(arcFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+ readArcFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+@@ -292,7 +292,7 @@ addArcs(View *view, multimap<double, Annotation *> &annotationMap)
+ {
+ ifstream inFile(arcFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline (line, 256, '\n') != NULL)
++ while (!inFile.getline (line, 256, '\n').eof())
+ readArcFile(line, NULL, view, NULL, NULL, annotationMap);
+
+ inFile.close();
+diff --git a/src/libannotate/addMarkers.cpp b/src/libannotate/addMarkers.cpp
+index dde51c1..b641e6a 100644
+--- a/src/libannotate/addMarkers.cpp
++++ b/src/libannotate/addMarkers.cpp
+@@ -429,7 +429,7 @@ addMarkers(PlanetProperties *planetProperties, Planet *planet,
+ {
+ ifstream inFile(markerFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ unsigned char color[3];
+ memcpy(color, planetProperties->MarkerColor(), 3);
+@@ -475,7 +475,7 @@ addMarkers(View *view, const int width, const int height,
+ {
+ ifstream inFile(markerFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ unsigned char color[3];
+ memcpy(color, options->Color(), 3);
+diff --git a/src/libannotate/addSatellites.cpp b/src/libannotate/addSatellites.cpp
+index 2634339..6d9d378 100644
+--- a/src/libannotate/addSatellites.cpp
++++ b/src/libannotate/addSatellites.cpp
+@@ -488,10 +488,10 @@ loadSatelliteVector(PlanetProperties *planetProperties)
+ {
+ ifstream inFile(tleFile.c_str());
+ char lines[3][80];
+- while (inFile.getline(lines[0], 80) != NULL)
++ while (!inFile.getline(lines[0], 80).eof())
+ {
+- if ((inFile.getline(lines[1], 80) == NULL)
+- || (inFile.getline(lines[2], 80) == NULL))
++ if ((inFile.getline(lines[1], 80).eof())
++ || (inFile.getline(lines[2], 80).eof()))
+ {
+ ostringstream errStr;
+ errStr << "Malformed TLE file (" << tleFile << ")?\n";
+@@ -542,7 +542,7 @@ addSatellites(PlanetProperties *planetProperties, Planet *planet,
+ {
+ ifstream inFile(satFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+ readSatelliteFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+diff --git a/src/libannotate/addSpiceObjects.cpp b/src/libannotate/addSpiceObjects.cpp
+index 67b752c..eeadf6e 100644
+--- a/src/libannotate/addSpiceObjects.cpp
++++ b/src/libannotate/addSpiceObjects.cpp
+@@ -524,7 +524,7 @@ processSpiceKernels(const bool load)
+ {
+ ifstream inFile(kernelFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ int ii = 0;
+ while (isDelimiter(line[ii]))
+@@ -576,7 +576,7 @@ addSpiceObjects(map<double, Planet *> &planetsFromSunMap,
+ {
+ ifstream inFile(spiceFile.c_str());
+ char *line = new char[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ readSpiceFile(line, planetsFromSunMap, view, projection,
+ annotationMap);
+ inFile.close();
+diff --git a/src/libmultiple/RayleighScattering.cpp b/src/libmultiple/RayleighScattering.cpp
+index d885173..1be8ece 100644
+--- a/src/libmultiple/RayleighScattering.cpp
++++ b/src/libmultiple/RayleighScattering.cpp
+@@ -369,7 +369,7 @@ RayleighScattering::readConfigFile(string configFile)
+
+ diskTemplate_.clear();
+ limbTemplate_.clear();
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -439,7 +439,7 @@ RayleighScattering::readBlock(ifstream &inFile,
+ values.clear();
+
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -470,7 +470,7 @@ RayleighScattering::readValue(ifstream &inFile,
+ double &value)
+ {
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+diff --git a/src/libmultiple/drawStars.cpp b/src/libmultiple/drawStars.cpp
+index ff07c49..aabdfed 100644
+--- a/src/libmultiple/drawStars.cpp
++++ b/src/libmultiple/drawStars.cpp
+@@ -41,7 +41,7 @@ drawStars(DisplayBase *display, View *view)
+ ifstream inFile(starMap.c_str());
+
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+ {
+ if (line[0] == '#') continue;
+
+diff --git a/src/readConfig.cpp b/src/readConfig.cpp
+index cc1964f..4650527 100644
+--- a/src/readConfig.cpp
++++ b/src/readConfig.cpp
+@@ -550,7 +550,7 @@ readConfigFile(string configFile, PlanetProperties *planetProperties[])
+
+ ifstream inFile(configFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline(line, 256, '\n') != NULL)
++ while (!inFile.getline(line, 256, '\n').eof())
+ readConfig(line, planetProperties);
+
+ // This condition will only be true if [default] is the only
diff --git a/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch
new file mode 100644
index 0000000000..bf52b0ca27
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch
@@ -0,0 +1,16 @@
+Origin: $NetBSD: patch-src_libdisplay_DisplayOutput.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $
+
+Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1
+
+diff -uNr xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp
+--- xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp 2013-02-17 01:07:47.000000000 +0530
++++ xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp 2020-03-28 22:08:44.432499170 +0530
+@@ -51,7 +51,7 @@
+ string outputFilename = options->OutputBase();
+ int startIndex = options->OutputStartIndex();
+ int stopIndex = options->NumTimes() + startIndex - 1;
+- if (stopIndex > 1)
++ if (stopIndex > 0)
+ {
+ const int digits = (int) (log10((double) stopIndex) + 1);
+ char buffer[64];
diff --git a/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
new file mode 100644
index 0000000000..58efc906dc
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
@@ -0,0 +1,54 @@
+Origin: $NetBSD: patch-src_libimage_gif.c,v 1.4 2019/11/16 17:36:28 ng0 Exp $
+
+Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1
+
+diff -uNr xplanet-1.3.1/src/libimage/gif.c xplanet-1.3.1.new/src/libimage/gif.c
+--- xplanet-1.3.1/src/libimage/gif.c 2013-02-17 01:07:47.000000000 +0530
++++ xplanet-1.3.1.new/src/libimage/gif.c 2020-03-28 22:15:24.444309199 +0530
+@@ -21,7 +21,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-
++#include <stdbool.h>
+ #include <gif_lib.h>
+
+ /*
+@@ -178,8 +178,12 @@
+ *BufferP++ = ColorMapEntry->Blue;
+ }
+ }
+-
++
++#if GIFLIB_MAJOR >= 5
++ if (DGifCloseFile(GifFile, NULL) == GIF_ERROR) {
++#else
+ if (DGifCloseFile(GifFile) == GIF_ERROR) {
++#endif
+ return(0);
+ }
+
+@@ -493,7 +497,11 @@
+ static void QuitGifError(GifFileType *GifFile)
+ {
+ fprintf(stderr, "Error writing GIF file\n");
++#if GIFLIB_MAJOR >= 5
++ if (GifFile != NULL) EGifCloseFile(GifFile, NULL);
++#else
+ if (GifFile != NULL) EGifCloseFile(GifFile);
++#endif
+ }
+
+ int
+@@ -589,7 +597,11 @@
+ Ptr += width;
+ }
+
++#if GIFLIB_MAJOR >= 5
++ if (EGifCloseFile(GifFile, NULL) == GIF_ERROR)
++#else
+ if (EGifCloseFile(GifFile) == GIF_ERROR)
++#endif
+
+ {
+ QuitGifError(GifFile);
diff --git a/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch
new file mode 100644
index 0000000000..a47623fa00
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_xpUtil-Add2017LeapSecond.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $
+
+Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1
+
+diff -uNr xplanet-1.3.1/src/xpUtil.cpp xplanet-1.3.1.new/src/xpUtil.cpp
+--- xplanet-1.3.1/src/xpUtil.cpp 2016-03-12 08:36:47.000000000 +0530
++++ xplanet-1.3.1.new/src/xpUtil.cpp 2020-03-28 22:19:10.629891166 +0530
+@@ -434,6 +434,7 @@
+ if (jd >= toJulian(2009, 1, 1, 0, 0, 0)) delta_at++; // 34
+ if (jd >= toJulian(2012, 7, 1, 0, 0, 0)) delta_at++; // 35
+ if (jd >= toJulian(2015, 7, 1, 0, 0, 0)) delta_at++; // 36
++ if (jd >= toJulian(2017, 1, 1, 0, 0, 0)) delta_at++; // 37
+
+ const double J2000 = toJulian(2000, 1, 1, 12, 0, 0);
+ const double m = m0 + m1 * (jd - J2000) * 86400;
--
2.26.0
E
E
Eric Bavier wrote on 5 Apr 2020 06:39
(name . R Veera Kumar)(address . vkor@vkten.in)
943cd689f0ea133dcefb6c0e213f5bd0@posteo.net
On 02.04.2020 05:53, R Veera Kumar wrote:
Toggle quote (2 lines)
> * gnu/packages/astronomy.scm (xplanet): New variable.

Pushed with slightly adjusted commit message in
77704cb13e5bebf412297dab764a00849a3cfdc0

Thanks!
`~Eric
Closed
?