aboutsummaryrefslogtreecommitdiff
path: root/astro/celestia/Makefile
diff options
context:
space:
mode:
authorTrevor Johnson <trevor@FreeBSD.org>2005-03-15 03:46:39 +0000
committerTrevor Johnson <trevor@FreeBSD.org>2005-03-15 03:46:39 +0000
commit0bd43f989028020dcbf387d83d729e9d810982f8 (patch)
tree8df09f44d3da959bccb582f49fe23fcb343b6f1e /astro/celestia/Makefile
parenteca90017dda4fc7e83e4b91c1d62836b9b99f069 (diff)
downloadports-0bd43f989028020dcbf387d83d729e9d810982f8.tar.gz
ports-0bd43f989028020dcbf387d83d729e9d810982f8.zip
Notes
Diffstat (limited to 'astro/celestia/Makefile')
-rw-r--r--astro/celestia/Makefile177
1 files changed, 101 insertions, 76 deletions
diff --git a/astro/celestia/Makefile b/astro/celestia/Makefile
index 33d1a41dfb4d..620d750902d7 100644
--- a/astro/celestia/Makefile
+++ b/astro/celestia/Makefile
@@ -6,123 +6,148 @@
#
PORTNAME= celestia
-PORTVERSION= 1.3.1
+PORTVERSION= 1.3.2
CATEGORIES= astro
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= celestia
-MAINTAINER= trevor@FreeBSD.org
-COMMENT= Scriptable space flight simulator for X
+MAINTAINER= trevor@FreeBSD.org
+COMMENT= Scriptable space flight simulator for X
-BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash2
-LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
- png.5:${PORTSDIR}/graphics/png \
- glut.3:${PORTSDIR}/graphics/libglut
+LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
+ png.5:${PORTSDIR}/graphics/png
-GNU_CONFIGURE= yes
-CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
-OPTIONS= KDE "KDE support" off
-OPTIONS+= LUA "Lua support" off
-PLIST= ${WRKDIR}/pkg-plist
-USE_REINPLACE= yes
-USE_GMAKE= yes
-USE_GL= yes
-USE_X_PREFIX= yes
-
-# GTK+ support is deprecated and broken
-CONFIGURE_ARGS= --without-gtk
+GNU_CONFIGURE= yes
+PLIST= ${WRKDIR}/plist
+PORTDOCS= AUTHORS CelestiaKeyAssignments.txt ChangeLog \
+ coding-standards.html devguide.txt \
+ KbdMouseJoyControls.txt README TODO TRANSLATORS
+USE_GMAKE= yes
+USE_GL= yes
+USE_GNOME=
+USE_REINPLACE= yes
+USE_X_PREFIX= yes
+CONFIGURE_ARGS= --program-prefix=""
CONFIGURE_ENV= \
LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib -lm ${PTHREAD_LIBS}" \
CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include ${PTHREAD_CFLAGS}"
-.if defined(WITH_KDE)
-USE_KDELIBS_VER= 3
-CONFIGURE_ARGS+= --with-kde
-.else
-CONFIGURE_ARGS+= --without-kde
-.endif
+OPTIONS= LUA "Lua support" off \
+ GLUT "Glut interface" off \
+ GTK "Gtk+ interface" off \
+ GNOME "GNOME interface" off \
+ KDE "KDE interface" off
+
+.include <bsd.port.pre.mk>
.if defined(WITH_LUA)
LIB_DEPENDS+= lua.5:${PORTSDIR}/lang/lua
CONFIGURE_ARGS+= --with-lua
+.endif
+
+.if defined(WITH_GNOME)
+PKGMESSAGE= ${WRKDIR}/message
+WITH_GTK= yes # GNOME requires GTK+
+USE_GNOME+= libgnomeui
+CONFIGURE_ARGS+= --with-gnome
+GCONF_SCHEMAS= celestia.schemas
+.endif
+
+.if defined(WITH_GTK)
+USE_GNOME+= gnomehack gnomeprefix gtk20
+LIB_DEPENDS+= gtkglext-x11-1.0:${PORTSDIR}/x11-toolkits/gtkglext
+CONFIGURE_ARGS+= --with-gtk
+PLIST_SUB+= DATADIR="share/gnome/celestia"
.else
-CONFIGURE_ARGS+= --without-lua
+PLIST_SUB+= DATADIR="share/celestia"
.endif
-.include <bsd.port.pre.mk>
+.if defined(WITH_KDE)
+USE_KDELIBS_VER= 3
+CONFIGURE_ARGS+= --with-kde
+# KDE_LIBS_VER is defined after including bsd.port.pre.mk, so we need
+# to include bsd.kde.mk manually.
+.include "${PORTSDIR}/Mk/bsd.kde.mk"
+.endif
+
+.if !defined(WITH_KDE) && !defined(WITH_GTK) && !defined(WITH_GNOME)
+WITH_GLUT= yes # an UI is required, fallback to Glut
+.endif
-.if ${OSVERSION} >= 502126
-BROKEN= "Does not compile on FreeBSD >= 5.x"
+.if defined(WITH_GLUT)
+CONFIGURE_ARGS+= --with-glut
.endif
-.if ${ARCH} != "i386" && ${ARCH} != "amd64"
-BROKEN= "Does not compile on !i386 and !amd64"
+.if defined(WITH_GTK) || defined(WITH_GLUT)
+# libglut is only required for Glut and GTK+ interfaces
+LIB_DEPENDS+= glut:${PORTSDIR}/graphics/libglut
.endif
pre-patch:
@${REINPLACE_CMD} -e \
-'s:-O2::g; s:-Wall::g; s:-ffast-math::g; s:-fexpensive-optimizations::g; s:! /bin/sh:! ${LOCALBASE}/bin/bash:g' \
- ${WRKSRC}/configure
+ 's|-O2||g; \
+ s|-Wall||g; \
+ s|-ffast-math||g; \
+ s|-fexpensive-optimizations||g; \
+ s|"x" = "y"|"x" = "x"|' \
+ ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|COPYING||g' ${WRKSRC}/Makefile.in
+.if !defined(WITH_GNOME)
+ @${REINPLACE_CMD} -e \
+ 's|\(install-pkgdataDATA\) install-schemasDATA|\1|; \
+ s|\$$(DESTDIR)\$$(schemasdir)||' \
+ ${WRKSRC}/src/celestia/gtk/data/Makefile.in
+.endif
pre-install:
- @${ECHO_CMD} bin/celestia > ${PLIST}
+ @${RM} -f ${PLIST}
+.if defined(WITH_GNOME)
+ @${ECHO_CMD} "The GConf daemon must be restarted with the commands:" \
+ >> ${PKGMESSAGE}
+ @${ECHO_CMD} "gconftool-2 --shutdown && gconftool-2 --spawn" \
+ >> ${PKGMESSAGE}
+ @${ECHO_CMD} share/gnome/applications/celestia.desktop >> ${PLIST}
+ @${ECHO_CMD} share/gnome/pixmaps/celestia.png >> ${PLIST}
+.endif
+.for ii in bin/celestia %%DATADIR%%/celestia.png %%DATADIR%%/controls.txt
+ @${ECHO_CMD} ${ii} >> ${PLIST}
+.endfor
@${FIND} ${WRKSRC}/data/ -name '*.???' | \
- ${SED} -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
+ ${SED} -e "s:^${WRKSRC}/:%%DATADIR%%/:g" >> ${PLIST}
@${FIND} ${WRKSRC}/extras/ -name '*.ssc' | \
- ${SED} -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
+ ${SED} -e "s:^${WRKSRC}/:%%DATADIR%%/:g" >> ${PLIST}
@${FIND} ${WRKSRC}/fonts/ -name '*.txf' | \
- ${SED} -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
+ ${SED} -e "s:^${WRKSRC}/:%%DATADIR%%/:g" >> ${PLIST}
.for ii in celestia.cfg demo.cel guide.cel start.cel
- @${ECHO_CMD} share/celestia/${ii} >> ${PLIST}
+ @${ECHO_CMD} %%DATADIR%%/${ii} >> ${PLIST}
.endfor
.if !defined(NOPORTDOCS)
-.for ii in AUTHORS ChangeLog README TODO controls.txt
- @${ECHO_CMD} share/doc/celestia/${ii} >> ${PLIST}
-.endfor
@${FIND} ${WRKSRC}/manual/ -name '*.???*' | \
- ${SED} -e "s:^${WRKSRC}/:share/doc/celestia/:g" >> ${PLIST}
-.for ii in celestia/manual celestia
- @${ECHO_CMD} @dirrm share/doc/${ii} >> ${PLIST}
-.endfor
+ ${SED} -e "s:^${WRKSRC}/:%%DATADIR%%/:g" >> ${PLIST}
.endif
- @${FIND} ${WRKSRC}/models/ -name '*.???' | \
- ${SED} -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
+ @${FIND} ${WRKSRC}/models/ -name '*.???*' | \
+ ${SED} -e "s:^${WRKSRC}/:%%DATADIR%%/:g" >> ${PLIST}
+ @${FIND} ${WRKSRC}/shaders/ -name '*.fp' | \
+ ${SED} -e "s:^${WRKSRC}/:%%DATADIR%%/:g" >> ${PLIST}
@${FIND} ${WRKSRC}/shaders/ -name '*.vp' | \
- ${SED} -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
+ ${SED} -e "s:^${WRKSRC}/:%%DATADIR%%/:g" >> ${PLIST}
@${FIND} ${WRKSRC}/textures/ -name '*.jpg' -o -name '*.png'| \
- ${SED} -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
-.for ii in /data /extras /textures/lores /textures/medres /textures /models \
- /shaders /fonts /
- @${ECHO_CMD} @dirrm share/celestia${ii} >> ${PLIST}
+ ${SED} -e "s:^${WRKSRC}/:%%DATADIR%%/:g" >> ${PLIST}
+.for ii in /data /extras /fonts /manual /models /shaders \
+ /textures/hires /textures/lores /textures/medres /textures /
+ @${ECHO_CMD} @dirrm %%DATADIR%%${ii} >> ${PLIST}
.endfor
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/src/celestia/celestia ${PREFIX}/bin/
-.for ii in /data /extras /textures/lores /textures/medres /models /shaders \
- /fonts
- ${MKDIR} ${DATADIR}${ii}
-.endfor
- ${INSTALL_DATA} ${WRKSRC}/data/*.??? ${DATADIR}/data/
- ${INSTALL_DATA} ${WRKSRC}/extras/*.ssc ${DATADIR}/extras/
- ${INSTALL_DATA} ${WRKSRC}/fonts/*.txf ${DATADIR}/fonts/
-.for ii in celestia.cfg demo.cel guide.cel start.cel
- ${INSTALL_DATA} ${WRKSRC}/${ii} ${DATADIR}/
-.endfor
+post-install:
.if !defined(NOPORTDOCS)
- ${MKDIR} ${DOCSDIR}/manual
-.for ii in AUTHORS ChangeLog README TODO controls.txt
- ${INSTALL_DATA} ${WRKSRC}/${ii} ${DOCSDIR}/
+ ${MKDIR} ${DOCSDIR}
+.for ii in ${PORTDOCS}
+ ${INSTALL_DATA} ${WRKSRC}/${ii} ${DOCSDIR}
.endfor
- ${INSTALL_DATA} ${WRKSRC}/manual/*.???* ${DOCSDIR}/manual/
.endif
- ${INSTALL_DATA} ${WRKSRC}/models/*.??? ${DATADIR}/models/
- ${INSTALL_DATA} ${WRKSRC}/shaders/*.vp ${DATADIR}/shaders/
- ${INSTALL_DATA} ${WRKSRC}/textures/*.jpg \
- ${WRKSRC}/textures/*.png ${DATADIR}/textures/
- ${INSTALL_DATA} ${WRKSRC}/textures/lores/*.??? \
- ${DATADIR}/textures/lores/
- ${INSTALL_DATA} ${WRKSRC}/textures/medres/*.??? \
- ${DATADIR}/textures/medres/
+.if defined(WITH_GNOME)
+ @${CAT} ${PKGMESSAGE}
+.endif
.include <bsd.port.post.mk>