#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/upstream-tarball.mk
include /usr/share/cdbs/1/rules/utils.mk

pkg = $(DEB_SOURCE_PACKAGE)
pkg-hinted = $(pkg)-hinted
pkg-unhinted = $(pkg)-unhinted
pkg-cjk = $(pkg)-cjk
pkgs = $(pkg-hinted) $(pkg-unhinted) $(pkg-cjk)

DEB_UPSTREAM_URL = https://noto.googlecode.com/files
DEB_UPSTREAM_TARBALL_MD5 = 9a8517a27cdbeb0dfb51559f0e2aa3ca

DEB_UPSTREAM_PACKAGE = NotoFonts-hinted
DEB_UPSTREAM_TARBALL_BASENAME = ${DEB_UPSTREAM_PACKAGE}-${DEB_UPSTREAM_VERSION}
DEB_UPSTREAM_TARBALL_EXTENSION = tgz

$(addprefix binary-fixup/,$(pkgs))::
	find debian/$(cdbs_curpkg)/usr/share/fonts/*/noto -type f -execdir chmod -x {} +

# extract metadata from images before copyright check
CDBS_BUILD_DEPENDS +=, libregexp-assemble-perl, libimage-exiftool-perl
CDBS_BUILD_DEPENDS +=, libfont-ttf-perl
local_inspection_regex = ttf|ttc
DEB_COPYRIGHT_CHECK_IGNORE_REGEX = ^((.*/)?[^/]+\.($(local_inspection_regex))|debian/(changelog|copyright(|_hints|_newhints)))$$
debian/stamp-copyright-check: debian/stamp-extract-copyright
debian/stamp-extract-copyright:
	find * -type f -regextype posix-extended \
		-regex '.*\.($(local_inspection_regex))' \
		-print0 | perl -0 debian/license-miner
	touch $@
pre-build:: clean-extracted-copyright-during-build
clean-extracted-copyright-during-build: debian/stamp-copyright-check
	find -type f -name '*.metadata_dump' -delete
clean::
	find -type f -name '*.metadata_dump' -delete
	rm -f debian/stamp-extract-copyright

# resolve font facts and encode for control file (see deb-substvars(5) )
CDBS_BUILD_DEPENDS +=, lcdf-typetools
substvars-list-encode = perl -0 -F/\\n/ -ane 'print " * ", join("\$${Newline} * ",@F)'
fonts-hinted := $(wildcard fonts/individual/hinted/*.ttf)
fonts-unhinted := $(wildcard fonts/individual/unhinted/*.ttf)
fonts-nothinted = $(filter-out $(subst hinted,unhinted,$(fonts-hinted)),$(fonts-unhinted))
fonts-scriptcount := $(shell (otfinfo -s $(fonts-unhinted); printf 'CJK Ideographic\nHangul\nHiragana\n') | perl -ne 's/^.*\t+//;s, ?(/|Default|<unknown|v\.2|\(.*\)).*,,;s,^([^/]+)/\1,$1,;/./ and print' | sort -u | grep -c .)
fonts-familylist := $(shell otfinfo -a $(fonts-hinted) | cut -d: -f2 | sort -u | $(substvars-list-encode))
fonts-nohintfamilylist := $(shell otfinfo -a $(fonts-nothinted) | cut -d: -f2 | sort -u | $(substvars-list-encode))
DEB_DH_INSTALL_ARGS_fonts-noto-hinted = $(fonts-hinted) usr/share/fonts/truetype/noto/
DEB_DH_INSTALL_ARGS_fonts-noto-unhinted = $(fonts-nothinted) usr/share/fonts/truetype/noto/
DEB_DH_INSTALL_ARGS_fonts-noto-cjk = third_party/noto_cjk/NotoSansCJK.ttc usr/share/fonts/opentype/noto/
$(addprefix install/,$(pkgs))::
	echo 'fonts:scriptcount=$(fonts-scriptcount)' >> debian/$(cdbs_curpkg).substvars
install/$(pkg-hinted)::
	echo 'fonts:familylist=$(fonts-familylist)' >> debian/$(cdbs_curpkg).substvars
install/$(pkg-unhinted)::
	echo 'fonts:nohintfamilylist=$(fonts-nohintfamilylist)' >> debian/$(cdbs_curpkg).substvars
