sci-astronomy/celestia: Added live ebuild

Still has rough edges and needs (lots of?) improvement.

Package-Manager: Portage-2.3.28, Repoman-2.3.9
This commit is contained in:
Lars Wendler
2018-04-04 16:50:11 +02:00
parent 24d30788c4
commit 8085c07f4b
14 changed files with 948 additions and 18 deletions

View File

@@ -0,0 +1,158 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools flag-o-matic gnome2 xdg-utils
DESCRIPTION="OpenGL 3D space simulator"
HOMEPAGE="https://celestia.space"
if [[ "${PV}" = 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/CelestiaProject/Celestia.git"
# Necessary because of gnome2 eclass
SRC_URI=""
else
# Old URI! Please update once we have a release > v1.6.1
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="cairo gnome gtk nls pch theora threads"
RDEPEND="
virtual/opengl
virtual/jpeg:0
media-libs/libpng:0=
>=dev-lang/lua-5.1:*
gtk? (
x11-libs/gtk+:2
>=x11-libs/gtkglext-1.0
)
gnome? (
>=gnome-base/libgnomeui-2.0
)
!gtk? ( !gnome? ( media-libs/freeglut ) )
cairo? ( x11-libs/cairo )
theora? ( media-libs/libtheora )"
DEPEND="${RDEPEND}
virtual/pkgconfig"
REQUIRED_USE="gnome? ( gtk )"
PATCHES=(
# make better desktop files
"${FILESDIR}"/${PN}-1.5.0-desktop.patch
# add a ~/.celestia for extra directories
"${FILESDIR}"/${PN}-1.6.99-cfg.patch
# missing zlib.h include with libpng15
"${FILESDIR}"/${PN}-1.6.1-libpng15.patch
"${FILESDIR}"/${PN}-1.6.99-linking.patch
# gcc-47, #414015
"${FILESDIR}"/${PN}-1.6.99-gcc47.patch
# libpng16 #464764
"${FILESDIR}"/${PN}-1.6.1-libpng16.patch
# Patches from upstream PRs
# https://github.com/CelestiaProject/Celestia/pull/35
#"${FILESDIR}/${PN}-1.6.99-automake.patch"
"${FILESDIR}/${PN}-1.6.99-models_makefile.patch"
"${FILESDIR}/${PN}-1.6.99-default_source.patch"
"${FILESDIR}/${PN}-1.6.99-symlink.patch"
# https://github.com/CelestiaProject/Celestia/pull/37
"${FILESDIR}/${PN}-1.6.99-compiler_warnings.patch"
)
pkg_setup() {
# Check for one for the following use flags to be set.
if use gnome; then
einfo "USE=\"gnome\" detected."
USE_DESTDIR="1"
CELESTIA_GUI="gnome"
elif use gtk; then
einfo "USE=\"gtk\" detected."
CELESTIA_GUI="gtk"
else
ewarn "If you want to use the full gui, set USE=\"{gnome|gtk}\""
ewarn "Defaulting to glut support (no GUI)."
CELESTIA_GUI="glut"
fi
}
src_prepare() {
default
if [[ -f configure.in ]] ; then
mv configure.{in,ac} || die
else
elog "configure.in file is gone. Clean up the ebuild!"
fi
# remove flags to let the user decide
local
for cf in -O2 -ffast-math \
-fexpensive-optimizations \
-fomit-frame-pointer; do
sed -i \
-e "s/${cf}//g" \
configure.ac admin/* || die "sed failed"
done
# remove an unused gconf macro killing autoconf when no gnome
# (not needed without eautoreconf)
if ! use gnome; then
sed -i \
-e '/AM_GCONF_SOURCE_2/d' \
configure.ac || die "sed failed"
fi
eautoreconf
filter-flags "-funroll-loops -frerun-loop-opt"
### This version of Celestia has a bug in the font rendering and
### requires -fsigned-char. We should be able to force this flag
### on all architectures. See bug #316573.
append-flags "-fsigned-char"
}
src_configure() {
# force lua in 1.6.1. seems to be inevitable
local myeconfargs=(
--disable-rpath
--with-${CELESTIA_GUI}
--with-lua
$(use_enable cairo)
$(use_enable threads threading)
$(use_enable nls)
$(use_enable pch)
$(use_enable theora)
)
econf "${myeconfargs[@]}"
}
src_install() {
if [[ ${CELESTIA_GUI} == gnome ]]; then
gnome2_src_install
else
emake DESTDIR="${D}" MKDIR_P="mkdir -p" install
local size
for size in 16 22 32 48 ; do
newicon "${S}"/src/celestia/kde/data/hi${size}-app-${PN}.png ${PN}.png
done
fi
[[ ${CELESTIA_GUI} == glut ]] && domenu celestia.desktop
dodoc AUTHORS README TRANSLATORS *.txt
}
pkg_postinst() {
xdg_desktop_database_update
}
pkg_postrm() {
xdg_desktop_database_update
}

View File

@@ -1,5 +1,5 @@
--- src/celestia/kde/data/celestia.desktop.orig 2008-02-27 15:19:41.000000000 +0000
+++ src/celestia/kde/data/celestia.desktop 2008-02-27 15:43:20.000000000 +0000
--- a/src/celestia/kde/data/celestia.desktop
+++ b/src/celestia/kde/data/celestia.desktop
@@ -1,8 +1,12 @@
[Desktop Entry]
+Encoding=UTF-8
@@ -14,8 +14,8 @@
Type=Application
+Categories=Education;Science;Astronomy;Qt
+GenericName=Space Simulator
--- src/celestia/gtk/data/celestia.desktop.orig 2008-02-27 15:19:58.000000000 +0000
+++ src/celestia/gtk/data/celestia.desktop 2008-02-27 15:44:26.000000000 +0000
--- a/src/celestia/gtk/data/celestia.desktop
+++ b/src/celestia/gtk/data/celestia.desktop
@@ -1,12 +1,12 @@
[Desktop Entry]
Encoding=UTF-8
@@ -33,13 +33,13 @@
+Comment=3D space simulator to explore the universe
+Exec=celestia %f
+Terminal=false
+Icon=celestia.png
+Icon=celestia
+MimeType=application/x-celestia-script
+Type=Application
+Categories=Education;Science;Astronomy;GTK
+GenericName=Space Simulator
--- celestia.desktop 1970-01-01 01:00:00.000000000 +0100
+++ celestia.desktop 2008-02-27 15:22:31.000000000 +0000
--- a/celestia.desktop
+++ b/celestia.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Encoding=UTF-8
@@ -51,5 +51,5 @@
+Categories=Education;Science;Astronomy
+Exec=celestia %f
+Terminal=false
+Icon=celestia.png
+Icon=celestia
+MimeType=application/x-celestia-script

View File

@@ -1,5 +1,5 @@
--- celestia.cfg.orig 2009-07-20 12:52:17.000000000 +0200
+++ celestia.cfg 2009-07-20 12:52:43.000000000 +0200
--- a/celestia.cfg
+++ b/celestia.cfg
@@ -195,7 +195,7 @@
# or
# ExtrasDirectories [ "D:\\celestia-extras" ]

View File

@@ -2,8 +2,8 @@ http://bugs.gentoo.org/show_bug.cgi?id=366073
http://celestia.svn.sourceforge.net/viewvc/celestia?view=revision&revision=5178
Patch written by Nils Larsson <ni1s@nerdshack.com>
--- src/celengine/frametree.h
+++ src/celengine/frametree.h
--- a/src/celengine/frametree.h
+++ b/src/celengine/frametree.h
@@ -14,6 +14,7 @@
#define _CELENGINE_FRAMETREE_H_

View File

@@ -1,7 +1,7 @@
imagecapture.cpp:184:40: error: ‘Z_BEST_COMPRESSION’ was not declared in this scope
--- src/celestia/imagecapture.cpp
+++ src/celestia/imagecapture.cpp
--- a/src/celestia/imagecapture.cpp
+++ b/src/celestia/imagecapture.cpp
@@ -31,6 +31,9 @@
#include "png.h"
#endif

View File

@@ -3,8 +3,8 @@ image.cpp:530:61: error: ‘memcpy’ was not declared in this scope
https://bugs.gentoo.org/show_bug.cgi?id=464764
Patch written by Lars Wendler <polynomial-c@gentoo.org>
--- a/celestia/src/celengine/image.cpp
+++ b/celestia/src/celengine/image.cpp
--- a/src/celengine/image.cpp
+++ b/src/celengine/image.cpp
@@ -42,6 +42,7 @@ extern "C" {
#include "jpeglib.h"
#else
@@ -13,8 +13,8 @@ Patch written by Lars Wendler <polynomial-c@gentoo.org>
#include <jpeglib.h>
#endif
}
--- a/celestia/src/celengine/texture.cpp
+++ b/celestia/src/celengine/texture.cpp
--- a/src/celengine/texture.cpp
+++ b/src/celengine/texture.cpp
@@ -28,6 +28,7 @@
#include <cstdlib>
#include <cstdio>

View File

@@ -0,0 +1,326 @@
From 40d2204abb0c3ef3c4ea42492309282006cdb03b Mon Sep 17 00:00:00 2001
From: Hleb Valoshka <375gnu@gmail.com>
Date: Sat, 24 Feb 2018 15:37:47 +0300
Subject: [PATCH] update for newer automake
---
configure.in => configure.ac | 19 ++++++++++---------
po/Makefile.in.in | 1 +
po/be.po | 8 ++++----
po2/Makefile.in.in | 1 +
src/Makefile.am | 2 +-
src/cel3ds/Makefile.am | 2 +-
src/celengine/Makefile.am | 10 +++++-----
src/celephem/Makefile.am | 2 +-
src/celestia/Makefile.am | 2 +-
src/celestia/gtk/Makefile.am | 2 +-
src/celestia/kde/Makefile.am | 2 +-
src/celestia/qt/Makefile.am | 2 +-
src/celmath/Makefile.am | 2 +-
src/celmodel/Makefile.am | 2 +-
src/celtxf/Makefile.am | 2 +-
src/celutil/Makefile.am | 2 +-
16 files changed, 32 insertions(+), 29 deletions(-)
rename configure.in => configure.ac (97%)
diff --git a/configure.in b/configure.ac
similarity index 97%
rename from configure.in
rename to configure.ac
index 0b70581e..c9e722a1 100644
--- a/configure.in
+++ b/configure.ac
@@ -4,8 +4,9 @@ dnl Process this file with autoconf to make a configure script
dnl
AC_PREREQ(2.57)
-AC_INIT([celestia], [1.6.0], [celestia-developers@lists.sf.net])
+AC_INIT([celestia], [1.7.0], [celestia-developers@lists.sf.net])
AC_CONFIG_SRCDIR(acinclude.m4)
+AC_CONFIG_MACRO_DIRS([macros])
dnl The following section confirms that the user provided necessary option
dnl BEFORE anything is checked.
@@ -19,7 +20,7 @@ ui_qt="no"
AC_ARG_WITH([glut],
AC_HELP_STRING([--with-glut], [Use Glut for the UI]),
ui_glut="yes")
-
+
AC_ARG_WITH([gtk],
AC_HELP_STRING([--with-gtk], [Use Gtk for an enhanced GUI]),
ui_gtk="yes")
@@ -79,7 +80,7 @@ AC_CANONICAL_SYSTEM
dnl Perform program name transformation
AC_ARG_PROGRAM
-AM_INIT_AUTOMAKE([-Wno-portability])
+AM_INIT_AUTOMAKE([-Wno-portability subdir-objects])
AM_CONFIG_HEADER(config.h)
AM_PO_SUBDIRS
@@ -152,7 +153,7 @@ dnl
AC_ARG_WITH([cspice-dir],
AC_HELP_STRING([--with-cspice-dir=DIR], [Specify SPICE directory location]),
- SPICE_CFLAGS="-I$withval/include -DUSE_SPICE";
+ SPICE_CFLAGS="-I$withval/include -DUSE_SPICE";
SPICE_LIBS="$withval/lib/cspice.a")
AC_SUBST(SPICE_CFLAGS)
@@ -386,11 +387,11 @@ if (test "$enable_lua" != "no"); then
LUA_VER=0
PKG_CHECK_MODULES(LUA, lua5.2 >= 5.2.0, LUA_VER=0x050200, [
PKG_CHECK_MODULES(LUA, lua >= 5.2.0, LUA_VER=0x050200, [
- PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1.0, LUA_VER=0x050100,
- [ PKG_CHECK_MODULES(LUA, lua >= 5.1.0, LUA_VER=0x050100,
+ PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1.0, LUA_VER=0x050100,
+ [ PKG_CHECK_MODULES(LUA, lua >= 5.1.0, LUA_VER=0x050100,
[ PKG_CHECK_MODULES(LUA, lua50 >= 5.0.0 lua50 < 5.1.0, LUA_VER=0x050000,
- [ PKG_CHECK_MODULES(LUA, lua >= 5.0.0 lua < 5.1.0, LUA_VER=0x050000, AC_MSG_RESULT([no])) ]
- ) ]
+ [ PKG_CHECK_MODULES(LUA, lua >= 5.0.0 lua < 5.1.0, LUA_VER=0x050000, AC_MSG_RESULT([no])) ]
+ ) ]
) ]
) ] ) ] )
if (test "$LUA_VER" = "0x050000"); then
@@ -512,7 +513,7 @@ AC_MSG_RESULT([Use Lua: $enable_lua]);
if (test "$LUA_VER" = "0x050000"); then
AC_MSG_RESULT([ Warning: Lua 5.1 is not available on your system, Lua 5.0 will be used
- instead but it may not be fully compatible with existing CELX scripts.
+ instead but it may not be fully compatible with existing CELX scripts.
It is recommanded that you install Lua 5.0 and rerun configure.]);
fi
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index 5b7a5d5c..58c96720 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -31,6 +31,7 @@ gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
mkinstalldirs = $(SHELL) @install_sh@ -d
+MKDIR_P = @MKDIR_P@
mkdir_p = @mkdir_p@
GMSGFMT_ = @GMSGFMT@
diff --git a/po/be.po b/po/be.po
index 171bf786..a229f43d 100644
--- a/po/be.po
+++ b/po/be.po
@@ -6,7 +6,7 @@ msgstr ""
"PO-Revision-Date: \n"
"Last-Translator: Hleb Valoshka <375gnu@gmail.com>\n"
"Language-Team: belarusian <i18n@mova.org>\n"
-"Language: \n"
+"Language: belarusian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -28,7 +28,7 @@ msgstr "STD"
#: src/celengine/dsodb.cpp:387
msgid "Loaded "
-msgstr "Загружаны"
+msgstr "Загружана "
#: src/celengine/dsodb.cpp:387
msgid " deep space objects"
@@ -110,7 +110,7 @@ msgstr " прымітываў, "
#: src/celengine/meshmanager.cpp:165
msgid " materials "
-msgstr " матар'ялаў"
+msgstr " матар'ялаў "
#: src/celengine/meshmanager.cpp:166
msgid " unique)\n"
@@ -739,7 +739,7 @@ msgstr "Трымаць "
#: src/celestia/celestiacore.cpp:3592
msgid "Follow "
-msgstr "Ісьці ўсьлед "
+msgstr "Ідзём за аб'ектам: "
#: src/celestia/celestiacore.cpp:3597
msgid "Sync Orbit "
diff --git a/po2/Makefile.in.in b/po2/Makefile.in.in
index 5b7a5d5c..58c96720 100644
--- a/po2/Makefile.in.in
+++ b/po2/Makefile.in.in
@@ -31,6 +31,7 @@ gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
mkinstalldirs = $(SHELL) @install_sh@ -d
+MKDIR_P = @MKDIR_P@
mkdir_p = @mkdir_p@
GMSGFMT_ = @GMSGFMT@
diff --git a/src/Makefile.am b/src/Makefile.am
index a929ca4d..64aad4a3 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -2,7 +2,7 @@ SUBDIRS = celutil celmath cel3ds celtxf celengine celephem celmodel celestia
DEFS = -DHIP_DATA_DIR='"$(HIPDIR)"' @DEFS@
-INCLUDES = -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include
+AM_CPPFLAGS = -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include
buildstardb_SOURCES = buildstardb.cpp
EXTRA_DIST = packdb.cpp packnames.cpp readstars.cpp
diff --git a/src/cel3ds/Makefile.am b/src/cel3ds/Makefile.am
index efd9030d..a573c06b 100644
--- a/src/cel3ds/Makefile.am
+++ b/src/cel3ds/Makefile.am
@@ -1,7 +1,7 @@
noinst_LIBRARIES = libcel3ds.a
noinst_HEADERS = $(wildcard *.h)
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen
libcel3ds_a_SOURCES = \
3dsmodel.cpp \
diff --git a/src/celengine/Makefile.am b/src/celengine/Makefile.am
index a540b098..77d909b7 100644
--- a/src/celengine/Makefile.am
+++ b/src/celengine/Makefile.am
@@ -1,10 +1,11 @@
noinst_LIBRARIES = libcelengine.a
noinst_HEADERS = $(wildcard *.h)
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/curveplot/include \
- -I$(top_srcdir)/thirdparty/glew/include
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/curveplot/include
-libcelengine_a_CXXFLAGS = $(LUA_CFLAGS) $(SPICE_CFLAGS)
+libcelengine_a_CXXFLAGS = $(LUA_CFLAGS) $(SPICE_CFLAGS) $(GLEW_CFLAGS)
+
+AM_LDFLAGS = $(LUA_LDFLAGS) $(GLEW_LDFLAGS)
libcelengine_a_SOURCES = \
asterism.cpp \
@@ -74,5 +75,4 @@ libcelengine_a_SOURCES = \
vertexprog.cpp \
virtualtex.cpp \
visibleregion.cpp \
- $(top_srcdir)/thirdparty/glew/src/glew.c \
- $(top_srcdir)/thirdparty/curveplot/src/curveplot.cpp
+ ../../thirdparty/curveplot/src/curveplot.cpp
diff --git a/src/celephem/Makefile.am b/src/celephem/Makefile.am
index 0b9aed16..8d6f25e4 100644
--- a/src/celephem/Makefile.am
+++ b/src/celephem/Makefile.am
@@ -1,7 +1,7 @@
noinst_LIBRARIES = libcelephem.a
noinst_HEADERS = $(wildcard *.h)
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen
if ENABLE_SPICE
SPICESOURCES = spiceinterface.cpp spiceorbit.cpp spicerotation.cpp
diff --git a/src/celestia/Makefile.am b/src/celestia/Makefile.am
index 95ba9ab6..25eb7d64 100644
--- a/src/celestia/Makefile.am
+++ b/src/celestia/Makefile.am
@@ -1,7 +1,7 @@
SUBDIRS =
bin_PROGRAMS = celestia
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include
DEFS = -DCONFIG_DATA_DIR='"$(PKGDATADIR)"' -DLOCALEDIR='"$(datadir)/locale"' @DEFS@
diff --git a/src/celestia/gtk/Makefile.am b/src/celestia/gtk/Makefile.am
index a77e000a..a32237e6 100644
--- a/src/celestia/gtk/Makefile.am
+++ b/src/celestia/gtk/Makefile.am
@@ -1,6 +1,6 @@
SUBDIRS = data
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include
DEFS = -DCONFIG_DATA_DIR='"$(PKGDATADIR)"' -DLOCALEDIR='"$(datadir)/locale"' @DEFS@
diff --git a/src/celestia/kde/Makefile.am b/src/celestia/kde/Makefile.am
index 07ec12d1..4f034994 100644
--- a/src/celestia/kde/Makefile.am
+++ b/src/celestia/kde/Makefile.am
@@ -30,7 +30,7 @@ if ENABLE_KDE
noinst_LIBRARIES = libkdegui.a
noinst_HEADERS = $(wildcard *.h)
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include $(QT_INCLUDES) $(KDE_INCLUDES)
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include $(QT_AM_CPPFLAGS) $(KDE_AM_CPPFLAGS)
libkdegui_a_CXXFLAGS = $(LUA_CFLAGS) $(THEORA_CFLAGS)
diff --git a/src/celestia/qt/Makefile.am b/src/celestia/qt/Makefile.am
index fb43c487..8cd73b65 100644
--- a/src/celestia/qt/Makefile.am
+++ b/src/celestia/qt/Makefile.am
@@ -76,7 +76,7 @@ if ENABLE_QT
noinst_LIBRARIES = libqtgui.a
noinst_HEADERS = $(QT_HEADERS)
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen -I$(top_srcdir)/thirdparty/glew/include
BUILT_SOURCES = $(MOC_CPP_FILES) $(QRC_CPP_FILES) $(UI_H_FILES)
diff --git a/src/celmath/Makefile.am b/src/celmath/Makefile.am
index 2173112e..efb63bc8 100644
--- a/src/celmath/Makefile.am
+++ b/src/celmath/Makefile.am
@@ -1,7 +1,7 @@
noinst_LIBRARIES = libcelmath.a
noinst_HEADERS = $(wildcard *.h)
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen
libcelmath_a_SOURCES = \
frustum.cpp \
diff --git a/src/celmodel/Makefile.am b/src/celmodel/Makefile.am
index 39219eb0..9a619279 100644
--- a/src/celmodel/Makefile.am
+++ b/src/celmodel/Makefile.am
@@ -1,7 +1,7 @@
noinst_LIBRARIES = libcelmodel.a
noinst_HEADERS = $(wildcard *.h)
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/Eigen
libcelmodel_a_SOURCES = \
material.cpp \
diff --git a/src/celtxf/Makefile.am b/src/celtxf/Makefile.am
index 75c1ef89..938d4f04 100644
--- a/src/celtxf/Makefile.am
+++ b/src/celtxf/Makefile.am
@@ -1,7 +1,7 @@
noinst_LIBRARIES = libceltxf.a
noinst_HEADERS = $(wildcard *.h)
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/glew/include
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/thirdparty/glew/include
libceltxf_a_SOURCES = \
texturefont.cpp
diff --git a/src/celutil/Makefile.am b/src/celutil/Makefile.am
index 27361d8b..6c956a1e 100644
--- a/src/celutil/Makefile.am
+++ b/src/celutil/Makefile.am
@@ -18,6 +18,6 @@ WINSOURCES = \
winutil.cpp \
windirectory.cpp
-INCLUDES = -I$(top_srcdir)/thirdparty/Eigen
+AM_CPPFLAGS = -I$(top_srcdir)/thirdparty/Eigen
EXTRA_libcelutil_a_SOURCES= $(WINSOURCES)

View File

@@ -0,0 +1,25 @@
From af91ecccb4fe46181d22d4195cb4cca1c734ae63 Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Wed, 4 Apr 2018 15:28:32 +0200
Subject: [PATCH] celestia.cfg: Add ~/.celestia as extras directory.
---
celestia.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/celestia.cfg b/celestia.cfg
index 1a69b422..635b0084 100644
--- a/celestia.cfg
+++ b/celestia.cfg
@@ -176,7 +176,7 @@ StarTextures
# or
# ExtrasDirectories [ "D:\\celestia-extras" ]
#------------------------------------------------------------------------
- ExtrasDirectories [ "data" "extras" ]
+ ExtrasDirectories [ "data" "extras" "~/.celestia" ]
#------------------------------------------------------------------------
--
2.17.0

View File

@@ -0,0 +1,226 @@
From dba25141a60ba7a09eac8f64eac1c18c48acc3a3 Mon Sep 17 00:00:00 2001
From: Hleb Valoshka <375gnu@gmail.com>
Date: Mon, 12 Mar 2018 20:18:51 +0300
Subject: [PATCH] fix (some) compiler warnings
---
src/cel3ds/3dsread.cpp | 5 +++--
src/celengine/command.cpp | 15 ++++++---------
src/celengine/observer.cpp | 8 ++++----
src/celengine/render.cpp | 2 ++
src/celengine/renderglsl.cpp | 2 +-
src/celengine/star.cpp | 2 +-
src/celestia/glutmain.cpp | 9 ++++-----
src/celestia/qt/qtmain.cpp | 2 +-
src/celutil/bigfix.cpp | 3 +--
9 files changed, 23 insertions(+), 25 deletions(-)
diff --git a/src/cel3ds/3dsread.cpp b/src/cel3ds/3dsread.cpp
index 3b78847f..3ee3cf3d 100644
--- a/src/cel3ds/3dsread.cpp
+++ b/src/cel3ds/3dsread.cpp
@@ -116,8 +116,9 @@ void indent()
cout << " ";
}
-void logChunk(uint16 chunkType/*, int chunkSize*/)
+void logChunk(uint16 /*chunkType*/ /*, int chunkSize*/)
{
+#if 0
const char* name = NULL;
switch (chunkType)
@@ -193,7 +194,7 @@ void logChunk(uint16 chunkType/*, int chunkSize*/)
default:
break;
}
-#if 0
+
indent();
if (name == NULL)
diff --git a/src/celengine/command.cpp b/src/celengine/command.cpp
index e190fa5b..a258f4c0 100644
--- a/src/celengine/command.cpp
+++ b/src/celengine/command.cpp
@@ -703,24 +703,21 @@ CommandCapture::CommandCapture(const std::string& _type,
void CommandCapture::process(ExecutionEnvironment&)
{
#ifndef TARGET_OS_MAC
- bool success = false;
-
-
// Get the dimensions of the current viewport
int viewport[4];
glGetIntegerv(GL_VIEWPORT, viewport);
if (compareIgnoringCase(type, "jpeg") == 0)
{
- success = CaptureGLBufferToJPEG(filename,
- viewport[0], viewport[1],
- viewport[2], viewport[3]);
+ CaptureGLBufferToJPEG(filename,
+ viewport[0], viewport[1],
+ viewport[2], viewport[3]);
}
if (compareIgnoringCase(type, "png") == 0)
{
- success = CaptureGLBufferToPNG(filename,
- viewport[0], viewport[1],
- viewport[2], viewport[3]);
+ CaptureGLBufferToPNG(filename,
+ viewport[0], viewport[1],
+ viewport[2], viewport[3]);
}
#endif
}
diff --git a/src/celengine/observer.cpp b/src/celengine/observer.cpp
index 3b5af97a..60b818b3 100644
--- a/src/celengine/observer.cpp
+++ b/src/celengine/observer.cpp
@@ -426,7 +426,7 @@ void Observer::update(double dt, double timeScale)
UniversalCoord origin = centerObj.getPosition(simTime);
Vector3d v0 = ufrom.offsetFromKm(origin);
- Vector3d v1 = uto.offsetFromKm(origin);
+ //Vector3d v1 = uto.offsetFromKm(origin);
if (jv.norm() == 0.0)
{
@@ -629,7 +629,7 @@ void Observer::computeGotoParameters(const Selection& destination,
}
UniversalCoord targetPosition = destination.getPosition(getTime());
- Vector3d v = targetPosition.offsetFromKm(getPosition()).normalized();
+ //Vector3d v = targetPosition.offsetFromKm(getPosition()).normalized();
jparams.traj = Linear;
jparams.duration = gotoTime;
@@ -694,7 +694,7 @@ void Observer::computeGotoParametersGC(const Selection& destination,
setFrame(frame->getCoordinateSystem(), destination);
UniversalCoord targetPosition = destination.getPosition(getTime());
- Vector3d v = targetPosition.offsetFromKm(getPosition()).normalized();
+ //Vector3d v = targetPosition.offsetFromKm(getPosition()).normalized();
jparams.traj = GreatCircle;
jparams.duration = gotoTime;
@@ -791,7 +791,7 @@ void Observer::computeCenterCOParameters(const Selection& destination,
Selection centerObj = frame->getRefObject();
UniversalCoord centerPos = centerObj.getPosition(getTime());
- UniversalCoord targetPosition = destination.getPosition(getTime());
+ //UniversalCoord targetPosition = destination.getPosition(getTime());
Quaterniond q;
q.setFromTwoVectors(v, w);
diff --git a/src/celengine/render.cpp b/src/celengine/render.cpp
index 018153d5..bfcefd39 100644
--- a/src/celengine/render.cpp
+++ b/src/celengine/render.cpp
@@ -8033,8 +8033,10 @@ void Renderer::renderCometTail(const Body& body,
{
Vector3f cometPoints[MaxCometTailPoints];
Vector3d pos0 = body.getOrbit(now)->positionAtTime(now);
+#if 0
Vector3d pos1 = body.getOrbit(now)->positionAtTime(now - 0.01);
Vector3d vd = pos1 - pos0;
+#endif
double t = now;
float distanceFromSun, irradiance_max = 0.0f;
diff --git a/src/celengine/renderglsl.cpp b/src/celengine/renderglsl.cpp
index 15644440..14774239 100644
--- a/src/celengine/renderglsl.cpp
+++ b/src/celengine/renderglsl.cpp
@@ -773,7 +773,7 @@ void renderGeometryShadow_GLSL(Geometry* geometry,
int lightIndex = 0;
Vector3f viewDir = -ls.lights[lightIndex].direction_obj;
Vector3f upDir = viewDir.unitOrthogonal();
- Vector3f rightDir = upDir.cross(viewDir);
+ /*Vector3f rightDir = */upDir.cross(viewDir);
glUseProgramObjectARB(0);
diff --git a/src/celengine/star.cpp b/src/celengine/star.cpp
index a5119cd6..662db92c 100644
--- a/src/celengine/star.cpp
+++ b/src/celengine/star.cpp
@@ -761,7 +761,7 @@ StarDetails::StarDetails() :
bolometricCorrection(0.0f),
knowledge(0u),
visible(true),
- texture(texture),
+ texture(texture), // warning: ‘StarDetails::texture’ is initialized with itself [-Winit-self]
geometry(InvalidResource),
orbit(NULL),
orbitalRadius(0.0f),
diff --git a/src/celestia/glutmain.cpp b/src/celestia/glutmain.cpp
index b1fb416c..36ae331b 100644
--- a/src/celestia/glutmain.cpp
+++ b/src/celestia/glutmain.cpp
@@ -155,8 +155,7 @@ static void MouseButton(int button, int state, int x, int y)
lastY = y;
}
-
-static void KeyPress(unsigned char c, int x, int y)
+static void KeyPress(unsigned char c, int /*x*/, int /*y*/)
{
// Ctrl-Q exits
if (c == '\021')
@@ -167,7 +166,7 @@ static void KeyPress(unsigned char c, int x, int y)
}
-static void KeyUp(unsigned char c, int x, int y)
+static void KeyUp(unsigned char c, int /*x*/, int /*y*/)
{
appCore->keyUp((int) c);
}
@@ -237,13 +236,13 @@ static void HandleSpecialKey(int key, bool down)
}
-static void SpecialKeyPress(int key, int x, int y)
+static void SpecialKeyPress(int key, int /*x*/, int /*y*/)
{
HandleSpecialKey(key, true);
}
-static void SpecialKeyUp(int key, int x, int y)
+static void SpecialKeyUp(int key, int /*x*/, int /*y*/)
{
HandleSpecialKey(key, false);
}
diff --git a/src/celestia/qt/qtmain.cpp b/src/celestia/qt/qtmain.cpp
index f8dc5080..04b666d5 100644
--- a/src/celestia/qt/qtmain.cpp
+++ b/src/celestia/qt/qtmain.cpp
@@ -29,7 +29,7 @@
using namespace std;
extern "C" { FILE __iob_func[3] = { *stdin,*stdout,*stderr }; }
-static const char *description = "Celestia";
+//static const char *description = "Celestia";
// Command line options
static bool startFullscreen = false;
diff --git a/src/celutil/bigfix.cpp b/src/celutil/bigfix.cpp
index 1eacc5e2..a4ff2f4b 100644
--- a/src/celutil/bigfix.cpp
+++ b/src/celutil/bigfix.cpp
@@ -416,11 +416,10 @@ std::string BigFix::toString()
// Conversion using code from the original BigFix class.
std::string encoded("");
- int bits, c, char_count, started, i, j;
+ int bits, c, char_count, i, j;
char_count = 0;
bits = 0;
- started = 0;
// Find first significant (non null) byte
i = 16;

View File

@@ -0,0 +1,40 @@
From 1fe7a493eae81a4f32f65be03f594a7553429268 Mon Sep 17 00:00:00 2001
From: Hleb Valoshka <375gnu@gmail.com>
Date: Sat, 24 Feb 2018 16:45:36 +0300
Subject: [PATCH] replace _BSD_SOURCE with _DEFAULT_SOURCE
---
acinclude.m4 | 4 ++--
admin/acinclude.m4.in | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4
index e2d5da23..49a086f8 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -3223,8 +3223,8 @@ AC_DEFUN([AC_CHECK_COMPILERS],
CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
case $host in
*-*-linux-gnu)
- CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
- CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts $CXXFLAGS"
+ CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE $CFLAGS"
+ CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE -Wcast-align -Wchar-subscripts $CXXFLAGS"
KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"])
KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
;;
diff --git a/admin/acinclude.m4.in b/admin/acinclude.m4.in
index e2d5da23..49a086f8 100644
--- a/admin/acinclude.m4.in
+++ b/admin/acinclude.m4.in
@@ -3223,8 +3223,8 @@ AC_DEFUN([AC_CHECK_COMPILERS],
CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
case $host in
*-*-linux-gnu)
- CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
- CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts $CXXFLAGS"
+ CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE $CFLAGS"
+ CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE -Wcast-align -Wchar-subscripts $CXXFLAGS"
KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"])
KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
;;

View File

@@ -0,0 +1,37 @@
From 97e728e3db4d74cf2a74316a4f0287a86ece47ad Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Wed, 4 Apr 2018 15:45:25 +0200
Subject: [PATCH] Fixes for >=gcc-4.7
---
src/celengine/frametree.h | 1 +
src/celengine/planetgrid.cpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/celengine/frametree.h b/src/celengine/frametree.h
index 62ca5450..f8e17f8a 100644
--- a/src/celengine/frametree.h
+++ b/src/celengine/frametree.h
@@ -13,6 +13,7 @@
#ifndef _CELENGINE_FRAMETREE_H_
#define _CELENGINE_FRAMETREE_H_
+#include <unistd.h>
#include <vector>
#include <cstddef>
diff --git a/src/celengine/planetgrid.cpp b/src/celengine/planetgrid.cpp
index 1c0f53bc..c08fef4a 100644
--- a/src/celengine/planetgrid.cpp
+++ b/src/celengine/planetgrid.cpp
@@ -14,6 +14,7 @@
#include "planetgrid.h"
#include "body.h"
#include "vecgl.h"
+#include <celmath/mathlib.h>
#include <celmath/intersect.h>
#include <Eigen/Core>
#include <Eigen/Geometry>
--
2.17.0

View File

@@ -0,0 +1,78 @@
From 803f4652895d40acc698901a87114a8582c050e6 Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Wed, 4 Apr 2018 15:40:08 +0200
Subject: [PATCH] Fix linking issues:
* underlinking GLUT (https://bugs.gentoo.org/372123, https://bugs.gentoo.org/387609)
* as-needed (https://bugs.gentoo.org/281258)
* theora with glut (https://bugs.gentoo.org/399237)
---
configure.in | 1 +
src/celestia/Makefile.am | 13 ++++++++-----
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/configure.in b/configure.in
index 0b70581e..3ea150b9 100644
--- a/configure.in
+++ b/configure.in
@@ -242,6 +242,7 @@ if (test "$ui_glut" = "yes"); then
dnl Check for GLUT.
AC_CHECK_LIB(glut, glutKeyboardUpFunc, ,
[AC_MSG_ERROR([GLUT library version >= 3.7 not found])])
+ check_theora="yes"
fi
AM_CONDITIONAL(ENABLE_GLUT, test "$ui_glut" = "yes")
diff --git a/src/celestia/Makefile.am b/src/celestia/Makefile.am
index 95ba9ab6..8402256b 100644
--- a/src/celestia/Makefile.am
+++ b/src/celestia/Makefile.am
@@ -7,14 +7,15 @@ DEFS = -DCONFIG_DATA_DIR='"$(PKGDATADIR)"' -DLOCALEDIR='"$(datadir)/locale"' @DE
if ENABLE_KDE
SUBDIRS += kde
-celestiaKDELIBS = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KFILE) \
- $(LIBSOCKET) -lDCOP kde/libkdegui.a
+celestiaKDELIBS = kde/libkdegui.a
celestia_LDFLAGS = $(all_libraries) $(KDE_RPATH)
+LIBS += $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) $(LIB_KFILE) $(LIBSOCKET) -lDCOP
endif
if ENABLE_GTK
SUBDIRS += gtk
-celestiaGTKLIBS = $(GTK_LIBS) gtk/libgtkgui.a
+celestiaGTKLIBS = gtk/libgtkgui.a
+LIBS += $(GTK_LIBS)
endif
if ENABLE_QT
@@ -49,6 +50,7 @@ endif
if ENABLE_GLUT
GLUTSOURCES = glutmain.cpp
+GLUTLIBS = -lGL
endif
if ENABLE_THEORA
@@ -63,8 +65,6 @@ celestia_LDADD = \
$(celestiaKDELIBS) \
$(celestiaGTKLIBS) \
$(celestiaQTLIBS) \
- $(LUA_LIBS) \
- $(THEORA_LIBS) \
../celengine/libcelengine.a \
../celephem/libcelephem.a \
../celmodel/libcelmodel.a \
@@ -72,6 +72,9 @@ celestia_LDADD = \
../cel3ds/libcel3ds.a \
../celmath/libcelmath.a \
../celutil/libcelutil.a \
+ $(LUA_LIBS) \
+ $(THEORA_LIBS) \
+ $(GLUTLIBS) \
$(SPICE_LIBS)
noinst_HEADERS = $(wildcard *.h)
--
2.17.0

View File

@@ -0,0 +1,21 @@
From abe1b03873af0e33d6cc23dec22755564794d41c Mon Sep 17 00:00:00 2001
From: Hleb Valoshka <375gnu@gmail.com>
Date: Sat, 24 Feb 2018 15:58:35 +0300
Subject: [PATCH] add Makefile for models/ subdir
---
models/Makefile.am | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 models/Makefile.am
diff --git a/models/Makefile.am b/models/Makefile.am
new file mode 100644
index 00000000..09d37338
--- /dev/null
+++ b/models/Makefile.am
@@ -0,0 +1,5 @@
+pkgdatadir = @datadir@/@PACKAGE@/models
+
+pkgdata_DATA = $(wildcard *.cmod) $(wildcard *.png)
+
+EXTRA_DIST = $(pkgdata_DATA)

View File

@@ -0,0 +1,19 @@
From 20fb86991babb1aa5aa278b2cd4dc454c78d5cd4 Mon Sep 17 00:00:00 2001
From: Hleb Valoshka <375gnu@gmail.com>
Date: Sat, 24 Feb 2018 18:36:20 +0300
Subject: [PATCH] fix symlink creation
---
src/celestia/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/celestia/Makefile.am b/src/celestia/Makefile.am
index 25eb7d64..60609fd3 100644
--- a/src/celestia/Makefile.am
+++ b/src/celestia/Makefile.am
@@ -79,4 +79,4 @@ noinst_DATA = ../../celestia
CLEANFILES = ../../celestia
../../celestia: celestia
- (cd ../..; ln -s src/celestia/celestia)
+ (cd ../..; ln -sf src/celestia/celestia)