[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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 40322@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 40322
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch