[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/11: gnu: Add woff2.
From: |
Eric Bavier |
Subject: |
05/11: gnu: Add woff2. |
Date: |
Fri, 15 Apr 2016 05:39:57 +0000 |
bavier pushed a commit to branch master
in repository guix.
commit 579760d06e11d24ef280e5af16a2e02a98c1d77d
Author: Eric Bavier <address@hidden>
Date: Sat Apr 2 01:50:14 2016 -0500
gnu: Add woff2.
* gnu/packages/fontutils.scm (woff2): New variable.
* gnu/packages/patches/woff2-libbrotli.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
---
gnu-system.am | 1 +
gnu/packages/fontutils.scm | 41 ++++++++++++++
gnu/packages/patches/woff2-libbrotli.patch | 84 ++++++++++++++++++++++++++++
3 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/gnu-system.am b/gnu-system.am
index 11d8d6e..0c5255f 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -765,6 +765,7 @@ dist_patch_DATA =
\
gnu/packages/patches/wicd-urwid-1.3.patch \
gnu/packages/patches/wicd-wpa2-ttls.patch \
gnu/packages/patches/wmctrl-64-fix.patch \
+ gnu/packages/patches/woff2-libbrotli.patch \
gnu/packages/patches/wpa-supplicant-CVE-2015-5310.patch \
gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch \
gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch \
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index dc18daa..a16e9dd 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -39,6 +39,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix svn-download)
+ #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
@@ -181,6 +182,46 @@ TTF (TrueType/OpenType Font) files.")
(license license:bsd-2)
(home-page "https://code.google.com/archive/p/ttf2eot/")))
+(define-public woff2
+ (let ((commit "4e698b8c6c5e070d53c340db9ddf160e21070ede")
+ (revision "1"))
+ (package
+ (name "woff2")
+ (version (string-append "20160306-" revision "."
+ (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/woff2.git")
+ (commit commit)))
+ (file-name (string-append name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0wka0yhf0cjmd4rv2jckxpyv6lb5ckj4nj0k1ajq5hrjy7f30lcp"))
+ (patches (list (search-patch "woff2-libbrotli.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("brotli" ,brotli)))
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (install-file "woff2_compress" bin)
+ (install-file "woff2_decompress" bin)
+ #t))))))
+ (synopsis "Compress TrueType fonts to WOFF2")
+ (description
+ "This package provides utilities for compressing/decompressing TrueType
+fonts to/from the WOFF2 format.")
+ (license license:asl2.0)
+ (home-page "https://github.com/google/woff2"))))
+
(define-public fontconfig
(package
(name "fontconfig")
diff --git a/gnu/packages/patches/woff2-libbrotli.patch
b/gnu/packages/patches/woff2-libbrotli.patch
new file mode 100644
index 0000000..47539c8
--- /dev/null
+++ b/gnu/packages/patches/woff2-libbrotli.patch
@@ -0,0 +1,84 @@
+From: Eric Bavier <address@hidden>
+Date: Sat, 2 Apr 2016 01:31:03 -0500
+Subject: [PATCH] Build against external libbrotli.
+
+---
+ Makefile | 20 ++++----------------
+ src/woff2_dec.cc | 2 +-
+ src/woff2_enc.cc | 2 +-
+ 3 files changed, 6 insertions(+), 18 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 92b8d54..618a751 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ OS := $(shell uname)
+
+-CPPFLAGS = -I./brotli/dec/ -I./brotli/enc/ -I./src
++CPPFLAGS := -I./src $(shell pkg-config --cflags libbrotlienc libbrotlidec)
+
+ CC ?= gcc
+ CXX ?= g++
+@@ -22,29 +22,17 @@ OUROBJ = font.o glyph.o normalize.o table_tags.o
transform.o \
+ woff2_dec.o woff2_enc.o woff2_common.o woff2_out.o \
+ variable_length.o
+
+-BROTLI = brotli
+-ENCOBJ = $(BROTLI)/enc/*.o
+-DECOBJ = $(BROTLI)/dec/*.o
++BROTLI_LIBS := $(shell pkg-config --libs libbrotlienc libbrotlidec)
+
+ OBJS = $(patsubst %, $(SRCDIR)/%, $(OUROBJ))
+ EXECUTABLES=woff2_compress woff2_decompress
+
+ EXE_OBJS=$(patsubst %, $(SRCDIR)/%.o, $(EXECUTABLES))
+
+-ifeq (,$(wildcard $(BROTLI)/*))
+- $(error Brotli dependency not found : you must initialize the Git submodule)
+-endif
+-
+ all : $(OBJS) $(EXECUTABLES)
+
+-$(EXECUTABLES) : $(EXE_OBJS) deps
+- $(CXX) $(LFLAGS) $(OBJS) $(ENCOBJ) $(DECOBJ) $(SRCDIR)/address@hidden
-o $@
+-
+-deps :
+- $(MAKE) -C $(BROTLI)/dec
+- $(MAKE) -C $(BROTLI)/enc
++$(EXECUTABLES) : $(EXE_OBJS)
++ $(CXX) $(LDFLAGS) $(OBJS) $(SRCDIR)/address@hidden -o $@ $(BROTLI_LIBS)
$(LIBS)
+
+ clean :
+ rm -f $(OBJS) $(EXE_OBJS) $(EXECUTABLES)
+- $(MAKE) -C $(BROTLI)/dec clean
+- $(MAKE) -C $(BROTLI)/enc clean
+diff --git a/src/woff2_dec.cc b/src/woff2_dec.cc
+index 837eede..98c01ce 100644
+--- a/src/woff2_dec.cc
++++ b/src/woff2_dec.cc
+@@ -27,7 +27,7 @@
+ #include <memory>
+ #include <utility>
+
+-#include "./decode.h"
++#include "brotli/dec/decode.h"
+ #include "./buffer.h"
+ #include "./port.h"
+ #include "./round.h"
+diff --git a/src/woff2_enc.cc b/src/woff2_enc.cc
+index 920c614..00d74da 100644
+--- a/src/woff2_enc.cc
++++ b/src/woff2_enc.cc
+@@ -23,7 +23,7 @@
+ #include <string>
+ #include <vector>
+
+-#include "./encode.h"
++#include "brotli/enc/encode.h"
+ #include "./buffer.h"
+ #include "./font.h"
+ #include "./normalize.h"
+--
+2.7.3
+
- branch master updated (08fbfa8 -> de94602), Eric Bavier, 2016/04/15
- 03/11: gnu: Add ttf2eot., Eric Bavier, 2016/04/15
- 02/11: gnu: Add woff-tools., Eric Bavier, 2016/04/15
- 04/11: gnu: Add brotli., Eric Bavier, 2016/04/15
- 09/11: gnu: fontforge: Install 'showttf' tool., Eric Bavier, 2016/04/15
- 11/11: gnu: fontforge: Swap giflib input for libungif., Eric Bavier, 2016/04/15
- 05/11: gnu: Add woff2.,
Eric Bavier <=
- 10/11: gnu: fontforge: Remove 'patch-configure' phase., Eric Bavier, 2016/04/15
- 06/11: gnu: fontforge: Make SVG builds reproducible., Eric Bavier, 2016/04/15
- 01/11: gnu: Add ttfautohint., Eric Bavier, 2016/04/15
- 07/11: gnu: Add font-fantasque-sans., Eric Bavier, 2016/04/15
- 08/11: gnu: fontforge: Use modify-phases., Eric Bavier, 2016/04/15