#
|
# This file and its contents are supplied under the terms of the
|
# Common Development and Distribution License ("CDDL"), version 1.0.
|
# You may only use this file in accordance with the terms of version
|
# 1.0 of the CDDL.
|
#
|
# A full copy of the text of the CDDL should have accompanied this
|
# source. A copy of the CDDL is also available via the Internet at
|
# http://www.illumos.org/license/CDDL.
|
#
|
|
#
|
# Copyright 2016 Alexander Pyhalov
|
# Copyright 2019 Michal Nowak
|
# Copyright 2023 Friedrich Kink
|
#
|
|
BUILD_BITS= 64_and_32
|
BUILD_STYLE= meson
|
include ../../../make-rules/shared-macros.mk
|
|
COMPONENT_NAME= glib
|
COMPONENT_MJR_VERSION= 2.76
|
COMPONENT_MNR_VERSION= 4
|
COMPONENT_VERSION= $(COMPONENT_MJR_VERSION).$(COMPONENT_MNR_VERSION)
|
COMPONENT_SUMMARY= GNOME core libraries
|
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
|
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz
|
COMPONENT_ARCHIVE_HASH= sha256:5a5a191c96836e166a7771f7ea6ca2b0069c603c7da3cba1cd38d1694a395dda
|
COMPONENT_ARCHIVE_URL= https://download.gnome.org/sources/$(COMPONENT_NAME)/$(COMPONENT_MJR_VERSION)/$(COMPONENT_ARCHIVE)
|
COMPONENT_PROJECT_URL= https://wiki.gnome.org/Projects/GLib/
|
COMPONENT_FMRI= library/glib2
|
COMPONENT_CLASSIFICATION= Desktop (GNOME)/Libraries
|
COMPONENT_LICENSE= GPLv2
|
COMPONENT_LICENSE_FILE= COPYING
|
|
include $(WS_MAKE_RULES)/common.mk
|
|
# /usr/lib and /usr/lib/$(MACH64) needed to make dbus-daemon program available
|
PATH = $(PATH.gnu):/usr/lib:/usr/lib/$(MACH64)
|
|
# socketpair(3socket) requires -lsocket -lnsl
|
LDFLAGS += -lsocket -lnsl
|
|
# Support for hexadecimal strings in strtod() is available in C99 mode only,
|
# but we cannot use -std=c99 because float/double support is broken there
|
# (https://www.illumos.org/issues/14935)
|
CFLAGS += -std=gnu11
|
|
# We need standard conforming getpwnam_r()/getpwuid_r()
|
CPPFLAGS += $(CPP_XPG6MODE)
|
|
# Some warnings are treated as errors by default but we do not want that
|
CFLAGS += -Wno-error=format-nonliteral
|
CFLAGS += -Wno-error=format-security
|
|
# We do not have getxattr() so disable xattr
|
CONFIGURE_OPTIONS += -Dxattr=false
|
CONFIGURE_OPTIONS += -Dman=true
|
CONFIGURE_OPTIONS += -Druntime_libdir=$(USRLIBDIR)
|
CONFIGURE_OPTIONS += -Dcharsetalias_dir=$(USRLIBDIR)
|
CONFIGURE_OPTIONS += -Druntime_dir=$(VARDIR)/run
|
CONFIGURE_OPTIONS += -Dselinux=disabled
|
CONFIGURE_OPTIONS += -Dxattr=false
|
CONFIGURE_OPTIONS += -Dlibmount=disabled
|
CONFIGURE_OPTIONS += -Dbsymbolic_functions=false
|
CONFIGURE_OPTIONS += -Dman=true
|
CONFIGURE_OPTIONS += -Dfam=true
|
|
COMPONENT_POST_CONFIGURE_ACTION= \
|
( cd $(@D); $(GSED) -i "s/_FILE_OFFSET_BITS=64/_FILE_OFFSET_BITS=$(BITS)/g" ./build.ninja )
|
|
# We need to install libraries and set correct LD_LIBRARY_PATH before test
|
$(TEST_TARGET): $(INSTALL_TARGET)
|
|
# Dtrace flags
|
DFLAGS.64 = -64
|
COMPONENT_BUILD_ENV += DFLAGS=$(DFLAGS.$(BITS))
|
|
# necessary otherwise make REQUIRED_PACKAGES will fail
|
COMPONENT_POST_INSTALL_ACTION.32= $(GSED) -i -e "s:\#!/usr/bin/env .*$$:\#!/usr/bin/python$(PYTHON_VERSION):" $(PROTOUSRBINDIR32)/g*
|
COMPONENT_POST_INSTALL_ACTION.64= $(GSED) -i -e "s:\#!/usr/bin/env .*$$:\#!/usr/bin/python$(PYTHON_VERSION):" $(PROTOUSRBINDIR)/g*
|
|
# Otherwise tests fail
|
unexport SHELLOPTS
|
|
# We need to install libraries and set correct LD_LIBRARY_PATH before test
|
$(TEST_TARGET): $(INSTALL_TARGET)
|
|
# dbus-daemon is in /usr/lib
|
COMPONENT_TEST_ENV.32 = LD_LIBRARY_PATH=$(PROTO_DIR)/usr/lib PATH=$(PATH):/usr/lib
|
COMPONENT_TEST_ENV.64 = LD_LIBRARY_PATH=$(PROTO_DIR)/usr/lib/$(MACH64) PATH=$(PATH):/usr/lib/$(MACH64)
|
COMPONENT_TEST_ENV = $(COMPONENT_TEST_ENV.$(BITS))
|
COMPONENT_TEST_ENV += LC_ALL=C.UTF-8
|
|
COMPONENT_TEST_TRANSFORMER = $(NAWK)
|
COMPONENT_TEST_TRANSFORMS = "'/^(Fail|Ok|Expected Fail|Unexpected Pass|Skipped|Timeout)/'"
|
|
|
# dbus-daemon is needed for testing
|
TEST_REQUIRED_PACKAGES += system/library/dbus
|
|
# update-desktop-database is needed for testing
|
TEST_REQUIRED_PACKAGES += library/desktop/desktop-file-utils
|
|
# Auto-generated dependencies
|
PYTHON_REQUIRED_PACKAGES += runtime/python
|
REQUIRED_PACKAGES += library/file-monitor/gamin
|
REQUIRED_PACKAGES += library/libffi
|
REQUIRED_PACKAGES += library/pcre2
|
REQUIRED_PACKAGES += library/zlib
|
REQUIRED_PACKAGES += shell/ksh93
|
REQUIRED_PACKAGES += system/library
|