summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortaca <taca>2016-11-13 15:14:19 +0000
committertaca <taca>2016-11-13 15:14:19 +0000
commite103902e029547927b8997121034f98d2640729a (patch)
tree274dd40fd528e9557164720ddcf3788993fac7e3 /lang
parent38de0af5b3db8c9f2a2c36c3202fd4944d7e7c82 (diff)
downloadpkgsrc-e103902e029547927b8997121034f98d2640729a.tar.gz
Trying to move common configuration to common place.
Diffstat (limited to 'lang')
-rw-r--r--lang/ruby/platform.mk140
-rw-r--r--lang/ruby21-base/Makefile92
-rw-r--r--lang/ruby22-base/Makefile87
-rw-r--r--lang/ruby23-base/Makefile90
4 files changed, 146 insertions, 263 deletions
diff --git a/lang/ruby/platform.mk b/lang/ruby/platform.mk
new file mode 100644
index 00000000000..a64d3efc21d
--- /dev/null
+++ b/lang/ruby/platform.mk
@@ -0,0 +1,140 @@
+# $NetBSD: platform.mk,v 1.1 2016/11/13 15:14:19 taca Exp $
+#
+
+#
+# Common definition for ruby*-base package (except ruby18-base).
+#
+
+.if !defined(_RUBY_PLATFORM_MK)
+_RUBY_PLATFORM_MK= # defined
+
+.include "../../lang/ruby/rubyversion.mk"
+.include "../../mk/compiler.mk"
+
+MAKE_DIRS+= ${RUBY_SITEARCHLIB} ${RUBY_VENDORARCHLIB} ${RUBY_SITERIDIR}
+FILES_SUBST+= DATE=${DATE:Q}
+
+REQD_DIRS+= ${GEM_HOME}/cache
+REQD_DIRS+= ${GEM_HOME}/doc
+
+#
+# substitute path in rubygems.
+#
+SUBST_CLASSES+= conf
+SUBST_STAGE.conf= pre-install
+SUBST_FILES.conf= lib/rubygems/config_file.rb
+SUBST_SED.conf= -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
+SUBST_MESSAGE.conf= Fixing configuration files.
+
+#
+# Don't reference pkgsrc's INSTALL macro since Ruby expect it could
+# execute by unprivileged user.
+#
+CONFIGURE_ENV+= INSTALL="${INSTALL} ${COPY}" \
+ INSTALL_DATA= INSTALL_PROGRAM= INSTALL_SCRIPT=
+CONFIGURE_ENV+= ac_cv_prog_PKG_CONFIG=""
+
+#
+# prevent unwanted mkdir recorded in rbconfig.rb
+#
+CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q}
+
+# Ruby build process depends on config.status's content
+CONFIG_STATUS_OVERRIDE= # empty
+
+########
+#
+# Platform
+#
+
+#
+# Darwin
+#
+# Don't like Apple's builtin OpenSSL.
+#
+.if ${OPSYS} == "Darwin"
+USE_BUILTIN.openssl= no
+.endif
+
+#
+# DragonFly
+#
+#
+# Work around for getucontext(3)
+#
+.if ${OPSYS} == "DragonFly" && ${OS_VERSION} == "1.8.0"
+CONFIGURE_ENV+= ac_cv_header_ucontext_h=no
+.endif
+
+#
+# Linux
+#
+# /usr/bin/dtrace is not DTrace.
+#
+.if ${OPSYS} == "Linux" && exists(/usr/bin/dtrace)
+CONFIGURE_ARGS+= --disable-dtrace
+.endif
+
+#
+# Solaris
+#
+# fix build with sunpro.
+#
+.if !empty(PKGSRC_COMPILER:Msunpro)
+LIBS.SunOS+= -B static -lsunmath -B dynamic -lm
+LDFLAGS.SunOS+= -L${SUNWSPROBASE}/lib -Wl,-R${SUNWSPROBASE}/lib
+CONFIGURE_ENV+= LDSHARED="${CC} -G"
+.else
+LIBS.SunOS+= -lm
+.endif
+
+CONFIGURE_ENV.SunOS+= OBJCOPY=:
+
+#
+# MirBSD
+#
+# if present, an unsupported sysconf call is used
+#
+CONFIGURE_ENV.MirBSD+= ac_cv_func_getgrnam_r=no
+
+# On platforms where DTrace is available, we need to invoke dtrace(1)
+# with the original PATH. Otherwise it gets confused in the presence
+# of our cc wrapper because it tries to invoke the system-default gcc
+# with argv[0] set to "gcc", not the absolute path to gcc.
+.if exists(/usr/sbin/dtrace)
+post-wrapper:
+ ${RUN}(${ECHO} '#!${SH}'; \
+ ${ECHO} 'PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH'; \
+ ${ECHO} '/usr/sbin/dtrace $$@') \
+ > "${WRAPPER_BINDIR}/dtrace"
+ ${RUN}${CHMOD} +x "${WRAPPER_BINDIR}/dtrace"
+.endif
+#
+# bmake doesn't like the codesign/POSTLINK constructs for Darwin.
+#
+.if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin"
+USE_TOOLS+= gmake
+MAKE_FILE= GNUmakefile
+.endif
+
+########
+#
+# PLIST
+#
+
+# Win32 support (for Cygwin)
+#
+PLIST_VARS+= win32
+.if ${OPSYS} == "Cygwin"
+PLIST.win32= yes
+.endif
+
+#
+# IRIX work around which should be fixed.
+#
+PLIST_VARS+= io
+.if ${OPSYS} != "IRIX"
+PLIST.io= yes
+.endif
+
+.endif # _RUBY_REPLACE_MK
diff --git a/lang/ruby21-base/Makefile b/lang/ruby21-base/Makefile
index 7cb650d2f78..117f5a76c74 100644
--- a/lang/ruby21-base/Makefile
+++ b/lang/ruby21-base/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.24 2016/09/08 15:19:18 joerg Exp $
+# $NetBSD: Makefile,v 1.25 2016/11/13 15:14:20 taca Exp $
#
DISTNAME= ${RUBY_DISTNAME}
@@ -19,61 +19,8 @@ TEST_TARGET= test
CONFIGURE_ARGS+= --enable-shared
WRKSRC= ${RUBY_WRKSRC}
-MAKE_DIRS= ${RUBY_SITEARCHLIB} ${RUBY_VENDORARCHLIB}
-
-#
-# Don't reference pkgsrc's INSTALL macro since Ruby expect it could
-# execute by unprivileged user.
-#
-CONFIGURE_ENV+= INSTALL="${INSTALL} ${COPY}" \
- INSTALL_DATA= INSTALL_PROGRAM= INSTALL_SCRIPT=
-
-CONFIGURE_ENV+= ac_cv_prog_PKG_CONFIG=""
-
-.include "../../mk/compiler.mk"
-
-# /usr/bin/dtrace is not DTrace.
-.if ${OPSYS} == "Linux" && exists(/usr/bin/dtrace)
-CONFIGURE_ARGS+= --disable-dtrace
-.endif
-
-.if !empty(PKGSRC_COMPILER:Msunpro)
-LIBS.SunOS+= -B static -lsunmath -B dynamic -lm
-LDFLAGS.SunOS+= -L${SUNWSPROBASE}/lib -Wl,-R${SUNWSPROBASE}/lib
-CONFIGURE_ENV+= LDSHARED="${CC} -G"
-.else
-LIBS.SunOS+= -lm
-.endif
-
-CONFIGURE_ENV.SunOS+= OBJCOPY=:
-
-# if present, an unsupported sysconf call is used
-CONFIGURE_ENV.MirBSD+= ac_cv_func_getgrnam_r=no
-
-# bmake doesn't like the codesign/POSTLINK constructs for Darwin.
-.if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin"
-USE_TOOLS+= gmake
-MAKE_FILE= GNUmakefile
-.endif
-
-# Ruby build process depends on config.status's content
-CONFIG_STATUS_OVERRIDE= # empty
-
-MAKE_DIRS+= ${RUBY_SITERIDIR}
-FILES_SUBST+= DATE=${DATE:Q}
-
-REQD_DIRS+= ${GEM_HOME}/cache
-REQD_DIRS+= ${GEM_HOME}/doc
-
-SUBST_CLASSES+= conf
-SUBST_STAGE.conf= pre-install
-SUBST_FILES.conf= lib/rubygems/config_file.rb
-SUBST_SED.conf= -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
-SUBST_MESSAGE.conf= Fixing configuration files.
-
.include "options.mk"
-
-.include "../../lang/ruby/rubyversion.mk"
+.include "../../lang/ruby/platform.mk"
.if !empty(RUBY_SUFFIX)
CONFIGURE_ARGS+= --program-suffix=${RUBY_SUFFIX}
@@ -82,41 +29,6 @@ CONFIGURE_ARGS+= --with-ruby-version=${RUBY_VER_DIR}
CONFIGURE_ARGS+= --with-ruby-pc="ruby-${RUBY_VERSION}.pc"
.endif
-#
-# Ruby 2.0 don't like Apple's builtin OpenSSL.
-#
-.if ${OPSYS} == "Darwin"
-USE_BUILTIN.openssl= no
-.endif
-
-#
-# Win32 support (for Cygwin)
-#
-PLIST_VARS+= win32
-.if ${OPSYS} == "Cygwin"
-PLIST.win32= yes
-.endif
-
-#
-# IRIX work around which should be fixed.
-#
-PLIST_VARS+= io
-.if ${OPSYS} != "IRIX"
-PLIST.io= yes
-.endif
-
-#
-# Work around for getucontext(3)
-#
-.if ${OPSYS} == "DragonFly" && ${OS_VERSION} == "1.8.0"
-CONFIGURE_ENV+= ac_cv_header_ucontext_h=no
-.endif
-
-#
-# prevent unwanted mkdir recorded in rbconfig.rb
-#
-CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q}
-
DOCS= COPYING COPYING.ja ChangeLog NEWS README \
README.EXT README.EXT.ja README.ja \
doc/ChangeLog-1.8.0 doc/ChangeLog-1.9.3 doc/ChangeLog-YARV \
diff --git a/lang/ruby22-base/Makefile b/lang/ruby22-base/Makefile
index ea02c24e8c8..f58c1bd8576 100644
--- a/lang/ruby22-base/Makefile
+++ b/lang/ruby22-base/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.15 2016/09/08 15:19:18 joerg Exp $
+# $NetBSD: Makefile,v 1.16 2016/11/13 15:14:20 taca Exp $
DISTNAME= ${RUBY_DISTNAME}
PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_FULL}
@@ -18,59 +18,11 @@ TEST_TARGET= test
CONFIGURE_ARGS+= --enable-shared
WRKSRC= ${RUBY_WRKSRC}
-MAKE_DIRS= ${RUBY_SITEARCHLIB} ${RUBY_VENDORARCHLIB}
-
# This file is directly installed from
CHECK_INTERPRETER_SKIP+= ${GEM_HOME}/gems/test-unit-3.0.8/test/run-test.rb
-#
-# Don't reference pkgsrc's INSTALL macro since Ruby expect it could
-# execute by unprivileged user.
-#
-CONFIGURE_ENV+= INSTALL="${INSTALL} ${COPY}" \
- INSTALL_DATA= INSTALL_PROGRAM= INSTALL_SCRIPT=
-
-CONFIGURE_ENV+= ac_cv_prog_PKG_CONFIG=""
-
-.include "../../mk/compiler.mk"
-
-.if !empty(PKGSRC_COMPILER:Msunpro)
-LIBS.SunOS+= -B static -lsunmath -B dynamic -lm
-LDFLAGS.SunOS+= -L${SUNWSPROBASE}/lib -Wl,-R${SUNWSPROBASE}/lib
-CONFIGURE_ENV+= LDSHARED="${CC} -G"
-.else
-LIBS.SunOS+= -lm
-.endif
-
-CONFIGURE_ENV.SunOS+= OBJCOPY=:
-
-# if present, an unsupported sysconf call is used
-CONFIGURE_ENV.MirBSD+= ac_cv_func_getgrnam_r=no
-
-# bmake doesn't like the codesign/POSTLINK constructs for Darwin.
-.if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin"
-USE_TOOLS+= gmake
-MAKE_FILE= GNUmakefile
-.endif
-
-# Ruby build process depends on config.status's content
-CONFIG_STATUS_OVERRIDE= # empty
-
-MAKE_DIRS+= ${RUBY_SITERIDIR}
-FILES_SUBST+= DATE=${DATE:Q}
-
-REQD_DIRS+= ${GEM_HOME}/cache
-REQD_DIRS+= ${GEM_HOME}/doc
-
-SUBST_CLASSES+= conf
-SUBST_STAGE.conf= pre-install
-SUBST_FILES.conf= lib/rubygems/config_file.rb
-SUBST_SED.conf= -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
-SUBST_MESSAGE.conf= Fixing configuration files.
-
.include "options.mk"
-
-.include "../../lang/ruby/rubyversion.mk"
+.include "../../lang/ruby/platform.mk"
.if !empty(RUBY_SUFFIX)
CONFIGURE_ARGS+= --program-suffix=${RUBY_SUFFIX}
@@ -79,41 +31,6 @@ CONFIGURE_ARGS+= --with-ruby-version=${RUBY_VER_DIR}
CONFIGURE_ARGS+= --with-ruby-pc="ruby-${RUBY_VERSION}.pc"
.endif
-#
-# Ruby 2.0 don't like Apple's builtin OpenSSL.
-#
-.if ${OPSYS} == "Darwin"
-USE_BUILTIN.openssl= no
-.endif
-
-#
-# Win32 support (for Cygwin)
-#
-PLIST_VARS+= win32
-.if ${OPSYS} == "Cygwin"
-PLIST.win32= yes
-.endif
-
-#
-# IRIX work around which should be fixed.
-#
-PLIST_VARS+= io
-.if ${OPSYS} != "IRIX"
-PLIST.io= yes
-.endif
-
-#
-# Work around for getucontext(3)
-#
-.if ${OPSYS} == "DragonFly" && ${OS_VERSION} == "1.8.0"
-CONFIGURE_ENV+= ac_cv_header_ucontext_h=no
-.endif
-
-#
-# prevent unwanted mkdir recorded in rbconfig.rb
-#
-CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q}
-
DOCS= BSDL COPYING COPYING.ja ChangeLog LEGAL NEWS README.EXT README.EXT.ja \
README.ja.md README.md doc/ChangeLog-1.8.0 doc/ChangeLog-1.9.3 \
doc/ChangeLog-2.0.0 doc/ChangeLog-2.1.0 doc/ChangeLog-YARV \
diff --git a/lang/ruby23-base/Makefile b/lang/ruby23-base/Makefile
index 1d6a05c6dc4..0367e11cdd8 100644
--- a/lang/ruby23-base/Makefile
+++ b/lang/ruby23-base/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.7 2016/09/08 15:19:18 joerg Exp $
+# $NetBSD: Makefile,v 1.8 2016/11/13 15:14:20 taca Exp $
DISTNAME= ${RUBY_DISTNAME}
PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_FULL}
@@ -18,59 +18,8 @@ TEST_TARGET= test
CONFIGURE_ARGS+= --enable-shared
WRKSRC= ${RUBY_WRKSRC}
-MAKE_DIRS= ${RUBY_SITEARCHLIB} ${RUBY_VENDORARCHLIB}
-
-# This file is directly installed from
-CHECK_INTERPRETER_SKIP+= ${GEM_HOME}/gems/test-unit-3.0.8/test/run-test.rb
-
-#
-# Don't reference pkgsrc's INSTALL macro since Ruby expect it could
-# execute by unprivileged user.
-#
-CONFIGURE_ENV+= INSTALL="${INSTALL} ${COPY}" \
- INSTALL_DATA= INSTALL_PROGRAM= INSTALL_SCRIPT=
-
-CONFIGURE_ENV+= ac_cv_prog_PKG_CONFIG=""
-
-.include "../../mk/compiler.mk"
-
-.if !empty(PKGSRC_COMPILER:Msunpro)
-LIBS.SunOS+= -B static -lsunmath -B dynamic -lm
-LDFLAGS.SunOS+= -L${SUNWSPROBASE}/lib -Wl,-R${SUNWSPROBASE}/lib
-CONFIGURE_ENV+= LDSHARED="${CC} -G"
-.else
-LIBS.SunOS+= -lm
-.endif
-
-CONFIGURE_ENV.SunOS+= OBJCOPY=:
-
-# if present, an unsupported sysconf call is used
-CONFIGURE_ENV.MirBSD+= ac_cv_func_getgrnam_r=no
-
-# bmake doesn't like the codesign/POSTLINK constructs for Darwin.
-.if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin"
-USE_TOOLS+= gmake
-MAKE_FILE= GNUmakefile
-.endif
-
-# Ruby build process depends on config.status's content
-CONFIG_STATUS_OVERRIDE= # empty
-
-MAKE_DIRS+= ${RUBY_SITERIDIR}
-FILES_SUBST+= DATE=${DATE:Q}
-
-REQD_DIRS+= ${GEM_HOME}/cache
-REQD_DIRS+= ${GEM_HOME}/doc
-
-SUBST_CLASSES+= conf
-SUBST_STAGE.conf= pre-install
-SUBST_FILES.conf= lib/rubygems/config_file.rb
-SUBST_SED.conf= -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
-SUBST_MESSAGE.conf= Fixing configuration files.
-
.include "options.mk"
-
-.include "../../lang/ruby/rubyversion.mk"
+.include "../../lang/ruby/platform.mk"
.if !empty(RUBY_SUFFIX)
CONFIGURE_ARGS+= --program-suffix=${RUBY_SUFFIX}
@@ -79,41 +28,6 @@ CONFIGURE_ARGS+= --with-ruby-version=${RUBY_VER_DIR}
CONFIGURE_ARGS+= --with-ruby-pc="ruby-${RUBY_VERSION}.pc"
.endif
-#
-# Ruby 2.0 don't like Apple's builtin OpenSSL.
-#
-.if ${OPSYS} == "Darwin"
-USE_BUILTIN.openssl= no
-.endif
-
-#
-# Win32 support (for Cygwin)
-#
-PLIST_VARS+= win32
-.if ${OPSYS} == "Cygwin"
-PLIST.win32= yes
-.endif
-
-#
-# IRIX work around which should be fixed.
-#
-PLIST_VARS+= io
-.if ${OPSYS} != "IRIX"
-PLIST.io= yes
-.endif
-
-#
-# Work around for getucontext(3)
-#
-.if ${OPSYS} == "DragonFly" && ${OS_VERSION} == "1.8.0"
-CONFIGURE_ENV+= ac_cv_header_ucontext_h=no
-.endif
-
-#
-# prevent unwanted mkdir recorded in rbconfig.rb
-#
-CONFIGURE_ENV+= MKDIR_P=${MKDIR:Q}
-
DOCS= BSDL COPYING COPYING.ja ChangeLog LEGAL NEWS README.EXT README.EXT.ja \
README.ja.md README.md doc/ChangeLog-1.8.0 doc/ChangeLog-1.9.3 \
doc/ChangeLog-2.0.0 doc/ChangeLog-2.1.0 doc/ChangeLog-YARV \