From 7343c38d57d641e7be5a88b6d46c02f6d3e24641 Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Fri, 7 Oct 2022 17:38:31 +0200
Subject: [PATCH 01/21] Set build flags for EPEL
---
xephem.spec | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/xephem.spec b/xephem.spec
index 9ade55a..294cbfa 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -75,6 +75,10 @@ cp liblilxml/LICENSE LICENSE.liblilxml
%build
+%if 0%{?epel}
+%set_build_flags
+%endif
+
pushd GUI/xephem
%make_build
popd
From 3a1067cdb73484e60f84440b82b00eb1b52ad0e1 Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Mon, 10 Oct 2022 18:09:49 +0200
Subject: [PATCH 02/21] Add libxml2 to BR and fix patch
...
- Add gzip and curl to runtime dependencies
---
xephem.spec | 3 +++
xephem_makefile.patch | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/xephem.spec b/xephem.spec
index 294cbfa..dd23dd8 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -35,9 +35,12 @@ BuildRequires: motif-devel
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libssl)
+BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(zlib)
Requires: %{name}-data = %{version}-%{release}
+Requires: curl
+Requires: gzip
%description
XEphem is a scientific-grade interactive astronomical ephemeris software.
diff --git a/xephem_makefile.patch b/xephem_makefile.patch
index 7688e0c..2236585 100644
--- a/xephem_makefile.patch
+++ b/xephem_makefile.patch
@@ -10,7 +10,7 @@ diff -udHrN -- a/GUI/xephem/Makefile b/GUI/xephem/Makefile
-LIBLIB = -lastro -lip -llilxml -ljpegd -lpng -lz
+LIBINC = -I../../libastro -I../../libip -I../../liblilxml
+LIBLNK = -L../../libastro -L../../libip -L../../liblilxml
-+LIBLIB = -lastro -lip -llilxml -ljpeg -lpng -lz
++LIBLIB = -lastro -lip -llilxml -ljpeg -lpng -lz -lxml2
# MOTIFI is the directory containing the Xm directory of include files.
# MOTIFL is the directory containing the libXm.a library.
From 6098e65f257349c14bfc24ade87edaac8b147874 Mon Sep 17 00:00:00 2001
From: Florian Weimer
Date: Thu, 19 Jan 2023 13:00:40 +0100
Subject: [PATCH 03/21] C99 compatibility fix
Related to:
---
xephem-c99.patch | 19 +++++++++++++++++++
xephem.spec | 1 +
2 files changed, 20 insertions(+)
create mode 100644 xephem-c99.patch
diff --git a/xephem-c99.patch b/xephem-c99.patch
new file mode 100644
index 0000000..66107cc
--- /dev/null
+++ b/xephem-c99.patch
@@ -0,0 +1,19 @@
+Define _GNU_SOURCE, so that declares strptime, an X/Open
+extension that is not available by default in the glibc headers.
+
+Submitted upstream:
+
+diff --git a/GUI/xephem/sunmenu.c b/GUI/xephem/sunmenu.c
+index 0bedcff3971e1ec4..62540d396e5ece68 100644
+--- a/GUI/xephem/sunmenu.c
++++ b/GUI/xephem/sunmenu.c
+@@ -1,6 +1,9 @@
+ /* code to manage the sun display
+ */
+
++/* For the declaration of strptime in . */
++#define _GNU_SOURCE
++
+ #include
+ #include
+ #include
diff --git a/xephem.spec b/xephem.spec
index dd23dd8..6f2a71f 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -21,6 +21,7 @@ Source0: https://github.com/XEphem/XEphem/archive/%{commit}/XEphem-%{comm
%endif
# Desktop file is not provided by upstream
Source1: io.github.xephem.desktop
+Patch0: xephem-c99.patch
# Patch to use system libraries and not override CFLAGS
Patch: xephem_makefile.patch
From 4244bd0166e4b9d3cef8766b74fb5d15afc77a67 Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Sat, 11 Feb 2023 18:17:28 +0100
Subject: [PATCH 04/21] Patch sources to use cmake for build and install
---
.gitignore | 1 +
sources | 2 +-
xephem.spec | 53 +++--
xephem_with_cmake.patch | 449 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 482 insertions(+), 23 deletions(-)
create mode 100644 xephem_with_cmake.patch
diff --git a/.gitignore b/.gitignore
index 0281d8d..d65509e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/XEphem-b7bfc6eb31464287b5d65cb3f1e36d7dbf3dd381.tar.gz
+/XEphem-0a1b50503bdf202fb6fa7ca62124b0242a004e69.tar.gz
diff --git a/sources b/sources
index 637ad5c..cb41543 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (XEphem-b7bfc6eb31464287b5d65cb3f1e36d7dbf3dd381.tar.gz) = ca1793215c9f8e6070d69b73dabe932de19eeffaa266cf8bd4b1b4dd291cc1114b0093fb9620c5c872f4b59c172b8cfed830f5a8ac395134e643a1a43fee4473
+SHA512 (XEphem-0a1b50503bdf202fb6fa7ca62124b0242a004e69.tar.gz) = b50ca06efddaa5fb6104fe34429256db05b939bf8b4f30f1855a7ee084bcaa319582088194ad14503736f9694c59a1f94a0f9c1d3e4c9e2c6f46841f37bda10e
diff --git a/xephem.spec b/xephem.spec
index 6f2a71f..919d968 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -1,7 +1,7 @@
#%%global gittag 4.1.0
-%global commit b7bfc6eb31464287b5d65cb3f1e36d7dbf3dd381
+%global commit 0a1b50503bdf202fb6fa7ca62124b0242a004e69
%global shortcommit %(c=%{commit}; echo ${c:0:7})
-%global date 20221006
+%global date 20230114
Name: xephem
%if "%{?gittag}"
@@ -24,7 +24,11 @@ Source1: io.github.xephem.desktop
Patch0: xephem-c99.patch
# Patch to use system libraries and not override CFLAGS
+# Proposed upstream: https://github.com/XEphem/XEphem/pull/58
Patch: xephem_makefile.patch
+# Patch to use cmake to build and install
+# Proposed upstream: https://github.com/XEphem/XEphem/pull/60
+Patch: xephem_with_cmake.patch
ExcludeArch: %{ix86}
@@ -83,36 +87,41 @@ cp liblilxml/LICENSE LICENSE.liblilxml
%set_build_flags
%endif
-pushd GUI/xephem
-%make_build
-popd
+%cmake
+%cmake_build
+
+# Old manual build method
+#pushd GUI/xephem
+#%%make_build
+#popd
%install
-# There's no automated install
-mkdir -p %{buildroot}%{_bindir}
-mkdir -p %{buildroot}%{_sysconfdir}
-mkdir -p %{buildroot}%{_mandir}/man1/
-mkdir -p %{buildroot}%{_datadir}/%{name}
+%cmake_install
-pushd GUI/xephem
-install -p -m0755 %{name} %{buildroot}/%{_bindir}
-install -p -m0644 %{name}.1 %{buildroot}/%{_mandir}/man1/
-cp -pR auxil %{buildroot}%{_datadir}/%{name}
-cp -pR catalogs %{buildroot}%{_datadir}/%{name}
-cp -pR fifos %{buildroot}%{_datadir}/%{name}
-cp -pR fits %{buildroot}%{_datadir}/%{name}
-cp -pR gallery %{buildroot}%{_datadir}/%{name}
-cp -pR help %{buildroot}%{_datadir}/%{name}
-cp -pR lo %{buildroot}%{_datadir}/%{name}
+# Old manual install method
+# There's no automated install
+#mkdir -p %%{buildroot}%%{_bindir}
+#mkdir -p %%{buildroot}%%{_mandir}/man1/
+#mkdir -p %%{buildroot}%%{_datadir}/%%{name}
+#pushd GUI/xephem
+#install -p -m0755 %%{name} %%{buildroot}/%%{_bindir}
+#install -p -m0644 %%{name}.1 %%{buildroot}/%%{_mandir}/man1/
+#cp -pR auxil %%{buildroot}%%{_datadir}/%%{name}
+#cp -pR catalogs %%{buildroot}%%{_datadir}/%%{name}
+#cp -pR fifos %%{buildroot}%%{_datadir}/%%{name}
+#cp -pR fits %%{buildroot}%%{_datadir}/%%{name}
+#cp -pR gallery %%{buildroot}%%{_datadir}/%%{name}
+#cp -pR help %%{buildroot}%%{_datadir}/%%{name}
+#cp -pR lo %%{buildroot}%%{_datadir}/%%{name}
+#popd
# Create file to tell xephem where to find resources
+mkdir -p %{buildroot}%{_sysconfdir}
cat >%{buildroot}%{_sysconfdir}/XEphem <
+Date: Sun, 8 Jan 2023 16:08:24 +0100
+Subject: [PATCH] Add cmake directives
+
+Signed-off-by: Mattia Verga
+---
+ CMakeLists.txt | 75 +++++++++++++++++++++++++++++++
+ GUI/xephem/CMakeLists.txt | 95 +++++++++++++++++++++++++++++++++++++++
+ libastro/CMakeLists.txt | 69 ++++++++++++++++++++++++++++
+ libip/CMakeLists.txt | 26 +++++++++++
+ libjpegd/CMakeLists.txt | 40 +++++++++++++++++
+ liblilxml/CMakeLists.txt | 16 +++++++
+ libpng/CMakeLists.txt | 30 +++++++++++++
+ libz/CMakeLists.txt | 25 +++++++++++
+ 8 files changed, 376 insertions(+)
+ create mode 100644 CMakeLists.txt
+ create mode 100644 GUI/xephem/CMakeLists.txt
+ create mode 100644 libastro/CMakeLists.txt
+ create mode 100644 libip/CMakeLists.txt
+ create mode 100644 libjpegd/CMakeLists.txt
+ create mode 100644 liblilxml/CMakeLists.txt
+ create mode 100644 libpng/CMakeLists.txt
+ create mode 100644 libz/CMakeLists.txt
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+new file mode 100644
+index 0000000..4b857c7
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,75 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(xephem VERSION 4.1.0 LANGUAGES C)
++set(DISPLAY_NAME "XEphem")
++
++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++
++# Required packages
++find_package(Motif REQUIRED)
++find_package(OpenSSL REQUIRED)
++find_package(X11 REQUIRED)
++
++# Optional packages
++find_package(JPEG)
++find_package(PNG)
++find_package(ZLIB)
++
++# Define installation directories
++if((NOT WIN32) AND (NOT NATIVE_OSX_APP))
++ include(GNUInstallDirs)
++endif()
++if(NATIVE_OSX_APP)
++ set(CMAKE_INSTALL_PREFIX "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.app/Contents")
++ set(CMAKE_INSTALL_FULL_LOCALEDIR "${CMAKE_INSTALL_PREFIX}/Resources/locale")
++ set(CMAKE_INSTALL_BINDIR "MacOS")
++ set(XEPHEM_DATADIR "${CMAKE_INSTALL_PREFIX}/Resources")
++elseif(WIN32)
++ set(CMAKE_INSTALL_BINDIR ".")
++ set(CMAKE_INSTALL_DATAROOTDIR ".")
++ set(CMAKE_INSTALL_DATADIR ".")
++ set(CMAKE_INSTALL_FULL_LOCALEDIR "locale")
++ set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_FULL_LOCALEDIR}")
++ set(XEPHEM_DATADIR "${CMAKE_INSTALL_DATADIR}")
++else()
++ set(XEPHEM_DATADIR "${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}")
++endif()
++
++# Build libraries
++add_subdirectory(libastro)
++add_subdirectory(libip)
++if(NOT JPEG_FOUND)
++ add_subdirectory(libjpegd)
++endif()
++add_subdirectory(liblilxml)
++if(NOT PNG_FOUND)
++ add_subdirectory(libpng)
++endif()
++if(NOT ZLIB_FOUND)
++ add_subdirectory(libz)
++endif()
++
++# Build main program
++add_subdirectory(GUI/xephem)
++
++# Install
++install(TARGETS xephem
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++install(FILES ${CMAKE_BINARY_DIR}/xephem.1
++ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
++install(DIRECTORY GUI/xephem/auxil
++ DESTINATION ${XEPHEM_DATADIR})
++install(DIRECTORY GUI/xephem/catalogs
++ DESTINATION ${XEPHEM_DATADIR})
++install(DIRECTORY GUI/xephem/fifos
++ DESTINATION ${XEPHEM_DATADIR})
++install(DIRECTORY GUI/xephem/fits
++ DESTINATION ${XEPHEM_DATADIR})
++install(DIRECTORY GUI/xephem/gallery
++ DESTINATION ${XEPHEM_DATADIR})
++install(DIRECTORY GUI/xephem/help
++ DESTINATION ${XEPHEM_DATADIR})
++install(DIRECTORY GUI/xephem/lo
++ DESTINATION ${XEPHEM_DATADIR})
+diff --git a/GUI/xephem/CMakeLists.txt b/GUI/xephem/CMakeLists.txt
+new file mode 100644
+index 0000000..5f86fb8
+--- /dev/null
++++ b/GUI/xephem/CMakeLists.txt
+@@ -0,0 +1,95 @@
++cmake_minimum_required(VERSION 3.10)
++
++set(SRC_FILES
++ aavso.c
++ annotmenu.c
++ broadcast.c
++ calmenu.c
++ closemenu.c
++ compiler.c
++ coordsmenu.c
++ datamenu.c
++ db.c
++ dbmenu.c
++ earthmap.c
++ earthmenu.c
++ fallbacks.c
++ favmenu.c
++ formats.c
++ fsmenu.c
++ gallerymenu.c
++ glance.c
++ gsc.c
++ gscnet.c
++ helpmenu.c
++ homeio.c
++ hznmenu.c
++ imregmenu.c
++ indimenu.c
++ jpeg2pm.c
++ jupmenu.c
++ listmenu.c
++ mainmenu.c
++ marsmenu.c
++ marsmmenu.c
++ moonmenu.c
++ moviemenu.c
++ msgmenu.c
++ netmenu.c
++ objmenu.c
++ obslog.c
++ patchlevel.c
++ plot_aux.c
++ plotmenu.c
++ preferences.c
++ progress.c
++ ps.c
++ query.c
++ rotated.c
++ satmenu.c
++ saveres.c
++ scope.c
++ sites.c
++ skybinary.c
++ skyeyep.c
++ skyfifos.c
++ skyfiltmenu.c
++ skyfits.c
++ skyhist.c
++ skyip.c
++ skylist.c
++ skytoolbar.c
++ skyviewmenu.c
++ solsysmenu.c
++ splash.c
++ srchmenu.c
++ sunmenu.c
++ time.c
++ tips.c
++ trailmenu.c
++ ucac.c
++ uranusmenu.c
++ usno.c
++ versionmenu.c
++ webdbmenu.c
++ xe2.c
++ xe3.c
++ xephem.c
++ xmisc.c)
++
++set(TARGET_LIB astro ip lilxml m png ssl Xm Xt Xext Xmu X11 z)
++if(NOT JPEG_FOUND)
++ set(TARGET_LIB ${TARGET_LIB} jpegd)
++else()
++ set(TARGET_LIB ${TARGET_LIB} jpeg)
++endif()
++
++add_executable(xephem ${SRC_FILES})
++target_link_libraries(xephem ${TARGET_LIB})
++
++add_custom_command(TARGET xephem
++ POST_BUILD
++ COMMAND nroff -man ${CMAKE_CURRENT_SOURCE_DIR}/xephem.man > xephem.1
++ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
++ COMMENT "Building manpage"
++ VERBATIM)
+diff --git a/libastro/CMakeLists.txt b/libastro/CMakeLists.txt
+new file mode 100644
+index 0000000..aaa7631
+--- /dev/null
++++ b/libastro/CMakeLists.txt
+@@ -0,0 +1,69 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(libastro C)
++
++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++
++set(SRC_FILES
++ aa_hadec.c
++ aberration.c
++ actan.c
++ airmass.c
++ anomaly.c
++ ap_as.c
++ atlas.c
++ auxil.c
++ bdl.c
++ chap95.c
++ chap95_data.c
++ circum.c
++ comet.c
++ constel.c
++ dbfmt.c
++ deep.c
++ deltat.c
++ earthsat.c
++ eq_ecl.c
++ eq_gal.c
++ formats.c
++ helio.c
++ jupmoon.c
++ libration.c
++ magdecl.c
++ marsmoon.c
++ misc.c
++ mjd.c
++ moon.c
++ mooncolong.c
++ moonnf.c
++ nutation.c
++ obliq.c
++ parallactic.c
++ parallax.c
++ plans.c
++ plmoon.c
++ plshadow.c
++ precess.c
++ reduce.c
++ refract.c
++ rings.c
++ riset.c
++ riset_cir.c
++ satmoon.c
++ sdp4.c
++ sgp4.c
++ sphcart.c
++ sun.c
++ thetag.c
++ twobody.c
++ umoon.c
++ utc_gst.c
++ vsop87.c
++ vsop87_data.c)
++
++add_library(astro STATIC ${SRC_FILES})
++target_include_directories(astro PUBLIC
++ "${CMAKE_CURRENT_BINARY_DIR}"
++ "${CMAKE_CURRENT_SOURCE_DIR}")
+diff --git a/libip/CMakeLists.txt b/libip/CMakeLists.txt
+new file mode 100644
+index 0000000..3d7ac78
+--- /dev/null
++++ b/libip/CMakeLists.txt
+@@ -0,0 +1,26 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(libip C)
++
++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++
++set(SRC_FILES
++ explodegif.c
++ fits.c
++ fsmatch.c
++ gaussfit.c
++ lstsqr.c
++ median.c
++ sqr.c
++ stars.c
++ stats.c
++ walk.c
++ wcs.c)
++
++add_library(ip STATIC ${SRC_FILES})
++target_link_libraries(ip astro)
++target_include_directories(ip PUBLIC
++ "${CMAKE_CURRENT_BINARY_DIR}"
++ "${CMAKE_CURRENT_SOURCE_DIR}")
+diff --git a/libjpegd/CMakeLists.txt b/libjpegd/CMakeLists.txt
+new file mode 100644
+index 0000000..7e4ced4
+--- /dev/null
++++ b/libjpegd/CMakeLists.txt
+@@ -0,0 +1,40 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(libjpegd C)
++
++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++
++set(SRC_FILES
++ jcomapi.c
++ jdapimin.c
++ jdapistd.c
++ jdatasrc.c
++ jdcoefct.c
++ jdcolor.c
++ jddctmgr.c
++ jdhuff.c
++ jdinput.c
++ jdmainct.c
++ jdmarker.c
++ jdmaster.c
++ jdmerge.c
++ jdphuff.c
++ jdpostct.c
++ jdsample.c
++ jerror.c
++ jidctflt.c
++ jidctfst.c
++ jidctint.c
++ jidctred.c
++ jmemmgr.c
++ jmemnobs.c
++ jquant1.c
++ jquant2.c
++ jutils.c)
++
++add_library(jpegd STATIC ${SRC_FILES})
++target_include_directories(jpegd PUBLIC
++ "${CMAKE_CURRENT_BINARY_DIR}"
++ "${CMAKE_CURRENT_SOURCE_DIR}")
+diff --git a/liblilxml/CMakeLists.txt b/liblilxml/CMakeLists.txt
+new file mode 100644
+index 0000000..6abc3cb
+--- /dev/null
++++ b/liblilxml/CMakeLists.txt
+@@ -0,0 +1,16 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(liblilxml C)
++
++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++
++set(SRC_FILES
++ base64.c
++ lilxml.c)
++
++add_library(lilxml STATIC ${SRC_FILES})
++target_include_directories(lilxml PUBLIC
++ "${CMAKE_CURRENT_BINARY_DIR}"
++ "${CMAKE_CURRENT_SOURCE_DIR}")
+diff --git a/libpng/CMakeLists.txt b/libpng/CMakeLists.txt
+new file mode 100644
+index 0000000..abacd7b
+--- /dev/null
++++ b/libpng/CMakeLists.txt
+@@ -0,0 +1,30 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(libpng C)
++
++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++
++set(SRC_FILES
++ png.c
++ pngerror.c
++ pngget.c
++ pngmem.c
++ pngpread.c
++ pngread.c
++ pngrio.c
++ pngrtran.c
++ pngrutil.c
++ pngset.c
++ pngtrans.c
++ pngwio.c
++ pngwrite.c
++ pngwtran.c
++ pngwutil.c)
++
++add_library(png STATIC ${SRC_FILES})
++target_link_libraries(png z)
++target_include_directories(png PUBLIC
++ "${CMAKE_CURRENT_BINARY_DIR}"
++ "${CMAKE_CURRENT_SOURCE_DIR}")
+diff --git a/libz/CMakeLists.txt b/libz/CMakeLists.txt
+new file mode 100644
+index 0000000..1294b70
+--- /dev/null
++++ b/libz/CMakeLists.txt
+@@ -0,0 +1,25 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(libz C)
++
++set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
++
++set(SRC_FILES
++ adler32.c
++ compress.c
++ crc32.c
++ deflate.c
++ inffast.c
++ inflate.c
++ inftrees.c
++ testzlib.c
++ trees.c
++ uncompr.c
++ zutil.c)
++
++add_library(z STATIC ${SRC_FILES})
++target_include_directories(z PUBLIC
++ "${CMAKE_CURRENT_BINARY_DIR}"
++ "${CMAKE_CURRENT_SOURCE_DIR}")
From e3a9e0b3bb6673fbd368254ba25e44dbedf3d4f8 Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Sat, 11 Feb 2023 18:30:33 +0100
Subject: [PATCH 05/21] Fix patch order
[skip changelog]
---
xephem.spec | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/xephem.spec b/xephem.spec
index 919d968..b323819 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -26,10 +26,16 @@ Patch0: xephem-c99.patch
# Patch to use system libraries and not override CFLAGS
# Proposed upstream: https://github.com/XEphem/XEphem/pull/58
Patch: xephem_makefile.patch
+
# Patch to use cmake to build and install
# Proposed upstream: https://github.com/XEphem/XEphem/pull/60
Patch: xephem_with_cmake.patch
+# Define _GNU_SOURCE, so that declares strptime, an X/Open
+# extension that is not available by default in the glibc headers.
+# Submitted upstream:
+Patch: xephem-c99.patch
+
ExcludeArch: %{ix86}
BuildRequires: desktop-file-utils
From 36eebaf6e7aaafcefc8e6db04adb695267798355 Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Sat, 11 Feb 2023 18:39:08 +0100
Subject: [PATCH 06/21] Fix it again
[skip changelog]
---
xephem.spec | 1 -
1 file changed, 1 deletion(-)
diff --git a/xephem.spec b/xephem.spec
index b323819..94379ac 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -21,7 +21,6 @@ Source0: https://github.com/XEphem/XEphem/archive/%{commit}/XEphem-%{comm
%endif
# Desktop file is not provided by upstream
Source1: io.github.xephem.desktop
-Patch0: xephem-c99.patch
# Patch to use system libraries and not override CFLAGS
# Proposed upstream: https://github.com/XEphem/XEphem/pull/58
From 733933fea350e1e386a38cf0f3a266dde82ced4a Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Sat, 11 Feb 2023 18:45:53 +0100
Subject: [PATCH 07/21] Fix patch for new sources
---
xephem_makefile.patch | 82 +++++++++----------------------------------
1 file changed, 17 insertions(+), 65 deletions(-)
diff --git a/xephem_makefile.patch b/xephem_makefile.patch
index 2236585..6295c46 100644
--- a/xephem_makefile.patch
+++ b/xephem_makefile.patch
@@ -1,36 +1,22 @@
-diff -udHrN -- a/GUI/xephem/Makefile b/GUI/xephem/Makefile
---- a/GUI/xephem/Makefile 2022-01-27 20:27:21.000000000 +0100
-+++ b/GUI/xephem/Makefile 2022-09-01 09:48:57.743617610 +0200
-@@ -9,9 +9,9 @@
- # one executable, xephem.
-
- # These -I and -L flags point to the supporting XEphem libraries
--LIBINC = -I../../libastro -I../../libip -I../../liblilxml -I../../libjpegd -I../../libpng -I../../libz
--LIBLNK = -L../../libastro -L../../libip -L../../liblilxml -L../../libjpegd -L../../libpng -L../../libz
--LIBLIB = -lastro -lip -llilxml -ljpegd -lpng -lz
-+LIBINC = -I../../libastro -I../../libip -I../../liblilxml
-+LIBLNK = -L../../libastro -L../../libip -L../../liblilxml
-+LIBLIB = -lastro -lip -llilxml -ljpeg -lpng -lz -lxml2
-
- # MOTIFI is the directory containing the Xm directory of include files.
- # MOTIFL is the directory containing the libXm.a library.
-@@ -31,8 +31,8 @@
- # for linux and Apple OS X
- CC = gcc
- CLDFLAGS = -g
--CFLAGS = $(LIBINC) $(CLDFLAGS) -O2 -Wall -I$(MOTIFI) -I/opt/X11/include
--LDFLAGS = $(LIBLNK) $(CLDFLAGS) -L$(MOTIFL) -L/opt/X11/lib
-+CFLAGS += -I$(MOTIFI) -I/opt/X11/include $(LIBINC)
-+LDFLAGS += -L$(MOTIFL) -L/opt/X11/lib $(LIBLNK)
- XLIBS = -lXm -lXt -lXext -lXmu -lX11
- LIBS = $(XLIBS) $(LIBLIB) -lm -lssl
-
-@@ -185,21 +185,21 @@
+From 8b0dc944284def804b99bcee436f93d19b44c0da Mon Sep 17 00:00:00 2001
+From: Mattia Verga
+Date: Thu, 1 Sep 2022 10:22:20 +0200
+Subject: [PATCH] Make build parallel safe
+
+---
+ GUI/xephem/Makefile | 20 +++++++++++---------
+ 1 file changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/GUI/xephem/Makefile b/GUI/xephem/Makefile
+index ddfbef9..da10016 100644
+--- a/GUI/xephem/Makefile
++++ b/GUI/xephem/Makefile
+@@ -185,21 +185,23 @@ OBJS = \
xephem.o \
xmisc.o
-all: libs xephem xephem.1
-+LIBRARIES := libip liblilxml
++LIBRARIES := libip liblilxml libjpegd libpng libz
-xephem: $(INCS) $(OBJS)
+all: $(LIBRARIES) xephem xephem.1
@@ -48,6 +34,8 @@ diff -udHrN -- a/GUI/xephem/Makefile b/GUI/xephem/Makefile
- cd ../../liblilxml; make
- cd ../../libpng; make
- cd ../../libz; make
++libs: $(LIBRARIES)
++
+$(LIBRARIES): libastro
+ $(MAKE) --directory=../../$@
+
@@ -56,39 +44,3 @@ diff -udHrN -- a/GUI/xephem/Makefile b/GUI/xephem/Makefile
clean:
rm -fr *.o ../../lib*/*.[ao]
-diff -udHrN -- a/libastro/Makefile b/libastro/Makefile
---- a/libastro/Makefile 2022-01-27 20:27:21.000000000 +0100
-+++ b/libastro/Makefile 2022-09-01 09:44:11.958463960 +0200
-@@ -5,7 +5,7 @@
-
- # gcc
- CC = gcc
--CFLAGS= -O2 -Wall
-+#CFLAGS= -O2 -Wall
-
- # macosx universal binary
- # CFLAGS= -O2 -Wall -arch i386 -arch ppc
-diff -udHrN -- a/libip/Makefile b/libip/Makefile
---- a/libip/Makefile 2022-01-27 20:27:21.000000000 +0100
-+++ b/libip/Makefile 2022-09-01 09:44:11.958463960 +0200
-@@ -3,7 +3,7 @@
-
- # gcc
- CC = gcc
--CFLAGS= -I../libastro -O2 -Wall
-+CFLAGS += -I../libastro
-
- # macosx universal binary
- # CFLAGS= -I../libastro -O2 -Wall -arch i386 -arch ppc
-diff -udHrN -- a/liblilxml/Makefile b/liblilxml/Makefile
---- a/liblilxml/Makefile 2022-01-27 20:27:21.000000000 +0100
-+++ b/liblilxml/Makefile 2022-09-01 09:44:11.959463950 +0200
-@@ -5,7 +5,7 @@
-
- # gcc
- CC = gcc
--CFLAGS= -O2 -Wall
-+#CFLAGS= -O2 -Wall
-
- # macosx universal binary
- # CFLAGS= -O2 -Wall -arch i386 -arch ppc
From 2551dd91d8a78133f1cc59c4ee420098bc1c4d58 Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Sat, 11 Feb 2023 18:57:51 +0100
Subject: [PATCH 08/21] Add missing cmake BuildRequires
[SKIP CHANGELOG]
---
xephem.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/xephem.spec b/xephem.spec
index 94379ac..85352f9 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -38,6 +38,7 @@ Patch: xephem-c99.patch
ExcludeArch: %{ix86}
BuildRequires: desktop-file-utils
+BuildRequires: cmake
BuildRequires: gcc
BuildRequires: groff-base
BuildRequires: make
From e1fc82b45c97fb10c3e409b29f71c759640fd726 Mon Sep 17 00:00:00 2001
From: Fedora Release Engineering
Date: Sat, 22 Jul 2023 18:42:11 +0000
Subject: [PATCH 09/21] Rebuilt for
https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering
From a93fe321186adec35b59ce1e206c3e9cb588a899 Mon Sep 17 00:00:00 2001
From: Fedora Release Engineering
Date: Sat, 27 Jan 2024 09:31:04 +0000
Subject: [PATCH 10/21] Rebuilt for
https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
From df1a3d5d2ee9934826ba812eb00f5aa36c54e2af Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Sun, 11 Feb 2024 15:17:38 +0100
Subject: [PATCH 11/21] Update to latest svn
... version
- Fix icons and desktop file
- Add appstream metainfo
- Fix versioning
---
.gitignore | 1 +
io.github.xephem.desktop | 2 +-
io.github.xephem.metainfo.xml | 53 +++++++++++++++++++++++++++++++++++
sources | 2 +-
xephem.spec | 43 +++++++++++++++++++---------
5 files changed, 85 insertions(+), 16 deletions(-)
create mode 100644 io.github.xephem.metainfo.xml
diff --git a/.gitignore b/.gitignore
index d65509e..d146ddc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/XEphem-b7bfc6eb31464287b5d65cb3f1e36d7dbf3dd381.tar.gz
/XEphem-0a1b50503bdf202fb6fa7ca62124b0242a004e69.tar.gz
+/XEphem-a2da14bfc6727b1255df6f31ac4ce89d4bd881c8.tar.gz
diff --git a/io.github.xephem.desktop b/io.github.xephem.desktop
index ead1716..d959653 100644
--- a/io.github.xephem.desktop
+++ b/io.github.xephem.desktop
@@ -4,6 +4,6 @@ Type=Application
Name=XEphem
GenericName=Astronomical ephemeris calculator
Exec=xephem
-Icon=XEphem
+Icon=xephem
Terminal=false
Categories=Science;Astronomy
diff --git a/io.github.xephem.metainfo.xml b/io.github.xephem.metainfo.xml
new file mode 100644
index 0000000..c92ede4
--- /dev/null
+++ b/io.github.xephem.metainfo.xml
@@ -0,0 +1,53 @@
+
+
+
+ io.github.xephem.desktop
+ XEphem
+ XEphem
+ Interactive astronomical ephemeris software
+ Software interactivo de efemérides astronómicas
+ MIT
+ MIT
+
+
+
+ - XEphem is an interactive astronomy program for all UNIX platforms, written and maintained by _Elwood Downey_ over more than thirty years 1990–2021 and now generously released under the MIT License.
+ - XEphem can compute information on demand or time can be set to increment automatically. In this way a series of computations and movies can be generated.
+
+
+
+
+ - XEphem es un programa de astronomía interactivo para todas las plataformas UNIX, escrito y mantenido por _Elwood Downey_ durante más de treinta años entre 1990 y 2021 y ahora publicado generosamente bajo la licencia MIT.
+ - XEphem puede calcular información bajo demanda o se puede configurar automáticamente en el tiempo. De esta forma se pueden generar una serie de cálculos y animaciones.
+
+
+
+ xephem.desktop
+ https://xephem.github.io/XEphem/Site/xephem.html
+ https://xephem.github.io/XEphem/Site/help/xephem.html
+ xephem@ClearSkyInstitute.com
+ Elwood Charles Downey
+
+
+
+
+ xephem
+
+
+
+ https://raw.githubusercontent.com/XEphem/XEphem/main/GUI/xephem/help/png/sky-view.png
+ Highly configurable interactive Sky View.
+ Vista del cielo interactivo altamente configurable.
+
+
+ https://raw.githubusercontent.com/XEphem/XEphem/main/GUI/xephem/help/png/solsys.png
+ 3D projection and true stereo views of the solar system, perfect for visualizing comet paths.
+ Proyecciones 3D y vistas estereográficas reales del sistema solar, perfectas para visualizar trayectorias de cometas.
+
+
+ https://raw.githubusercontent.com/XEphem/XEphem/main/GUI/xephem/help/png/sun-view.png
+ Near real-time Solar images from the SOHO spacecraft.
+ Imágenes solares en tiempo real desed la nave espacial SOHO.
+
+
+
diff --git a/sources b/sources
index cb41543..88dd49b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (XEphem-0a1b50503bdf202fb6fa7ca62124b0242a004e69.tar.gz) = b50ca06efddaa5fb6104fe34429256db05b939bf8b4f30f1855a7ee084bcaa319582088194ad14503736f9694c59a1f94a0f9c1d3e4c9e2c6f46841f37bda10e
+SHA512 (XEphem-a2da14bfc6727b1255df6f31ac4ce89d4bd881c8.tar.gz) = 710c0a163564ccb8d9c59e4adb1a82bdc23a906c924bd5a87936845b6f311053e2142635c4332a9a0486d4b114687dbed9afefd470ecdf510696b711bad95568
diff --git a/xephem.spec b/xephem.spec
index 85352f9..3b9378d 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -1,13 +1,13 @@
#%%global gittag 4.1.0
-%global commit 0a1b50503bdf202fb6fa7ca62124b0242a004e69
+%global commit a2da14bfc6727b1255df6f31ac4ce89d4bd881c8
%global shortcommit %(c=%{commit}; echo ${c:0:7})
-%global date 20230114
+%global date 20240205
Name: xephem
%if "%{?gittag}"
Version: 4.1.0
%else
-Version: 4.1.0^%{date}%{shortcommit}
+Version: 4.1.0^3%{date}.git%{shortcommit}
%endif
Release: %autorelease
Summary: Scientific-grade interactive astronomical ephemeris software
@@ -19,8 +19,9 @@ Source0: https://github.com/XEphem/XEphem/archive/%{gittag}/XEphem-%{vers
%else
Source0: https://github.com/XEphem/XEphem/archive/%{commit}/XEphem-%{commit}.tar.gz
%endif
-# Desktop file is not provided by upstream
+# Desktop and appstream metadata files are not provided in upstream sources
Source1: io.github.xephem.desktop
+Source2: io.github.xephem.metainfo.xml
# Patch to use system libraries and not override CFLAGS
# Proposed upstream: https://github.com/XEphem/XEphem/pull/58
@@ -41,8 +42,10 @@ BuildRequires: desktop-file-utils
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: groff-base
+BuildRequires: libappstream-glib
BuildRequires: make
BuildRequires: motif-devel
+BuildRequires: ImageMagick
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libssl)
@@ -96,6 +99,11 @@ cp liblilxml/LICENSE LICENSE.liblilxml
%cmake
%cmake_build
+# Create standard size icons
+for d in 32 48 64 128 ; do
+ convert GUI/xephem/XEphem.png -geometry ${d}x${d} -depth 8 -background none xephem-${d}.png
+done
+
# Old manual build method
#pushd GUI/xephem
#%%make_build
@@ -130,15 +138,24 @@ EOF
# Provide a desktop entry
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/
-install -p -m0644 GUI/xephem/XEphem.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/
+
+# Install icons
+for d in 32 48 64 128 ; do
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${d}x${d}/apps/
+ install -p -m0644 xephem-${d}.png %{buildroot}%{_datadir}/icons/hicolor/${d}x${d}/apps/xephem.png
+done
+
+# Install appstream metadata
+mkdir -p %{buildroot}%{_metainfodir}
+install -p -m0644 %{SOURCE2} %{buildroot}%{_metainfodir}
%check
-# Tests currently fail, need to check with upstream
-#pushd tests
-#make run-test
-#popd
+appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
+
+pushd tests
+make run-test
+popd
%files
@@ -147,10 +164,8 @@ install -p -m0644 GUI/xephem/XEphem.png %{buildroot}%{_datadir}/icons/hicolor/12
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
%{_datadir}/applications/io.github.%{name}.desktop
-%dir %{_datadir}/icons/hicolor
-%dir %{_datadir}/icons/hicolor/128x128
-%dir %{_datadir}/icons/hicolor/128x128/apps
-%{_datadir}/icons/hicolor/128x128/apps/XEphem.png
+%{_datadir}/icons/hicolor/*/apps/xephem.png
+%{_metainfodir}/io.github.%{name}.metainfo.xml
%files data
%{_datadir}/%{name}
From cd28f742f198b4d995337d8a514f25e126ba4cbd Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Wed, 14 Feb 2024 18:31:30 +0100
Subject: [PATCH 12/21] Update to stable 4.2.0 (fedora#2264118)
---
.gitignore | 1 +
sources | 2 +-
xephem.spec | 12 ++++++------
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/.gitignore b/.gitignore
index d146ddc..797d869 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/XEphem-b7bfc6eb31464287b5d65cb3f1e36d7dbf3dd381.tar.gz
/XEphem-0a1b50503bdf202fb6fa7ca62124b0242a004e69.tar.gz
/XEphem-a2da14bfc6727b1255df6f31ac4ce89d4bd881c8.tar.gz
+/XEphem-4.2.0.tar.gz
diff --git a/sources b/sources
index 88dd49b..e7b97b8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (XEphem-a2da14bfc6727b1255df6f31ac4ce89d4bd881c8.tar.gz) = 710c0a163564ccb8d9c59e4adb1a82bdc23a906c924bd5a87936845b6f311053e2142635c4332a9a0486d4b114687dbed9afefd470ecdf510696b711bad95568
+SHA512 (XEphem-4.2.0.tar.gz) = 97756bc299821e95cbc06facc3091795feb245db033193fdf587bcfd7a83142a15552a1f8aa53c040c87cb75021424b94bbed5a747fb9783f5a0cac6fb4ddb3e
diff --git a/xephem.spec b/xephem.spec
index 3b9378d..d87a617 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -1,13 +1,13 @@
-#%%global gittag 4.1.0
-%global commit a2da14bfc6727b1255df6f31ac4ce89d4bd881c8
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
-%global date 20240205
+%global gittag 4.2.0
+#%%global commit a2da14bfc6727b1255df6f31ac4ce89d4bd881c8
+#%%global shortcommit %%(c=%%{commit}; echo ${c:0:7})
+#%%global date 20240205
Name: xephem
%if "%{?gittag}"
-Version: 4.1.0
+Version: %{gittag}
%else
-Version: 4.1.0^3%{date}.git%{shortcommit}
+Version: 4.1.0^%{date}.git%{shortcommit}
%endif
Release: %autorelease
Summary: Scientific-grade interactive astronomical ephemeris software
From e1b73631856168ad1b5050d8892a59cf43a0edfa Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Thu, 15 Feb 2024 17:52:01 +0100
Subject: [PATCH 13/21] Fix hardcoded dirs for flatpak compatibility
---
xephem.spec | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/xephem.spec b/xephem.spec
index d87a617..67d006f 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -90,6 +90,11 @@ rm -rf libXm/
# Rename liblilxml license files
cp liblilxml/LICENSE LICENSE.liblilxml
+# Change hardcoded resources directory for flatpak
+%if 0%{?flatpak}
+sed -i -e 's|/etc/XEphem|/app/etc/XEphem|g' GUI/xephem/{splash.c,xephem.c}
+%endif
+
%build
%if 0%{?epel}
From 7a0d332c842493f8776ccd0aef347bb1c3fca73e Mon Sep 17 00:00:00 2001
From: Fedora Release Engineering
Date: Sat, 20 Jul 2024 09:54:47 +0000
Subject: [PATCH 14/21] Rebuilt for
https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
From 4db47184fe45886007d10a69ae61a4eaeff91a26 Mon Sep 17 00:00:00 2001
From: Fedora Release Engineering
Date: Sun, 19 Jan 2025 15:39:14 +0000
Subject: [PATCH 15/21] Rebuilt for
https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
From fecbaeaf22bba5e92d00f8a7d49d53d58e7a50d4 Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Mon, 20 Jan 2025 09:28:36 +0100
Subject: [PATCH 16/21] Set project C standard to 17
---
xephem_with_cmake.patch | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/xephem_with_cmake.patch b/xephem_with_cmake.patch
index 256390f..c6f8208 100644
--- a/xephem_with_cmake.patch
+++ b/xephem_with_cmake.patch
@@ -1,11 +1,11 @@
-From 8e6587b215f3de149d7b3e266fabdcae8bf30d35 Mon Sep 17 00:00:00 2001
+From 59983adbba71b7f0a3b2ce4503e64e3ba7cb2854 Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Sun, 8 Jan 2023 16:08:24 +0100
Subject: [PATCH] Add cmake directives
Signed-off-by: Mattia Verga
---
- CMakeLists.txt | 75 +++++++++++++++++++++++++++++++
+ CMakeLists.txt | 76 +++++++++++++++++++++++++++++++
GUI/xephem/CMakeLists.txt | 95 +++++++++++++++++++++++++++++++++++++++
libastro/CMakeLists.txt | 69 ++++++++++++++++++++++++++++
libip/CMakeLists.txt | 26 +++++++++++
@@ -13,7 +13,7 @@ Signed-off-by: Mattia Verga
liblilxml/CMakeLists.txt | 16 +++++++
libpng/CMakeLists.txt | 30 +++++++++++++
libz/CMakeLists.txt | 25 +++++++++++
- 8 files changed, 376 insertions(+)
+ 8 files changed, 377 insertions(+)
create mode 100644 CMakeLists.txt
create mode 100644 GUI/xephem/CMakeLists.txt
create mode 100644 libastro/CMakeLists.txt
@@ -25,14 +25,15 @@ Signed-off-by: Mattia Verga
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
-index 0000000..4b857c7
+index 0000000..b618a69
--- /dev/null
+++ b/CMakeLists.txt
-@@ -0,0 +1,75 @@
+@@ -0,0 +1,76 @@
+cmake_minimum_required(VERSION 3.10)
+
+project(xephem VERSION 4.1.0 LANGUAGES C)
+set(DISPLAY_NAME "XEphem")
++set(CMAKE_C_STANDARD 17)
+
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
From 01e6f0bb2cd1e03f694b672c2810a19a73225260 Mon Sep 17 00:00:00 2001
From: Fedora Release Engineering
Date: Fri, 25 Jul 2025 20:44:34 +0000
Subject: [PATCH 17/21] Rebuilt for
https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
From 3a65e82aeab4b9936ccb3fc42f6e4deaf8f8a20c Mon Sep 17 00:00:00 2001
From: Fedora Release Engineering
Date: Sat, 17 Jan 2026 20:34:28 +0000
Subject: [PATCH 18/21] Rebuilt for
https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
From dc8f5fc7272fe4505890bdd3313611618e02fcf2 Mon Sep 17 00:00:00 2001
From: Mattia Verga
Date: Sat, 14 Mar 2026 11:10:14 +0100
Subject: [PATCH 19/21] Update to 4.3.0
---
.gitignore | 1 +
sources | 2 +-
xephem-c99.patch | 19 ---------
xephem.spec | 7 +---
xephem_with_cmake.patch | 92 ++++++++++++-----------------------------
5 files changed, 29 insertions(+), 92 deletions(-)
delete mode 100644 xephem-c99.patch
diff --git a/.gitignore b/.gitignore
index 797d869..c19dbbc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
/XEphem-0a1b50503bdf202fb6fa7ca62124b0242a004e69.tar.gz
/XEphem-a2da14bfc6727b1255df6f31ac4ce89d4bd881c8.tar.gz
/XEphem-4.2.0.tar.gz
+/XEphem-4.3.0.tar.gz
diff --git a/sources b/sources
index e7b97b8..f2e5be6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (XEphem-4.2.0.tar.gz) = 97756bc299821e95cbc06facc3091795feb245db033193fdf587bcfd7a83142a15552a1f8aa53c040c87cb75021424b94bbed5a747fb9783f5a0cac6fb4ddb3e
+SHA512 (XEphem-4.3.0.tar.gz) = c93a946ca457946dba356ac2ef6cada5203b67a29f6788af3cb7b02670ca5fd876c61f4c5daa556036abf129ac50895599fd1e794adb91d07b1b0ca422bc8bb6
diff --git a/xephem-c99.patch b/xephem-c99.patch
deleted file mode 100644
index 66107cc..0000000
--- a/xephem-c99.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Define _GNU_SOURCE, so that declares strptime, an X/Open
-extension that is not available by default in the glibc headers.
-
-Submitted upstream:
-
-diff --git a/GUI/xephem/sunmenu.c b/GUI/xephem/sunmenu.c
-index 0bedcff3971e1ec4..62540d396e5ece68 100644
---- a/GUI/xephem/sunmenu.c
-+++ b/GUI/xephem/sunmenu.c
-@@ -1,6 +1,9 @@
- /* code to manage the sun display
- */
-
-+/* For the declaration of strptime in . */
-+#define _GNU_SOURCE
-+
- #include
- #include
- #include
diff --git a/xephem.spec b/xephem.spec
index 67d006f..f806baf 100644
--- a/xephem.spec
+++ b/xephem.spec
@@ -1,4 +1,4 @@
-%global gittag 4.2.0
+%global gittag 4.3.0
#%%global commit a2da14bfc6727b1255df6f31ac4ce89d4bd881c8
#%%global shortcommit %%(c=%%{commit}; echo ${c:0:7})
#%%global date 20240205
@@ -31,11 +31,6 @@ Patch: xephem_makefile.patch
# Proposed upstream: https://github.com/XEphem/XEphem/pull/60
Patch: xephem_with_cmake.patch
-# Define _GNU_SOURCE, so that declares strptime, an X/Open
-# extension that is not available by default in the glibc headers.
-# Submitted upstream:
-Patch: xephem-c99.patch
-
ExcludeArch: %{ix86}
BuildRequires: desktop-file-utils
diff --git a/xephem_with_cmake.patch b/xephem_with_cmake.patch
index c6f8208..e545e15 100644
--- a/xephem_with_cmake.patch
+++ b/xephem_with_cmake.patch
@@ -1,33 +1,6 @@
-From 59983adbba71b7f0a3b2ce4503e64e3ba7cb2854 Mon Sep 17 00:00:00 2001
-From: Mattia Verga
-Date: Sun, 8 Jan 2023 16:08:24 +0100
-Subject: [PATCH] Add cmake directives
-
-Signed-off-by: Mattia Verga
----
- CMakeLists.txt | 76 +++++++++++++++++++++++++++++++
- GUI/xephem/CMakeLists.txt | 95 +++++++++++++++++++++++++++++++++++++++
- libastro/CMakeLists.txt | 69 ++++++++++++++++++++++++++++
- libip/CMakeLists.txt | 26 +++++++++++
- libjpegd/CMakeLists.txt | 40 +++++++++++++++++
- liblilxml/CMakeLists.txt | 16 +++++++
- libpng/CMakeLists.txt | 30 +++++++++++++
- libz/CMakeLists.txt | 25 +++++++++++
- 8 files changed, 377 insertions(+)
- create mode 100644 CMakeLists.txt
- create mode 100644 GUI/xephem/CMakeLists.txt
- create mode 100644 libastro/CMakeLists.txt
- create mode 100644 libip/CMakeLists.txt
- create mode 100644 libjpegd/CMakeLists.txt
- create mode 100644 liblilxml/CMakeLists.txt
- create mode 100644 libpng/CMakeLists.txt
- create mode 100644 libz/CMakeLists.txt
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-new file mode 100644
-index 0000000..b618a69
---- /dev/null
-+++ b/CMakeLists.txt
+diff -U 3 -dHrN a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
++++ b/CMakeLists.txt 2026-03-14 11:05:34.680886726 +0100
@@ -0,0 +1,76 @@
+cmake_minimum_required(VERSION 3.10)
+
@@ -105,11 +78,9 @@ index 0000000..b618a69
+ DESTINATION ${XEPHEM_DATADIR})
+install(DIRECTORY GUI/xephem/lo
+ DESTINATION ${XEPHEM_DATADIR})
-diff --git a/GUI/xephem/CMakeLists.txt b/GUI/xephem/CMakeLists.txt
-new file mode 100644
-index 0000000..5f86fb8
---- /dev/null
-+++ b/GUI/xephem/CMakeLists.txt
+diff -U 3 -dHrN a/GUI/xephem/CMakeLists.txt b/GUI/xephem/CMakeLists.txt
+--- a/GUI/xephem/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
++++ b/GUI/xephem/CMakeLists.txt 2026-03-14 11:05:34.681033815 +0100
@@ -0,0 +1,95 @@
+cmake_minimum_required(VERSION 3.10)
+
@@ -206,12 +177,10 @@ index 0000000..5f86fb8
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ COMMENT "Building manpage"
+ VERBATIM)
-diff --git a/libastro/CMakeLists.txt b/libastro/CMakeLists.txt
-new file mode 100644
-index 0000000..aaa7631
---- /dev/null
-+++ b/libastro/CMakeLists.txt
-@@ -0,0 +1,69 @@
+diff -U 3 -dHrN a/libastro/CMakeLists.txt b/libastro/CMakeLists.txt
+--- a/libastro/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
++++ b/libastro/CMakeLists.txt 2026-03-14 11:06:44.260765464 +0100
+@@ -0,0 +1,70 @@
+cmake_minimum_required(VERSION 3.10)
+
+project(libastro C)
@@ -238,6 +207,7 @@ index 0000000..aaa7631
+ dbfmt.c
+ deep.c
+ deltat.c
++ eclipses.c
+ earthsat.c
+ eq_ecl.c
+ eq_gal.c
@@ -281,11 +251,9 @@ index 0000000..aaa7631
+target_include_directories(astro PUBLIC
+ "${CMAKE_CURRENT_BINARY_DIR}"
+ "${CMAKE_CURRENT_SOURCE_DIR}")
-diff --git a/libip/CMakeLists.txt b/libip/CMakeLists.txt
-new file mode 100644
-index 0000000..3d7ac78
---- /dev/null
-+++ b/libip/CMakeLists.txt
+diff -U 3 -dHrN a/libip/CMakeLists.txt b/libip/CMakeLists.txt
+--- a/libip/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
++++ b/libip/CMakeLists.txt 2026-03-14 11:05:34.681189843 +0100
@@ -0,0 +1,26 @@
+cmake_minimum_required(VERSION 3.10)
+
@@ -313,11 +281,9 @@ index 0000000..3d7ac78
+target_include_directories(ip PUBLIC
+ "${CMAKE_CURRENT_BINARY_DIR}"
+ "${CMAKE_CURRENT_SOURCE_DIR}")
-diff --git a/libjpegd/CMakeLists.txt b/libjpegd/CMakeLists.txt
-new file mode 100644
-index 0000000..7e4ced4
---- /dev/null
-+++ b/libjpegd/CMakeLists.txt
+diff -U 3 -dHrN a/libjpegd/CMakeLists.txt b/libjpegd/CMakeLists.txt
+--- a/libjpegd/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
++++ b/libjpegd/CMakeLists.txt 2026-03-14 11:05:34.681320833 +0100
@@ -0,0 +1,40 @@
+cmake_minimum_required(VERSION 3.10)
+
@@ -359,11 +325,9 @@ index 0000000..7e4ced4
+target_include_directories(jpegd PUBLIC
+ "${CMAKE_CURRENT_BINARY_DIR}"
+ "${CMAKE_CURRENT_SOURCE_DIR}")
-diff --git a/liblilxml/CMakeLists.txt b/liblilxml/CMakeLists.txt
-new file mode 100644
-index 0000000..6abc3cb
---- /dev/null
-+++ b/liblilxml/CMakeLists.txt
+diff -U 3 -dHrN a/liblilxml/CMakeLists.txt b/liblilxml/CMakeLists.txt
+--- a/liblilxml/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
++++ b/liblilxml/CMakeLists.txt 2026-03-14 11:05:34.681428772 +0100
@@ -0,0 +1,16 @@
+cmake_minimum_required(VERSION 3.10)
+
@@ -381,11 +345,9 @@ index 0000000..6abc3cb
+target_include_directories(lilxml PUBLIC
+ "${CMAKE_CURRENT_BINARY_DIR}"
+ "${CMAKE_CURRENT_SOURCE_DIR}")
-diff --git a/libpng/CMakeLists.txt b/libpng/CMakeLists.txt
-new file mode 100644
-index 0000000..abacd7b
---- /dev/null
-+++ b/libpng/CMakeLists.txt
+diff -U 3 -dHrN a/libpng/CMakeLists.txt b/libpng/CMakeLists.txt
+--- a/libpng/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
++++ b/libpng/CMakeLists.txt 2026-03-14 11:05:34.681501601 +0100
@@ -0,0 +1,30 @@
+cmake_minimum_required(VERSION 3.10)
+
@@ -417,11 +379,9 @@ index 0000000..abacd7b
+target_include_directories(png PUBLIC
+ "${CMAKE_CURRENT_BINARY_DIR}"
+ "${CMAKE_CURRENT_SOURCE_DIR}")
-diff --git a/libz/CMakeLists.txt b/libz/CMakeLists.txt
-new file mode 100644
-index 0000000..1294b70
---- /dev/null
-+++ b/libz/CMakeLists.txt
+diff -U 3 -dHrN a/libz/CMakeLists.txt b/libz/CMakeLists.txt
+--- a/libz/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
++++ b/libz/CMakeLists.txt 2026-03-14 11:05:34.681573741 +0100
@@ -0,0 +1,25 @@
+cmake_minimum_required(VERSION 3.10)
+
From a93cba6cc8046c2abff69e945960bf3226cb7e0a Mon Sep 17 00:00:00 2001
From: Yaakov Selkowitz
Date: Fri, 12 Jun 2026 20:07:47 -0400
Subject: [PATCH 20/21] Rebuilt for openssl 4.0
From 3338eb3ab7a226a9b7c6883a2441d0463d814df6 Mon Sep 17 00:00:00 2001
From: Fedora Release Engineering
Date: Fri, 17 Jul 2026 09:07:43 +0000
Subject: [PATCH 21/21] Rebuilt for
https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild