Fixup fromcvs/togit conversion
[pkgsrcv2.git] / lang / ruby18-base / Makefile
1 # $NetBSD: Makefile,v 1.72 2012/07/24 16:23:37 taca Exp $
2 #
3
4 DISTNAME=       ${RUBY_DISTNAME}
5 PKGNAME=        ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_FULL}
6 PKGREVISION=    1
7 CATEGORIES=     lang ruby
8 MASTER_SITES=   ${MASTER_SITE_RUBY}
9
10 MAINTAINER=     taca@NetBSD.org
11 HOMEPAGE=       ${RUBY_HOMEPAGE}
12 COMMENT=        Ruby 1.8 based release minimum package
13 LICENSE=        gnu-gpl-v2 OR ruby-license
14
15 RUBY_VERSION_SUPPORTED= 18
16
17 CONFLICTS=      ${RUBY_PKGPREFIX}-dbm-[0-9]* \
18                 ${RUBY_PKGPREFIX}-digest-[0-9]* \
19                 ${RUBY_PKGPREFIX}-iconv-[0-9]* \
20                 ${RUBY_PKGPREFIX}-openssl-[0-9]* \
21                 ${RUBY_PKGPREFIX}-tcltk-[0-9]*
22
23 PKG_DESTDIR_SUPPORT=    user-destdir
24
25 USE_LANGUAGES=  c
26 USE_TOOLS+=     pax yacc
27 GNU_CONFIGURE=  yes
28 TEST_TARGET=    test
29 CONFIGURE_ARGS+= --enable-shared \
30                 --with-ssl-include="${BUILDLINK_PREFIX.openssl}/include" \
31                 --with-ssl-lib="${BUILDLINK_PREFIX.openssl}/lib"
32 WRKSRC=         ${RUBY_WRKSRC}
33
34 #
35 # Don't refrect pkgsrc's INSTALL macro since Ruby expect it could
36 # execute by unprivileged user.
37 #
38 CONFIGURE_ENV+= INSTALL="${INSTALL} ${COPY}" \
39                 INSTALL_DATA= INSTALL_PROGRAM= INSTALL_SCRIPT=
40
41 .include "../../mk/compiler.mk"
42
43 .if !empty(PKGSRC_COMPILER:Msunpro)
44 LIBS.SunOS+=    -B static -lsunmath -B dynamic -lm
45 LDFLAGS.SunOS+= -L${SUNWSPROBASE}/lib ${COMPILER_RPATH_FLAG}${SUNWSPROBASE}/lib
46 CONFIGURE_ENV+= LDSHARED="${CC} -G"
47 .else
48 LIBS.SunOS+=    -lm
49 .endif
50
51 .if !empty(PKGSRC_COMPILER:Mclang)
52 CONFIGURE_ARGS+=        --enable-frame-address
53 .endif
54
55 # Avoid segfaults as per https://bugs.ruby-lang.org/issues/6383
56 .if !empty(CC_VERSION:Mgcc-4.[7-9].*)
57 CFLAGS+=        -fno-tree-dce -fno-optimize-sibling-calls
58 .endif
59
60 # Ruby build process depends on config.status's content
61 CONFIG_STATUS_OVERRIDE= # empty
62
63 MAKE_DIRS+=     ${RUBY_SITERIDIR}
64 FILES_SUBST+=   DATE=${DATE:Q}
65
66 .include "options.mk"
67
68 .include "../../lang/ruby/rubyversion.mk"
69
70 .if !empty(RUBY_SUFFIX)
71 CONFIGURE_ARGS+= --program-suffix=${RUBY_SUFFIX:Q}
72 .endif
73
74 #
75 # IRIX work around which should be fixed.
76 #
77 PLIST_VARS+=    io
78 .if ${OPSYS} != "IRIX"
79 PLIST.io=       yes
80 .endif
81
82 #
83 # Work around for ucontext(3). It was broken in older DragonFly
84 # versions and is slow in newer ones.
85 #
86 .if ${OPSYS} == "DragonFly"
87 CONFIGURE_ENV+= ac_cv_header_ucontext_h=no
88 .endif
89
90 #
91 # work around for getaddrinfo(3)
92 #
93 .if ${OPSYS} == "SunOS" && !empty(OS_VERSION:M5.[6-9])
94 CONFIGURE_ARGS+=        --enable-wide-getaddrinfo
95 .endif
96
97 DOCS=           COPYING COPYING.ja ChangeLog NEWS README \
98                 README.EXT README.EXT.ja README.ja ToDo \
99                 doc/ChangeLog-1.8.0 doc/NEWS-1.8.0 \
100                 doc/forwardable.rd doc/forwardable.rd.ja \
101                 doc/irb/irb-tools.rd.ja doc/irb/irb.rd doc/irb/irb.rd.ja \
102                 doc/shell.rd doc/shell.rd.ja
103 EXT_DOCS=       bigdecimal/bigdecimal_en.html bigdecimal/bigdecimal_ja.html \
104                 dl/doc/dl.txt etc/etc.txt etc/etc.txt.ja syslog/syslog.txt \
105                 zlib/doc/zlib.rd
106
107 BIGDECIMAL_EXAMPLES=    linear.rb nlsolve.rb pi.rb
108 DL_EXAMPLES=            c++sample.C c++sample.rb drives.rb getch.rb libc.rb \
109                         msgbox.rb msgbox2.rb stream.rb
110 OPENSSL_EXAMPLES=       c_rehash.rb cert2text.rb cert_store_view.rb \
111                         certstore.rb cipher.rb crlstore.rb echo_cli.rb \
112                         echo_svr.rb gen_csr.rb smime_read.rb smime_write.rb \
113                         wget.rb
114 PTY_EXAMPLES=           expect_sample.rb script.rb shl.rb
115
116 REPLACE_RUBY_DIRS=      bin ext lib sample
117 REPLACE_RUBY=           ext/dl/h2rb
118 INSTALLATION_DIRS=      bin ${RUBY_ARCHLIB} ${RUBY_DOC}/irb ${RUBY_DOC}/pty \
119                         ${RUBY_EG}/bigdecimal ${RUBY_EG}/dl \
120                         ${RUBY_EG}/openssl ${RUBY_EG}/pty
121 FIX_PERM=               ${RUBY_ARCHLIB}/digest.h ${RUBY_ARCHLIB}/dl.h \
122                         ${RUBY_ARCHLIB}/dlconfig.h
123
124 pre-configure:
125         ${RM} -f ${WRKSRC}/ext/curses/extconf.rb
126         ${RM} -f ${WRKSRC}/ext/gdbm/extconf.rb
127         ${RM} -f ${WRKSRC}/ext/readline/extconf.rb
128         ${RM} -f ${WRKSRC}/ext/tk/extconf.rb
129
130 pre-install:
131         cd ${WRKSRC}; ${FIND} . \( -name '*.orig' -o -name '*.orig_dist' \) \
132                 -exec ${RM} -f {} \;
133
134 post-install:
135         ${INSTALL_DATA} ${FILESDIR}/CHANGES.pkgsrc ${DESTDIR}${PREFIX}/${RUBY_DOC}
136 .for f in ${DOCS}
137         ${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/${RUBY_DOC}/${f:C/^doc\///}
138 .endfor
139         ${INSTALL_SCRIPT} ${WRKSRC}/ext/dl/h2rb ${DESTDIR}${PREFIX}/bin/h2rb${RUBY_VER}
140 .for f in ${EXT_DOCS}
141         ${INSTALL_DATA} ${WRKSRC}/ext/${f} ${DESTDIR}${PREFIX}/${RUBY_DOC}
142 .endfor
143         cd ${WRKSRC}/ext/pty; ${PAX} -rw README.* ${DESTDIR}${PREFIX}/${RUBY_DOC}/pty
144         cd ${WRKSRC}/sample; ${PAX} -rw . ${DESTDIR}${PREFIX}/${RUBY_EG}
145 .for f in ${BIGDECIMAL_EXAMPLES}
146         ${INSTALL_DATA} ${RUBY_WRKSRC}/ext/bigdecimal/sample/${f} \
147                 ${DESTDIR}${PREFIX}/${RUBY_EG}/bigdecimal
148 .endfor
149 .for f in ${DL_EXAMPLES}
150         ${INSTALL_DATA} ${RUBY_WRKSRC}/ext/dl/sample/${f} \
151                 ${DESTDIR}${PREFIX}/${RUBY_EG}/dl
152 .endfor
153 .for f in ${OPENSSL_EXAMPLES}
154         ${INSTALL_DATA} ${RUBY_WRKSRC}/sample/openssl/${f} \
155                 ${DESTDIR}${PREFIX}/${RUBY_EG}/openssl
156 .endfor
157 .for f in ${PTY_EXAMPLES}
158         ${INSTALL_DATA} ${WRKSRC}/ext/pty/${f} ${DESTDIR}${PREFIX}/${RUBY_EG}/pty
159 .endfor
160 .for f in ${FIX_PERM}
161         ${CHMOD} ${SHAREMODE} ${DESTDIR}${PREFIX}/${f}
162 .endfor
163         ${RUBY_GENERATE_PLIST}
164
165 .include "../../mk/bdb.buildlink3.mk"
166 .include "../../converters/libiconv/buildlink3.mk"
167 .include "../../devel/zlib/buildlink3.mk"
168 .include "../../security/openssl/buildlink3.mk"
169 .include "../../lang/ruby/Makefile.common"
170 .include "../../mk/bsd.pkg.mk"