mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-23 21:17:11 -05:00
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.
This commit is contained in:
parent
69d9792a94
commit
579760d06e
3 changed files with 126 additions and 0 deletions
|
@ -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 \
|
||||
|
|
|
@ -39,6 +39,7 @@ (define-module (gnu packages fontutils)
|
|||
#: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 @@ (define-public ttf2eot
|
|||
(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")
|
||||
|
|
84
gnu/packages/patches/woff2-libbrotli.patch
Normal file
84
gnu/packages/patches/woff2-libbrotli.patch
Normal file
|
@ -0,0 +1,84 @@
|
|||
From: Eric Bavier <bavier@member.fsf.org>
|
||||
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 <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
|
||||
|
Loading…
Reference in a new issue