+#
+# Conditional build:
+%bcond_with kde # KDE3 UI as the default one
+%bcond_without gtk # use GTK+2 UI instead
+%bcond_with gnome # use libgnome2 UI instead
+%bcond_with glut # use glut UI instead
+%bcond_without theora # without theora support
+
+%if %{with kde} || %{with gnome} || %{with glut}
+%undefine with_gtk
+%endif
Summary: A real-time visual space simulation
-Summary(pl): Symulacja przestrzeni kosmicznej w czasie rzeczywistym
+Summary(pl.UTF-8): Symulacja przestrzeni kosmicznej w czasie rzeczywistym
Name: celestia
-Version: 1.1.4
-Release: 2
+Version: 1.6.4
+Release: 1
License: GPL
-Group: X11/Applications/Games
-Group(de): X11/Applikationen/Spiele
-Group(pl): X11/Aplikacje/Gry
-Source0: http://prdownloads.sourceforge.net/celestia/%{name}-%{version}.tar.gz
-URL: http://www.shatters.net/celestia/
-BuildRequires: OpenGL-devel
+Group: X11/Applications/Science
+Source0: https://github.com/CelestiaProject/Celestia/archive/refs/tags/%{version}.tar.gz
+# Source0-md5: d4770ffe08cb8761a78bebabcb9067ef
+Patch0: %{name}-desktop.patch
+Patch1: %{name}-null.patch
+URL: https://celestia.space
+BuildRequires: OpenGL-GLU-devel
+%{?with_glut:BuildRequires: OpenGL-glut-devel >= 4.0}
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: glut-devel
-BuildRequires: gnome-libs-devel
-BuildRequires: gtk+-devel
-BuildRequires: gtkglarea-devel
+BuildRequires: gettext-tools
+%if %{with gtk} || %{with gnome}
+BuildRequires: cairo-devel
+BuildRequires: gtk+2-devel >= 2:2.6
+BuildRequires: gtkglext-devel
+%endif
+BuildRequires: gettext-tools
+%{?with_kde:BuildRequires: kdelibs-devel}
+%{?with_gnome:BuildRequires: libgnomeui-devel}
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libstdc++-devel
-Requires: OpenGL
+%{?with_theora:BuildRequires: libtheora-devel}
+BuildRequires: libtool
+BuildRequires: lua53-devel
+BuildRequires: pkgconfig
+BuildRequires: sed >= 4.0
+# celestia < 1.4 original packages
+Obsoletes: celestia-extrasolar
+Obsoletes: celestia-generator
+Obsoletes: celestia-stars
+Obsoletes: celestia-task-default
+# texture replacement addons, virtual provides
+Obsoletes: celestia-textures-earth
+Obsoletes: celestia-textures-earth-clouds
+Obsoletes: celestia-textures-earth-night
+Obsoletes: celestia-textures-galileanmoons
+Obsoletes: celestia-textures-mars
+Obsoletes: celestia-textures-mars-bumpmap
+Obsoletes: celestia-textures-mercury
+Obsoletes: celestia-textures-mercury-bumpmap
+Obsoletes: celestia-textures-moon
+Obsoletes: celestia-textures-moon-bumpmap
+# celestia addons
+Obsoletes: celestia-blackhole
+Obsoletes: celestia-galaxies_extended
+Obsoletes: celestia-galaxy_clusters
+Obsoletes: celestia-globular_clusters
+Obsoletes: celestia-im-starwars
+Obsoletes: celestia-pathfinder
+Obsoletes: celestia-voyager
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _noautoreqdep libGL.so.1 libGLU.so.1 libGLcore.so.1
-
-%define _prefix /usr/X11R6
-%define _mandir %{_prefix}/man
-
%description
Celestia is a free real-time space simulation that lets you experience
our universe in three dimensions. Unlike most planetarium software,
across. A 'point-and-goto' interface makes it simple to navigate
through the universe to the object you want to visit.
-%description -l pl
+%description -l pl.UTF-8
Celestia to wolny symulator przestrzeni komicznej w czasie
-rzeczywistym, który pozwala do¶wiadczaæ naszego Wszech¶wiata w trzech
-wymiarach. W odró¿nieniu od innych programów planetarnych Celestia nie
-przywi±zuje Ciê do powierzchni ziemi. Mo¿esz podró¿owaæ przez Uk³ad
-S³oneczny do ponad 100,000 gwiazd lub nawet poza galaktykê. Wszystkie
-podró¿e w Celestii s± niezauwa¿alne; funkcja wyk³adniczego
-przybli¿enia pozwala Ci odkrywaæ Kosmos w ró¿nych skalach - od
-spojrzenia na galaktyki do widoku kilkumetrowych statków kosmicznych.
-Interfejs typu 'poka¿-i-leæ' czyni nawigacjê przez Wszech¶wiat prost±.
+rzeczywistym, który pozwala doświadczać naszego Wszechświata w trzech
+wymiarach. W odróżnieniu od innych programów planetarnych Celestia nie
+przywiązuje Cię do powierzchni ziemi. Możesz podróżować przez Układ
+Słoneczny do ponad 100,000 gwiazd lub nawet poza galaktykę. Wszystkie
+podróże w Celestii są niezauważalne; funkcja wykładniczego
+przybliżenia pozwala Ci odkrywać Kosmos w różnych skalach - od
+spojrzenia na galaktyki do widoku kilkumetrowych statków kosmicznych.
+Interfejs typu 'pokaż-i-leć' czyni nawigację przez Wszechświat prostą.
%prep
-%setup -q
+%setup -q -n Celestia-%{version}
+%patch0 -p1
+%patch1 -p1
%build
-rm -f missing
-aclocal -I macros
-autoconf
-automake -a -f
-CFLAGS="-I%{_includedir} %{rpmcflags}"
-CPPFLAGS="-I%{_includedir} %{rpmcflags}"
-CXXFLAGS="-I%{_includedir} %{rpmcflags} -fno-rtti -fno-exceptions"
+%{__gettextize}
+cp -a po/Makefile* po2/
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+
%configure \
- --enable-gtk
+ CFLAGS="%{rpmcflags} $(pkg-config --cflags libpng)" \
+ LIBS="-ldl" \
+ %{?with_kde:--with-kde} \
+ %{?with_gtk:--with-gtk} \
+ %{?with_gnome:--with-gnome} \
+ %{?with_glut:--with-glut} \
+ --disable-rpath \
+ %{!?with_theora:--disable-theora} \
+ --with-lua \
+ --with-qt-dir=%{_libdir}
+
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} -e DESTDIR=$RPM_BUILD_ROOT install
-gzip -9nf README AUTHORS TODO controls.txt
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT \
+ kde_htmldir=%{_kdedocdir} \
+ kde_libs_htmldir=%{_kdedocdir} \
+ appsdir=%{_desktopdir}/kde
+
+# desktop/icon
+install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
+%{!?with_kde:install src/celestia/kde/data/celestia.desktop $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop}
+cp -p src/celestia/kde/data/hi48-app-celestia.png $RPM_BUILD_ROOT%{_pixmapsdir}/celestia.png
+
+%find_lang %{name} --all-name --with-kde
%clean
rm -rf $RPM_BUILD_ROOT
-%files
+%if %{with gnome}
+%post
+%gconf_schema_install celestia.schemas
+
+%preun
+%gconf_schema_uninstall celestia.schemas
+%endif
+
+%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc *.gz
+%doc NEWS README AUTHORS controls.txt ChangeLog
%attr(755,root,root) %{_bindir}/*
-%{_datadir}/*
+%{_datadir}/celestia
+%{_pixmapsdir}/*
+%if %{with kde}
+%{_datadir}/apps/celestia
+%{_datadir}/config/*
+%{_datadir}/mimelnk/application/*
+%{_datadir}/services/*
+%{_iconsdir}/*/*/apps/%{name}.png
+%{_desktopdir}/kde/*.desktop
+%else
+%{_desktopdir}/*.desktop
+%endif
+%{?with_gnome:%{_sysconfdir}/gconf/schemas/celestia.schemas}