aboutsummaryrefslogtreecommitdiff
path: root/devel/ruby-gnustep/Makefile
blob: 89f3de680f6eb497487059d182a2ac485c850e53 (plain) (blame)
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
# New ports collection makefile for:	Ruby/GNUstep
# Date created:		14 September 2001
# Whom:			Akinori MUSHA aka knu <knu@idaemons.org>
#
# $FreeBSD$
#

PORTNAME=	gnustep
PORTVERSION=	0.2.1
PORTREVISION=	3
CATEGORIES=	devel ruby
MASTER_SITES=	ftp://ftp.gnustep.org/pub/gnustep/libs/
PKGNAMEPREFIX=	${RUBY_PKGNAMEPREFIX}
DISTNAME=	${PORTNAME}-ruby-${PORTVERSION}
EXTRACT_SUFX=	.tgz
DIST_SUBDIR=	ruby

MAINTAINER=	knu@FreeBSD.org
COMMENT=	A Ruby interface to the GNUstep development environment

BUILD_DEPENDS=	${GNUSTEP_PREFIX}/System/Makefiles/GNUstep.sh:${PORTSDIR}/${GNUSTEP_MAKE_PORT} \
		${LOCALBASE}/lib/libcallback.a:${PORTSDIR}/devel/ffcall \
		${COMBOLIBDIR}/libgnustep-base.so:${PORTSDIR}/${GNUSTEP_BASE_PORT} \
		${COMBOLIBDIR}/libgnustep-gui.so:${PORTSDIR}/${GNUSTEP_GUI_PORT} \
		${BACKBUNDLEDIR}/libgnustep-back:${PORTSDIR}/${GNUSTEP_BACK_PORT}
RUN_DEPENDS=	${GNUSTEP_PREFIX}/System/Makefiles/GNUstep.sh:${PORTSDIR}/${GNUSTEP_MAKE_PORT} \
		${COMBOLIBDIR}/libgnustep-base.so:${PORTSDIR}/${GNUSTEP_BASE_PORT} \
		${COMBOLIBDIR}/libgnustep-gui.so:${PORTSDIR}/${GNUSTEP_GUI_PORT} \
		${BACKBUNDLEDIR}/libgnustep-back:${PORTSDIR}/${GNUSTEP_BACK_PORT}
.if !defined(GNUSTEP_WITH_BASE_GCC)
BUILD_DEPENDS+=	${TARGLIB}/libobjc.so:${PORTSDIR}/${GNUSTEP_GCC_PORT}
RUN_DEPENDS+=	${TARGLIB}/libobjc.so:${PORTSDIR}/${GNUSTEP_GCC_PORT}
.else
BUILD_DEPENDS+=	${COMBOLIBDIR}/libobjc.so:${PORTSDIR}/${GNUSTEP_OBJC_PORT}
RUN_DEPENDS+=	${COMBOLIBDIR}/libobjc.so:${PORTSDIR}/${GNUSTEP_OBJC_PORT}
.endif

USE_RUBY=	yes
USE_GMAKE=	yes
CC=		gcc32
CXX=		g++32

GNUSTEP_GCC_PORT?=	lang/gcc-objc
GNUSTEP_OBJC_PORT?=	lang/gnustep-objc
GNUSTEP_MAKE_PORT?=	devel/gnustep-make
GNUSTEP_BASE_PORT?=	lang/gnustep-base
GNUSTEP_GUI_PORT?=	x11-toolkits/gnustep-gui
GNUSTEP_BACK_PORT?=	x11-toolkits/gnustep-back
GNUSTEP_PREFIX=		${LOCALBASE}/GNUstep
GNUSTEP_LOCAL_ROOT=	${GNUSTEP_PREFIX}/Local
GNUSTEP_SYSTEM_ROOT=	${GNUSTEP_PREFIX}/System
GNUSTEP_NETWORK_ROOT=	${GNUSTEP_PREFIX}/Network
GNUSTEP_USER_ROOT=	${GNUSTEP_PREFIX}/Local/Users
GNUSTEP_MAKEFILES=	${GNUSTEP_SYSTEM_ROOT}/Makefiles

BACKBUNDLEDIR=	${GNUSTEP_PREFIX}/System/Library/Bundles/libgnustep-back.bundle
SYSLIBDIR=	${GNUSTEP_PREFIX}/System/Library/Libraries
COMBOLIBDIR=	${SYSLIBDIR}
MAKE_ENV+=	GNUSTEP_FLATTENED=yes

.include <bsd.port.pre.mk>
.if ${ARCH} == "i386"
GNU_ARCH=	ix86
.else
GNU_ARCH=	${ARCH}
.endif

MAKEFILE=	GNUmakefile
MAKE_ENV+=	GNUSTEP_LOCAL_ROOT=${GNUSTEP_LOCAL_ROOT} \
		GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT} \
		GNUSTEP_NETWORK_ROOT=${GNUSTEP_NETWORK_ROOT} \
		GNUSTEP_USER_ROOT=${GNUSTEP_USER_ROOT} \
		GNUSTEP_MAKEFILES=${GNUSTEP_MAKEFILES} \
		PATH=${PATH}:${GNUSTEP_SYSTEM_ROOT}/Tools
NO_FILTER_SHLIBS=	yes

post-extract:
	${FIND} ${WRKSRC}/ -type f -name '.cvsignore' -delete

post-patch:
	${RUBY} -i~ -p \
		-e 'gsub(/-lpthread/, "-pthread");' \
		-e 'gsub(/-lgmodel/, "");' \
		${WRKSRC}/Source/${MAKEFILE}
	${FIND} ${WRKSRC}/ -type f | \
		${XARGS} ${RUBY} -i -pe 'gsub(/ ruby -/, " ${RUBY} -")'

post-install:
.if !defined(NOPORTDOCS)
	${MKDIR} ${RUBY_MODEXAMPLESDIR}
	${CP} -R ${WRKSRC}/Examples/* ${RUBY_MODEXAMPLESDIR}/
	${MKDIR} ${RUBY_MODDOCDIR}
.for f in ChangeLog NEWS README TODO
	${INSTALL_DATA} ${WRKSRC}/${f} ${RUBY_MODDOCDIR}/
.endfor
.endif

.if !defined(GNUSTEP_WITH_BASE_GCC)
TARGLIB!=	(cd ${PORTSDIR}/${GNUSTEP_GCC_PORT} && make -V TARGLIB)
.endif

.include <bsd.port.post.mk>