xephem: init at 4.2.0
This commit is contained in:
parent
e573e232ff
commit
96ed2deb2e
153
pkgs/by-name/xe/xephem/add-cross-compilation-support.patch
Normal file
153
pkgs/by-name/xe/xephem/add-cross-compilation-support.patch
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
diff --git a/libastro/Makefile b/libastro/Makefile
|
||||||
|
index 0a8ecb6..b24e827 100644
|
||||||
|
--- a/libastro/Makefile
|
||||||
|
+++ b/libastro/Makefile
|
||||||
|
@@ -3,6 +3,9 @@
|
||||||
|
|
||||||
|
# compiler and flags
|
||||||
|
|
||||||
|
+AR = ar
|
||||||
|
+RANLIB = ranlib
|
||||||
|
+
|
||||||
|
# gcc
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS= -O2 -Wall
|
||||||
|
@@ -83,8 +86,8 @@ OBJS = \
|
||||||
|
vsop87_data.o
|
||||||
|
|
||||||
|
libastro.a: $(HS) $(OBJS)
|
||||||
|
- ar rv $@ $(OBJS)
|
||||||
|
- ranlib $@
|
||||||
|
+ $(AR) rv $@ $(OBJS)
|
||||||
|
+ $(RANLIB) $@
|
||||||
|
|
||||||
|
libastro.so: $(HS) $(OBJS)
|
||||||
|
$(CC) -shared -o $@ $(OBJS)
|
||||||
|
diff --git a/libip/Makefile b/libip/Makefile
|
||||||
|
index 5c36ac8..e223dca 100644
|
||||||
|
--- a/libip/Makefile
|
||||||
|
+++ b/libip/Makefile
|
||||||
|
@@ -1,6 +1,9 @@
|
||||||
|
# Makefile for image processing routines, libip.
|
||||||
|
# (C) 2001 Elwood Charles Downey
|
||||||
|
|
||||||
|
+AR = ar
|
||||||
|
+RANLIB = ranlib
|
||||||
|
+
|
||||||
|
# gcc
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS= -I../libastro -O2 -Wall
|
||||||
|
@@ -36,11 +39,11 @@ OBJS = \
|
||||||
|
HS = ip.h fsmatch.h
|
||||||
|
|
||||||
|
libip.a: $(HS) $(OBJS)
|
||||||
|
- ar rv $@ $(OBJS)
|
||||||
|
- ranlib $@
|
||||||
|
+ $(AR) rv $@ $(OBJS)
|
||||||
|
+ $(RANLIB) $@
|
||||||
|
|
||||||
|
libip.so: $(OBJS)
|
||||||
|
- gcc -shared -o $@ $(OBJS)
|
||||||
|
+ $(CC) -shared -o $@ $(OBJS)
|
||||||
|
|
||||||
|
clobber:
|
||||||
|
rm -f *.o libip.a
|
||||||
|
diff --git a/libjpegd/Makefile b/libjpegd/Makefile
|
||||||
|
index 46ea040..7562fc5 100644
|
||||||
|
--- a/libjpegd/Makefile
|
||||||
|
+++ b/libjpegd/Makefile
|
||||||
|
@@ -2,6 +2,9 @@
|
||||||
|
|
||||||
|
# compiler and flags
|
||||||
|
|
||||||
|
+AR = ar
|
||||||
|
+RANLIB = ranlib
|
||||||
|
+
|
||||||
|
# gcc
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS= -O2 -Wall
|
||||||
|
@@ -62,8 +65,8 @@ OBJS = \
|
||||||
|
jutils.o
|
||||||
|
|
||||||
|
libjpegd.a: $(HS) $(OBJS)
|
||||||
|
- ar r $@ $(OBJS)
|
||||||
|
- ranlib $@
|
||||||
|
+ $(AR) r $@ $(OBJS)
|
||||||
|
+ $(RANLIB) $@
|
||||||
|
|
||||||
|
clobber:
|
||||||
|
touch x.o x.a
|
||||||
|
diff --git a/liblilxml/Makefile b/liblilxml/Makefile
|
||||||
|
index 2e73761..7f3f2c3 100644
|
||||||
|
--- a/liblilxml/Makefile
|
||||||
|
+++ b/liblilxml/Makefile
|
||||||
|
@@ -3,6 +3,9 @@
|
||||||
|
|
||||||
|
# compiler and flags
|
||||||
|
|
||||||
|
+AR = ar
|
||||||
|
+RANLIB = ranlib
|
||||||
|
+
|
||||||
|
# gcc
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS= -O2 -Wall
|
||||||
|
@@ -27,8 +30,8 @@ HS = lilxml.h
|
||||||
|
OBJS = lilxml.o base64.o
|
||||||
|
|
||||||
|
liblilxml.a: $(HS) $(OBJS)
|
||||||
|
- ar r $@ $(OBJS)
|
||||||
|
- ranlib $@
|
||||||
|
+ $(AR) r $@ $(OBJS)
|
||||||
|
+ $(RANLIB) $@
|
||||||
|
|
||||||
|
liltest: liltest.o liblilxml.a
|
||||||
|
$(CC) $(LDFLAGS) -o liltest liltest.o liblilxml.a
|
||||||
|
diff --git a/libpng/Makefile b/libpng/Makefile
|
||||||
|
index 5f332cc..6217f2f 100644
|
||||||
|
--- a/libpng/Makefile
|
||||||
|
+++ b/libpng/Makefile
|
||||||
|
@@ -10,7 +10,7 @@ ZLIBLIB = ../libz
|
||||||
|
# Compiler, linker, lib and other tools
|
||||||
|
CC = gcc
|
||||||
|
LD = $(CC)
|
||||||
|
-AR = ar rcs
|
||||||
|
+AR = ar
|
||||||
|
RANLIB = ranlib
|
||||||
|
RM = rm -f
|
||||||
|
|
||||||
|
@@ -38,7 +38,7 @@ OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
|
||||||
|
all: libpng$(A)
|
||||||
|
|
||||||
|
libpng$(A): $(OBJS)
|
||||||
|
- $(AR) $@ $(OBJS)
|
||||||
|
+ $(AR) rcs $@ $(OBJS)
|
||||||
|
$(RANLIB) $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
diff --git a/libz/Makefile b/libz/Makefile
|
||||||
|
index 773f3ed..0fc73c0 100644
|
||||||
|
--- a/libz/Makefile
|
||||||
|
+++ b/libz/Makefile
|
||||||
|
@@ -1,3 +1,7 @@
|
||||||
|
+AR = ar
|
||||||
|
+RANLIB = ranlib
|
||||||
|
+
|
||||||
|
+CC = cc
|
||||||
|
CLDFLAGS =
|
||||||
|
CFLAGS = $(CLDFLAGS) -Wall -O2
|
||||||
|
LDFLAGS =
|
||||||
|
@@ -17,11 +21,11 @@ OBJS = adler32.o \
|
||||||
|
inffast.o
|
||||||
|
|
||||||
|
libz.a: $(OBJS)
|
||||||
|
- ar rc libz.a $(OBJS)
|
||||||
|
- -ranlib libz.a
|
||||||
|
+ $(AR) rc libz.a $(OBJS)
|
||||||
|
+ $(RANLIB) libz.a
|
||||||
|
|
||||||
|
testzlib: testzlib.o libz.a
|
||||||
|
- cc $(LDFLAGS) -o testzlib testzlib.o libz.a
|
||||||
|
+ $(CC) $(LDFLAGS) -o testzlib testzlib.o libz.a
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o *.a testzlib
|
||||||
112
pkgs/by-name/xe/xephem/package.nix
Normal file
112
pkgs/by-name/xe/xephem/package.nix
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
fetchpatch,
|
||||||
|
makeDesktopItem,
|
||||||
|
copyDesktopItems,
|
||||||
|
installShellFiles,
|
||||||
|
motif,
|
||||||
|
openssl,
|
||||||
|
groff,
|
||||||
|
xorg,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "xephem";
|
||||||
|
version = "4.2.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "XEphem";
|
||||||
|
repo = "XEphem";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-TuzXrWoJOAHg31DrJObPcHBXgtqR/KWKFRsqddPzL4c=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
copyDesktopItems
|
||||||
|
installShellFiles
|
||||||
|
groff # nroff
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
motif
|
||||||
|
openssl
|
||||||
|
xorg.libXmu
|
||||||
|
xorg.libXext
|
||||||
|
xorg.libXt
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# fix compile error with GCC 14
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/XEphem/XEphem/commit/30e14f685ede015fcd8985cd83ee6510f93f0073.patch";
|
||||||
|
hash = "sha256-wNoLjR6xEl56ZA6FLBS2xtySeDEYXTCA8j4Z5JIrF6k=";
|
||||||
|
})
|
||||||
|
./add-cross-compilation-support.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
cd GUI/xephem
|
||||||
|
substituteInPlace xephem.c splash.c --replace-fail '/etc/XEphem' '${placeholder "out"}/etc/XEphem'
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
checkFlags = "-C ../../tests";
|
||||||
|
|
||||||
|
checkTarget = "run-test";
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"CC=${stdenv.cc.targetPrefix}cc"
|
||||||
|
"AR=${stdenv.cc.targetPrefix}ar"
|
||||||
|
"RANLIB=${stdenv.cc.targetPrefix}ranlib"
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
installBin xephem
|
||||||
|
mkdir -p $out/share/xephem
|
||||||
|
cp -R auxil $out/share/xephem/
|
||||||
|
cp -R catalogs $out/share/xephem/
|
||||||
|
cp -R fifos $out/share/xephem/
|
||||||
|
cp -R fits $out/share/xephem/
|
||||||
|
cp -R gallery $out/share/xephem/
|
||||||
|
cp -R help $out/share/xephem/
|
||||||
|
cp -R lo $out/share/xephem/
|
||||||
|
mkdir $out/etc
|
||||||
|
echo "XEphem.ShareDir: $out/share/xephem" > $out/etc/XEphem
|
||||||
|
installManPage xephem.1
|
||||||
|
install -Dm644 XEphem.png -t $out/share/pixmaps
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "xephem";
|
||||||
|
exec = "xephem";
|
||||||
|
icon = "XEphem";
|
||||||
|
desktopName = "XEphem";
|
||||||
|
categories = [
|
||||||
|
"Science"
|
||||||
|
"Astronomy"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Interactive astronomy program for all UNIX platforms";
|
||||||
|
longDescription = ''
|
||||||
|
Xephem is an interactive astronomical ephemeris program for X Windows systems. It computes
|
||||||
|
heliocentric, geocentric and topocentric information for fixed celestial objects and objects
|
||||||
|
in heliocentric and geocentric orbits; has built-in support for all planet positions; the
|
||||||
|
moons of Jupiter, Saturn and Earth; Mars' and Jupiter's central meridian longitude; Saturn's
|
||||||
|
rings; and Jupiter's Great Red Spot.
|
||||||
|
'';
|
||||||
|
mainProgram = "xephem";
|
||||||
|
homepage = "https://xephem.github.io/XEphem/Site/xephem.html";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ EstebanMacanek ];
|
||||||
|
platforms = lib.platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user