diff --git a/.gitignore b/.gitignore index 0281d8d..c19dbbc 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ /XEphem-b7bfc6eb31464287b5d65cb3f1e36d7dbf3dd381.tar.gz +/XEphem-0a1b50503bdf202fb6fa7ca62124b0242a004e69.tar.gz +/XEphem-a2da14bfc6727b1255df6f31ac4ce89d4bd881c8.tar.gz +/XEphem-4.2.0.tar.gz +/XEphem-4.3.0.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.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 637ad5c..f2e5be6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (XEphem-b7bfc6eb31464287b5d65cb3f1e36d7dbf3dd381.tar.gz) = ca1793215c9f8e6070d69b73dabe932de19eeffaa266cf8bd4b1b4dd291cc1114b0093fb9620c5c872f4b59c172b8cfed830f5a8ac395134e643a1a43fee4473 +SHA512 (XEphem-4.3.0.tar.gz) = c93a946ca457946dba356ac2ef6cada5203b67a29f6788af3cb7b02670ca5fd876c61f4c5daa556036abf129ac50895599fd1e794adb91d07b1b0ca422bc8bb6 diff --git a/xephem.spec b/xephem.spec index 9ade55a..f806baf 100644 --- a/xephem.spec +++ b/xephem.spec @@ -1,13 +1,13 @@ -#%%global gittag 4.1.0 -%global commit b7bfc6eb31464287b5d65cb3f1e36d7dbf3dd381 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global date 20221006 +%global gittag 4.3.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^%{date}%{shortcommit} +Version: 4.1.0^%{date}.git%{shortcommit} %endif Release: %autorelease Summary: Scientific-grade interactive astronomical ephemeris software @@ -19,25 +19,37 @@ 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 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} 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) +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. @@ -73,49 +85,77 @@ 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 -pushd GUI/xephem -%make_build -popd +%if 0%{?epel} +%set_build_flags +%endif + +%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 +#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: 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 diff --git a/xephem_with_cmake.patch b/xephem_with_cmake.patch new file mode 100644 index 0000000..e545e15 --- /dev/null +++ b/xephem_with_cmake.patch @@ -0,0 +1,410 @@ +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) ++ ++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) ++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 -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) ++ ++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 -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) ++ ++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 ++ eclipses.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 -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) ++ ++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 -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) ++ ++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 -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) ++ ++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 -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) ++ ++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 -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) ++ ++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}")