gsftopk: unbundle from texlive_core (with a backported patch)

(the package category 'dev-tex' is an estimation, there is no separate package in Gentoo)
This commit is contained in:
Joachim Mairböck
2024-08-22 14:57:22 +02:00
parent 32de338c78
commit dcfeb8319e
3 changed files with 121 additions and 2 deletions

View File

@@ -158,7 +158,6 @@ PROVIDES="
cmd:gftopk
cmd:gftype
cmd:git_latexdiff
cmd:gsftopk
cmd:hilatex
cmd:hishrink
cmd:histretch
@@ -589,7 +588,6 @@ defineDebugInfoPackage texlive_core$secondaryArchSuffix \
$prefix/bin/gftodvi \
$prefix/bin/gftopk \
$prefix/bin/gftype \
$prefix/bin/gsftopk \
$prefix/bin/hishrink \
$prefix/bin/histretch \
$prefix/bin/hitex \
@@ -860,6 +858,7 @@ BUILD()
--disable-dvipng \
--disable-dvisvgm \
--disable-gregorio \
--disable-gsftopk \
--disable-t1utils \
--build=$HOST --host=$HOST

View File

@@ -0,0 +1,47 @@
SUMMARY="Convert Ghostscript fonts to PK files"
DESCRIPTION="gsftopk is a program that uses Ghostscript to render PostScript fonts (including \
mock-ups of the \"built-in\" 35; e.g., Times-Roman) and convert the bitmaps to .pk format for use \
with xdvi or other .dvi viewers. Contrary to what its name may suggest, gsftopk can handle all \
types of fonts acceptable to Ghostscript, including .pfa, .pfb, and .ttf (TrueType) files."
HOMEPAGE="https://math.berkeley.edu/~vojta/gsftopk.html"
COPYRIGHT="1993-1998 Paul Vojta"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://mirrors.ctan.org/fonts/utilities/gsftopk/gsftopk-$portVersion.tar.gz"
CHECKSUM_SHA256="5e21b606b6944a1abaceff5ef8db10c455929b3b5d8d482fc35ce7224a7329df"
PATCHES="gsftopk-$portVersion.patchset"
ARCHITECTURES="all"
PROVIDES="
gsftopk = $portVersion
cmd:gsftopk = $portVersion
"
REQUIRES="
haiku
cmd:gs
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:gcc
cmd:make
"
BUILD()
{
TEXMF=$dataDir/texlive/texmf-dist \
runConfigure --omit-dirs "dataRootDir docDir" ./configure
make $jobArgs
}
INSTALL()
{
mkdir -p $binDir $dataDir/texlive/texmf-dist/dvips $manDir/man1
make install
# remove texmf-dist files, they are installed as part of texlive_binextra
rm -r $dataDir
}

View File

@@ -0,0 +1,73 @@
From bbe19cf55661d59ab3e653bb017704f7de96ca2d Mon Sep 17 00:00:00 2001
From: Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Date: Sun, 18 Aug 2019 08:27:13 +0000
Subject: gs-9.28(rc1) requires -dNOSAFER in gsftopk
git-svn-id: svn://tug.org/texlive/trunk/Build/source@51898 c570f23f-e606-0410-a88d-b1316a301751
diff --git a/gsftopk.c b/gsftopk.c
index a4e007f..12592ff 100644
--- a/gsftopk.c
+++ b/gsftopk.c
@@ -277,14 +277,15 @@ HANDLE hGsDataIn, hGsDataOut; /* Events to synchronize threads */
char *gs_argv[] = { "gswin32c.exe",
"-dNOGC",
"-dNODISPLAY",
- NULL, /* 3, substarg */
+ "-dNOSAFER", /* 3, */
+ NULL, /* 4, substarg */
"-q",
"--",
- NULL, /* 6, searchpath */
- NULL, /* 7, PSname */
- NULL, /* 8, dlstring != NULL ? dlstring : "" */
- NULL, /* 9, specinfo */
- NULL, /* 10, dpistr */
+ NULL, /* 7, searchpath */
+ NULL, /* 8, PSname */
+ NULL, /* 9, dlstring != NULL ? dlstring : "" */
+ NULL, /* 10, specinfo */
+ NULL, /* 11, dpistr */
NULL
};
char *buffer_stdin; /* This is the buffer from where data are taken. */
@@ -2515,7 +2516,7 @@ Author of gsftopk: Paul Vojta.");
if (in && out) {
int error;
char *cmd;
- char formatstr[] = "%s -dNODISPLAY -dNOGC -sSUBSTFONT=\"%s\" -q -- \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"";
+ char formatstr[] = "%s -dNODISPLAY -dNOGC -dNOSAFER -sSUBSTFONT=\"%s\" -q -- \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"";
unsigned int len;
len = sizeof formatstr + strlen(gspath) + strlen(searchpath)
@@ -2589,7 +2590,7 @@ Author of gsftopk: Paul Vojta.");
close(std_out[0]);
dup2(std_out[1], 1);
close(std_out[1]);
- execlp(gspath, "gs", "-dNODISPLAY", "-dNOGC", substarg, "-q", "--",
+ execlp(gspath, "gs", "-dNODISPLAY", "-dNOGC", "-dNOSAFER", substarg, "-q", "--",
/* render.ps */ searchpath,
PSname,
dlstring != NULL ? dlstring : "", specinfo, dpistr, NULL);
@@ -2668,12 +2669,12 @@ Author of gsftopk: Paul Vojta.");
hGsDataIn = CreateEvent(&sa, FALSE, FALSE, "gsDataIn");
hGsDataOut = CreateEvent(&sa, FALSE, FALSE, "gsDataOut");
- gs_argv[3] = substarg;
- gs_argv[6] = searchpath;
- gs_argv[7] = PSname;
- gs_argv[8] = dlstring != NULL ? dlstring : "";
- gs_argv[9] = specinfo;
- gs_argv[10] = dpistr;
+ gs_argv[4] = substarg;
+ gs_argv[7] = searchpath;
+ gs_argv[8] = PSname;
+ gs_argv[9] = dlstring != NULL ? dlstring : "";
+ gs_argv[10] = specinfo;
+ gs_argv[11] = dpistr;
buffer_stdin = concat(designstr, charlist);
--
2.45.2