1 # $NetBSD: Makefile,v 1.72 2012/07/24 16:23:37 taca Exp $
4 DISTNAME= ${RUBY_DISTNAME}
5 PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_FULL}
8 MASTER_SITES= ${MASTER_SITE_RUBY}
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
15 RUBY_VERSION_SUPPORTED= 18
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]*
23 PKG_DESTDIR_SUPPORT= user-destdir
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}
35 # Don't refrect pkgsrc's INSTALL macro since Ruby expect it could
36 # execute by unprivileged user.
38 CONFIGURE_ENV+= INSTALL="${INSTALL} ${COPY}" \
39 INSTALL_DATA= INSTALL_PROGRAM= INSTALL_SCRIPT=
41 .include "../../mk/compiler.mk"
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"
51 .if !empty(PKGSRC_COMPILER:Mclang)
52 CONFIGURE_ARGS+= --enable-frame-address
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
60 # Ruby build process depends on config.status's content
61 CONFIG_STATUS_OVERRIDE= # empty
63 MAKE_DIRS+= ${RUBY_SITERIDIR}
64 FILES_SUBST+= DATE=${DATE:Q}
68 .include "../../lang/ruby/rubyversion.mk"
70 .if !empty(RUBY_SUFFIX)
71 CONFIGURE_ARGS+= --program-suffix=${RUBY_SUFFIX:Q}
75 # IRIX work around which should be fixed.
78 .if ${OPSYS} != "IRIX"
83 # Work around for ucontext(3). It was broken in older DragonFly
84 # versions and is slow in newer ones.
86 .if ${OPSYS} == "DragonFly"
87 CONFIGURE_ENV+= ac_cv_header_ucontext_h=no
91 # work around for getaddrinfo(3)
93 .if ${OPSYS} == "SunOS" && !empty(OS_VERSION:M5.[6-9])
94 CONFIGURE_ARGS+= --enable-wide-getaddrinfo
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 \
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 \
114 PTY_EXAMPLES= expect_sample.rb script.rb shl.rb
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
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
131 cd ${WRKSRC}; ${FIND} . \( -name '*.orig' -o -name '*.orig_dist' \) \
135 ${INSTALL_DATA} ${FILESDIR}/CHANGES.pkgsrc ${DESTDIR}${PREFIX}/${RUBY_DOC}
137 ${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/${RUBY_DOC}/${f:C/^doc\///}
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}
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
149 .for f in ${DL_EXAMPLES}
150 ${INSTALL_DATA} ${RUBY_WRKSRC}/ext/dl/sample/${f} \
151 ${DESTDIR}${PREFIX}/${RUBY_EG}/dl
153 .for f in ${OPENSSL_EXAMPLES}
154 ${INSTALL_DATA} ${RUBY_WRKSRC}/sample/openssl/${f} \
155 ${DESTDIR}${PREFIX}/${RUBY_EG}/openssl
157 .for f in ${PTY_EXAMPLES}
158 ${INSTALL_DATA} ${WRKSRC}/ext/pty/${f} ${DESTDIR}${PREFIX}/${RUBY_EG}/pty
160 .for f in ${FIX_PERM}
161 ${CHMOD} ${SHAREMODE} ${DESTDIR}${PREFIX}/${f}
163 ${RUBY_GENERATE_PLIST}
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"