From mboxrd@z Thu Jan 1 00:00:00 1970 From: ericbavier@openmailbox.org Subject: [PATCH 5/9] gnu: Add woff2. Date: Tue, 5 Apr 2016 23:32:57 -0500 Message-ID: <1459917181-19626-5-git-send-email-ericbavier@openmailbox.org> References: <1459917181-19626-1-git-send-email-ericbavier@openmailbox.org> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34622) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1anfA9-00073l-MJ for guix-devel@gnu.org; Wed, 06 Apr 2016 00:33:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1anfA8-0000iI-Bp for guix-devel@gnu.org; Wed, 06 Apr 2016 00:33:53 -0400 Received: from smtp24.openmailbox.org ([62.4.1.58]:46340) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1anfA8-0000i2-42 for guix-devel@gnu.org; Wed, 06 Apr 2016 00:33:52 -0400 In-Reply-To: <1459917181-19626-1-git-send-email-ericbavier@openmailbox.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Cc: Eric Bavier From: Eric Bavier * 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 | 39 ++++++++++++++ gnu/packages/patches/woff2-libbrotli.patch | 84 ++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+) create mode 100644 gnu/packages/patches/woff2-libbrotli.patch diff --git a/gnu-system.am b/gnu-system.am index d3d08da..977a898 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -785,6 +785,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 1e2424b..75edd55 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)) @@ -179,6 +180,44 @@ TTF (TrueType/OpenType Font) files.") (license license:bsd-2) (home-page "https://code.google.com/archive/p/ttf2eot/"))) +(define-public woff2 + (let ((commit "4e698b8c6c5e070d53c340db9ddf160e21070ede")) + (package + (name "woff2") + (version (string-append "20160306." (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 (map 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 +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)/$@.o -o $@ +- +-deps : +- $(MAKE) -C $(BROTLI)/dec +- $(MAKE) -C $(BROTLI)/enc ++$(EXECUTABLES) : $(EXE_OBJS) ++ $(CXX) $(LDFLAGS) $(OBJS) $(SRCDIR)/$@.o -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 + #include + +-#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 + #include + +-#include "./encode.h" ++#include "brotli/enc/encode.h" + #include "./buffer.h" + #include "./font.h" + #include "./normalize.h" +-- +2.7.3 + -- 2.7.3