Merge pull request #56 from petercolberg/master
Fix Travis build and improve build reproducibility
This commit is contained in:
commit
1e411777c5
@ -15,3 +15,7 @@ script:
|
||||
- make data && diff data/utf8proc_data.c.new utf8proc_data.c
|
||||
- (mkdir build_static && cd build_static && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON && make)
|
||||
- (mkdir build_shared && cd build_shared && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON && make)
|
||||
env:
|
||||
# use JuliaLang caching (https://github.com/staticfloat/cache.julialang.org)
|
||||
# so that Travis builds do not depend on anyone's flaky servers but our own
|
||||
- URLCACHE=https://cache.e.ip.saba.us/
|
||||
|
||||
@ -9,12 +9,9 @@ RUBY=ruby
|
||||
PERL=perl
|
||||
MAKE=make
|
||||
JULIA=julia
|
||||
FONTFORGE=fontforge
|
||||
CURLFLAGS = --retry 5 --location
|
||||
|
||||
# use JuliaLang caching (https://github.com/staticfloat/cache.julialang.org)
|
||||
# so that Travis builds do not depend on anyone's flaky servers but our own
|
||||
URLCACHE=https://cache.e.ip.saba.us/
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
.DELETE_ON_ERROR:
|
||||
@ -25,14 +22,17 @@ utf8proc_data.c.new: data_generator.rb UnicodeData.txt GraphemeBreakProperty.txt
|
||||
# GNU Unifont version for font metric calculations:
|
||||
UNIFONT_VERSION=8.0.01
|
||||
|
||||
unifont-$(UNIFONT_VERSION).ttf:
|
||||
$(CURL) $(CURLFLAGS) -o $@ $(URLCACHE)http://unifoundry.com/pub/unifont-$(UNIFONT_VERSION)/font-builds/unifont-$(UNIFONT_VERSION).ttf
|
||||
unifont.ttf:
|
||||
$(CURL) $(CURLFLAGS) -o $@ $(URLCACHE)https://mirrors.kernel.org/gnu/unifont/unifont-$(UNIFONT_VERSION)/unifont-$(UNIFONT_VERSION).ttf
|
||||
|
||||
unifont_upper-$(UNIFONT_VERSION).ttf:
|
||||
$(CURL) $(CURLFLAGS) -o $@ $(URLCACHE)http://unifoundry.com/pub/unifont-$(UNIFONT_VERSION)/font-builds/unifont_upper-$(UNIFONT_VERSION).ttf
|
||||
unifont_upper.ttf:
|
||||
$(CURL) $(CURLFLAGS) -o $@ $(URLCACHE)https://mirrors.kernel.org/gnu/unifont/unifont-$(UNIFONT_VERSION)/unifont_upper-$(UNIFONT_VERSION).ttf
|
||||
|
||||
CharWidths.txt: charwidths.jl unifont-$(UNIFONT_VERSION).ttf unifont_upper-$(UNIFONT_VERSION).ttf EastAsianWidth.txt
|
||||
UNIFONT_VERSION=$(UNIFONT_VERSION) $(JULIA) charwidths.jl > $@
|
||||
%.sfd: %.ttf
|
||||
$(FONTFORGE) -lang=ff -c "Open(\"$<\");Save(\"$@\");Quit(0);"
|
||||
|
||||
CharWidths.txt: charwidths.jl unifont.sfd unifont_upper.sfd EastAsianWidth.txt
|
||||
$(JULIA) charwidths.jl > $@
|
||||
|
||||
UnicodeData.txt:
|
||||
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
|
||||
|
||||
@ -51,12 +51,6 @@ end
|
||||
#############################################################################
|
||||
# Widths from GNU Unifont
|
||||
|
||||
universion=get(ENV, "UNIFONT_VERSION", "7.0.06")
|
||||
for fontfile in ["unifont-$universion", "unifont_upper-$universion"]
|
||||
isfile("$fontfile.ttf") || download("http://unifoundry.com/pub/unifont-$universion/font-builds/$fontfile.ttf", "$fontfile.ttf")
|
||||
isfile("$fontfile.sfd") || run(`fontforge -lang=ff -c "Open(\"$fontfile.ttf\");Save(\"$fontfile.sfd\");Quit(0);"`)
|
||||
end
|
||||
|
||||
#Read sfdfile for character widths
|
||||
function parsesfd(filename::String, CharWidths::Dict{Int,Int}=Dict{Int,Int}())
|
||||
state=:seekchar
|
||||
@ -87,15 +81,14 @@ function parsesfd(filename::String, CharWidths::Dict{Int,Int}=Dict{Int,Int}())
|
||||
end
|
||||
CharWidths
|
||||
end
|
||||
CharWidths=parsesfd("unifont-$universion.sfd", CharWidths)
|
||||
CharWidths=parsesfd("unifont_upper-$universion.sfd", CharWidths)
|
||||
CharWidths=parsesfd("unifont.sfd", CharWidths)
|
||||
CharWidths=parsesfd("unifont_upper.sfd", CharWidths)
|
||||
|
||||
#############################################################################
|
||||
# Widths from UAX #11: East Asian Width
|
||||
# .. these take precedence over the Unifont width for all codepoints
|
||||
# listed explicitly as wide/full/narrow/half-width
|
||||
|
||||
isfile("EastAsianWidth.txt") || download("http://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt", "EastAsianWidth.txt")
|
||||
for line in readlines(open("EastAsianWidth.txt"))
|
||||
#Strip comments
|
||||
line[1] == '#' && continue
|
||||
|
||||
5092
utf8proc_data.c
5092
utf8proc_data.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user