Hi, On Thu, 09 Jul 2026 00:29:04 +0200 Johannes Schauer Marin Rodrigues <[email protected]> wrote: > > Because the future of Kotlin in Debian is uncertain. We are stuck with the > > version 1.3.31 and we don't know how long we'll able to maintain it. > > So while we could also wait for kotlin in Debian to get fixed, I offer an > alternative solution to this bug: rewrite scripts/GenerateNLVersion.kt in > something that is not kotlin. At the end of this mail, please find a Python > script which does the same as the kotlin script in a third of the lines of > code. It also means you can drop the Build-Depends on kotlin.
this issue is blocking my package reform-tools to transition to testing. I have sent a patch fixing this issue to this bug nine days ago and CC-ed the uploader as well as the maintainer without any reaction since then. I am thus following the developer-reference recommendation to perform an NMU fixing this issue with zero-delay. Please find the diff of my NMU attached at the bottom of this mail. Thanks! cheers, josch diff -Nru fonts-jetbrains-mono-2.304+ds/debian/changelog fonts-jetbrains-mono-2.304+ds/debian/changelog --- fonts-jetbrains-mono-2.304+ds/debian/changelog 2025-08-10 15:52:22.000000000 +0200 +++ fonts-jetbrains-mono-2.304+ds/debian/changelog 2026-07-18 21:59:47.000000000 +0200 @@ -1,3 +1,11 @@ +fonts-jetbrains-mono (2.304+ds-6.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Replace scripts/GenerateNLVersion.kt with a Python script. This allows + dropping kotlin from Build-Depends (Closes: #1131648) + + -- Johannes Schauer Marin Rodrigues <[email protected]> Sat, 18 Jul 2026 21:59:47 +0200 + fonts-jetbrains-mono (2.304+ds-6) unstable; urgency=medium * Drop ttfautohint patch diff -Nru fonts-jetbrains-mono-2.304+ds/debian/control fonts-jetbrains-mono-2.304+ds/debian/control --- fonts-jetbrains-mono-2.304+ds/debian/control 2025-08-10 15:45:37.000000000 +0200 +++ fonts-jetbrains-mono-2.304+ds/debian/control 2026-07-18 21:59:47.000000000 +0200 @@ -11,7 +11,6 @@ gftools, python-is-python3, python3-ttfautohint-py, - kotlin, Standards-Version: 4.7.2 Homepage: https://www.jetbrains.com/lp/mono/ Vcs-Git: https://salsa.debian.org/fonts-team/fonts-jetbrains-mono.git diff -Nru fonts-jetbrains-mono-2.304+ds/debian/copyright fonts-jetbrains-mono-2.304+ds/debian/copyright --- fonts-jetbrains-mono-2.304+ds/debian/copyright 2025-08-10 15:45:37.000000000 +0200 +++ fonts-jetbrains-mono-2.304+ds/debian/copyright 2026-07-18 21:59:47.000000000 +0200 @@ -27,6 +27,12 @@ Files: debian/* Copyright: 2020-2025 Agathe Porte License: GPL-3+ + +Files: debian/GenerateNLVersion.py +Copyright: 2026 Johannes Schauer Marin Rodrigues <[email protected]> +License: GPL-3+ + +License: GPL-3+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or diff -Nru fonts-jetbrains-mono-2.304+ds/debian/GenerateNLVersion.py fonts-jetbrains-mono-2.304+ds/debian/GenerateNLVersion.py --- fonts-jetbrains-mono-2.304+ds/debian/GenerateNLVersion.py 1970-01-01 01:00:00.000000000 +0100 +++ fonts-jetbrains-mono-2.304+ds/debian/GenerateNLVersion.py 2026-07-18 21:59:47.000000000 +0200 @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +# Copyright 2026 Johannes Schauer Marin Rodrigues <[email protected]> +# SPDX-License-Identifier: GPL-3.0-or-later + +from pathlib import Path +import subprocess + +# we don't use xml.etree.ElementTree because it does not preserve comments +import lxml.etree as ET +import os, sys + + +def main(): + for p in sorted(Path("./fonts/ttf/").glob("JetBrainsMono-*.ttf")): + print(p, file=sys.stderr) + ttxp = p.with_suffix(".ttx") + if ttxp.exists(): + ttxp.unlink() + subprocess.check_call(["ttx", p]) + document = ET.parse(ttxp) + root = document.getroot() + root.remove(root.find("GPOS")) + root.remove(root.find("GSUB")) + for ppath, ename in [ + ("GlyphOrder", "GlyphID"), + ("glyf", "TTGlyph"), + ("hmtx", "mtx"), + ("post/extraNames", "psName"), + ]: + parent = root.find(ppath) + for child in parent.findall(ename): + if child.attrib["name"].endswith(".liga"): + parent.remove(child) + for el in root.findall("name/namerecord"): + if "trademark" in el.text: + continue + el.text = el.text.replace("JetBrains Mono", "JetBrains Mono NL") + el.text = el.text.replace("JetBrainsMono", "JetBrainsMonoNL") + NLttfp = p.with_stem(p.stem.replace("JetBrainsMono", "JetBrainsMonoNL")) + if NLttfp.exists(): + NLttfp.unlink() + NLttxp = NLttfp.with_suffix(".ttx") + document.write(NLttxp, xml_declaration=True, encoding="UTF-8", standalone=False) + sde = os.environ.get("SOURCE_DATE_EPOCH") + if sde is not None: + os.utime(NLttxp, (int(sde), int(sde))) + subprocess.check_call(["ttx", NLttxp]) + NLttxp.unlink() + ttxp.unlink() + + +if __name__ == "__main__": + main() diff -Nru fonts-jetbrains-mono-2.304+ds/debian/rules fonts-jetbrains-mono-2.304+ds/debian/rules --- fonts-jetbrains-mono-2.304+ds/debian/rules 2025-08-10 15:45:37.000000000 +0200 +++ fonts-jetbrains-mono-2.304+ds/debian/rules 2026-07-18 21:59:47.000000000 +0200 @@ -7,5 +7,5 @@ override_dh_auto_build: ./sources/old-build-scripts/build-statics.sh ./sources/old-build-scripts/build-webfonts.sh - kotlinc scripts/GenerateNLVersion.kt -d scripts/GenerateNLVersion.jar - kotlin -classpath scripts/GenerateNLVersion.jar GenerateNLVersionKt + ./debian/GenerateNLVersion.py +
signature.asc
Description: signature

