diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6bc40ea6bd..df9267bae4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -272,3 +272,24 @@ jobs: bundler-cache: true - run: bundle exec rake compile - run: bundle exec rake test + + bsd: + needs: ["basic"] + strategy: + fail-fast: false + matrix: + sys: ["enable", "disable"] + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - uses: vmactions/freebsd-vm@v0.1.5 + with: + usesh: true + prepare: pkg install -y ruby devel/ruby-gems pkgconf libxml2 libxslt + run: | + gem install bundler + bundle install --local || bundle install + bundle exec rake compile -- --${{matrix.sys}}-system-libraries + bundle exec rake test diff --git a/Vagrantfile b/Vagrantfile index 50d95c35af..282574b96a 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -24,6 +24,9 @@ boxen << Box.new("bionic32", "mkorenkov/ubuntu-bionic32", <<~EOF) apt-get install -y libxslt-dev libxml2-dev pkg-config apt-get install -y ruby ruby-dev bundler git EOF +boxen << Box.new("freebsd", "freebsd/FreeBSD-13.0-CURRENT", <<~EOF) + pkg install rbenv ruby-build +EOF Vagrant.configure("2") do |config| boxen.each do |box| diff --git a/gumbo-parser/src/Makefile b/gumbo-parser/src/Makefile index 3a50bc96fa..6bd4a18fbe 100644 --- a/gumbo-parser/src/Makefile +++ b/gumbo-parser/src/Makefile @@ -2,15 +2,32 @@ # to enable a mini_portile2 recipe to build the gumbo parser .PHONY: clean -override CFLAGS += -std=c99 -Wall +CFLAGS += -std=c99 -Wall # allow the ENV var to override this RANLIB ?= ranlib -gumbo_objs := $(patsubst %.c,%.o,$(wildcard *.c)) +gumbo_objs := \ + ascii.o \ + attribute.o \ + char_ref.o \ + error.o \ + foreign_attrs.o \ + parser.o \ + string_buffer.o \ + string_piece.o \ + svg_attrs.o \ + svg_tags.o \ + tag.o \ + tag_lookup.o \ + token_buffer.o \ + tokenizer.o \ + utf8.o \ + util.o \ + vector.o libgumbo.a: $(gumbo_objs) - $(AR) $(ARFLAGS) $@ $^ + $(AR) $(ARFLAGS) $@ $(gumbo_objs) - ($(RANLIB) $@ || true) >/dev/null 2>&1 clean: