Accepting request 1181622 from Publishing

- Add export LUA_INCLUDE="$(pkg-config --cflags-only-I luajit)"
  so that we are finally building with LuaJIT headers.
  * I don't know why the configure file does not detect them by default
    are they placed in a non-standard location?
  * Since the headers exist I will close boo#1226307 I guess...
- Point to use LuaJIT headers and use LuaJIT for Sile
- Add zsh completion subpackage
- Fixup rpmlintrc
- Document that we are using lua51 includes because luajit includes
  are missing from the openSUSE package
  * boo#1226307
- Switch back to gcc because clang fails on armv7l
- Update to 0.15.3:
  * A lot of breaking changes in the transition to 0.15.0
    https://github.com/sile-typesetter/sile/releases/tag/v0.15.0
  * Bug Fixes
   - build: Distribute vendored compat-5.3.c source file
   - build: Remove Git from configure dependencies
   - classes: Correct order of operations when paragraphs are ended manually
   - packages: Change retrograde package so 'target' version works as expected
   - build: Bundle all assets in source distribution
   - core: Allow LUA_PATH env var to take effect at runtime
- New build dependencies
  * cargo/rust
  * clang to replicate upstream's choice of c compiler
  * jq
- Switch to lua51 for luajit. luajit only supports lua51 for now
- New subpackages: fish and bash completions

OBS-URL: https://build.opensuse.org/request/show/1181622
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/sile?expand=0&rev=16
This commit is contained in:
Ana Guerrero 2024-06-19 14:37:06 +00:00 committed by Git OBS Bridge
commit b41bd87166
8 changed files with 195 additions and 72 deletions

View File

@ -1,19 +1,16 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<services> <services>
<service name="obs_scm" mode="manual"> <service mode="manual" name="download_url">
<param name="scm">git</param> <param name="protocol">https</param>
<param name="url">https://github.com/sile-typesetter/sile.git</param> <param name="host">github.com</param>
<param name="revision">v0.14.17</param> <param name="path">/sile-typesetter/sile/releases/download/v0.15.3/sile-0.15.3.tar.zst</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">v?(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
<!-- <param name="changesgenerate">enable</param> -->
</service> </service>
<service name="tar" mode="buildtime"/> <service name="cargo_vendor" mode="manual">
<service name="recompress" mode="buildtime"> <param name="src">sile*.tar.zst</param>
<param name="file">*.tar</param>
<param name="compression">zst</param> <param name="compression">zst</param>
<param name="update">true</param>
<param name="filter">true</param>
</service> </service>
<service name="set_version" mode="manual" /> <service name="cargo_audit" mode="manual" />
</services> </services>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bd1a57cf80a9ec41303cf556f1a51da1bb7bb66616ade80b9d72c2e1af35d191
size 11584525

3
sile-0.15.3.tar.zst Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:88d24a70710e301ba3400351a82c5f28b49cebcd637b7a59d28b001a56b398c6
size 3150046

View File

@ -1,2 +1,2 @@
# Without the Requires, lua54-zlib module isn't counted as a dependency # Without the Requires, lua51-zlib module isn't counted as a dependency
addFilter("explicit-lib-dependency lua54-zlib") addFilter("explicit-lib-dependency lua51-zlib")

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Tue Jun 18 17:16:10 UTC 2024 - Gordon Leung <pirateclip@protonmail.com>
- Add export LUA_INCLUDE="$(pkg-config --cflags-only-I luajit)"
so that we are finally building with LuaJIT headers.
* I don't know why the configure file does not detect them by default
are they placed in a non-standard location?
* Since the headers exist I will close boo#1226307 I guess...
-------------------------------------------------------------------
Tue Jun 18 15:10:43 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
- Point to use LuaJIT headers and use LuaJIT for Sile
-------------------------------------------------------------------
Fri Jun 14 16:42:20 UTC 2024 - Gordon Leung <pirateclip@protonmail.com>
- Add zsh completion subpackage
- Fixup rpmlintrc
- Document that we are using lua51 includes because luajit includes
are missing from the openSUSE package
* boo#1226307
- Switch back to gcc because clang fails on armv7l
-------------------------------------------------------------------
Fri Jun 14 10:20:53 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
- Update to 0.15.3:
* A lot of breaking changes in the transition to 0.15.0
https://github.com/sile-typesetter/sile/releases/tag/v0.15.0
* Bug Fixes
- build: Distribute vendored compat-5.3.c source file
- build: Remove Git from configure dependencies
- classes: Correct order of operations when paragraphs are ended manually
- packages: Change retrograde package so 'target' version works as expected
- build: Bundle all assets in source distribution
- core: Allow LUA_PATH env var to take effect at runtime
- New build dependencies
* cargo/rust
* clang to replicate upstream's choice of c compiler
* jq
- Switch to lua51 for luajit. luajit only supports lua51 for now
- New subpackages: fish and bash completions
------------------------------------------------------------------- -------------------------------------------------------------------
Thu May 23 09:56:22 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org> Thu May 23 09:56:22 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@ -1,4 +1,4 @@
name: sile name: sile
version: 0.14.17 version: 0.15.3
mtime: 1707331766 mtime: 1718059936
commit: 4276c710386866f7c2eff85c9f3fc1825be5636a commit: 6404c537a68e9f3c77fc5f70f1a8b912e2c75708

181
sile.spec
View File

@ -18,53 +18,55 @@
%bcond_without tests %bcond_without tests
Name: sile Name: sile
Version: 0.14.17 Version: 0.15.3
Release: 0 Release: 0
Summary: Simons Improved Layout Engine Summary: Simons Improved Layout Engine
Group: Productivity/Publishing
License: MIT License: MIT
URL: https://sile-typesetter.org/ URL: https://sile-typesetter.org/
Source0: sile-0.14.17.tar.zst Source0: sile-%{version}.tar.zst
Source1: sile-rpmlintrc Source1: vendor.tar.zst
Source2: LICENSE Source2: sile-rpmlintrc
Source3: LICENSE
# Lua modules # Lua modules
Requires: lua54 BuildRequires: luajit
BuildRequires: lua54-bit32 BuildRequires: luajit-devel
BuildRequires: lua54-devel BuildRequires: lua51-bit32
Requires: lua54-bit32 Requires: lua51-bit32
BuildRequires: lua54-cassowary BuildRequires: lua51-cassowary
Requires: lua54-cassowary Requires: lua51-cassowary
Requires: lua54-cldr Requires: lua51-cldr
BuildRequires: lua54-cliargs BuildRequires: lua51-cliargs
Requires: lua54-cliargs Requires: lua51-cliargs
BuildRequires: lua54-cosmo BuildRequires: lua51-compat-5.3
Requires: lua54-cosmo Requires: lua51-compat-5.3
BuildRequires: lua54-luaexpat BuildRequires: lua51-cosmo
Requires: lua54-luaexpat Requires: lua51-cosmo
BuildRequires: lua54-luafilesystem BuildRequires: lua51-luaexpat
Requires: lua54-luafilesystem Requires: lua51-luaexpat
BuildRequires: lua54-fluent BuildRequires: lua51-luafilesystem
Requires: lua54-fluent Requires: lua51-luafilesystem
BuildRequires: lua54-linenoise BuildRequires: lua51-fluent
Requires: lua54-linenoise Requires: lua51-fluent
BuildRequires: lua54-loadkit BuildRequires: lua51-linenoise
Requires: lua54-loadkit Requires: lua51-linenoise
Requires: lua54-lpeg BuildRequires: lua51-loadkit
Requires: lua54-luaepnf Requires: lua51-loadkit
BuildRequires: lua54-luarepl Requires: lua51-lpeg
Requires: lua54-luarepl Requires: lua51-luaepnf
BuildRequires: lua54-luautf8 BuildRequires: lua51-luarepl
Requires: lua54-luautf8 Requires: lua51-luarepl
Requires: lua54-penlight BuildRequires: lua51-luautf8
BuildRequires: lua54-luasec Requires: lua51-luautf8
Requires: lua54-luasec Requires: lua51-penlight
Requires: lua54-luasocket BuildRequires: lua51-luasec
BuildRequires: lua54-vstruct Requires: lua51-luasec
Requires: lua54-vstruct Requires: lua51-luasocket
BuildRequires: lua54-zlib BuildRequires: lua51-vstruct
# Without this Requires, lua54-zlib isn't counted as a dependency Requires: lua51-vstruct
Requires: lua54-zlib BuildRequires: lua51-zlib
# Without this Requires, lua51-zlib isn't counted as a dependency
Requires: lua51-zlib
# Other Dependencies # Other Dependencies
%if %{with tests} %if %{with tests}
@ -73,7 +75,6 @@ BuildRequires: sil-gentium-fonts
%endif %endif
BuildRequires: automake BuildRequires: automake
BuildRequires: fontconfig-devel BuildRequires: fontconfig-devel
BuildRequires: libtool
Requires: fontconfig Requires: fontconfig
BuildRequires: freetype2-devel BuildRequires: freetype2-devel
Requires: freetype2 Requires: freetype2
@ -85,9 +86,12 @@ BuildRequires: glibc-devel
Requires: glibc Requires: glibc
# Harfbuzz's minimum version is now 6 https://github.com/sile-typesetter/sile/releases/tag/v0.14.8 # Harfbuzz's minimum version is now 6 https://github.com/sile-typesetter/sile/releases/tag/v0.14.8
BuildRequires: harfbuzz-devel >= 6.0.0 BuildRequires: harfbuzz-devel >= 6.0.0
BuildRequires: jq
BuildRequires: libicu-devel BuildRequires: libicu-devel
Requires: icu Requires: icu
BuildRequires: libpng16-compat-devel BuildRequires: libpng16-compat-devel
BuildRequires: libtool
BuildRequires: pkgconf-pkg-config
BuildRequires: zlib-devel BuildRequires: zlib-devel
# Default font for SILE # Default font for SILE
# Without this, you have to specify the font every time you write a new .sil # Without this, you have to specify the font every time you write a new .sil
@ -99,6 +103,12 @@ Suggests: noto-sans-cjk-fonts
# Default mono font # Default mono font
Suggests: hack-fonts Suggests: hack-fonts
# Rust build dependencies. We don't need cargo packaging.
# Sile has a flags we have to respect it
BuildRequires: cargo
# For tar scm lol
BuildRequires: zstd
%description %description
SILE is a typesetting system; its job is to produce beautiful printed documents. SILE is a typesetting system; its job is to produce beautiful printed documents.
Conceptually, SILE is similar to TeX—from which it borrows some concepts and even Conceptually, SILE is similar to TeX—from which it borrows some concepts and even
@ -118,7 +128,6 @@ This package contains the shared library for libtexpdf.
%package -n libtexpdf-devel %package -n libtexpdf-devel
Summary: Development files for libtexpdf Summary: Development files for libtexpdf
Group: Productivity/Publishing
License: GPL-2.0-or-later License: GPL-2.0-or-later
Requires: libtexpdf0 = %{version} Requires: libtexpdf0 = %{version}
@ -126,17 +135,68 @@ Requires: libtexpdf0 = %{version}
A PDF library extracted from TeX's dvipdfmx. Used in software such as SILE. A PDF library extracted from TeX's dvipdfmx. Used in software such as SILE.
This package contains the development files for libtexpdf. This package contains the development files for libtexpdf.
%prep %package bash-completion
%autosetup -p1 Summary: Bash Completion for %{name}
Supplements: (%{name} and bash-completion)
Requires: bash-completion
Requires: sile
BuildArch: noarch
cp %{SOURCE2} . %description bash-completion
Bash command-line completion support for %{name}.
%package fish-completion
Summary: Fish Completion for %{name}
Supplements: (%{name} and fish)
Requires: fish
Requires: sile
BuildArch: noarch
%description fish-completion
Fish command-line completion support for %{name}.
%package zsh-completion
Summary: Zsh Completion for %{name}
Supplements: (%{name} and zsh)
Requires: sile
Requires: zsh
BuildArch: noarch
%description zsh-completion
Zsh command-line completion support for %{name}.
%prep
%autosetup -p1 -a1
cp %{SOURCE3} .
%build %build
autoreconf -fiv # The macros uses this but we have to respect what upstream config.toml
%configure --disable-static --with-system-luarocks # uses for the RUSTFLAGS
unset LIBSSH2_SYS_USE_PKG_CONFIG
export RUSTFLAGS=" -Clink-arg=-Wl,-z,relro,-z,now -C debuginfo=2 -C incremental=false -C strip=none"
export CARGO_AUDITABLE=auditable
export CARGO_FEATURE_VENDORED=1
export LUA_INCLUDE="$(pkg-config --cflags-only-I luajit)"
export CFLAGS="%optflags $(pkg-config --cflags-only-I luajit)"
export CXXFLAGS="%optflags $(pkg-config --cflags-only-I luajit)"
%configure \
--disable-static \
--disable-embeded-resources \
--with-system-lua-sources \
--with-system-luarocks
%make_build all %make_build all
%install %install
# The macros uses this but we have to respect what upstream config.toml
# uses for the RUSTFLAGS
unset LIBSSH2_SYS_USE_PKG_CONFIG
export RUSTFLAGS=" -Clink-arg=-Wl,-z,relro,-z,now -C debuginfo=2 -C incremental=false -C strip=none"
export CARGO_AUDITABLE=auditable
export CARGO_FEATURE_VENDORED=1
export LUA_INCLUDE="$(pkg-config --cflags-only-I luajit)"
export CFLAGS="%optflags $(pkg-config --cflags-only-I luajit)"
export CXXFLAGS="%optflags $(pkg-config --cflags-only-I luajit)"
%make_install %make_install
rm %{buildroot}%{_libdir}/*.la rm %{buildroot}%{_libdir}/*.la
%fdupes %{buildroot} %fdupes %{buildroot}
@ -150,15 +210,16 @@ make check
%ldconfig_scriptlets -n libtexpdf-devel %ldconfig_scriptlets -n libtexpdf-devel
%files %files
%license %{_datadir}/licenses/sile/LICENSE %license LICENSE.md
%license %{_datadir}/licenses/sile/LICENSE-lunamark
%doc %{_datadir}/doc/sile/* %doc %{_datadir}/doc/sile/*
%dir %{_datadir}/doc/sile %dir %{_datadir}/doc/sile
%dir %{_datadir}/licenses/sile %dir %{_datadir}/licenses/sile
%{_bindir}/sile %{_bindir}/sile
%{_bindir}/sile-lua
%{_datadir}/sile %{_datadir}/sile
%{_libdir}/sile %{_libdir}/sile
%{_mandir}/man1/sile.1.gz %{_mandir}/man1/sile.1%{?ext_man}
%{_mandir}/man1/sile-lua.1%{?ext_man}
%files -n libtexpdf0 %files -n libtexpdf0
%license LICENSE %license LICENSE
@ -168,4 +229,22 @@ make check
%{_includedir}/libtexpdf %{_includedir}/libtexpdf
%{_libdir}/libtexpdf.so %{_libdir}/libtexpdf.so
%files bash-completion
%license LICENSE.md
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/%{name}
%files fish-completion
%license LICENSE.md
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_completions.d
%{_datadir}/fish/vendor_completions.d/%{name}.fish
%files zsh-completion
%license LICENSE.md
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_%{name}
%changelog %changelog

3
vendor.tar.zst Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6e2f1df18c37e5c927d1d08f87624aac0b9248fa356cfc1cc0e61d665b788121
size 14778379