summaryrefslogtreecommitdiffstats
path: root/astro/celestia/Makefile
blob: 5bc2b62f78f3f859d5bc4d29bf2bcbeb808f7855 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# New ports collection makefile for:	celestia
# Date created:				2002-05-17
# Whom:					trevor
#
# $FreeBSD$
#

PORTNAME=		celestia
PORTVERSION=		1.2.4
CATEGORIES=		astro
MASTER_SITES=		${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR=	celestia

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 \
		gtkgl.5:${PORTSDIR}/x11-toolkits/gtkglarea

GNU_CONFIGURE=	yes
PLIST=		${WRKDIR}/pkg-plist
USE_GMAKE=	yes
USE_MESA=	yes
USE_X_PREFIX=	yes
USE_GNOME=	gnomelibs

CONFIGURE_ARGS=	--prefix=${PREFIX} \
		--includedir="${LOCALBASE}/include" \
		--libdir="${LOCALBASE}/lib"
CONFIGURE_ENV=	\
LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib -lm ${PTHREAD_LIBS}"
CPPFLAGS="-I${X11BASE}/include -I${X11BASE}/include/GL -I${LOCALBASE}/include ${PTHREAD_CFLAGS}"

.include <bsd.port.pre.mk>

.if ${OSVERSION} >= 500113
BROKEN=         "Does not compile (bad C++ code)"
.endif

pre-patch:
	${PERL} -pi -e \
"s:-O2::g; s:-Wall::g; s:-ffast-math::g; s:-fexpensive-optimizations::g; s:\!\ /bin/sh:\!\ ${LOCALBASE}/bin/bash:g" \
	${WRKSRC}/configure

pre-install:
	${ECHO_CMD} bin/celestia > ${PLIST}
	${FIND} ${WRKSRC}/data/ -name '*.???' | \
		${PERL} -pi -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
	${FIND} ${WRKSRC}/extras/ -name '*.ssc' | \
		${PERL} -pi -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
	${FIND} ${WRKSRC}/fonts/ -name '*.txf' | \
		${PERL} -pi -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
.for ii in celestia.cfg demo.cel guide.cel start.cel
	${ECHO_CMD} share/celestia/${ii} >> ${PLIST}
.endfor
.if !defined(NOPORTDOCS)
.for ii in AUTHORS COPYING ChangeLog INSTALL README TODO controls.txt
	${ECHO_CMD} share/doc/celestia/${ii} >> ${PLIST}
.endfor
	 ${FIND} ${WRKSRC}/manual/ -name '*.???*' | \
		${PERL} -pi -e "s:^${WRKSRC}/:share/doc/celestia/:g" >> ${PLIST}
.for ii in celestia/manual celestia
	${ECHO_CMD} @dirrm share/doc/${ii} >> ${PLIST}
.endfor
.endif
	${FIND} ${WRKSRC}/models/ -name '*.???' | \
		${PERL} -pi -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
	${FIND} ${WRKSRC}/shaders/ -name '*.vp' | \
		${PERL} -pi -e "s:^${WRKSRC}/:share/celestia/:g" >> ${PLIST}
	${FIND} ${WRKSRC}/textures/ -name '*.jpg' -o -name '*.png'| \
		${PERL} -pi -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}
.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
.if !defined(NOPORTDOCS)
	${MKDIR} ${DOCSDIR}/manual
.for ii in AUTHORS COPYING ChangeLog INSTALL README TODO controls.txt
	${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/flare.jpg \
		${WRKSRC}/textures/logo.png ${DATADIR}/textures/
	${INSTALL_DATA} ${WRKSRC}/textures/lores/*.??? \
		${DATADIR}/textures/lores/
	${INSTALL_DATA} ${WRKSRC}/textures/medres/*.??? \
		${DATADIR}/textures/medres/

.include <bsd.port.post.mk>
OpenPOWER on IntegriCloud