* [bug#40322] [PATCH] gnu: Add Xplanet
@ 2020-03-30 8:19 R Veera Kumar
2020-03-30 10:54 ` Danny Milosavljevic
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: R Veera Kumar @ 2020-03-30 8:19 UTC (permalink / raw)
To: 40322
Xplanet renders an image of a planet into an X window or file.
Signed-off-by: R Veera Kumar <vkor@vkten.in>
---
gnu/packages/astronomy.scm | 51 ++++++
.../patches/xplanet-1.3.1-c++11.patch | 157 ++++++++++++++++++
...t-1.3.1-libdisplay_DisplayOutput.cpp.patch | 12 ++
.../xplanet-1.3.1-libimage_gif.c.patch | 50 ++++++
...planet-1.3.1-readConfig-fixclang.cpp.patch | 74 +++++++++
...t-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch | 11 ++
6 files changed, 355 insertions(+)
create mode 100644 gnu/packages/patches/xplanet-1.3.1-c++11.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-readConfig-fixclang.cpp.patch
create mode 100644 gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 3bb236fde9..efcba8f311 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -25,9 +25,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 +43,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (srfi srfi-1))
@@ -289,3 +292,51 @@ 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-c++11.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"
+ "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
+ "--without-cspice"))) ;; no jpl cspice support
+ (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-c++11.patch b/gnu/packages/patches/xplanet-1.3.1-c++11.patch
new file mode 100644
index 0000000000..3ead8872e0
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-c++11.patch
@@ -0,0 +1,157 @@
+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'))
+ readArcFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+@@ -292,7 +292,7 @@
+ {
+ ifstream inFile(arcFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline (line, 256, '\n') != NULL)
++ while (inFile.getline (line, 256, '\n'))
+ readArcFile(line, NULL, view, NULL, NULL, annotationMap);
+
+ inFile.close();
+Index: src/libannotate/addMarkers.cpp
+===================================================================
+diff --git a/src/libannotate/addMarkers.cpp b/src/libannotate/addMarkers.cpp
+--- a/src/libannotate/addMarkers.cpp (revision 206)
++++ b/src/libannotate/addMarkers.cpp (revision 207)
+@@ -429,7 +429,7 @@
+ {
+ 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'))
+ {
+ unsigned char color[3];
+ memcpy(color, planetProperties->MarkerColor(), 3);
+@@ -475,7 +475,7 @@
+ {
+ 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'))
+ {
+ unsigned char color[3];
+ memcpy(color, options->Color(), 3);
+Index: src/libannotate/addSatellites.cpp
+===================================================================
+diff --git a/src/libannotate/addSatellites.cpp b/src/libannotate/addSatellites.cpp
+--- a/src/libannotate/addSatellites.cpp (revision 206)
++++ b/src/libannotate/addSatellites.cpp (revision 207)
+@@ -488,10 +488,10 @@
+ {
+ ifstream inFile(tleFile.c_str());
+ char lines[3][80];
+- while (inFile.getline(lines[0], 80) != NULL)
++ while (inFile.getline(lines[0], 80))
+ {
+- if ((inFile.getline(lines[1], 80) == NULL)
+- || (inFile.getline(lines[2], 80) == NULL))
++ if ((!inFile.getline(lines[1], 80))
++ || (!inFile.getline(lines[2], 80)))
+ {
+ ostringstream errStr;
+ errStr << "Malformed TLE file (" << tleFile << ")?\n";
+@@ -542,7 +542,7 @@
+ {
+ 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'))
+ readSatelliteFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+Index: src/libannotate/addSpiceObjects.cpp
+===================================================================
+diff --git a/src/libannotate/addSpiceObjects.cpp b/src/libannotate/addSpiceObjects.cpp
+--- a/src/libannotate/addSpiceObjects.cpp (revision 206)
++++ b/src/libannotate/addSpiceObjects.cpp (revision 207)
+@@ -524,7 +524,7 @@
+ {
+ 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'))
+ {
+ int ii = 0;
+ while (isDelimiter(line[ii]))
+@@ -576,7 +576,7 @@
+ {
+ 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'))
+ readSpiceFile(line, planetsFromSunMap, view, projection,
+ annotationMap);
+ inFile.close();
+Index: src/libmultiple/RayleighScattering.cpp
+===================================================================
+diff --git a/src/libmultiple/RayleighScattering.cpp b/src/libmultiple/RayleighScattering.cpp
+--- a/src/libmultiple/RayleighScattering.cpp (revision 206)
++++ b/src/libmultiple/RayleighScattering.cpp (revision 207)
+@@ -369,7 +369,7 @@
+
+ diskTemplate_.clear();
+ limbTemplate_.clear();
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -439,7 +439,7 @@
+ values.clear();
+
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -470,7 +470,7 @@
+ double &value)
+ {
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+Index: src/libmultiple/drawStars.cpp
+===================================================================
+diff --git a/src/libmultiple/drawStars.cpp b/src/libmultiple/drawStars.cpp
+--- a/src/libmultiple/drawStars.cpp (revision 206)
++++ b/src/libmultiple/drawStars.cpp (revision 207)
+@@ -41,7 +41,7 @@
+ 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'))
+ {
+ if (line[0] == '#') continue;
+
+Index: src/readConfig.cpp
+===================================================================
+diff --git a/src/readConfig.cpp b/src/readConfig.cpp
+--- a/src/readConfig.cpp (revision 206)
++++ b/src/readConfig.cpp (revision 207)
+@@ -550,7 +550,7 @@
+
+ ifstream inFile(configFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline(line, 256, '\n') != NULL)
++ while (inFile.getline(line, 256, '\n'))
+ 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..2f6c5c77de
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch
@@ -0,0 +1,12 @@
+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..d5b3d0cdef
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
@@ -0,0 +1,50 @@
+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-readConfig-fixclang.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-readConfig-fixclang.cpp.patch
new file mode 100644
index 0000000000..2f018a03d2
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-readConfig-fixclang.cpp.patch
@@ -0,0 +1,74 @@
+diff -uNr xplanet-1.3.1/src/readConfig.cpp xplanet-1.3.1.new/src/readConfig.cpp
+--- xplanet-1.3.1/src/readConfig.cpp 2013-02-17 01:07:47.000000000 +0530
++++ xplanet-1.3.1.new/src/readConfig.cpp 2020-03-28 22:17:19.919078929 +0530
+@@ -4,6 +4,7 @@
+ #include <fstream>
+ #include <sstream>
+ #include <string>
++#include <clocale>
+ using namespace std;
+
+ #include "body.h"
+@@ -20,6 +21,8 @@
+ static PlanetProperties *defaultProperties;
+ static PlanetProperties *currentProperties;
+
++static inline unsigned char i2b( int x ) { return static_cast<unsigned int>(x) & 0xffU; }
++
+ static void
+ readConfig(const char *line, PlanetProperties *planetProperties[])
+ {
+@@ -49,7 +52,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->ArcColor(color);
+ }
+ else
+@@ -179,7 +182,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->Color(color);
+ }
+ else
+@@ -244,7 +247,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->GridColor(color);
+ }
+ else
+@@ -296,7 +299,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->MarkerColor(color);
+ }
+ else
+@@ -403,7 +406,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->OrbitColor(color);
+ }
+ else
+@@ -473,7 +476,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->TextColor(color);
+ }
+ else
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..fea2062f4a
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch
@@ -0,0 +1,11 @@
+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
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#40322] [PATCH] gnu: Add Xplanet
2020-03-30 8:19 [bug#40322] [PATCH] gnu: Add Xplanet R Veera Kumar
@ 2020-03-30 10:54 ` Danny Milosavljevic
2020-03-30 16:58 ` [bug#40322] [PATCH v2] " R Veera Kumar
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Danny Milosavljevic @ 2020-03-30 10:54 UTC (permalink / raw)
To: R Veera Kumar; +Cc: 40322
[-- Attachment #1: Type: text/plain, Size: 133 bytes --]
Hi,
please add an extra line to each patch which records where you got it from (at
least the author and year).
Otherwise OK.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#40322] [PATCH v2] gnu: Add Xplanet
2020-03-30 8:19 [bug#40322] [PATCH] gnu: Add Xplanet R Veera Kumar
2020-03-30 10:54 ` Danny Milosavljevic
@ 2020-03-30 16:58 ` R Veera Kumar
2020-03-30 20:10 ` Jakub Kądziołka
2020-03-31 7:57 ` [bug#40322] [PATCH v3] " R Veera Kumar
2020-04-02 10:53 ` [bug#40322] [PATCH v4] gnu: Add xplanet R Veera Kumar
3 siblings, 1 reply; 9+ messages in thread
From: R Veera Kumar @ 2020-03-30 16:58 UTC (permalink / raw)
To: 40322; +Cc: Danny Milosavljevic
Xplanet renders an image of a planet into an X window or file.
Signed-off-by: R Veera Kumar <vkor@vkten.in>
---
Changes in v2:
- Add origin, author and year in patches
---
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
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 3bb236fde9..b6ae59ba22 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -25,9 +25,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 +43,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (srfi srfi-1))
@@ -289,3 +292,51 @@ 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-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"
+ "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
+ "--without-cspice"))) ;; no jpl cspice support
+ (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-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-readConfig-fixclang.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-readConfig-fixclang.cpp.patch
new file mode 100644
index 0000000000..102887b780
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-readConfig-fixclang.cpp.patch
@@ -0,0 +1,78 @@
+Origin: $NetBSD: patch-src_readConfig-fixclang.cpp,v 1.2 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/readConfig.cpp xplanet-1.3.1.new/src/readConfig.cpp
+--- xplanet-1.3.1/src/readConfig.cpp 2013-02-17 01:07:47.000000000 +0530
++++ xplanet-1.3.1.new/src/readConfig.cpp 2020-03-28 22:17:19.919078929 +0530
+@@ -4,6 +4,7 @@
+ #include <fstream>
+ #include <sstream>
+ #include <string>
++#include <clocale>
+ using namespace std;
+
+ #include "body.h"
+@@ -20,6 +21,8 @@
+ static PlanetProperties *defaultProperties;
+ static PlanetProperties *currentProperties;
+
++static inline unsigned char i2b( int x ) { return static_cast<unsigned int>(x) & 0xffU; }
++
+ static void
+ readConfig(const char *line, PlanetProperties *planetProperties[])
+ {
+@@ -49,7 +52,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->ArcColor(color);
+ }
+ else
+@@ -179,7 +182,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->Color(color);
+ }
+ else
+@@ -244,7 +247,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->GridColor(color);
+ }
+ else
+@@ -296,7 +299,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->MarkerColor(color);
+ }
+ else
+@@ -403,7 +406,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->OrbitColor(color);
+ }
+ else
+@@ -473,7 +476,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->TextColor(color);
+ }
+ else
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'))
+ readArcFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+@@ -292,7 +292,7 @@
+ {
+ ifstream inFile(arcFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline (line, 256, '\n') != NULL)
++ while (inFile.getline (line, 256, '\n'))
+ readArcFile(line, NULL, view, NULL, NULL, annotationMap);
+
+ inFile.close();
+Index: src/libannotate/addMarkers.cpp
+===================================================================
+diff --git a/src/libannotate/addMarkers.cpp b/src/libannotate/addMarkers.cpp
+--- a/src/libannotate/addMarkers.cpp (revision 206)
++++ b/src/libannotate/addMarkers.cpp (revision 207)
+@@ -429,7 +429,7 @@
+ {
+ 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'))
+ {
+ unsigned char color[3];
+ memcpy(color, planetProperties->MarkerColor(), 3);
+@@ -475,7 +475,7 @@
+ {
+ 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'))
+ {
+ unsigned char color[3];
+ memcpy(color, options->Color(), 3);
+Index: src/libannotate/addSatellites.cpp
+===================================================================
+diff --git a/src/libannotate/addSatellites.cpp b/src/libannotate/addSatellites.cpp
+--- a/src/libannotate/addSatellites.cpp (revision 206)
++++ b/src/libannotate/addSatellites.cpp (revision 207)
+@@ -488,10 +488,10 @@
+ {
+ ifstream inFile(tleFile.c_str());
+ char lines[3][80];
+- while (inFile.getline(lines[0], 80) != NULL)
++ while (inFile.getline(lines[0], 80))
+ {
+- if ((inFile.getline(lines[1], 80) == NULL)
+- || (inFile.getline(lines[2], 80) == NULL))
++ if ((!inFile.getline(lines[1], 80))
++ || (!inFile.getline(lines[2], 80)))
+ {
+ ostringstream errStr;
+ errStr << "Malformed TLE file (" << tleFile << ")?\n";
+@@ -542,7 +542,7 @@
+ {
+ 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'))
+ readSatelliteFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+Index: src/libannotate/addSpiceObjects.cpp
+===================================================================
+diff --git a/src/libannotate/addSpiceObjects.cpp b/src/libannotate/addSpiceObjects.cpp
+--- a/src/libannotate/addSpiceObjects.cpp (revision 206)
++++ b/src/libannotate/addSpiceObjects.cpp (revision 207)
+@@ -524,7 +524,7 @@
+ {
+ 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'))
+ {
+ int ii = 0;
+ while (isDelimiter(line[ii]))
+@@ -576,7 +576,7 @@
+ {
+ 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'))
+ readSpiceFile(line, planetsFromSunMap, view, projection,
+ annotationMap);
+ inFile.close();
+Index: src/libmultiple/RayleighScattering.cpp
+===================================================================
+diff --git a/src/libmultiple/RayleighScattering.cpp b/src/libmultiple/RayleighScattering.cpp
+--- a/src/libmultiple/RayleighScattering.cpp (revision 206)
++++ b/src/libmultiple/RayleighScattering.cpp (revision 207)
+@@ -369,7 +369,7 @@
+
+ diskTemplate_.clear();
+ limbTemplate_.clear();
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -439,7 +439,7 @@
+ values.clear();
+
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -470,7 +470,7 @@
+ double &value)
+ {
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+Index: src/libmultiple/drawStars.cpp
+===================================================================
+diff --git a/src/libmultiple/drawStars.cpp b/src/libmultiple/drawStars.cpp
+--- a/src/libmultiple/drawStars.cpp (revision 206)
++++ b/src/libmultiple/drawStars.cpp (revision 207)
+@@ -41,7 +41,7 @@
+ 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'))
+ {
+ if (line[0] == '#') continue;
+
+Index: src/readConfig.cpp
+===================================================================
+diff --git a/src/readConfig.cpp b/src/readConfig.cpp
+--- a/src/readConfig.cpp (revision 206)
++++ b/src/readConfig.cpp (revision 207)
+@@ -550,7 +550,7 @@
+
+ ifstream inFile(configFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline(line, 256, '\n') != NULL)
++ while (inFile.getline(line, 256, '\n'))
+ readConfig(line, planetProperties);
+
+ // This condition will only be true if [default] is the only
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
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#40322] [PATCH v2] gnu: Add Xplanet
2020-03-30 16:58 ` [bug#40322] [PATCH v2] " R Veera Kumar
@ 2020-03-30 20:10 ` Jakub Kądziołka
0 siblings, 0 replies; 9+ messages in thread
From: Jakub Kądziołka @ 2020-03-30 20:10 UTC (permalink / raw)
To: R Veera Kumar; +Cc: 40322, Danny Milosavljevic
[-- Attachment #1: Type: text/plain, Size: 1028 bytes --]
On Mon, Mar 30, 2020 at 10:28:08PM +0530, R Veera Kumar wrote:
> 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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#40322] [PATCH v3] gnu: Add Xplanet.
2020-03-30 8:19 [bug#40322] [PATCH] gnu: Add Xplanet R Veera Kumar
2020-03-30 10:54 ` Danny Milosavljevic
2020-03-30 16:58 ` [bug#40322] [PATCH v2] " R Veera Kumar
@ 2020-03-31 7:57 ` R Veera Kumar
2020-03-31 14:50 ` Eric Bavier
2020-04-02 10:53 ` [bug#40322] [PATCH v4] gnu: Add xplanet R Veera Kumar
3 siblings, 1 reply; 9+ messages in thread
From: R Veera Kumar @ 2020-03-31 7:57 UTC (permalink / raw)
To: 40322
* gnu/packages/astronomy.scm (xplanet): New variable.
* gnu/packages/patches/xplanet-1.3.1-remove-null-comparison.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-readConfig-fixclang.cpp.patch: New file.
* gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch: New file.
* gnu/packages/astronomy.scm (xplanet)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add them.
Signed-off-by: R Veera Kumar <vkor@vkten.in>
---
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 | 6 +
gnu/packages/astronomy.scm | 52 ++++++
...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 ++
7 files changed, 382 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
diff --git a/gnu/local.mk b/gnu/local.mk
index eec65c6565..1470b227d9 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.
#
@@ -1524,6 +1525,11 @@ 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-remove-null-comparison.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-readConfig-fixclang.cpp.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..49fe76128e 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,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (srfi srfi-1))
@@ -289,3 +293,51 @@ 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-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"
+ "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
+ "--without-cspice"))) ;; no jpl cspice support
+ (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-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-readConfig-fixclang.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-readConfig-fixclang.cpp.patch
new file mode 100644
index 0000000000..102887b780
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-readConfig-fixclang.cpp.patch
@@ -0,0 +1,78 @@
+Origin: $NetBSD: patch-src_readConfig-fixclang.cpp,v 1.2 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/readConfig.cpp xplanet-1.3.1.new/src/readConfig.cpp
+--- xplanet-1.3.1/src/readConfig.cpp 2013-02-17 01:07:47.000000000 +0530
++++ xplanet-1.3.1.new/src/readConfig.cpp 2020-03-28 22:17:19.919078929 +0530
+@@ -4,6 +4,7 @@
+ #include <fstream>
+ #include <sstream>
+ #include <string>
++#include <clocale>
+ using namespace std;
+
+ #include "body.h"
+@@ -20,6 +21,8 @@
+ static PlanetProperties *defaultProperties;
+ static PlanetProperties *currentProperties;
+
++static inline unsigned char i2b( int x ) { return static_cast<unsigned int>(x) & 0xffU; }
++
+ static void
+ readConfig(const char *line, PlanetProperties *planetProperties[])
+ {
+@@ -49,7 +52,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->ArcColor(color);
+ }
+ else
+@@ -179,7 +182,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->Color(color);
+ }
+ else
+@@ -244,7 +247,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->GridColor(color);
+ }
+ else
+@@ -296,7 +299,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->MarkerColor(color);
+ }
+ else
+@@ -403,7 +406,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->OrbitColor(color);
+ }
+ else
+@@ -473,7 +476,7 @@
+ int r, g, b;
+ if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { i2b(r), i2b(g), i2b(b) };
+ currentProperties->TextColor(color);
+ }
+ else
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'))
+ readArcFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+@@ -292,7 +292,7 @@
+ {
+ ifstream inFile(arcFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline (line, 256, '\n') != NULL)
++ while (inFile.getline (line, 256, '\n'))
+ readArcFile(line, NULL, view, NULL, NULL, annotationMap);
+
+ inFile.close();
+Index: src/libannotate/addMarkers.cpp
+===================================================================
+diff --git a/src/libannotate/addMarkers.cpp b/src/libannotate/addMarkers.cpp
+--- a/src/libannotate/addMarkers.cpp (revision 206)
++++ b/src/libannotate/addMarkers.cpp (revision 207)
+@@ -429,7 +429,7 @@
+ {
+ 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'))
+ {
+ unsigned char color[3];
+ memcpy(color, planetProperties->MarkerColor(), 3);
+@@ -475,7 +475,7 @@
+ {
+ 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'))
+ {
+ unsigned char color[3];
+ memcpy(color, options->Color(), 3);
+Index: src/libannotate/addSatellites.cpp
+===================================================================
+diff --git a/src/libannotate/addSatellites.cpp b/src/libannotate/addSatellites.cpp
+--- a/src/libannotate/addSatellites.cpp (revision 206)
++++ b/src/libannotate/addSatellites.cpp (revision 207)
+@@ -488,10 +488,10 @@
+ {
+ ifstream inFile(tleFile.c_str());
+ char lines[3][80];
+- while (inFile.getline(lines[0], 80) != NULL)
++ while (inFile.getline(lines[0], 80))
+ {
+- if ((inFile.getline(lines[1], 80) == NULL)
+- || (inFile.getline(lines[2], 80) == NULL))
++ if ((!inFile.getline(lines[1], 80))
++ || (!inFile.getline(lines[2], 80)))
+ {
+ ostringstream errStr;
+ errStr << "Malformed TLE file (" << tleFile << ")?\n";
+@@ -542,7 +542,7 @@
+ {
+ 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'))
+ readSatelliteFile(line, planet, view, projection,
+ planetProperties, annotationMap);
+
+Index: src/libannotate/addSpiceObjects.cpp
+===================================================================
+diff --git a/src/libannotate/addSpiceObjects.cpp b/src/libannotate/addSpiceObjects.cpp
+--- a/src/libannotate/addSpiceObjects.cpp (revision 206)
++++ b/src/libannotate/addSpiceObjects.cpp (revision 207)
+@@ -524,7 +524,7 @@
+ {
+ 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'))
+ {
+ int ii = 0;
+ while (isDelimiter(line[ii]))
+@@ -576,7 +576,7 @@
+ {
+ 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'))
+ readSpiceFile(line, planetsFromSunMap, view, projection,
+ annotationMap);
+ inFile.close();
+Index: src/libmultiple/RayleighScattering.cpp
+===================================================================
+diff --git a/src/libmultiple/RayleighScattering.cpp b/src/libmultiple/RayleighScattering.cpp
+--- a/src/libmultiple/RayleighScattering.cpp (revision 206)
++++ b/src/libmultiple/RayleighScattering.cpp (revision 207)
+@@ -369,7 +369,7 @@
+
+ diskTemplate_.clear();
+ limbTemplate_.clear();
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -439,7 +439,7 @@
+ values.clear();
+
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+@@ -470,7 +470,7 @@
+ double &value)
+ {
+ char line[MAX_LINE_LENGTH];
+- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++ while (inFile.getline(line, MAX_LINE_LENGTH, '\n'))
+ {
+ int i = 0;
+ while (isDelimiter(line[i]))
+Index: src/libmultiple/drawStars.cpp
+===================================================================
+diff --git a/src/libmultiple/drawStars.cpp b/src/libmultiple/drawStars.cpp
+--- a/src/libmultiple/drawStars.cpp (revision 206)
++++ b/src/libmultiple/drawStars.cpp (revision 207)
+@@ -41,7 +41,7 @@
+ 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'))
+ {
+ if (line[0] == '#') continue;
+
+Index: src/readConfig.cpp
+===================================================================
+diff --git a/src/readConfig.cpp b/src/readConfig.cpp
+--- a/src/readConfig.cpp (revision 206)
++++ b/src/readConfig.cpp (revision 207)
+@@ -550,7 +550,7 @@
+
+ ifstream inFile(configFile.c_str());
+ char *line = new char[256];
+- while (inFile.getline(line, 256, '\n') != NULL)
++ while (inFile.getline(line, 256, '\n'))
+ readConfig(line, planetProperties);
+
+ // This condition will only be true if [default] is the only
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
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#40322] [PATCH v3] gnu: Add Xplanet.
2020-03-31 7:57 ` [bug#40322] [PATCH v3] " R Veera Kumar
@ 2020-03-31 14:50 ` Eric Bavier
2020-04-01 17:08 ` R Veera Kumar
0 siblings, 1 reply; 9+ messages in thread
From: Eric Bavier @ 2020-03-31 14:50 UTC (permalink / raw)
To: R Veera Kumar; +Cc: 40322, Guix-patches
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?
> + "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.
> 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
--
`~Eric
^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#40322] [PATCH v3] gnu: Add Xplanet.
2020-03-31 14:50 ` Eric Bavier
@ 2020-04-01 17:08 ` R Veera Kumar
0 siblings, 0 replies; 9+ messages in thread
From: R Veera Kumar @ 2020-04-01 17:08 UTC (permalink / raw)
To: Eric Bavier; +Cc: 40322, Guix-patches
On Tue, Mar 31, 2020 at 09:50:27AM -0500, Eric Bavier wrote:
> 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.
> > + "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.
> > 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
> --
> `~Eric
^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#40322] [PATCH v4] gnu: Add xplanet.
2020-03-30 8:19 [bug#40322] [PATCH] gnu: Add Xplanet R Veera Kumar
` (2 preceding siblings ...)
2020-03-31 7:57 ` [bug#40322] [PATCH v3] " R Veera Kumar
@ 2020-04-02 10:53 ` R Veera Kumar
2020-04-05 4:39 ` bug#40322: " Eric Bavier
3 siblings, 1 reply; 9+ messages in thread
From: R Veera Kumar @ 2020-04-02 10:53 UTC (permalink / raw)
To: 40322; +Cc: R Veera Kumar
* 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
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
^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#40322: [PATCH v4] gnu: Add xplanet.
2020-04-02 10:53 ` [bug#40322] [PATCH v4] gnu: Add xplanet R Veera Kumar
@ 2020-04-05 4:39 ` Eric Bavier
0 siblings, 0 replies; 9+ messages in thread
From: Eric Bavier @ 2020-04-05 4:39 UTC (permalink / raw)
To: R Veera Kumar; +Cc: 40322-done, Guix-patches
On 02.04.2020 05:53, R Veera Kumar wrote:
> * gnu/packages/astronomy.scm (xplanet): New variable.
Pushed with slightly adjusted commit message in
77704cb13e5bebf412297dab764a00849a3cfdc0
Thanks!
`~Eric
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-04-05 4:40 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-30 8:19 [bug#40322] [PATCH] gnu: Add Xplanet R Veera Kumar
2020-03-30 10:54 ` Danny Milosavljevic
2020-03-30 16:58 ` [bug#40322] [PATCH v2] " R Veera Kumar
2020-03-30 20:10 ` Jakub Kądziołka
2020-03-31 7:57 ` [bug#40322] [PATCH v3] " R Veera Kumar
2020-03-31 14:50 ` Eric Bavier
2020-04-01 17:08 ` R Veera Kumar
2020-04-02 10:53 ` [bug#40322] [PATCH v4] gnu: Add xplanet R Veera Kumar
2020-04-05 4:39 ` bug#40322: " Eric Bavier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.