#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved.
#

FONT_TYPE=X11
BUILD_STYLE=configure
include ../../../make-rules/shared-macros.mk


COMPONENT_NAME=		font-adobe-100dpi
COMPONENT_VERSION=	1.0.3
COMPONENT_ARCHIVE_HASH=	\
	sha256:b2c08433eab5cb202470aa9f779efefce8d9cab2534f34f3aa4a31d05671c054

COMPONENT_NAME_1=	font-adobe-75dpi
COMPONENT_VERSION_1=	1.0.3
COMPONENT_ARCHIVE_HASH_1=	\
	sha256:c6024a1e4a1e65f413f994dd08b734efd393ce0a502eb465deb77b9a36db4d09

COMPONENT_NAME_2=	font-adobe-utopia-100dpi
COMPONENT_VERSION_2=	1.0.4
COMPONENT_ARCHIVE_HASH_2=	\
	sha256:d16f5e3f227cc6dd07a160a71f443559682dbc35f1c056a5385085aaec4fada5

COMPONENT_NAME_3=	font-adobe-utopia-75dpi
COMPONENT_VERSION_3=	1.0.4
COMPONENT_ARCHIVE_HASH_3=	\
	sha256:8732719c61f3661c8bad63804ebfd54fc7de21ab848e9a26a19b1778ef8b5c94

COMPONENT_NAME_4=	font-adobe-utopia-type1
COMPONENT_VERSION_4=	1.0.4
COMPONENT_ARCHIVE_HASH_4=	\
	sha256:979435105f897a70f8993fa02c8362160b0513366c2ab896965416f96dbb8077

COMPONENT_NAME_5=	font-alias
COMPONENT_VERSION_5=	1.0.3
COMPONENT_ARCHIVE_HASH_5=	\
	sha256:8b453b2aae1cfa8090009ca037037b8c5e333550651d5a158b7264ce1d472c9a

COMPONENT_NAME_6=	font-arabic-misc
COMPONENT_VERSION_6=	1.0.3
COMPONENT_ARCHIVE_HASH_6=	\
	sha256:505d9b12a7093389e67a925dfda6346bde26d114c67f0cdca7aeda6e5d3344f4

COMPONENT_NAME_7=	font-bh-100dpi
COMPONENT_VERSION_7=	1.0.3
COMPONENT_ARCHIVE_HASH_7=	\
	sha256:23c07162708e4b79eb33095c8bfa62c783717a9431254bbf44863734ea239481

COMPONENT_NAME_8=	font-bh-75dpi
COMPONENT_VERSION_8=	1.0.3
COMPONENT_ARCHIVE_HASH_8=	\
	sha256:3486aa51ac92c646a448fe899c5c3dae0024b1fef724d5100d52640d1cac721c

COMPONENT_NAME_9=	font-bh-lucidatypewriter-100dpi
COMPONENT_VERSION_9=	1.0.3
COMPONENT_ARCHIVE_HASH_9=	\
	sha256:62a83363c2536095fda49d260d21e0847675676e4e3415054064cbdffa641fbb

COMPONENT_NAME_10=	font-bh-lucidatypewriter-75dpi
COMPONENT_VERSION_10=	1.0.3
COMPONENT_ARCHIVE_HASH_10=	\
	sha256:4ac16afbe205480cc5572e2977ea63488c543d05be0ea8e5a94c845a6eebcb31

COMPONENT_NAME_11=	font-bh-type1
COMPONENT_VERSION_11=	1.0.3
COMPONENT_ARCHIVE_HASH_11=	\
	sha256:761455a297486f3927a85d919b5c948d1d324181d4bea6c95d542504b68a63c1

COMPONENT_NAME_12=	font-bitstream-100dpi
COMPONENT_VERSION_12=	1.0.3
COMPONENT_ARCHIVE_HASH_12=	\
	sha256:ebe0d7444e3d7c8da7642055ac2206f0190ee060700d99cd876f8fc9964cb6ce

COMPONENT_NAME_13=	font-bitstream-75dpi
COMPONENT_VERSION_13=	1.0.3
COMPONENT_ARCHIVE_HASH_13=	\
	sha256:ba3f5e4610c07bd5859881660753ec6d75d179f26fc967aa776dbb3d5d5cf48e

COMPONENT_NAME_14=	font-bitstream-type1
COMPONENT_VERSION_14=	1.0.3
COMPONENT_ARCHIVE_HASH_14=	\
	sha256:c6ea0569adad2c577f140328dc3302e729cb1b1ea90cd0025caf380625f8a688

COMPONENT_NAME_15=	font-cursor-misc
COMPONENT_VERSION_15=	1.0.3
COMPONENT_ARCHIVE_HASH_15=	\
	sha256:17363eb35eece2e08144da5f060c70103b59d0972b4f4d77fd84c9a7a2dba635

COMPONENT_NAME_16=	font-dec-misc
COMPONENT_VERSION_16=	1.0.3
COMPONENT_ARCHIVE_HASH_16=	\
	sha256:e19ddf8b5f8de914d81675358fdfe37762e9ce524887cc983adef34f2850ff7b

COMPONENT_NAME_17=	font-ibm-type1
COMPONENT_VERSION_17=	1.0.3
COMPONENT_ARCHIVE_HASH_17=	\
	sha256:fddb28d3db5a07f4b4ca15388488a9680a10e1367a18f358f903b2a608a5d2df

COMPONENT_NAME_18=	font-micro-misc
COMPONENT_VERSION_18=	1.0.3
COMPONENT_ARCHIVE_HASH_18=	\
	sha256:9a3381c10f32d9511f0ad4179df395914c50779103c16cddf7017f5220ed8db6

COMPONENT_NAME_19=	font-misc-misc
COMPONENT_VERSION_19=	1.1.2
COMPONENT_ARCHIVE_HASH_19=	\
	sha256:b8e77940e4e1769dc47ef1805918d8c9be37c708735832a07204258bacc11794

COMPONENT_NAME_20=	font-mutt-misc
COMPONENT_VERSION_20=	1.0.3
COMPONENT_ARCHIVE_HASH_20=	\
	sha256:bd5f7adb34367c197773a9801df5bce7b019664941900b2a31fbfe1ff2830f8f

COMPONENT_NAME_21=	font-schumacher-misc
COMPONENT_VERSION_21=	1.1.2
COMPONENT_ARCHIVE_HASH_21=	\
	sha256:e444028656e0767e2eddc6d9aca462b16a2be75a47244dbc199b2c44eca87e5a

COMPONENT_NAME_22=	font-sony-misc
COMPONENT_VERSION_22=	1.0.3
COMPONENT_ARCHIVE_HASH_22=	\
	sha256:2043a326ba347c9da5ca1e9bc363e2521c3ea40b43b1f9662d333efd4867cff5

COMPONENT_NAME_23=	font-sun-misc
COMPONENT_VERSION_23=	1.0.3
COMPONENT_ARCHIVE_HASH_23=	\
	sha256:481f4fcbbf7005658b080b3cf342c8c76de752e77f47958b2b383de73266d2e0

COMPONENT_NAME_24=	font-xfree86-type1
COMPONENT_VERSION_24=	1.0.4
COMPONENT_ARCHIVE_HASH_24=	\
	sha256:caebf42aec7be7f3bd40e0f232d6f34881b853dc84acfcdf7458358701fbe34a

LIST = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

define extra-target-rules
$(BUILD_DIR)/%_$(1)/.configured: SOURCE_DIR=$$(SOURCE_DIR_$(1))
endef

$(foreach n, $(LIST), \
    $(eval COMPONENT_SRC_$(n) = $(COMPONENT_NAME_$(n))-$(COMPONENT_VERSION_$(n))) \
    $(eval COMPONENT_ARCHIVE_$(n) = $(COMPONENT_SRC_$(n)).tar.bz2) \
    $(eval COMPONENT_ARCHIVE_URL_$(n) = $$(COMPONENT_ARCHIVE_URL:$$(COMPONENT_ARCHIVE)=$(COMPONENT_ARCHIVE_$(n)))) \
    $(eval BUILD_DIR_$(n) += $(BUILD_DIR_NO_ARCH)_$(n)) \
    $(eval CONFIGURE_NO_ARCH += $(BUILD_DIR_$(n))/.configured) \
    $(eval BUILD_NO_ARCH_$(n) += $(BUILD_DIR_$(n))/.built) \
    $(eval BUILD_TARGET_LIST += $(BUILD_NO_ARCH_$(n))) \
    $(eval INSTALL_NO_ARCH_$(n) += $(BUILD_DIR_$(n))/.installed) \
    $(eval INSTALL_TARGET_LIST += $(INSTALL_NO_ARCH_$(n))) \
    $(eval $(call extra-target-rules,$(n))) \
)


PRIMARY_BUILD = $(BUILD_NO_ARCH) $(BUILD_TARGET_LIST)
PRIMARY_INSTALL = $(INSTALL_NO_ARCH) $(INSTALL_TARGET_LIST)

BUILD_TARGET += $(PRIMARY_BUILD)
INSTALL_TARGET += $(PRIMARY_INSTALL)


include $(WS_MAKE_RULES)/x11.mk
include $(WS_MAKE_RULES)/font.mk

CONFIGURE_OPTIONS += --enable-all-encodings

# Combine Sun aliases and base alias files into fonts.alias.all files
ALIASES_DIRS = 75dpi 100dpi misc Type1
ALIASES_ALL_FILES = \
    $(ALIASES_DIRS:%=$(PROTOX11FONTSDIR)/%/fonts.alias.all)
INSTALL_TARGET += $(ALIASES_ALL_FILES)

$(PROTOX11FONTSDIR)/%/fonts.alias.all: $(PRIMARY_INSTALL)
	$(RM) $@
	if [[ -f $(@:.all=) ]] ; then $(MV) $(@:.all=) $@ ; fi
	$(CAT) $(COMPONENT_DIR)/sun-aliases/fonts.alias.$(notdir $(@D)) >> $@

# Reorganize installed fonts into subdirectories used in packages so that
# we can construct the correct fonts.alias & fonts.dir files
INSTALL_TARGET += $(BUILD_DIR)/.postprocessed

# Encodings we split out into separate subdirs for packaging
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-1
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-2
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-3
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-4
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-5
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-7
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-8
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-9
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-10
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-11
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-13
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-14
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-15
ALL_BDF_SUBDIR_ENCODINGS += ISO8859-16

INSTALLALIAS = $(USRLIBDIR)/X11/installalias

$(BUILD_DIR)/.postprocessed: $(PRIMARY_INSTALL) $(ALIASES_ALL_FILES)
	set -e -x ; \
	for d in 75dpi 100dpi misc ; do \
	    for e in $(ALL_BDF_SUBDIR_ENCODINGS) ; do \
		if stat -t $(PROTOX11FONTSDIR)/$${d}/*-$${e}.pcf \
		    >/dev/null 2>&1 ; then \
		    $(MKDIR) $(PROTOX11FONTSDIR)/$${d}-$${e} ; \
		    $(MV) $(PROTOX11FONTSDIR)/$${d}/*-$${e}.pcf \
			$(PROTOX11FONTSDIR)/$${d}-$${e}/ ; \
		    $(RM) $(PROTOX11FONTSDIR)/$${d}-$${e}/fonts.dir ; \
		    $(MKFONTDIR) $(PROTOX11FONTSDIR)/$${d}-$${e}/ ; \
		fi ; \
	    done ; \
	    for e in ISO8859-1 ISO8859-8; do \
		if [[ "$${e}" == "ISO8859-8" && "$${d}" != "misc" ]] ; then \
		    continue ; \
		fi ; \
		$(CP) $(PROTOX11FONTSDIR)/$${d}/fonts.alias.all \
		    $(PROTOX11FONTSDIR)/$${d}-$${e}/ ; \
		(cd $(PROTOX11FONTSDIR)/$${d}-$${e}/ ; \
		    $(INSTALLALIAS) fonts.alias.all .) ; \
		[[ -s $(PROTOX11FONTSDIR)/$${d}-$${e}/fonts.alias ]] || \
		    $(RM) $(PROTOX11FONTSDIR)/$${d}-$${e}/fonts.alias \
		      $(PROTOX11FONTSDIR)/$${d}-$${e}/fonts.alias.all ; \
	    done ; \
	done ; \
	for d in 75dpi 100dpi misc Type1 ; do \
	    $(RM) $(PROTOX11FONTSDIR)/$${d}/fonts.dir ; \
	    $(MKFONTDIR) $(PROTOX11FONTSDIR)/$${d}/ ; \
	    (cd $(PROTOX11FONTSDIR)/$${d}/ ; \
		$(INSTALLALIAS) fonts.alias.all .) ; \
	done
	$(TOUCH) $@

include $(WS_MAKE_RULES)/common.mk