Skip to content

Commit

Permalink
Merge tag 'v0.15.4' into cargo-workspace-inplace
Browse files Browse the repository at this point in the history
chore(release): 0.15.4
  • Loading branch information
alerque committed Jun 28, 2024
2 parents b3afb0b + b738c1c commit c147387
Show file tree
Hide file tree
Showing 32 changed files with 760 additions and 162 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,43 @@ jobs:
sile-${{ env.CARCH }}
sile-${{ env.VERSION }}.sha256.txt
build-from-dist:
runs-on: ubuntu-22.04
name: Build from source tarball without automake
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Cache lua_modules
uses: actions/cache@v4
with:
path: |
lua_modules
key: luarocks-${{ hashFiles('Makefile-luarocks', 'sile.rockspec.in') }}
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install jq libarchive-tools libfontconfig1-dev libharfbuzz-dev libicu-dev libluajit-5.1-dev libpng-dev luajit lua-sec lua-socket lua-zlib-dev luarocks
- name: Configure
run: |
./bootstrap.sh
./configure \
--enable-developer-mode \
BUSTED=false DELTA=false LDOC=false LUACHECK=false NIX=false STYLUA=false FCMATCH=true PDFINFO=false CARGO=true \
--disable-font-variations \
--with-system-lua-sources \
--without-manual
echo "VERSION=$(./build-aux/git-version-gen .tarball-version)" >> $GITHUB_ENV
echo "MAKEFLAGS=-j$(nproc) -Otarget" >> $GITHUB_ENV
- name: Package
run: |
make fake-manual
make distdir
- name: Build from package
run: |
make docker-test-dist
build-nix:
runs-on: ubuntu-22.04
name: Build Nix
Expand Down
9 changes: 5 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -88,17 +88,18 @@ sile-lua.1
.version
.version-prev
.tarball-version
.flake-version
.built-subdirs
*.so
*.o
core/version.lua
core/features.lua
target/
completions/
core/features.lua
core/pathsetup.lua
src/embed.rs
core/version.lua
src/embed-includes.rs
src/embed.rs
src/sile-entry.sh
target/
*.asc

# Nix symlink to builds
Expand Down
1 change: 1 addition & 0 deletions .styluaignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ lua_modules
lua-libraries
core/features.lua
core/pathsetup.lua
core/version.lua
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,31 @@

All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.

## [0.15.4](https://github.com/sile-typesetter/sile/compare/v0.15.3...v0.15.4) (2024-06-28)


### New Features

* **build:** Add a developer target to test build dist without automake ([7bdaf16](https://github.com/sile-typesetter/sile/commit/7bdaf16564d96a0755ce112f448ee9eaeeaf7059))
* **languages:** Add Brazilian Portuguese specific hyphenation points ([895c575](https://github.com/sile-typesetter/sile/commit/895c575e55974e4485701e04256516d130cc66f8))
* **packages:** Biblatex data inheritance and field mapping ([646e3a4](https://github.com/sile-typesetter/sile/commit/646e3a4ef613d13db9491b87127f01d28f549b23))
* **packages:** Support `[@string](https://github.com/string)` syntax in bibTeX bibliography ([63083ad](https://github.com/sile-typesetter/sile/commit/63083addace0925eb5d83803a1a86465d84cf797)), closes [#2051](https://github.com/sile-typesetter/sile/issues/2051)
* **packages:** Support `[@xdata](https://github.com/xdata)` entry type and xdata field in bibTeX bibliography ([ca906f0](https://github.com/sile-typesetter/sile/commit/ca906f0cfc882c5ad4ecb410f6aec001018b64a8))
* **packages:** Support crossref field in bibTeX bibliography ([c4ae919](https://github.com/sile-typesetter/sile/commit/c4ae919ed72bce5740cb59809be8557dfe9b9321)), closes [#2021](https://github.com/sile-typesetter/sile/issues/2021)
* **tooling:** Add developer target to build Rust API docs ([384fa46](https://github.com/sile-typesetter/sile/commit/384fa463d71c6a7ecd24befd5670376874ce465f))


### Bug Fixes

* **build:** Avoid building sile binaries if not using them ([bbde8e6](https://github.com/sile-typesetter/sile/commit/bbde8e663dcd65262104c9bc32a10e28c3166e43))
* **build:** Avoid the perceived need for an extra automake cycle in dist tarball ([f634a60](https://github.com/sile-typesetter/sile/commit/f634a606b8d6973e2815d7f769b0205d27ba0e3b))
* **build:** Do not distribute main man page, requires Rust tooling ([26a6346](https://github.com/sile-typesetter/sile/commit/26a63463346a73eec38062984a8fec75761238b7))
* **build:** Don't distribute distfiles list with configure option specific output ([b9d95fd](https://github.com/sile-typesetter/sile/commit/b9d95fdac11ed3e783520dd2b66690db52bad299))
* **build:** Flag transitive dependency on Git if *not* using system LuaRocks ([ea2d501](https://github.com/sile-typesetter/sile/commit/ea2d501b65f1980c8b88b47dc9eedf6358f24453))
* **languages:** Always set Fluent locale when setting `document.language` ([283fdc3](https://github.com/sile-typesetter/sile/commit/283fdc3062313394850cf5067c846db82f264c2e))
* **packages:** Correct handling of ampersands and tildes in bibtex ([aaa613f](https://github.com/sile-typesetter/sile/commit/aaa613f636e6c892c70ea560a0815999ee617b2e)), closes [#2050](https://github.com/sile-typesetter/sile/issues/2050) [#1860](https://github.com/sile-typesetter/sile/issues/1860)
* **packages:** Ignore `[@preamble](https://github.com/preamble)` in bibTeX bibliography ([742a0c4](https://github.com/sile-typesetter/sile/commit/742a0c425787819c2cd14b950d5b7959669c86a6)), closes [#2051](https://github.com/sile-typesetter/sile/issues/2051)

## [0.15.3](https://github.com/sile-typesetter/sile/compare/v0.15.2...v0.15.3) (2024-06-10)


Expand Down
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ members = [
]

[workspace.package]
version = "0.15.3"
version = "0.15.4"
edition = "2021"
rust-version = "1.71.0"
authors = [
Expand Down
42 changes: 31 additions & 11 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,15 @@ TESTPREVIEWS ?= $(addsuffix .pdf,$(basename $(filter-out $(_DISABLEDSRCS),$(_TES
# using $(wildcard ...) to include it (the very function we couldn't use because
# of the race condition it creates) we actually keep it from being flattened and
# hence evaluated when we want it to be. Since the file always exists (see
# BUILT_SOURCES and EXTRA_DIST) this doesn't induce a race.
# BUILT_SOURCES) this doesn't induce a race.
include $(wildcard Makefile-distfiles)

FIGURES = documentation/fig-input-to-output.pdf

MANUAL := documentation/sile.pdf
SILELUA := $(PACKAGE_NAME)-lua

if MANUAL
_MANUAL = $(MANUAL)

endif

$(MANUAL): $(FIGURES)
Expand All @@ -60,6 +58,7 @@ RUSILE_SOURCES = rusile/Cargo.toml rusile/src/lib.rs

bin_PROGRAMS = sile
bin_SCRIPTS = sile-lua
nodist_man_MANS =
dist_man_MANS = sile-lua.1
sile_SOURCES = src/bin/sile.rs src/lib.rs src/cli.rs
EXTRA_sile_SOURCES =
Expand All @@ -76,12 +75,11 @@ dist_doc_DATA = README.md CHANGELOG.md
dist_pdf_DATA = $(_MANUAL)
dist_license_DATA = LICENSE.md
EXTRA_DIST = spec tests documentation sile-dev-1.rockspec fontconfig.conf
EXTRA_DIST += Makefile-distfiles
EXTRA_DIST += build-aux/action-updater.js build-aux/cargo-updater.js build-aux/config.ld build-aux/decore-automake.sh build-aux/git-version-gen build-aux/list-dist-files.sh
EXTRA_DIST += Dockerfile build-aux/docker-bootstrap.sh build-aux/docker-fontconfig.conf hooks/build
EXTRA_DIST += default.nix flake.nix flake.lock shell.nix build-aux/pkg.nix
EXTRA_DIST += package.json # imported by both Nix and Docker
EXTRA_DIST += $(MANUAL) $(FIGURES)
EXTRA_DIST += $(FIGURES)
EXTRA_DIST += src/embed.rs.in
EXTRA_DIST += sil.abnf

Expand Down Expand Up @@ -185,13 +183,19 @@ LOCALPATHS := SILE_PATH="$(PWD);libtexpdf/.libs;justenough/.libs"
SILEFLAGS ?= -m $(DEPDIR)/$(basename $@).d -d versions -f fontconfig
DRAFT ?= false

dist-hook: $(MANUAL) dist-hook-distfiles
dist-hook: dist-hook-decore-automake dist-hook-devendor-luarocks

.PHONY: dist-hook-distfiles
dist-hook-distfiles:
.PHONY: dist-hook-decore-automake
dist-hook-decore-automake:
cd $(distdir)
$(SED) -i -e '/^LUAMODULES =/s/=.*/=/' Makefile-distfiles
$(top_srcdir)/build-aux/decore-automake.sh

# Don't take it for granted that the user will use --without-system-luarocks
# when building from source tarballs even though the dist tarball may be
# generated with that configuration.
.PHONY: dist-hook-devendor-luarocks
dist-hook-devendor-luarocks: dist-hook-decore-automake
cd $(distdir)
$(SED) -i -e '/^LUAMODULES/d;/^\tlua_modules/d' Makefile.in

# Whether to force tests to run from scratch
Expand All @@ -216,14 +220,25 @@ selfcheck: | $(bin_PROGRAMS) $(_BUILT_SUBDIRS)
$(PDFINFO) $$output | $(GREP) "SILE v$(VERSION)"

.PHONY: docs
docs: $(_MANUAL) lua-api-docs
docs: $(_MANUAL) lua-api-docs rust-api-docs

.PHONY: fake-manual
fake-manual:
touch $(FIGURES)
touch $(MANUAL)

.PHONY: lua-api-docs
lua-api-docs: lua-api-docs/index.html

lua-api-docs/index.html: build-aux/config.ld
$(LDOC) -c build-aux/config.ld .

.PHONY: rust-api-docs
rust-api-docs: rust-api-docs/doc/sile/index.html

rust-api-docs/doc/sile/index.html:
cargo doc $(CARGO_FEATURE_ARGS) --no-deps --target-dir rust-api-docs

.PHONY: docs-figures
docs-figures: $(FIGURES)

Expand Down Expand Up @@ -301,7 +316,7 @@ patterndeps = $(_FORCED) $(_TEST_DEPS) $(_DOCS_DEPS) | $(bin_PROGRAMS) $(DEPDIRS
force: ;

PHONY_DEVELOPER_TARGETS = busted compare coverage \
docker-dep-check docker-ghcr-to-hub gource.webm lint luacheck luarocks-lint \
docker-dep-check docker-ghcr-to-hub docker-test-dist gource.webm lint luacheck luarocks-lint \
prerelease regression_previews regressions release release-preview stylua tagrelease \
test update_expecteds update_libtexpdf
.PHONY: $(PHONY_DEVELOPER_TARGETS)
Expand Down Expand Up @@ -444,6 +459,11 @@ docker-ghcr-to-hub:
$(DOCKER) tag $(GHCR_REGISTRY)/$(GHCR_REPO):$(DOCKER_TAG) $(DOCKER_REGISTRY)/$(DOCKER_REPO):$(DOCKER_TAG)
$(docker_push)

docker-test-dist: export DOCKERFILE = tests/Dockerfile-dist
docker-test-dist: export DOCKER_TAG = dist-test
docker-test-dist:
./hooks/build $(VERSION)

gource.webm:
$(MKDIR_P) /tmp/gravatars
magick documentation/sile-logo.pdf[0] -density 300 -colorspace RGB -negate -resize 50% /tmp/sile-logo.jpg
Expand Down
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ inputs:
default: ""
runs:
using: docker
image: docker://ghcr.io/sile-typesetter/sile:v0.15.3
image: docker://ghcr.io/sile-typesetter/sile:v0.15.4
entrypoint: sh
args:
- -c
Expand Down
6 changes: 4 additions & 2 deletions build-aux/pkg.nix
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,10 @@ in stdenv.mkDerivation (finalAttrs: {
# before, in Nixpkgs, we won't need to run these commands.
rm -rf ./libtexpdf
cp --no-preserve=mode -r ${libtexpdf-src} ./libtexpdf/
# pretend to be a tarball release so sile --version will not say `vUNKNOWN`.
echo ${finalAttrs.version} > .tarball-version
# pretend to be a tarball release so sile --version will not say `vUNKNOWN`,
# but don't pretend so hard we make the build system treat us like the tarball.
echo ${finalAttrs.version} > .flake-version
sed -i -e 's/tarball-version/flake-version/' configure.ac
'';

nativeBuildInputs = [
Expand Down
2 changes: 1 addition & 1 deletion build-aux/que_rust_boilerplate.am
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ export VERSION_FROM_AUTOTOOLS = v$(VERSION)

@PACKAGE_VAR@_SOURCES += Cargo.toml build-aux/build.rs
EXTRA_@PACKAGE_VAR@_SOURCES += Cargo.lock .version
dist_man_MANS += @[email protected]
nodist_man_MANS += @[email protected]

CLEANFILES += $(bin_PROGRAMS) $(BUILT_SOURCES) $(dist_man_MANS)

Expand Down
3 changes: 1 addition & 2 deletions classes/plain.lua
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,7 @@ function class:registerCommands ()
an input document this is typically done with an empty line between
paragraphs, but calling the \par command explicitly or from Lua code
running SILE.call("par") will end the current paragraph.
]]
)
]])
end
SILE.settings:set("current.parindent", SILE.types.node.glue())
SILE.process(content)
Expand Down
Loading

0 comments on commit c147387

Please sign in to comment.