fritzkink
2023-11-28 0e6b8465e1fa76dd600d4a240e95735e71db5d7c
make-rules/shared-macros.mk
@@ -26,8 +26,8 @@
# whenever PATH is to be defined there:
#     PATH = $(PATH.illumos)
#     PATH = $(PATH.gnu)
PATH.illumos=$(PATH.prepend):$(USRBINDIR$(BITS)):$(USRBINDIR):$(GNUBIN):$(USRSBINDIR$(BITS)):$(USRSBINDIR):$(PERL5BINDIR)
PATH.gnu=$(PATH.prepend):$(GNUBIN):$(USRBINDIR$(BITS)):$(USRBINDIR):$(USRSBINDIR$(BITS)):$(USRSBINDIR):$(PERL5BINDIR)
PATH.illumos =   $(subst $(space),:,$(strip $(PATH.prepend))):$(USRBINDIR$(BITS)):$(USRBINDIR):$(GNUBIN):$(USRSBINDIR$(BITS)):$(USRSBINDIR)
PATH.gnu =   $(subst $(space),:,$(strip $(PATH.prepend))):$(GNUBIN):$(USRBINDIR$(BITS)):$(USRBINDIR):$(USRSBINDIR$(BITS)):$(USRSBINDIR)
# Default PATH
PATH = $(PATH.illumos)
@@ -44,7 +44,7 @@
#EXTERNAL_ARCHIVE_MIRROR = \
#   http://static.opensolaris.org/action/browse/userland/tarball/userland
DLC_ARCHIVE_MIRROR = http://dlc.openindiana.org/oi-userland/source-archives
DLC_ARCHIVE_MIRROR = https://dlc.openindiana.org/oi-userland/source-archives
# Default to looking for source archives on the internal mirror and the external
# mirror before we hammer on the community source archive repositories.
@@ -107,7 +107,7 @@
# to determine the distribution version
# (it should look like OpenIndiana Hipster YYYY.MM).
DISTRIBUTION_NAME = OpenIndiana Hipster
DISTRIBUTION_VERSION = 2023.05
DISTRIBUTION_VERSION = 2023.10
# Native OS version
OS_VERSION :=      $(shell uname -r)
SOLARIS_VERSION =   $(OS_VERSION:5.%=2.%)
@@ -622,13 +622,9 @@
        fi; \
    fi)
GCC_DEFAULT =   10
GCC_DEFAULT =   13
GCC_VERSION =   $(GCC_DEFAULT)
GCC_ROOT =   /usr/gcc/$(GCC_VERSION)
GCC_LIBDIR.32 =   $(GCC_ROOT)/lib
GCC_LIBDIR.64 =   $(GCC_ROOT)/lib/$(MACH64)
GCC_LIBDIR =   $(GCC_LIBDIR.$(BITS))
# Define runtime package names to be used in dependencies
GCC_VERSION_MAJOR    = $(shell echo $(GCC_VERSION) | $(GSED) -e 's/\([0-9]\+\)\.[0-9]\+.*/\1/')
@@ -658,6 +654,7 @@
GCC_INCDIR =   $(GCC_ROOT)/include
GCC_LIBGCCDIR =   $(GCC_ROOT)/lib/gcc
GCC_INCGXXDIR =   $(GCC_ROOT)/include/c++/$(GCC_FULL_VERSION)
PATH.prepend +=   $(GCC_BINDIR)
ifneq ($(strip $(CCACHE)),)
@@ -688,11 +685,13 @@
CLANG_VERSION =      $(CLANG_DEFAULT)
CLANG_FULL_VERSION =   $(CLANG_VERSION).0
CLANG_PREFIX             = /usr/clang/$(CLANG_FULL_VERSION)
CLANG_BINDIR =      $(CLANG_PREFIX)/bin
CLANG_LIBDIR             = $(CLANG_PREFIX)/lib
CLANG_DEVELOPER_PKG      = developer/clang-$(CLANG_VERSION)
CLANG_RUNTIME_PKG        = runtime/clang-$(CLANG_VERSION)
REQUIRED_PACKAGES_SUBST += CLANG_DEVELOPER_PKG
REQUIRED_PACKAGES_SUBST += CLANG_RUNTIME_PKG
PATH.prepend +=      $(CLANG_BINDIR)
# Python definitions
PYTHON.2.7.VENDOR_PACKAGES.64 = /usr/lib/python2.7/vendor-packages/64
@@ -709,10 +708,15 @@
FC =      $(FC.$(COMPILER).$(BITS))
RUBY_VERSION =  2.3
RUBY_LIB_VERSION.2.3 = 2.3.0
RUBY_LIB_VERSION.2.6 = 2.6.0
RUBY_LIB_VERSION.3.2 = 3.2.0
RUBY.2.3 =   /usr/ruby/2.3/bin/ruby
RUBY.2.6 =   /usr/ruby/2.6/bin/ruby
RUBY.3.2 =   /usr/ruby/3.2/bin/ruby
RUBY =          $(RUBY.$(RUBY_VERSION))
RUBY_LIB_VERSION = $(RUBY_LIB_VERSION.$(RUBY_VERSION))
@@ -786,11 +790,9 @@
COMPONENT_POST_INSTALL_ACTION += $(PYTHON_SCRIPTS_PROCESS)
JAVA8_HOME =   /usr/jdk/instances/openjdk1.8.0
JAVA11_HOME =   /usr/jdk/instances/openjdk11.0.10
JAVA17_HOME =   /usr/jdk/instances/openjdk17
JAVA18_HOME =   /usr/jdk/instances/openjdk18
JAVA19_HOME =   /usr/jdk/instances/openjdk19
JAVA_HOME = $(JAVA8_HOME)
JAVA17_HOME =   /usr/jdk/instances/openjdk17.0.8
JAVA21_HOME =   /usr/jdk/instances/openjdk21
JAVA_HOME = $(JAVA17_HOME)
# QT macros
# We deliver version 5 in 32- and 64-bit variants.
@@ -879,6 +881,24 @@
PKG_MACROS +=   PERL_ARCH=$(PERL_ARCH)
PKG_MACROS +=   PERL_VERSION=$(PERL_VERSION)
#
# Upstream supports major PostgreSQL versions for 5 years after its initial
# release.  After that one last minor version is released and then the major
# version is considered EOL.
#
# We will start to obsolete PostgreSQL versions according the following table:
#
# +--------------------+----------------+
# | PostgreSQL version | Obsolete after |
# +--------------------+----------------+
# |         12         |   2024-11-14   |
# |         14         |   2026-11-12   |
# |         15         |   2027-11-11   |
# +--------------------+----------------+
#
# See https://www.postgresql.org/support/versioning/
#
# Config magic for Postgres/EnterpriseDB/...
# Default DB version should be the newest one we do have so we detect any
# incompatibilities as soon as possible.  Components could override this when
@@ -912,10 +932,26 @@
PG_CONFIG.32 =  $(PG_BINDIR.32)/pg_config
PG_CONFIG.64 =  $(PG_BINDIR.64)/pg_config
PG_CONFIG =     $(PG_CONFIG.$(BITS))
PATH.prepend +=   $(PG_BINDIR)
PKG_MACROS +=   PG_VERSION=$(PG_VERSION)
PKG_MACROS +=   PG_VERNUM=$(PG_VERNUM)
PKG_MACROS +=   PG_BASEPKG=$(PG_BASEPKG)
#
# Upstream maintains long-term MariaDB releases for at least 5 years and
# short-term MariaDB releases for at least one year.
#
# We will start to obsolete MariaDB versions according the following table:
#
# +-----------------+----------------+
# | MariaDB version | Obsolete after |
# +-----------------+----------------+
# |      10.6       |   2026-07      |
# +-----------------+----------------+
#
# See https://mariadb.org/about/#maintenance-policy
#
# Config magic for MySQL/MariaDB/Percona/...
# Default DB version should be the newest one we do have so we detect any
@@ -960,6 +996,7 @@
MYSQL_CONFIG.64 =  $(MYSQL_BINDIR.64)/mysql_config
MYSQL_CONFIG =     $(MYSQL_CONFIG.$(BITS))
MYSQL_PKG_CONFIG_PATH =   $(MYSQL_LIBDIR)/pkgconfig
PATH.prepend +=      $(MYSQL_BINDIR)
PKG_MACROS +=   MYSQL_VERSION=$(MYSQL_VERSION)
PKG_MACROS +=   MYSQL_VERNUM=$(MYSQL_VERNUM)
@@ -997,6 +1034,11 @@
TCLSH.8.6.sparc.32 =   /usr/bin/sparcv7/tclsh8.6
TCLSH.8.6.sparc.64 =   /usr/bin/sparcv9/tclsh8.6
TCLSH =      $(TCLSH.$(TCL_VERSION).$(MACH).$(BITS))
# ICU library
ICU_LIBRARY_PKG =      library/icu
REQUIRED_PACKAGES_SUBST +=   ICU_LIBRARY_PKG
CCSMAKE =   /usr/ccs/bin/make
GMAKE =      /usr/gnu/bin/make
@@ -1045,6 +1087,8 @@
IPS2TGZ =    $(WS_TOOLS)/ips2tgz
JQ =      /usr/bin/jq
DOS2UNIX =   /usr/bin/dos2unix
TAC =      /usr/bin/tac
QUILT =      /usr/bin/quilt
INS.dir=        $(INSTALL) -d $@
INS.file=       $(INSTALL) -m 444 $< $(@D)
@@ -1400,6 +1444,15 @@
# Generate conflicting packages for all built python version variants for given package
TEST_CONFLICTING_PACKAGES += $(foreach ver,$(PYTHON_VERSIONS),$(TEST_CONFLICTING_PACKAGES.python:%=%-$(subst .,,$(ver))))
# Targets for some tools rarely used by the build framework.  We do not add
# these tools to USERLAND_REQUIRED_PACKAGES to do not pollute it.
$(QUILT):
   @echo
   @echo "$(QUILT) is missing"
   @echo "Please install developer/quilt package"
   @echo
   @exit 1
include $(WS_MAKE_RULES)/environment.mk
include $(WS_MAKE_RULES)/depend.mk
include $(WS_MAKE_RULES)/component.mk