* gnu/packages/ghostscript.scm (ghostscript): Update to 9.56.1. [arguments]: Remove #:parallel-tests?. Remove trailing #t's. * gnu/packages/patches/ghostscript-no-header-creationdate.patch, gnu/packages/patches/ghostscript-no-header-id.patch, gnu/packages/patches/ghostscript-no-header-uuid.patch: Rebase on 9.56.1.
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
This patch makes the UUIDs in the XMP header optional, depending on the
 | 
						|
setting of the environment variable GS_GENERATE_UUIDS.
 | 
						|
 | 
						|
If the environment variable GS_GENERATE_UUIDS is set to "0" or "no", it will
 | 
						|
not write out the Document UUID field and also will write the Instance ID
 | 
						|
field value as "".
 | 
						|
 | 
						|
Upstream does not want to do this.
 | 
						|
 | 
						|
See: https://bugs.ghostscript.com/show_bug.cgi?id=698208
 | 
						|
diff --git a/devices/vector/gdevpdfe.c b/devices/vector/gdevpdfe.c
 | 
						|
index f083f1e93..a19c64ac0 100644
 | 
						|
--- a/devices/vector/gdevpdfe.c
 | 
						|
+++ b/devices/vector/gdevpdfe.c
 | 
						|
@@ -624,7 +624,7 @@ pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
 | 
						|
         return code;
 | 
						|
 
 | 
						|
     /* PDF/A XMP reference recommends setting UUID to empty. If not empty must be a URI */
 | 
						|
-    if (pdev->PDFA != 0)
 | 
						|
+    if (pdev->PDFA != 0 || (getenv("GS_GENERATE_UUIDS") && (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") == 0 || strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") == 0)))
 | 
						|
         instance_uuid[0] = 0x00;
 | 
						|
 
 | 
						|
     cre_date_time_len = pdf_get_docinfo_item(pdev, "/CreationDate", cre_date_time, sizeof(cre_date_time));
 | 
						|
@@ -730,14 +730,17 @@ pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
 | 
						|
             pdf_xml_tag_close(s, "rdf:Description");
 | 
						|
             pdf_xml_newline(s);
 | 
						|
 
 | 
						|
-            pdf_xml_tag_open_beg(s, "rdf:Description");
 | 
						|
-            pdf_xml_copy(s, " rdf:about=\"\"");
 | 
						|
-            pdf_xml_attribute_name(s, "xmlns:xapMM");
 | 
						|
-            pdf_xml_attribute_value(s, "http://ns.adobe.com/xap/1.0/mm/");
 | 
						|
-            pdf_xml_attribute_name(s, "xapMM:DocumentID");
 | 
						|
-            pdf_xml_attribute_value(s, document_uuid);
 | 
						|
-            pdf_xml_tag_end_empty(s);
 | 
						|
-            pdf_xml_newline(s);
 | 
						|
+            if (!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 && strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))
 | 
						|
+            {
 | 
						|
+                pdf_xml_tag_open_beg(s, "rdf:Description");
 | 
						|
+                pdf_xml_copy(s, " rdf:about=\"\"");
 | 
						|
+                pdf_xml_attribute_name(s, "xmlns:xapMM");
 | 
						|
+                pdf_xml_attribute_value(s, "http://ns.adobe.com/xap/1.0/mm/");
 | 
						|
+                pdf_xml_attribute_name(s, "xapMM:DocumentID");
 | 
						|
+                pdf_xml_attribute_value(s, document_uuid);
 | 
						|
+                pdf_xml_tag_end_empty(s);
 | 
						|
+                pdf_xml_newline(s);
 | 
						|
+            }
 | 
						|
 
 | 
						|
             pdf_xml_tag_open_beg(s, "rdf:Description");
 | 
						|
             pdf_xml_copy(s, " rdf:about=\"\"");
 |