diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b1a282 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +/phd2-2.6.4-purged.tar.xz +/phd2-2.6.5-purged.tar.xz +/phd2-2.6.6-purged.tar.xz +/phd2-2.6.7-purged.tar.xz +/phd2-2.6.8-purged.tar.xz +/phd2-2.6.9-purged.tar.xz +/phd2-2.6.10-purged.tar.xz +/phd2-2.6.11-purged.tar.xz +/phd2-a205f63238c8505cf641057d8d82734e51f9ab15-purged.tar.xz +/phd2-2.6.12-purged.tar.xz +/phd2-2.6.13-purged.tar.xz +/phd2-2.6.14-purged.tar.xz diff --git a/changelog b/changelog new file mode 100644 index 0000000..ae480fa --- /dev/null +++ b/changelog @@ -0,0 +1,100 @@ +* Thu Aug 04 2022 Scott Talbert - 2.6.11-4 +- Rebuild with wxWidgets 3.2 + +* Fri Jul 22 2022 Fedora Release Engineering - 2.6.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Feb 26 2022 Mattia Verga - 2.6.11-2 +- Disable parallel build + +* Thu Feb 24 2022 Mattia Verga - 2.6.11-1 +- Update to 2.6.11 (fedora#2057427) + +* Fri Jan 21 2022 Fedora Release Engineering - 2.6.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jul 31 2021 Mattia Verga - 2.6.10-3 +- Replace _target_platform macro with _vpath_builddir +- Fixes rhbz#1987803 + +* Fri Jul 23 2021 Fedora Release Engineering - 2.6.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Jun 27 2021 Mattia Verga - 2.6.10-1 +- Update to 2.6.10 +- Fixes rhbz#1976560 + +* Thu Feb 11 2021 Mattia Verga - 2.6.9-6 +- Rebuilt for cfitsio soname bump + +* Wed Jan 27 2021 Fedora Release Engineering - 2.6.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Aug 04 2020 Mattia Verga - 2.6.9-4 +- Another rebuild attempt for F33 Mass Rebuild after gettext has been fixed +- Use new cmake macros + +* Sat Aug 01 2020 Fedora Release Engineering - 2.6.9-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 2.6.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Jul 05 2020 Mattia Verga - 2.6.9-1 +- Upgrade to 2.6.9 +- Fixes rhbz#1853866 + +* Mon May 18 2020 Mattia Verga - 2.6.8-1 +- Upgrade to 2.6.8 + +* Sat Feb 08 2020 Mattia Verga - 2.6.7-1 +- Upgrade to 2.6.7 + +* Thu Jan 30 2020 Fedora Release Engineering - 2.6.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 2.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Mar 30 2019 Mattia Verga - 2.6.6-1 +- Upgrade to 2.6.6 +- Enable tests on i686 + +* Sat Feb 02 2019 Fedora Release Engineering - 2.6.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 2.6.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat May 26 2018 Christian Dersch - 2.6.5-2 +- rebuilt for cfitsio 3.450 + +* Mon May 07 2018 Mattia Verga - 2.6.5-1 +- Upgrade to 2.6.5 +- Remove obsolete scriptlets +- Use upstream patch to disable third party drivers +- Specify libindi to be >= 1.5 + +* Fri Feb 23 2018 Christian Dersch - 2.6.4-6 +- rebuilt for cfitsio 3.420 (so version bump) + +* Tue Feb 13 2018 Mattia Verga - 2.6.4-5 +- Enable test output on failures + +* Fri Feb 09 2018 Fedora Release Engineering - 2.6.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Nov 05 2017 Mattia Verga - 2.6.4-3 +- Fix spurious exec bits and line endings +- Use more macros +- Purge another unneeded directory from sources +- Use C++14 flag + +* Sat Nov 04 2017 Mattia Verga - 2.6.4-2 +- Breakdown components licenses +- Add some useful docs +- Add weak dependency to libindi + +* Thu Nov 02 2017 Mattia Verga - 2.6.4-1 +- Initial packaging diff --git a/dead.package b/dead.package deleted file mode 100644 index a72aec0..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -epel8-playground decommissioned : https://pagure.io/epel/issue/136 diff --git a/generate-tarball.sh b/generate-tarball.sh new file mode 100755 index 0000000..650599b --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +VERSION=$1 + +tar -xzvf phd2-$VERSION.tar.gz + +#Remove pre-built software +rm -rf phd2-$VERSION/WinLibs +rm -rf phd2-$VERSION/extra_frameworks +rm -rf phd2-$VERSION/thirdparty/*.zip +rm -rf phd2-$VERSION/thirdparty/*.tar.gz +rm -rf phd2-$VERSION/thirdparty/*.tar.bz2 +rm -rf phd2-$VERSION/thirdparty/frameworks +rm -rf phd2-$VERSION/thirdparty/HID_Utilities +rm -rf phd2-$VERSION/thirdparty/include +rm -rf phd2-$VERSION/thirdparty/openssag +rm -rf phd2-$VERSION/thirdparty/VidCapture +find . -name "*.dll" -type f -delete +find . -name "*.lib" -type f -delete +find . -name "*.dylib" -type f -delete +find . -name "*.a" -type f -delete +find . -name "*.so" -type f -delete +find . -name "*.so.*" -type f -delete +rm -rf phd2-$VERSION/cameras/qhyccdlibs/qhyfirmware.zip + +tar -cJvf phd2-$VERSION-purged.tar.xz phd2-$VERSION + +#Remove temporary directory +rm -rf phd2-$VERSION diff --git a/phd2-eigen3.patch b/phd2-eigen3.patch new file mode 100644 index 0000000..ca33330 --- /dev/null +++ b/phd2-eigen3.patch @@ -0,0 +1,25 @@ +diff: a/cameras/playerone/linux/arm32/libPlayerOneCamera.so: File o directory non esistente +diff: a/cameras/playerone/linux/arm32/libPlayerOneCamera.so.3: File o directory non esistente +diff: a/cameras/playerone/linux/arm32/libPlayerOneCamera.so.3.7: File o directory non esistente +diff: a/cameras/playerone/linux/arm64/libPlayerOneCamera.so: File o directory non esistente +diff: a/cameras/playerone/linux/arm64/libPlayerOneCamera.so.3: File o directory non esistente +diff: a/cameras/playerone/linux/arm64/libPlayerOneCamera.so.3.7: File o directory non esistente +diff: a/cameras/playerone/linux/x64/libPlayerOneCamera.so: File o directory non esistente +diff: a/cameras/playerone/linux/x64/libPlayerOneCamera.so.3: File o directory non esistente +diff: a/cameras/playerone/linux/x64/libPlayerOneCamera.so.3.7: File o directory non esistente +diff: a/cameras/playerone/linux/x86/libPlayerOneCamera.so: File o directory non esistente +diff: a/cameras/playerone/linux/x86/libPlayerOneCamera.so.3: File o directory non esistente +diff: a/cameras/playerone/linux/x86/libPlayerOneCamera.so.3.7: File o directory non esistente +diff -U 3 -dHrN a/thirdparty/thirdparty.cmake b/thirdparty/thirdparty.cmake +--- a/thirdparty/thirdparty.cmake 2025-12-10 05:46:14.000000000 +0100 ++++ b/thirdparty/thirdparty.cmake 2025-12-14 09:44:56.704446893 +0100 +@@ -384,6 +384,9 @@ + set(EIGEN_SRC ${VCPKG_INCLUDE}/eigen3) + else() + find_package(Eigen3 REQUIRED) ++ if(TARGET Eigen3::Eigen) ++ get_target_property(EIGEN3_INCLUDE_DIR Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES) ++ endif() + set(EIGEN_SRC ${EIGEN3_INCLUDE_DIR}) + message(STATUS "Using system's Eigen3.") + endif() diff --git a/phd2.spec b/phd2.spec new file mode 100644 index 0000000..6dfbdd3 --- /dev/null +++ b/phd2.spec @@ -0,0 +1,118 @@ +%global gittag v2.6.14 +#%%global commit a205f63238c8505cf641057d8d82734e51f9ab15 +#%%global shortcommit %%(c=%%{commit}; echo ${c:0:7}) +#%%global date 20230212 + +Name: phd2 +%if "%{?gittag}" +Version: 2.6.14 +%else +Version: 2.6.11^dev4^%{date}%{shortcommit} +%endif +Release: %autorelease +Summary: Telescope guiding software +License: BSD-3-Clause AND LGPL-2.1-or-later AND ICU +URL: http://openphdguiding.org/ +%if "%{?gittag}" +# Download upstream tarball from +# https://github.com/OpenPHDGuiding/%%{name}/archive/%%{gittag}.tar.gz +# and then run ./generate-tarball.sh %%{version} +Source0: %{name}-%{version}-purged.tar.xz +%else +# Download upstream tarball from +# https://github.com/OpenPHDGuiding/%%{name}/archive/%%{commit}/%%{name}-%%{commit}.tar.gz +# and then run ./generate-tarball.sh %%{commit} +Source0: %{name}-%{commit}-purged.tar.xz +%endif +# Script to purge binaries and unneeded files from downloaded sources +Source1: generate-tarball.sh + +# Do not force c++ std +Patch99: phd2_2.9.10_std_cflags.patch + +# Fix eigen 5.0.0 detection +Patch101: phd2-eigen3.patch + +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +BuildRequires: cmake +BuildRequires: desktop-file-utils +BuildRequires: dos2unix +BuildRequires: extra-cmake-modules +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: gettext +BuildRequires: gtest-devel +BuildRequires: libappstream-glib +BuildRequires: libindi-static +BuildRequires: libnova-devel +BuildRequires: wxGTK-devel + +BuildRequires: pkgconfig(cfitsio) +BuildRequires: pkgconfig(eigen3) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libindi) >= 1.5 +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(opencv) +BuildRequires: pkgconfig(zlib) + +Recommends: libindi + + +%description +PHD2 is telescope guiding software that simplifies the process of tracking +a guide star, letting you concentrate on other aspects of deep-sky imaging +or spectroscopy. + + +%prep +%if "%{?gittag}" +%autosetup -p1 +%else +%autosetup -n %{name}-%{commit} -p1 +%endif + +# Remove spurious executable bit set on icons and docs +find icons -type f -print0 |xargs -0 chmod -x +chmod -x doc/PHD_2.0_Architecture.docx + + +%build +%{cmake} -DUSE_SYSTEM_CFITSIO=ON \ + -DUSE_SYSTEM_LIBUSB=ON \ + -DUSE_SYSTEM_EIGEN3=ON \ + -DUSE_SYSTEM_GTEST=ON \ + -DUSE_SYSTEM_LIBINDI=ON \ + -DOPENSOURCE_ONLY=ON + +# Build is not parallel safe +# https://github.com/OpenPHDGuiding/phd2/issues/972 +%cmake_build -j1 + + +%install +%cmake_install + +%find_lang %{name} + +%check +%ctest +#env CTEST_OUTPUT_ON_FAILURE=1 make test -C %%{_vpath_builddir} + +desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop +appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{name}.appdata.xml + + +%files -f %{name}.lang +%doc README.txt doc/PHD_2.0_Architecture.docx +%license LICENSE.txt +%{_bindir}/* +%{_datadir}/metainfo/%{name}.appdata.xml +%{_datadir}/applications/%{name}.desktop +%{_datadir}/phd2/ +%{_datadir}/pixmaps/* + + +%changelog +%autochangelog diff --git a/phd2_2.9.10_std_cflags.patch b/phd2_2.9.10_std_cflags.patch new file mode 100644 index 0000000..f0f4d1b --- /dev/null +++ b/phd2_2.9.10_std_cflags.patch @@ -0,0 +1,32 @@ +diff -udHrN -- a/cmake_modules/compiler_options.cmake b/cmake_modules/compiler_options.cmake +--- a/cmake_modules/compiler_options.cmake 2021-06-26 21:07:31.000000000 +0200 ++++ b/cmake_modules/compiler_options.cmake 2021-06-27 12:09:22.294653542 +0200 +@@ -57,28 +57,3 @@ + # Set the possible values of build type for cmake-gui + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") + endif() +- +-# compiler capabilities +-include(CheckCXXCompilerFlag) +-if(WIN32) +- set(FIND_LIBRARY_USE_LIB64_PATHS FALSE) +- #set(CMAKE_LIBRARY_ARCHITECTURE x86) +-else() +- # c++11 options +- check_cxx_compiler_flag(-std=c++11 HAS_CXX11_FLAG) +- check_cxx_compiler_flag(-std=c++0x HAS_CXX0X_FLAG) +- +- if(HAS_CXX11_FLAG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +- elseif(HAS_CXX0X_FLAG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") +- endif() +- +- if(APPLE) +- check_cxx_compiler_flag(-stdlib=libc++ HAS_LIBCXX11_FLAG) +- +- if(HAS_LIBCXX11_FLAG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") +- endif() +- endif() +-endif() diff --git a/sources b/sources new file mode 100644 index 0000000..77f1981 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (phd2-2.6.14-purged.tar.xz) = 649f7bf7e3203097cce4fd37a614653da19d475f4118ae29a45f6db305923657bcfd5a9cb07f0e7d3ce5739c559b1ec2d1f3868a5c29b7afe975d12d22c9e1ec