gnu: Add xplanet.
* gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch, gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch, gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch, gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch: New files. * gnu/packages/astronomy.scm (xplanet): New variable. [source]: Use patches. * gnu/local.mk (dist_patch_DATA): Add them. Signed-off-by: Eric Bavier <bavier@member.fsf.org>
This commit is contained in:
parent
084d156563
commit
77704cb13e
@ -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.
|
||||
#
|
||||
@ -1532,6 +1533,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 \
|
||||
|
@ -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+)))
|
||||
|
154
gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch
Normal file
154
gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch
Normal file
@ -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
|
@ -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];
|
54
gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
Normal file
54
gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
Normal file
@ -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);
|
@ -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;
|
Loading…
Reference in New Issue
Block a user