commit:     6b0adb14104b158f535dce26d43ff67540ffe9cd
Author:     Ryan Wong <juan <AT> juancord <DOT> xyz>
AuthorDate: Sun Apr 20 12:49:34 2025 +0000
Commit:     Ryan Wong <juan <AT> juancord <DOT> xyz>
CommitDate: Sun Apr 20 12:49:34 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6b0adb14

dev-tex/tectonic: Fix not closing files when spotless history is returned

This fixes the problem of checking if .bbl file changes, by backporting
a commit in master branch.

Upstream issue tracker:
https://github.com/tectonic-typesetting/tectonic/issues/1150

Upstream commit that is used in patch:
https://github.com/tectonic-typesetting/tectonic/pull/1155/commits/fbb145cd079497b8c88197276f92cb89685b4d54

Signed-off-by: Ryan Wong <juan <AT> juancord.xyz>

 ...15.0-fix-internal-consistency-problem-bbl.patch |  32 ++
 dev-tex/tectonic/tectonic-0.15.0-r1.ebuild         | 392 +++++++++++++++++++++
 2 files changed, 424 insertions(+)

diff --git 
a/dev-tex/tectonic/files/tectonic-0.15.0-fix-internal-consistency-problem-bbl.patch
 
b/dev-tex/tectonic/files/tectonic-0.15.0-fix-internal-consistency-problem-bbl.patch
new file mode 100644
index 000000000..6c7e1e814
--- /dev/null
+++ 
b/dev-tex/tectonic/files/tectonic-0.15.0-fix-internal-consistency-problem-bbl.patch
@@ -0,0 +1,32 @@
+From fbb145cd079497b8c88197276f92cb89685b4d54 Mon Sep 17 00:00:00 2001
+From: Rune Tynan <[email protected]>
+Date: Tue, 20 Feb 2024 16:43:04 -0800
+Subject: [PATCH] Fix not closing files when spotless history is returned
+
+---
+ crates/engine_bibtex/src/lib.rs | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/crates/engine_bibtex/src/lib.rs b/crates/engine_bibtex/src/lib.rs
+index fd97b461d..61efc469c 100644
+--- a/crates/engine_bibtex/src/lib.rs
++++ b/crates/engine_bibtex/src/lib.rs
+@@ -333,9 +333,7 @@ pub(crate) fn bibtex_main(ctx: &mut Bibtex<'_, '_>, 
aux_file_name: &CStr) -> His
+ 
+     let res = inner_bibtex_main(ctx, &mut globals, aux_file_name);
+     match res {
+-        Ok(History::Spotless) => (),
+-        Ok(hist) => return hist,
+-        Err(BibtexError::Recover) => {
++        Err(BibtexError::Recover) | Ok(History::Spotless) => {
+             // SAFETY: bst_file guaranteed valid at this point
+             unsafe { peekable_close(ctx, ctx.bst_file) };
+             ctx.bst_file = None;
+@@ -345,6 +343,7 @@ pub(crate) fn bibtex_main(ctx: &mut Bibtex<'_, '_>, 
aux_file_name: &CStr) -> His
+             ttbc_output_close(ctx.engine, ctx.bbl_file);
+         }
+         Err(BibtexError::Fatal) => (),
++        Ok(hist) => return hist,
+     }
+ 
+     match get_history() {

diff --git a/dev-tex/tectonic/tectonic-0.15.0-r1.ebuild 
b/dev-tex/tectonic/tectonic-0.15.0-r1.ebuild
new file mode 100644
index 000000000..1283dc316
--- /dev/null
+++ b/dev-tex/tectonic/tectonic-0.15.0-r1.ebuild
@@ -0,0 +1,392 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Auto-Generated by cargo-ebuild 0.5.4-r1
+
+EAPI=8
+
+CRATES="
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]+curl-8.6.0
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]+3.2.1
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]+wasi-snapshot-preview1
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+"
+
+inherit cargo
+
+DESCRIPTION="A modernized, complete, embeddable TeX/LaTeX engine."
+HOMEPAGE="https://github.com/tectonic-typesetting/tectonic/";
+SRC_URI="
+       
https://github.com/tectonic-typesetting/tectonic/archive/refs/tags/tectonic@${PV}.tar.gz
 -> ${P}.tar.gz
+       ${CARGO_CRATE_URIS}
+"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+       Apache-2.0 BSD ISC MIT Unicode-DFS-2016 WTFPL-2
+       || ( Artistic-2 CC0-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+       dev-libs/icu:=
+       dev-libs/openssl:=
+       media-gfx/graphite2
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/harfbuzz:=
+       media-libs/libpng:=
+       sys-libs/zlib
+"
+RDEPEND="${DEPEND}"
+BDEPEND="media-libs/harfbuzz"
+
+# rust does not use *FLAGS from make.conf, silence portage warning
+# update with proper path to binaries this crate installs, omit leading /
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+PATCHES=(
+       "${FILESDIR}/${P}-fix-internal-consistency-problem-bbl.patch"
+       "${FILESDIR}/${P}-fix-xetex_layout-build.patch"
+       "${FILESDIR}/${P}-rust-1.80.patch"
+)
+
+src_configure() {
+       local myfeatures=(
+               external-harfbuzz
+       )
+       cargo_src_configure
+}

Reply via email to