Re: [PATCH v2 -perfbook] Makefile: Cope with GhostScript 9.53.0 or later

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you, Akira!
5abdbfb64558c7036a58a8e624120088ce3d2b1f  PASS build.

Dmitry

пн, 4 янв. 2021 г. в 02:38, Akira Yokosawa <akiyks@xxxxxxxxx>:
>
> From d48155e896265c1a26985fe26f9bf8c5fbcfd22e Mon Sep 17 00:00:00 2001
> From: Akira Yokosawa <akiyks@xxxxxxxxx>
> Date: Mon, 4 Jan 2021 07:58:18 +0900
> Subject: [PATCH v2 -perfbook] Makefile: Cope with GhostScript 9.53.0 or later
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> Combination of GhostScript 9.53.x and pstricks-base 3.01 requires
> an additional option of "gs" to enable transparency.
>
> Current version of a2ping can not cope with this change.
>
> Instead, use the pair of commands "ps2pdf" and "pdfcrop" for .eps
> files originated from .tex sources if a new version of gs is detected.
>
> Note:
> Due to the use of a deprecated command in pstricks.pro (boilerplate
> prologue code), gs 9.53.x emits repetitive warnings of:
>
>    **** WARNING: .setopacityalpha is deprecated (as of 9.53.0) and will be removed in a future release
>    **** See .setfillconstantalpha/.setalphaisshape for the improved solution
>
> I'll silence them once I'm sure the stability of new commands in
> Makefile.
>
> Reported-by: Дмитрий Дьяченко <dimhen@xxxxxxxxx>
> Reported-by: Felipe Balbi <balbi@xxxxxxxxxx>
> Tested-by: Felipe Balbi <balbi@xxxxxxxxxx>
> Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>
> ---
> Hi,
>
> I thought I didn't redirect the warnings at all, but pdfcrop's stderr
> was redirected in v1.
> I removed the redirection in v2.
>
> Changes v1 -> v2:
>   o Add Felipe's Tested-by
>   o Mention warnings from gs in commit log's note.
>   o Remove ineffective redirection at the end of pipeline.
>
>         Thanks, Akira
> --
> Makefile | 30 +++++++++++++++++++++++++-----
>  1 file changed, 25 insertions(+), 5 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 56ce62bf..0c58f1a0 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -38,6 +38,8 @@ EPSSOURCES_FROM_TEX := \
>         SMPdesign/DiningPhilosopher4part-b.eps \
>         SMPdesign/DiningPhilosopher5PEM.eps
>
> +PDFTARGETS_OF_TEX := $(EPSSOURCES_FROM_TEX:%.eps=%.pdf)
> +
>  DOTSOURCES := $(wildcard */*.dot)
>
>  EPSSOURCES_FROM_DOT := $(DOTSOURCES:%.dot=%.eps)
> @@ -70,7 +72,7 @@ EPSORIGIN := $(filter-out $(EPSSOURCES_FROM_TEX) $(EPSSOURCES_FROM_DOT) $(EPSSOU
>
>  PDFTARGETS_OF_EPSORIG := $(EPSORIGIN:%.eps=%.pdf)
>
> -PDFTARGETS_OF_EPSOTHER := $(filter-out $(PDFTARGETS_OF_EPSORIG),$(PDFTARGETS_OF_EPS))
> +PDFTARGETS_OF_EPSOTHER := $(filter-out $(PDFTARGETS_OF_EPSORIG) $(PDFTARGETS_OF_TEX),$(PDFTARGETS_OF_EPS))
>
>  BIBSOURCES := bib/*.bib alphapf.bst
>
> @@ -124,19 +126,23 @@ ifdef A2PING
>    GS_950_OR_LATER := $(shell gs --version | grep -c -E "9\.[5-9].?")
>    A2PING_277P := $(shell a2ping --help 2>&1 | grep -c "2.77p,")
>    A2PING_283P := $(shell a2ping --help 2>&1 | grep -c "2.83p,")
> +  GS_953_OR_LATER := $(shell gs --version | grep -c -E "9\.5[3-9].?")
>    ifeq ($(A2PING_277P),1)
> -    A2PING_GSCNFL := 1
> +    A2PING_GSCNFL = 1
>    else
>      ifeq ($(A2PING_283P),1)
>        ifeq ($(GS_950_OR_LATER),1)
> -        A2PING_GSCNFL := 1
> +        A2PING_GSCNFL = 1
>        else
> -        A2PING_GSCNFL := 0
> +        A2PING_GSCNFL = 0
>        endif
>      else
> -      A2PING_GSCNFL := 0
> +      A2PING_GSCNFL = 0
>      endif
>    endif
> +  ifeq ($(GS_953_OR_LATER),1)
> +    A2PING_GSCNFL = 2
> +  endif
>  endif
>
>  LINELABEL_ENV_BEGIN := $(shell grep -l -F '\begin{linelabel}' $(LATEXSOURCES))
> @@ -395,6 +401,20 @@ endif
>         @a2ping --below --hires --bboxfrom=compute-gs $<i $@ > /dev/null 2>&1
>         @rm -f $<i
>
> +$(PDFTARGETS_OF_TEX): %.pdf: %.eps
> +       @echo "$< --> $@"
> +ifndef A2PING
> +       $(error $< --> $@: a2ping not found. Please install it)
> +endif
> +ifeq ($(A2PING_GSCNFL),1)
> +       $(error a2ping version conflict. See #7 in FAQ-BUILD.txt)
> +endif
> +ifeq ($(A2PING_GSCNFL),2)
> +       @ps2pdf -dALLOWPSTRANSPARENCY -dNOSAFER $< - | pdfcrop -hires - $@
> +else
> +       @a2ping --below --hires --bboxfrom=compute-gs $< $@ > /dev/null 2>&1
> +endif
> +
>  $(PDFTARGETS_OF_EPSOTHER): %.pdf: %.eps
>         @echo "$< --> $@"
>  ifndef A2PING
> --
> 2.17.1
>
>
>




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux