aboutsummaryrefslogtreecommitdiffstats
path: root/x11-servers/XttXF86srv-common/Makefile
blob: 4bcdd97cb57ad54a9177e53360084f4c633cc86a (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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# New ports collection makefile for:    Common Files for Xservers with Xtt
# Version required: 1.2.1
# Date created:     15 April 1998
# Whom:         Taguchi Takeshi <taguchi@tohoku.iij.ad.jp>
#
# $FreeBSD$
#

DISTNAME=   xc
PKGNAME?=   xtt-common-${VERSION}.${PATCHLEVEL}
CATEGORIES= x11-servers
MASTER_SITES=   ftp://ftp.xfree86.org/pub/XFree86/3.3.3/source/ \
        ftp://xfree86.cdrom.com/pub/XFree86/3.3.3/source/ \
        http://X-TT.dsl.gr.jp/dists/1.x/1.2/
DISTFILES=  X333src-1.tgz X333src-2.tgz \
        xtt-1.2.tar.gz \
        xtt-1.2-to-1.2.1.tar.gz

PATCH_SITES=    ftp://ftp.xfree86.org/pub/XFree86/3.3.3/fixes/
PATCHFILES= 3.3.3-3.3.3.1.diff.gz

MAINTAINER= taguchi@tohoku.iij.ad.jp

LIB_DEPENDS+=   ttf.3:${PORTSDIR}/print/freetype
RUN_DEPENDS=    mkttfdir:${PORTSDIR}/print/perlftlib

VERSION=    1.2
PATCHLEVEL= 1
.if !defined(USE_SHARED_WRKSRC) && defined(COMPILE_ALL_SERVERS_AT_ONCE)
USE_SHARED_WRKSRC= YES
.endif
.if !defined(XDM_DES) && defined(USA_RESIDENT) && ${USA_RESIDENT} == NO
MASTER_SITES+=  ftp://psych.psy.uq.oz.au/pub/X11R5/ \
        ftp://ftp.internat.freebsd.org/pub/FreeBSD/X11-Crypto/ \
        ftp://ftp3.za.freebsd.org/pub/FreeBSD/X11-Crypto/
DISTFILES+= Wraphelp.c
IGNOREFILES=    Wraphelp.c
.endif
USE_X_PREFIX=   YES
EXTRACT_ONLY=   X333src-1.tgz  X333src-2.tgz \
        xtt-1.2.tar.gz xtt-1.2-to-1.2.1.tar.gz
BINOWN=     root
BINGRP=     wheel
MASTERDIR?= ${.CURDIR}/../XttXF86srv-common
FILESDIR=   ${MASTERDIR}/files
PATCHDIR=   ${MASTERDIR}/patches
.if defined(USE_SHARED_WRKSRC)
WRKDIR=     ${MASTERDIR}/work
.endif
WRKSRC=     ${WRKDIR}/xc
DIST_SUBDIR=    xc
XTTDIR=     ${WRKDIR}/xtt-1.2
XTTPATCHDIR=    ${WRKDIR}/xtt-1.2-to-1.2.1
.if !defined(PATCH_DEBUG)
XTTPATCHARGS=   -p1 -E -t -s -N
.else
XTTPATCHARGS=   -p1 -E
.endif
COREPATCHES=    shared-libfont-1.0.diff xfs-for-delayed-font-1.0.diff \
        make-xfs-only-1.1.diff xtt-xf333-changes.diff
XTTTARBALL= xtt-core.tar
ADDPATCHES= ${XTTDIR}/contribute/xtt-xfsft-lib.patch \
        ${XTTPATCHDIR}/xtt-core.diff
DOCDIR=     ${PREFIX}/share/doc/Xtt
SERVER?=    common
PATCH_DIST_ARGS= -d ${WRKDIR} --forward --quiet -E ${PATCH_STRIP}
#PATCH_DIST_STRIP=  -p1

# ******************
# USE_SHARED_WRKSRC:
#  All Xtt ports require many disk space. Imagen, X source code will extract
#  under server and common ports dir. This variable save your disk space.
#  if this variable is defined, X source will only extract under common
#  ports. server ports will use this common's WRKSRC.
# COMPILE_ALL_SERVERS_AT_ONCE:
#  If this variable is defined, All server ports will build at once.
#  This variable will save your time, if you want to make all xtt packages.
# ******************
.if defined(USE_SHARED_WRKSRC)
CONFIGURE_COOKIE=   ${WRKDIR}/.configure_done.${SERVER}
BUILD_COOKIE=       ${WRKDIR}/.build_done.${SERVER}
INSTALL_COOKIE=     ${WRKDIR}/.install_done.${SERVER}
PACKAGE_COOKIE=     ${WRKDIR}/.package_done.${SERVER}
TMPPLIST=       ${WRKDIR}/.PLIST.${SERVER}.mktmp
.if defined(COMPILE_ALL_SERVERS_AT_ONCE) && ${SERVER} != xfs
ALL_SERVER= XF86_3DLabs XF86_8514 XF86_AGX XF86_I128 XF86_Mach32 \
    XF86_Mach64 XF86_Mach8 XF86_Mono XF86_P9000 XF86_S3 XF86_S3V \
    XF86_SVGA XF86_VGA16 XF86_W32 \
    XF98_EGC  XF98_GA968 XF98_GANBWAP XF98_MGA XF98_NEC480 \
    XF98_NECS3 XF98_NKVNEC XF98_SVGA XF98_TGUI XF98_PWLB XF98_PWSKB \
    XF98_WABEP XF98_WABS XF98_WSNA \
    common
HOSTDEFSRV= ${FILESDIR}/host.def.ALL
.else
ALL_SERVER= ${SERVER} common
HOSTDEFSRV= ${FILESDIR}/host.def.${SERVER}
.endif
.else
ALL_SERVER= ${SERVER}
HOSTDEFSRV= ${FILESDIR}/host.def.${SERVER}
.endif

HOSTDEFLOCAL=   ${WRKDIR}/host.def.local
.if ${SERVER} == xfs
ALL_TARGET= xfs
HOSTDEFDST= ${WRKSRC}/config/cf/host.def.xfs
.elif ${SERVER} == common
ALL_TARGET= libfont
HOSTDEFDST= ${WRKSRC}/config/cf/host.def
.else
ALL_TARGET= World
HOSTDEFDST= ${WRKSRC}/config/cf/host.def
.endif

.include <bsd.port.pre.mk>

pre-fetch:
.if defined(USE_SHARED_WRKSRC)
    @( \
    ${ECHO} "************************************************************"; \
    ${ECHO} "*  ALL PORTS COMMONLY USE x11/XttXF86srv-common/work !     *"; \
    ${ECHO} "************************************************************")
.if defined(COMPILE_ALL_SERVERS_AT_ONCE)
    @( \
    ${ECHO} "************************************************************"; \
    ${ECHO} "*  ALL PORTS (except xfs) BUILD AT ONCE !                  *"; \
    ${ECHO} "************************************************************")
.endif
.endif

.if !defined(USE_SHARED_WRKSRC) && exists(${MASTERDIR}/work/.configure_done.${SERVER})
pre-extract:
    @( \
     ${ECHO} "ERROR:" ; \
     ${ECHO} "Xtt ${SERVER} ports have already extracted with" ; \
     ${ECHO} "\"USE_SHARED_WRKSRC\" option." ; \
     ${FALSE} )
.endif

pre-patch:
    @( cd ${WRKSRC}; \
       for i in ${COREPATCHES} ; do \
        ${PATCH} ${XTTPATCHARGS} < ${XTTDIR}/$${i}; \
       done; \
       ${TAR} xf ${XTTDIR}/${XTTTARBALL} -C ${WRKSRC}/lib/font; \
       for i in ${ADDPATCHES} ; do \
        ${PATCH} ${XTTPATCHARGS} < $${i}; \
       done; \
       cd ${XTTDIR}/doc; \
       ${PATCH} ${XTTPATCHARGS} < ${XTTPATCHDIR}/xtt-doc.diff )

pre-configure:
    @( \
    ${CP} ${FILESDIR}/Imakefile ${WRKDIR} ; \
    (cd ${WRKDIR} ; ${XMKMF} ; \
      ${SETENV} ${MAKE_ENV} DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} \
        FILESDIR=${FILESDIR} ${MAKE}) ; \
    ${CAT} ${HOSTDEFLOCAL} ${HOSTDEFSRV} > ${HOSTDEFDST} )

.if ${SERVER} == common
do-install:
    @( \
    cd ${WRKSRC}/lib/font; \
    ${SETENV} ${MAKE_ENV} ${MAKE} install; \
    ${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib; \
    ${INSTALL_SCRIPT} ${FILESDIR}/mkfontdir.pl ${PREFIX}/bin; \
    ${MKDIR} ${DOCDIR}; \
    ${INSTALL_DATA} ${XTTDIR}/doc/[0A-Z]*.eng ${DOCDIR}; \
    ${INSTALL_DATA} ${XTTDIR}/doc/[0A-Z]*.jis ${DOCDIR} )
.if ${PORTOBJFORMAT} == "aout"
    ${LN} -sf libfont.so.1.2 ${PREFIX}/lib/libfont.so
.endif
.elif ${SERVER} == xfs
do-install:
    @${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${INSTALL_PROGRAM} \
      ${WRKSRC}/programs/xfs/xfs ${PREFIX}/bin/xfs.xtt
.else
do-install:
    @( \
    ${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${INSTALL_PROGRAM} \
      ${WRKSRC}/programs/Xserver/${SERVER} ${PREFIX}/bin/${SERVER}.xtt; \
    ${LN} -fs ${PREFIX}/bin/${SERVER}.xtt ${PREFIX}/bin/X )
.endif

.if defined(USE_SHARED_WRKSRC)
post-configure:
    @( \
    cd ${WRKDIR} ; for i in ${ALL_SERVER} ; do \
        ${TOUCH} ${TOUCH_FLAGS} `${BASENAME} ${CONFIGURE_COOKIE} .${SERVER}`.$${i} ; \
    done )

post-build:
    @( \
    cd ${WRKDIR} ; for i in ${ALL_SERVER} ; do \
        ${TOUCH} ${TOUCH_FLAGS} `${BASENAME} ${BUILD_COOKIE} .${SERVER}`.$${i} ; \
    done )

post-install:
    @( \
    cd ${WRKDIR} ; ${TOUCH} ${TOUCH_FLAGS} ${INSTALL_COOKIE} ; \
        ${TOUCH} ${TOUCH_FLAGS} `${BASENAME} ${INSTALL_COOKIE} .${SERVER}`.common )

post-package:
    @( \
    cd ${WRKDIR} ;  ${TOUCH} ${TOUCH_FLAGS} ${PACKAGE_COOKIE} )
.endif

.include <bsd.port.post.mk>