This further simplifies ruby.port.mk:

* Remove variables not used by any ports in the tree:
  * MODRUBY_LIBDIR
  * MODRUBY_RELDOCDIR
  * MODRUBY_DOCDIR
  * MODRUBY_EXAMPLEDIR
  * MODRUBY_ADJ_REPLACE
  * MODRUBY_TEST_DIR

* Prefix internal variables with an underscore.  Any variable
  not currently used by any ports in the tree has been made
  internal.

* Consolidate all SUBST_VARS and UPDATE_PLIST_ARGS setting to
  a single case.

My full build of the ruby ports is mostly finished but has not
completed yet.  Assuming no problems, I'll probably commit this
next week.

Thanks,
Jeremy

Index: ruby.port.mk
===================================================================
RCS file: /cvs/ports/lang/ruby/ruby.port.mk,v
retrieving revision 1.114
diff -u -p -u -p -r1.114 ruby.port.mk
--- ruby.port.mk        5 Sep 2023 12:33:32 -0000       1.114
+++ ruby.port.mk        6 Sep 2023 16:44:56 -0000
@@ -1,5 +1,9 @@
 # ruby module
 
+# Variables defined in this file that prefixed with _ are designed for
+# internal use, not currently used in the ports tree outside this file,
+# and are purposely not documented.
+
 CATEGORIES+=           lang/ruby
 
 # Whether the ruby module should automatically add FLAVORs.
@@ -71,17 +75,18 @@ MODRUBY_ARCH=               ${MACHINE_ARCH:S/amd64/x8
 MODRUBY_BINREV =       ${MODRUBY_LIBREV:S/.//}
 MODRUBY_BIN_RSPEC =    ${LOCALBASE}/bin/rspec${MODRUBY_BINREV}
 MODRUBY_FLAVOR =       ruby${MODRUBY_BINREV}
-MODRUBY_LIBDIR=                ${LOCALBASE}/lib/ruby
 MODRUBY_LIBREV =       ${MODRUBY_REV}
+MODRUBY_BUILD_DEPENDS= ${MODRUBY_RUN_DEPENDS}
 MODRUBY_LIB_DEPENDS=   ${MODRUBY_RUN_DEPENDS}
 MODRUBY_RUN_DEPENDS=   lang/ruby/${MODRUBY_REV}
 MODRUBY_SITEARCHDIR =  ${MODRUBY_SITEDIR}/${MODRUBY_ARCH}
 MODRUBY_SITEDIR =      lib/ruby/site_ruby/${MODRUBY_LIBREV}
+MODRUBY_RELEXAMPLEDIR= share/examples/${MODRUBY_PKG_PREFIX}
 MODRUBY_WANTLIB=       ruby${MODRUBY_BINREV}
 RAKE=                  ${LOCALBASE}/bin/rake${MODRUBY_BINREV}
 RUBY=                  ${LOCALBASE}/bin/ruby${MODRUBY_BINREV}
 
-MODRUBY_RSPEC3_DEPENDS = devel/ruby-rspec/3/rspec,${MODRUBY_FLAVOR}>=3.0
+_MODRUBY_RSPEC3_DEPENDS = devel/ruby-rspec/3/rspec,${MODRUBY_FLAVOR}>=3.0
 
 .if defined(MODRUBY_TEST)
 .  if !${MODRUBY_TEST:L:Mrspec3} && !${MODRUBY_TEST:L:Mtestrb} && \
@@ -98,17 +103,6 @@ NO_TEST =   Yes
 MODRUBY_TEST?=
 .endif
 
-MODRUBY_BUILD_DEPENDS= ${MODRUBY_RUN_DEPENDS}
-
-# common directories for ruby extensions
-# used to create docs and examples install path
-MODRUBY_RELDOCDIR=     share/doc/${MODRUBY_PKG_PREFIX}
-MODRUBY_RELEXAMPLEDIR= share/examples/${MODRUBY_PKG_PREFIX}
-MODRUBY_DOCDIR=                ${PREFIX}/${MODRUBY_RELDOCDIR}
-MODRUBY_EXAMPLEDIR=    ${PREFIX}/${MODRUBY_RELEXAMPLEDIR}
-SUBST_VARS +=          MODRUBY_RELDOCDIR MODRUBY_RELEXAMPLEDIR
-UPDATE_PLIST_ARGS += -s MODRUBY_RELDOCDIR -s MODRUBY_RELEXAMPLEDIR
-
 # Assume that we want to automatically add ruby to BUILD_DEPENDS
 # and RUN_DEPENDS unless the port specifically requests not to.
 MODRUBY_BUILDDEP?=     Yes
@@ -122,7 +116,7 @@ RUN_DEPENDS+=               ${MODRUBY_RUN_DEPENDS}
 .endif
 
 .if ${MODRUBY_TEST:L:Mrspec3}
-TEST_DEPENDS+= ${MODRUBY_RSPEC3_DEPENDS}
+TEST_DEPENDS+= ${_MODRUBY_RSPEC3_DEPENDS}
 .endif
 
 MODRUBY_RUBY_ADJ =     perl -pi \
@@ -131,11 +125,10 @@ MODRUBY_RUBY_ADJ =        perl -pi \
                -e 'close ARGV if eof;'
 MODRUBY_ADJ_FILES?=
 .if !empty(MODRUBY_ADJ_FILES)
-MODRUBY_ADJ_REPLACE=   for pat in ${MODRUBY_ADJ_FILES:QL}; do \
+MODRUBY_pre-configure +=for pat in ${MODRUBY_ADJ_FILES:QL}; do \
                         find ${WRKSRC} -type f -name "$$pat" \
                          -exec ${MODRUBY_RUBY_ADJ} {} + ; \
                        done
-MODRUBY_pre-configure += ${MODRUBY_ADJ_REPLACE}
 .endif
 
 MODRUBY_WANTLIB+=      c gmp m pthread
@@ -168,7 +161,7 @@ COMPILER_LANGS ?= c
 # Add build complete file to package so rubygems doesn't complain
 # or build extensions at runtime
 GEM_EXTENSIONS_DIR ?= 
${GEM_LIB}/extensions/${MODRUBY_ARCH:S/i386/x86/}/${MODRUBY_REV}/${DISTNAME}
-GEM_EXTENSIONS_FILE ?= ${GEM_EXTENSIONS_DIR}/gem.build_complete
+_GEM_EXTENSIONS_FILE ?= ${GEM_EXTENSIONS_DIR}/gem.build_complete
 SUBST_VARS+=   GEM_EXTENSIONS_DIR
 PKG_ARGS+=     -f ${PORTSDIR}/lang/ruby/rubygems-ext.PLIST
 .  else
@@ -176,17 +169,12 @@ PKG_ARGS+=        -f ${PORTSDIR}/lang/ruby/ruby
 PKG_ARCH=      *
 .  endif
 
-# PLIST magic.  Set variables so that the same PLIST will work for
-# all ruby versions and implementations.
-SUBST_VARS+=   GEM_LIB GEM_BIN DISTNAME
-UPDATE_PLIST_ARGS += -s GEM_LIB -s GEM_BIN
-
 GEM=           ${LOCALBASE}/bin/gem${MODRUBY_BINREV}
 GEM_BIN =      bin
 GEM_LIB =      lib/ruby/gems/${MODRUBY_LIBREV}
-GEM_BASE_LIB=  ${GEM_BASE}/ruby/${MODRUBY_LIBREV}
-GEM_BASE=      ${WRKDIR}/gem-tmp/.gem
-GEM_ABS_PATH=  ${PREFIX}/${GEM_LIB}
+GEM_BASE_LIB=  ${_GEM_BASE}/ruby/${MODRUBY_LIBREV}
+_GEM_BASE=     ${WRKDIR}/gem-tmp/.gem
+_GEM_ABS_PATH= ${PREFIX}/${GEM_LIB}
 GEM_BASE_BIN=  ${GEM_BASE_LIB}/bin
 
 # We purposely do not install documentation for ruby gems, because
@@ -211,7 +199,7 @@ EXTRACT_CASES += *.gem) \
 
 # Rebuild the gem manually after possible patching, then install it to a
 # temporary directory (not the final directory under fake).
-MODRUBY_BUILD_TARGET = \
+_MODRUBY_BUILD_TARGET = \
     if [ -f ${WRKDIST}/.metadata ]; then \
            cd ${WRKDIST} && gzip .metadata && \
                    mv -f .metadata.gz ${_GEM_CONTENT}/metadata.gz; \
@@ -219,8 +207,8 @@ MODRUBY_BUILD_TARGET = \
     cd ${WRKDIST} && pax -wz -s '/.*${PATCHORIG:S@.@\.@g}$$//' \
            -x ustar -o write_opt=nodir . >${_GEM_DATAFILE}; \
     cd ${_GEM_CONTENT} && tar -cf ${WRKDIR}/${_GEM_PATCHED} *.gz; \
-    mkdir -p ${GEM_BASE}; \
-    env -i ${MAKE_ENV} HOME=`dirname ${GEM_BASE}` GEM_HOME=${GEM_BASE} \
+    mkdir -p ${_GEM_BASE}; \
+    env -i ${MAKE_ENV} HOME=`dirname ${_GEM_BASE}` GEM_HOME=${_GEM_BASE} \
            make=${_GEM_MAKE} \
            ${GEM} install ${GEM_FLAGS} ${WRKDIR}/${_GEM_PATCHED} \
            -- ${CONFIGURE_ARGS}
@@ -228,7 +216,7 @@ MODRUBY_BUILD_TARGET = \
 # Take the temporary gem directory, install the binary stub files to
 # the appropriate directory, and move and fix ownership the gem library
 # files.
-MODRUBY_INSTALL_TARGET = \
+_MODRUBY_INSTALL_TARGET = \
     if [ -d ${GEM_BASE_BIN} ]; then \
            ${INSTALL_DATA_DIR} ${PREFIX}/${GEM_BIN}; \
            for f in ${GEM_BASE_BIN}/*; do \
@@ -236,28 +224,30 @@ MODRUBY_INSTALL_TARGET = \
            done; \
            rm -r ${GEM_BASE_BIN}; \
     fi; \
-    ${INSTALL_DATA_DIR} ${GEM_ABS_PATH}; \
-    cd ${GEM_BASE_LIB} && mv * ${GEM_ABS_PATH}; \
-    if [ 'X' != "X${GEM_EXTENSIONS_FILE}" ]; then \
+    ${INSTALL_DATA_DIR} ${_GEM_ABS_PATH}; \
+    cd ${GEM_BASE_LIB} && mv * ${_GEM_ABS_PATH}; \
+    if [ 'X' != "X${_GEM_EXTENSIONS_FILE}" ]; then \
        mkdir -p ${PREFIX}/${GEM_EXTENSIONS_DIR}; \
-       touch ${PREFIX}/${GEM_EXTENSIONS_FILE}; \
+       touch ${PREFIX}/${_GEM_EXTENSIONS_FILE}; \
     fi
-    chown -R ${SHAREOWN}:${SHAREGRP} ${GEM_ABS_PATH}
+    chown -R ${SHAREOWN}:${SHAREGRP} ${_GEM_ABS_PATH}
 
 .  if !target(do-build)
 do-build: 
-       ${MODRUBY_BUILD_TARGET}
+       ${_MODRUBY_BUILD_TARGET}
 .  endif
 .  if !target(do-install)
 do-install: 
-       ${MODRUBY_INSTALL_TARGET}
+       ${_MODRUBY_INSTALL_TARGET}
 .  endif
 .endif
 
-# These are mostly used by the non-gem ports.
-SUBST_VARS+=   MODRUBY_SITEARCHDIR MODRUBY_SITEDIR MODRUBY_LIBREV \
-               MODRUBY_ARCH
-UPDATE_PLIST_ARGS += -s MODRUBY_SITEARCHDIR -s MODRUBY_SITEDIR
+# PLIST magic.  Set variables so that the same PLIST will work for
+# all ruby versions and implementations.
+SUBST_VARS +=  MODRUBY_RELEXAMPLEDIR MODRUBY_SITEARCHDIR MODRUBY_SITEDIR \
+               MODRUBY_LIBREV MODRUBY_ARCH GEM_LIB GEM_BIN DISTNAME
+UPDATE_PLIST_ARGS +=   -s MODRUBY_RELEXAMPLEDIR -s MODRUBY_SITEARCHDIR \
+                       -s MODRUBY_SITEDIR -s GEM_LIB -s GEM_BIN
 
 # test stuff
 
@@ -265,13 +255,13 @@ UPDATE_PLIST_ARGS += -s MODRUBY_SITEARCH
 .  if !target(do-test)
 
 .    if ${MODRUBY_TEST:L:Mrake}
-MODRUBY_TEST_BIN ?=    ${RAKE}
+_MODRUBY_TEST_BIN ?=   ${RAKE}
 .    elif ${MODRUBY_TEST:L:Mrspec3}
-MODRUBY_TEST_BIN ?=    ${MODRUBY_BIN_RSPEC}
+_MODRUBY_TEST_BIN ?=   ${MODRUBY_BIN_RSPEC}
 .    elif ${MODRUBY_TEST:L:Mtestrb}
-MODRUBY_TEST_BIN ?=    ${RUBY} ${PORTSDIR}/lang/ruby/files/testrb.rb
+_MODRUBY_TEST_BIN ?=   ${RUBY} ${PORTSDIR}/lang/ruby/files/testrb.rb
 .    elif ${MODRUBY_TEST:L:Mruby}
-MODRUBY_TEST_BIN ?=    ${RUBY}
+_MODRUBY_TEST_BIN ?=   ${RUBY}
 .    endif
 
 .    if ${MODRUBY_TEST:L:Mrspec3}
@@ -282,10 +272,9 @@ MODRUBY_TEST_TARGET ?=     test
 
 MODRUBY_TEST_ENV ?= 
 MODRUBY_TEST_ENV += RUBYLIB=.:"$$RUBYLIB"
-MODRUBY_TEST_DIR ?= ${WRKSRC}
 do-test:
-       cd ${MODRUBY_TEST_DIR} && ${SETENV} ${MAKE_ENV} HOME=${WRKBUILD} \
-               ${MODRUBY_TEST_ENV} ${MODRUBY_TEST_BIN} \
+       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} HOME=${WRKBUILD} \
+               ${MODRUBY_TEST_ENV} ${_MODRUBY_TEST_BIN} \
                ${MODRUBY_TEST_TARGET}
 .  endif
 .endif

Reply via email to