summaryrefslogtreecommitdiff
path: root/debian/patches/0009-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0009-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch')
-rw-r--r--debian/patches/0009-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch133
1 files changed, 133 insertions, 0 deletions
diff --git a/debian/patches/0009-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch b/debian/patches/0009-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch
new file mode 100644
index 00000000..87082429
--- /dev/null
+++ b/debian/patches/0009-Fix-reproducibility-of-PDF-documents-in-yosys-doc.patch
@@ -0,0 +1,133 @@
+From: Ruben Undheim <ruben.undheim@gmail.com>
+Date: Thu, 12 Jul 2018 10:41:21 +0000
+Subject: Fix reproducibility of PDF documents in yosys-doc
+
+---
+ Makefile | 6 +++---
+ manual/appnotes.sh | 5 ++++-
+ manual/manual.sh | 6 ++++--
+ manual/presentation.sh | 11 +++++++++--
+ manual/presentation.tex | 1 +
+ 5 files changed, 21 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8979641..aa66a54 100644
+--- a/Makefile
++++ b/Makefile
+@@ -463,9 +463,9 @@ update-manual: $(TARGETS) $(EXTRA_TARGETS)
+ cd manual && ../yosys -p 'help -write-tex-command-reference-manual'
+
+ manual: $(TARGETS) $(EXTRA_TARGETS)
+- cd manual && bash appnotes.sh
+- cd manual && bash presentation.sh
+- cd manual && bash manual.sh
++ cd manual && PDF_DATE=$(PDF_DATE) bash appnotes.sh
++ cd manual && PDF_DATE=$(PDF_DATE) bash presentation.sh
++ cd manual && PDF_DATE=$(PDF_DATE) bash manual.sh
+
+ clean:
+ rm -rf share
+diff --git a/manual/appnotes.sh b/manual/appnotes.sh
+index 0ae5286..798d9d3 100755
+--- a/manual/appnotes.sh
++++ b/manual/appnotes.sh
+@@ -7,16 +7,19 @@ do
+ if [ -f $job/make.sh ]; then
+ cd $job
+ bash make.sh
++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' *.pdf
+ cd ..
+ fi
+ old_md5=$([ -f $job.aux ] && md5sum < $job.aux || true)
+ while
+- pdflatex -shell-escape -halt-on-error $job.tex || exit
++ pdflatex -shell-escape -halt-on-error '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{'${job}'.tex}' || exit
+ new_md5=$(md5sum < $job.aux)
+ [ "$old_md5" != "$new_md5" ]
+ do
+ old_md5="$new_md5"
+ done
++ grep -av '^/ID \[\(<[0-9A-F]\{32\}>\) \1]$' ${job}.pdf > ${job}.pdf.without_pdf_id
++ mv -f ${job}.pdf.without_pdf_id ${job}.pdf
+ touch $job.ok
+ done
+
+diff --git a/manual/manual.sh b/manual/manual.sh
+index c467393..4417f56 100755
+--- a/manual/manual.sh
++++ b/manual/manual.sh
+@@ -39,7 +39,7 @@ fi
+
+ set -ex
+
+-pdflatex $PDFTEX_OPT manual.tex
++pdflatex $PDFTEX_OPT '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{manual.tex}'
+
+ if ! $fast_mode; then
+ bibtex manual.aux
+@@ -50,10 +50,12 @@ if ! $fast_mode; then
+ ! cmp autoloop.old autoloop.new
+ do
+ cp autoloop.new autoloop.old
+- pdflatex $PDFTEX_OPT manual.tex
++ pdflatex $PDFTEX_OPT '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{manual.tex}'
+ done
+
+ rm -f autoloop.old
+ rm -f autoloop.new
+ fi
+
++grep -av '^/ID \[\(<[0-9A-F]\{32\}>\) \1]$' manual.pdf > manual.pdf.without_pdf_id
++mv -f manual.pdf.without_pdf_id manual.pdf
+diff --git a/manual/presentation.sh b/manual/presentation.sh
+index ca8a6c9..f2d0a30 100755
+--- a/manual/presentation.sh
++++ b/manual/presentation.sh
+@@ -29,15 +29,20 @@ set -ex
+ if ! $fast_mode; then
+ ! md5sum *.aux *.snm *.nav *.toc > autoloop.old
+ make -C PRESENTATION_Intro
++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' PRESENTATION_Intro/*.pdf
+ make -C PRESENTATION_ExSyn
++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' PRESENTATION_ExSyn/*.pdf
+ make -C PRESENTATION_ExAdv
++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' PRESENTATION_ExAdv/*.pdf
+ make -C PRESENTATION_ExOth
++ sed -i 's#/CreationDate (D:[^)]\+)#/CreationDate ('${PDF_DATE}')#' PRESENTATION_ExOth/*.pdf
+ make -C PRESENTATION_Prog
+ fi
+
+ set -ex
+
+-pdflatex $PDFTEX_OPT presentation.tex
++echo ${PDF_DATE}
++pdflatex $PDFTEX_OPT '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{presentation.tex}'
+
+ if ! $fast_mode; then
+ while
+@@ -45,10 +50,12 @@ if ! $fast_mode; then
+ ! cmp autoloop.old autoloop.new
+ do
+ cp autoloop.new autoloop.old
+- pdflatex $PDFTEX_OPT presentation.tex
++ pdflatex $PDFTEX_OPT '\pdfinfo{/CreationDate('${PDF_DATE}')/ModDate('${PDF_DATE}')}\input{presentation.tex}'
+ done
+
+ rm -f autoloop.old
+ rm -f autoloop.new
+ fi
+
++grep -av '^/ID \[\(<[0-9A-F]\{32\}>\) \1]$' presentation.pdf > presentation.pdf.without_pdf_id
++mv -f presentation.pdf.without_pdf_id presentation.pdf
+diff --git a/manual/presentation.tex b/manual/presentation.tex
+index 8060998..a42648c 100644
+--- a/manual/presentation.tex
++++ b/manual/presentation.tex
+@@ -81,6 +81,7 @@
+
+ \title{Yosys Open SYnthesis Suite}
+ \author{Clifford Wolf}
++\date{REPLACEWITHDATE}
+ \institute{http://www.clifford.at/yosys/}
+
+ \usetheme{Madrid}