Browse Source

google-note-emoji-color package creation

Signed-off-by: tuibuilder_pel7x64builder0 <tuibuilder@powerel.org>
master
tuibuilder_pel7x64builder0 6 years ago
parent
commit
78cc2eed59
  1. 11
      SOURCES/google-noto-emoji-color.metainfo.xml
  2. 11
      SOURCES/google-noto-emoji.metainfo.xml
  3. 11
      SOURCES/noto-emoji-build-all-flags.patch
  4. 30
      SOURCES/noto-emoji-use-gm.patch
  5. 59
      SOURCES/noto-emoji-use-system-pngquant.patch
  6. 182
      SPECS/google-noto-emoji-fonts.spec

11
SOURCES/google-noto-emoji-color.metainfo.xml

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2016 Peng Wu <pwu AT redhat DOT com> -->
<component type="font">
<id>google-noto-emoji-color</id>
<metadata_license>CC-BY-3.0</metadata_license>
<name>Noto Color Emoji</name>
<summary>Google Noto Color Emoji Font</summary>
<url type="homepage">https://github.com/googlei18n/noto-emoji</url>
<update_contact><!-- upstream-contact_at_email.com --></update_contact>
<extends>google-noto</extends>
</component>

11
SOURCES/google-noto-emoji.metainfo.xml

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2016 Peng Wu <pwu AT redhat DOT com> -->
<component type="font">
<id>google-noto-emoji</id>
<metadata_license>CC-BY-3.0</metadata_license>
<name>Noto Emoji</name>
<summary>Google Noto Emoji Font</summary>
<url type="homepage">https://github.com/googlei18n/noto-emoji</url>
<update_contact><!-- upstream-contact_at_email.com --></update_contact>
<extends>google-noto</extends>
</component>

11
SOURCES/noto-emoji-build-all-flags.patch

@ -0,0 +1,11 @@
--- old/Makefile 2018-05-03 20:32:14.000000000 +0200
+++ new/Makefile 2018-05-08 11:48:20.811073447 +0200
@@ -78,7 +78,7 @@
ALL_FLAGS = $(basename $(notdir $(wildcard $(FLAGS_SRC_DIR)/*.png)))
-FLAGS = $(SELECTED_FLAGS)
+FLAGS = $(ALL_FLAGS)
FLAG_NAMES = $(FLAGS:%=%.png)
FLAG_FILES = $(addprefix $(FLAGS_DIR)/, $(FLAG_NAMES))

30
SOURCES/noto-emoji-use-gm.patch

@ -0,0 +1,30 @@
Index: noto-emoji-352632eb1935fd2b732f6f3ca0a24e9754c3eccf/Makefile
===================================================================
--- noto-emoji-352632eb1935fd2b732f6f3ca0a24e9754c3eccf.orig/Makefile
+++ noto-emoji-352632eb1935fd2b732f6f3ca0a24e9754c3eccf/Makefile
@@ -20,7 +20,8 @@ LDFLAGS = -lm `pkg-config --libs cairo`
PNGQUANT = pngquant
PNGQUANTFLAGS = --speed 1 --skip-if-larger --quality 85-95 --force
BODY_DIMENSIONS = 136x128
-IMOPS := -size $(BODY_DIMENSIONS) canvas:none -compose copy -gravity center
+#IMOPS := -size $(BODY_DIMENSIONS) canvas:none -compose copy -gravity center
+IMOPS = -size 136x128 -background none -gravity center -extent 136x128 -compose copy
# zopflipng is better (about 5-10%) but much slower. it will be used if
# present. pass ZOPFLIPNG= as an arg to make to use optipng instead.
@@ -172,13 +173,13 @@ waveflag: waveflag.c
# imagemagick packaged with ubuntu trusty (6.7.7-10) by using -composite.
$(EMOJI_DIR)/%.png: $(EMOJI_SRC_DIR)/%.png | $(EMOJI_DIR)
- @convert $(IMOPS) "$<" -composite "PNG32:$@"
+ @gm convert $(IMOPS) "$<" "PNG32:$@"
$(FLAGS_DIR)/%.png: $(FLAGS_SRC_DIR)/%.png ./waveflag $(PNGQUANT) | $(FLAGS_DIR)
@./waveflag $(FLAGS_DIR)/ "$<"
$(RESIZED_FLAGS_DIR)/%.png: $(FLAGS_DIR)/%.png | $(RESIZED_FLAGS_DIR)
- @convert $(IMOPS) "$<" -composite "PNG32:$@"
+ @gm convert $(IMOPS) "$<" "PNG32:$@"
flag-symlinks: $(RESIZED_FLAG_FILES) | $(RENAMED_FLAGS_DIR)
@$(subst ^, , \

59
SOURCES/noto-emoji-use-system-pngquant.patch

@ -0,0 +1,59 @@
diff -ru noto-emoji-153e1d4c026c124fbac6ee93e559b5df375f24f5.orig/Makefile noto-emoji-153e1d4c026c124fbac6ee93e559b5df375f24f5/Makefile
--- noto-emoji-153e1d4c026c124fbac6ee93e559b5df375f24f5.orig/Makefile 2018-03-07 09:22:49.670696985 +0100
+++ noto-emoji-153e1d4c026c124fbac6ee93e559b5df375f24f5/Makefile 2018-03-07 09:23:06.824506178 +0100
@@ -15,10 +15,9 @@
EMOJI = NotoColorEmoji
font: $(EMOJI).ttf
-CFLAGS = -std=c99 -Wall -Wextra `pkg-config --cflags --libs cairo`
+CFLAGS = $(OPT_CFLAGS) `pkg-config --cflags --libs cairo`
LDFLAGS = -lm `pkg-config --libs cairo`
-PNGQUANTDIR := third_party/pngquant
-PNGQUANT := $(PNGQUANTDIR)/pngquant
+PNGQUANT = pngquant
PNGQUANTFLAGS = --speed 1 --skip-if-larger --quality 85-95 --force
BODY_DIMENSIONS = 136x128
IMOPS := -size $(BODY_DIMENSIONS) canvas:none -compose copy -gravity center
@@ -97,6 +96,12 @@
ALL_COMPRESSED_FILES = $(addprefix $(COMPRESSED_DIR)/, $(ALL_NAMES))
# tool checks
+ifeq (,$(shell which $(PNGQUANT)))
+ ifeq (,$(wildcard $(PNGQUANT)))
+ MISSING_PNGQUANT = fail
+ endif
+endif
+
ifeq (,$(shell which $(ZOPFLIPNG)))
ifeq (,$(wildcard $(ZOPFLIPNG)))
MISSING_ZOPFLI = fail
@@ -126,6 +131,11 @@
compressed: $(ALL_COMPRESSED_FILES)
+check_quantization_tool:
+ifdef MISSING_PNGQUANT
+ $(error "$(PNGQUANT) is not available")
+endif
+
check_compress_tool:
ifdef MISSING_ZOPFLI
ifdef MISSING_OPTIPNG
@@ -146,8 +156,7 @@
$(EMOJI_DIR) $(FLAGS_DIR) $(RESIZED_FLAGS_DIR) $(RENAMED_FLAGS_DIR) $(QUANTIZED_DIR) $(COMPRESSED_DIR):
mkdir -p "$@"
-$(PNGQUANT):
- $(MAKE) -C $(PNGQUANTDIR)
+$(PNGQUANT): check_quantization_tool
waveflag: waveflag.c
$(CC) $< -o $@ $(CFLAGS) $(LDFLAGS)
@@ -227,5 +236,5 @@
.SECONDARY: $(EMOJI_FILES) $(FLAG_FILES) $(RESIZED_FLAG_FILES) $(RENAMED_FLAG_FILES) \
$(ALL_QUANTIZED_FILES) $(ALL_COMPRESSED_FILES)
-.PHONY: clean flags emoji renamed_flags quantized compressed check_compress_tool
+.PHONY: clean flags emoji renamed_flags quantized compressed check_compress_tool check_quantization_tool
noto-emoji-153e1d4c026c124fbac6ee93e559b5df375f24f5/ のみに存在: Makefile.orig

182
SPECS/google-noto-emoji-fonts.spec

@ -0,0 +1,182 @@
%global commit0 352632eb1935fd2b732f6f3ca0a24e9754c3eccf
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})

%global fontname google-noto-emoji

%if (0%{?fedora} > 25 || 0%{?rhel} > 7)
%global buildfont 1
%else
%global buildfont 0
%endif


Name: %{fontname}-fonts
Version: 20180508
Release: 4%{?dist}
Summary: Google “Noto Emoji” Black-and-White emoji font

# In noto-emoji-fonts source
## noto-emoji code is in ASL 2.0 license
## Emoji fonts are under OFL license
### third_party color-emoji code is in BSD license
### third_party region-flags code is in Public Domain license
# In nototools source
## nototools code is in ASL 2.0 license
### third_party ucd code is in Unicode license
License: OFL and ASL 2.0
URL: https://github.com/googlei18n/noto-emoji
Source0: https://github.com/googlei18n/noto-emoji/archive/%{commit0}.tar.gz#/noto-emoji-%{shortcommit0}.tar.gz
Source2: %{fontname}.metainfo.xml
Source3: %{fontname}-color.metainfo.xml

Patch0: noto-emoji-use-system-pngquant.patch
Patch1: noto-emoji-build-all-flags.patch
Patch2: noto-emoji-use-gm.patch

BuildArch: noarch
BuildRequires: gcc
BuildRequires: fontpackages-devel
%if %buildfont
BuildRequires: fonttools
BuildRequires: python2-fonttools
BuildRequires: nototools
BuildRequires: python2-nototools
BuildRequires: python2-devel
BuildRequires: GraphicsMagick
BuildRequires: pngquant
BuildRequires: zopfli
BuildRequires: cairo-devel
%endif

Requires: fontpackages-filesystem

Obsoletes: google-noto-color-emoji-fonts < 20150617
Provides: google-noto-color-emoji-fonts = 20150617

%description
This package provides the Google “Noto Emoji” Black-and-White emoji font.

%package -n %{fontname}-color-fonts
Summary: Google “Noto Color Emoji” colored emoji font
Requires: fontpackages-filesystem
Obsoletes: google-noto-color-emoji-fonts < 20150617
Provides: google-noto-color-emoji-fonts = 20150617

%description -n %{fontname}-color-fonts
This package provides the Google “Noto Color Emoji” colored emoji font.

%prep
%autosetup -n noto-emoji-%{commit0}

rm -rf third_party/pngquant

%build
%if %buildfont
# Work around UTF-8
export LANG=C.UTF-8

make %{?_smp_mflags} OPT_CFLAGS="$RPM_OPT_FLAGS"
%endif

%install
install -m 0755 -d %{buildroot}%{_fontdir}

%if %buildfont
# Built by us from the supplied pngs:
install -m 0644 -p NotoColorEmoji.ttf %{buildroot}%{_fontdir}
%else
# Pre-built, and included with the source:
install -m 0644 -p fonts/NotoColorEmoji.ttf %{buildroot}%{_fontdir}
%endif

# Pre-built, and included with the source:
install -m 0644 -p fonts/NotoEmoji-Regular.ttf %{buildroot}%{_fontdir}

mkdir -p %{buildroot}%{_datadir}/appdata
install -m 0644 -p %{SOURCE2} %{buildroot}%{_datadir}/appdata
install -m 0644 -p %{SOURCE3} %{buildroot}%{_datadir}/appdata

%_font_pkg NotoEmoji-Regular.ttf
%license LICENSE
%doc AUTHORS CONTRIBUTING.md CONTRIBUTORS README.md
%{_datadir}/appdata/google-noto-emoji.metainfo.xml

%_font_pkg -n color NotoColorEmoji.ttf
%license LICENSE
%doc AUTHORS CONTRIBUTING.md CONTRIBUTORS README.md
%{_datadir}/appdata/google-noto-emoji-color.metainfo.xml


%changelog
* Tue Jun 26 2018 Peng Wu <pwu@redhat.com> - 20180508-4
- Resolves: RHBZ#1582547

* Tue Jun 19 2018 Peng Wu <pwu@redhat.com> - 20180508-3
- Only build emoji color font since Fedora 26

* Wed May 23 2018 Peng Wu <pwu@redhat.com> - 20180508-2
- Use GraphicsMagick instead of ImageMagick

* Tue May 08 2018 Mike FABIAN <mfabian@redhat.com> - 20180508-1
- Update to upstream snapshot tarball (color emoji font version 2.011)
- Add patch to build all country flags (Resolves: rhbz#1574195)

* Wed Mar 07 2018 Mike FABIAN <mfabian@redhat.com> - 20180307-1
- Update to upstream snapshot tarball (color emoji font version 2.004)

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20170928-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Mon Feb 5 2018 Peng Wu <pwu@redhat.com> - 20170928-3
- Use nototools package to build google-noto-emoji-fonts

* Wed Nov 8 2017 Peter Oliver <rpm@mavit.org.uk> - 20170928-2
- Prefer zopflipng to optipng, since it should yield smaller files.
- Use the font we built, rather than the one included with the source.

* Thu Sep 28 2017 Mike FABIAN <mfabian@redhat.com> - 20170828-1
- Update to upstream snapshot tarball
- split black-and-white and color fonts into different sub-packages.

* Mon Aug 28 2017 Mike FABIAN <mfabian@redhat.com> - 20170827-1
- Update to upstream snapshot tarball
- Update color emoji font to version 2.001, new design.
- Contains the new emoji added in Unicode 10.0.0.

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20170608-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Thu Jun 08 2017 Mike FABIAN <mfabian@redhat.com> - 20170608-1
- Update to upstream snapshot tarball

* Tue May 23 2017 Mike FABIAN <mfabian@redhat.com> - 20170523-1
- Update to upstream snapshot tarball
- This fixes the skin tones of the light/medium light male cook emoji,
which had been swapped.

* Wed Apr 26 2017 Mike FABIAN <mfabian@redhat.com> - 20170426-1
- Update to upstream snapshot tarball
(fixes the family emoji sequences:
kiss: woman, man U+1F469 U+200D U+2764 U+FE0F U+200D U+1F48B U+200D U+1F468
couple with heart: woman, man U+1F469 U+200D U+2764 U+FE0F U+200D U+1F468)

* Thu Feb 23 2017 Peng Wu <pwu@redhat.com> - 20170223-1
- Update to upstream snapshot tarball

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20160406-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Fri May 6 2016 Peng Wu <pwu@redhat.com> - 20160406-5
- Avoid to use python setup.py

* Fri Apr 29 2016 Peng Wu <pwu@redhat.com> - 20160406-4
- Replace google-noto-color-emoji-fonts package

* Mon Apr 25 2016 Peng Wu <pwu@redhat.com> - 20160406-3
- Add google-noto-emoji.metainfo.xml

* Wed Apr 20 2016 Peng Wu <pwu@redhat.com> - 20160406-2
- Use system pngquant

* Wed Apr 20 2016 Peng Wu <pwu@redhat.com> - 20160406-1
- Initial packaging
Loading…
Cancel
Save