Date: Friday, September 7, 2018 @ 15:46:40 Author: andyrtr Revision: 333829
archrelease: copy trunk to testing-x86_64 Added: ghostscript/repos/testing-x86_64/0001_ICC_profile_validation.patch (from rev 333828, ghostscript/trunk/0001_ICC_profile_validation.patch) ghostscript/repos/testing-x86_64/0002_retain_LockSafetyParams_through_failed_installpagedevice.patch (from rev 333828, ghostscript/trunk/0002_retain_LockSafetyParams_through_failed_installpagedevice.patch) ghostscript/repos/testing-x86_64/0003_Fix_SEGV_seen_in_all-devices_test.patch (from rev 333828, ghostscript/trunk/0003_Fix_SEGV_seen_in_all-devices_test.patch) ghostscript/repos/testing-x86_64/0004_Add_the_ICCProfilesDir_to_the_PermitReading_list.patch (from rev 333828, ghostscript/trunk/0004_Add_the_ICCProfilesDir_to_the_PermitReading_list.patch) ghostscript/repos/testing-x86_64/0005_add_wildcards_to_the_permissions_paths.patch (from rev 333828, ghostscript/trunk/0005_add_wildcards_to_the_permissions_paths.patch) ghostscript/repos/testing-x86_64/PKGBUILD (from rev 333828, ghostscript/trunk/PKGBUILD) Deleted: ghostscript/repos/testing-x86_64/0001_ICC_profile_validation.patch ghostscript/repos/testing-x86_64/0002_retain_LockSafetyParams_through_failed_installpagedevice.patch ghostscript/repos/testing-x86_64/0003_Fix_SEGV_seen_in_all-devices_test.patch ghostscript/repos/testing-x86_64/PKGBUILD ---------------------------------------------------------------------+ 0001_ICC_profile_validation.patch | 160 +++--- 0002_retain_LockSafetyParams_through_failed_installpagedevice.patch | 138 +++--- 0003_Fix_SEGV_seen_in_all-devices_test.patch | 80 +-- 0004_Add_the_ICCProfilesDir_to_the_PermitReading_list.patch | 43 + 0005_add_wildcards_to_the_permissions_paths.patch | 55 ++ PKGBUILD | 229 +++++----- 6 files changed, 406 insertions(+), 299 deletions(-) Deleted: 0001_ICC_profile_validation.patch =================================================================== --- 0001_ICC_profile_validation.patch 2018-09-07 15:46:27 UTC (rev 333828) +++ 0001_ICC_profile_validation.patch 2018-09-07 15:46:40 UTC (rev 333829) @@ -1,80 +0,0 @@ -From bc3df0773fccf4b4906a3e59652ad646ea0fee91 Mon Sep 17 00:00:00 2001 -From: Chris Liddell <chris.lidd...@artifex.com> -Date: Tue, 4 Sep 2018 17:01:08 +0100 -Subject: [PATCH] For ICC profile validation, have cups id iteself as DeviceN - -Give the range of color spaces and models that cups supports, we can't -reasonably provide (or expect others to provide) output ICC profiles for all -cases. - -For the purpose of profile validation, have it claim to be DeviceN and benefit -from the extra tolerance in profiles allowed for that class of device. ---- - cups/gdevcups.c | 15 ++++++++++++++- - devices/devs.mak | 2 +- - 2 files changed, 15 insertions(+), 2 deletions(-) - -diff --git a/cups/gdevcups.c b/cups/gdevcups.c -index c1574f8..decd8eb 100644 ---- a/cups/gdevcups.c -+++ b/cups/gdevcups.c -@@ -70,6 +70,7 @@ - #include "std.h" /* to stop stdlib.h redefining types */ - #include "gdevprn.h" - #include "gsparam.h" -+#include "gxdevsop.h" - #include "arch.h" - #include "gsicc_manage.h" - -@@ -252,6 +253,7 @@ private int cups_put_params(gx_device *, gs_param_list *); - private int cups_set_color_info(gx_device *); - private dev_proc_sync_output(cups_sync_output); - private prn_dev_proc_get_space_params(cups_get_space_params); -+private int cups_spec_op(gx_device *dev_, int op, void *data, int datasize); - - #ifdef dev_t_proc_encode_color - private cm_map_proc_gray(cups_map_gray); -@@ -392,7 +394,7 @@ private gx_device_procs cups_procs = - NULL, /* push_transparency_state */ - NULL, /* pop_transparency_state */ - NULL, /* put_image */ -- -+ cups_spec_op - }; - - #define prn_device_body_copies(dtype, procs, dname, w10, h10, xdpi, ydpi, lo, to, lm, bm, rm, tm, ncomp, depth, mg, mc, dg, dc, print_pages)\ -@@ -5927,6 +5929,17 @@ cups_print_planar(gx_device_printer *pdev, - return (0); - } - -+private int -+cups_spec_op(gx_device *dev_, int op, void *data, int datasize) -+{ -+ /* Although not strictly DeviceN, the range of color models -+ this device supports presets similar issues. -+ */ -+ if (op == gxdso_supports_devn) { -+ return true; -+ } -+ return gx_default_dev_spec_op(dev_, op, data, datasize); -+} - - /* - */ -diff --git a/devices/devs.mak b/devices/devs.mak -index c85604c..e8654e5 100644 ---- a/devices/devs.mak -+++ b/devices/devs.mak -@@ -1860,7 +1860,7 @@ $(DD)pwgraster.dev : $(lcups_dev) $(lcupsi_dev) $(cups_) $(GDEV) \ - $(ADDMOD) $(DD)pwgraster -include $(lcups_dev) - $(ADDMOD) $(DD)pwgraster -include $(lcupsi_dev) - --$(DEVOBJ)gdevcups.$(OBJ) : $(LCUPSSRCDIR)$(D)gdevcups.c $(std_h) $(DEVS_MAK) $(MAKEDIRS) -+$(DEVOBJ)gdevcups.$(OBJ) : $(LCUPSSRCDIR)$(D)gdevcups.c $(std_h) $(gxdevsop_h) $(DEVS_MAK) $(MAKEDIRS) - $(CUPS_CC) $(DEVO_)gdevcups.$(OBJ) $(C_) $(CFLAGS) $(CUPSCFLAGS) \ - $(I_)$(GLSRC) \ - $(I_)$(DEVSRC) \ --- -2.9.1 - - Copied: ghostscript/repos/testing-x86_64/0001_ICC_profile_validation.patch (from rev 333828, ghostscript/trunk/0001_ICC_profile_validation.patch) =================================================================== --- 0001_ICC_profile_validation.patch (rev 0) +++ 0001_ICC_profile_validation.patch 2018-09-07 15:46:40 UTC (rev 333829) @@ -0,0 +1,80 @@ +From bc3df0773fccf4b4906a3e59652ad646ea0fee91 Mon Sep 17 00:00:00 2001 +From: Chris Liddell <chris.lidd...@artifex.com> +Date: Tue, 4 Sep 2018 17:01:08 +0100 +Subject: [PATCH] For ICC profile validation, have cups id iteself as DeviceN + +Give the range of color spaces and models that cups supports, we can't +reasonably provide (or expect others to provide) output ICC profiles for all +cases. + +For the purpose of profile validation, have it claim to be DeviceN and benefit +from the extra tolerance in profiles allowed for that class of device. +--- + cups/gdevcups.c | 15 ++++++++++++++- + devices/devs.mak | 2 +- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/cups/gdevcups.c b/cups/gdevcups.c +index c1574f8..decd8eb 100644 +--- a/cups/gdevcups.c ++++ b/cups/gdevcups.c +@@ -70,6 +70,7 @@ + #include "std.h" /* to stop stdlib.h redefining types */ + #include "gdevprn.h" + #include "gsparam.h" ++#include "gxdevsop.h" + #include "arch.h" + #include "gsicc_manage.h" + +@@ -252,6 +253,7 @@ private int cups_put_params(gx_device *, gs_param_list *); + private int cups_set_color_info(gx_device *); + private dev_proc_sync_output(cups_sync_output); + private prn_dev_proc_get_space_params(cups_get_space_params); ++private int cups_spec_op(gx_device *dev_, int op, void *data, int datasize); + + #ifdef dev_t_proc_encode_color + private cm_map_proc_gray(cups_map_gray); +@@ -392,7 +394,7 @@ private gx_device_procs cups_procs = + NULL, /* push_transparency_state */ + NULL, /* pop_transparency_state */ + NULL, /* put_image */ +- ++ cups_spec_op + }; + + #define prn_device_body_copies(dtype, procs, dname, w10, h10, xdpi, ydpi, lo, to, lm, bm, rm, tm, ncomp, depth, mg, mc, dg, dc, print_pages)\ +@@ -5927,6 +5929,17 @@ cups_print_planar(gx_device_printer *pdev, + return (0); + } + ++private int ++cups_spec_op(gx_device *dev_, int op, void *data, int datasize) ++{ ++ /* Although not strictly DeviceN, the range of color models ++ this device supports presets similar issues. ++ */ ++ if (op == gxdso_supports_devn) { ++ return true; ++ } ++ return gx_default_dev_spec_op(dev_, op, data, datasize); ++} + + /* + */ +diff --git a/devices/devs.mak b/devices/devs.mak +index c85604c..e8654e5 100644 +--- a/devices/devs.mak ++++ b/devices/devs.mak +@@ -1860,7 +1860,7 @@ $(DD)pwgraster.dev : $(lcups_dev) $(lcupsi_dev) $(cups_) $(GDEV) \ + $(ADDMOD) $(DD)pwgraster -include $(lcups_dev) + $(ADDMOD) $(DD)pwgraster -include $(lcupsi_dev) + +-$(DEVOBJ)gdevcups.$(OBJ) : $(LCUPSSRCDIR)$(D)gdevcups.c $(std_h) $(DEVS_MAK) $(MAKEDIRS) ++$(DEVOBJ)gdevcups.$(OBJ) : $(LCUPSSRCDIR)$(D)gdevcups.c $(std_h) $(gxdevsop_h) $(DEVS_MAK) $(MAKEDIRS) + $(CUPS_CC) $(DEVO_)gdevcups.$(OBJ) $(C_) $(CFLAGS) $(CUPSCFLAGS) \ + $(I_)$(GLSRC) \ + $(I_)$(DEVSRC) \ +-- +2.9.1 + + Deleted: 0002_retain_LockSafetyParams_through_failed_installpagedevice.patch =================================================================== --- 0002_retain_LockSafetyParams_through_failed_installpagedevice.patch 2018-09-07 15:46:27 UTC (rev 333828) +++ 0002_retain_LockSafetyParams_through_failed_installpagedevice.patch 2018-09-07 15:46:40 UTC (rev 333829) @@ -1,69 +0,0 @@ -From 5812b1b78fc4d36fdc293b7859de69241140d590 Mon Sep 17 00:00:00 2001 -From: Chris Liddell <chris.lidd...@artifex.com> -Date: Tue, 4 Sep 2018 23:18:46 +0100 -Subject: [PATCH] Bug 699714: retain .LockSafetyParams through failed - .installpagedevice - -In the event that the .trysetparams fails during .installpagedevice, catch the -error, and ensure that at least the .LockSafetyParams is set. ---- - Resource/Init/gs_setpd.ps | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps -index bba3c8c..aee9614 100644 ---- a/Resource/Init/gs_setpd.ps -+++ b/Resource/Init/gs_setpd.ps -@@ -95,12 +95,19 @@ level2dict begin - { % Since setpagedevice doesn't create new device objects, - % we must (carefully) reinstall the old parameters in - % the same device. -- .currentpagedevice pop //null currentdevice //null .trysetparams -+ .currentpagedevice pop //null currentdevice //null -+ {.trysetparams} .internalstopped -+ { -+ //null -+ } if - dup type /booleantype eq - { pop pop } -- { % This should never happen! -+ { - SETPDDEBUG { (Error in .trysetparams!) = pstack flush } if - cleartomark pop pop pop -+ % if resetting the entire device state failed, at least put back the se -+ currentdevice //null //false mark /.LockSafetyParams .currentpagedevice pop -+ /.LockSafetyParams .knownget not {//false} if .putdeviceparamsonly - /.installpagedevice cvx /rangecheck signalerror - } - ifelse pop pop --- -2.9.1 - - -From e914f1da46e33decc534486598dc3eadf69e6efb Mon Sep 17 00:00:00 2001 -From: Chris Liddell <chris.lidd...@artifex.com> -Date: Wed, 5 Sep 2018 08:44:41 +0100 -Subject: [PATCH] Fix incomplete comment from previous commit - ---- - Resource/Init/gs_setpd.ps | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps -index aee9614..b75c431 100644 ---- a/Resource/Init/gs_setpd.ps -+++ b/Resource/Init/gs_setpd.ps -@@ -105,7 +105,8 @@ level2dict begin - { - SETPDDEBUG { (Error in .trysetparams!) = pstack flush } if - cleartomark pop pop pop -- % if resetting the entire device state failed, at least put back the se -+ % if resetting the entire device state failed, at least put back the -+ % security related key - currentdevice //null //false mark /.LockSafetyParams .currentpagedevice pop - /.LockSafetyParams .knownget not {//false} if .putdeviceparamsonly - /.installpagedevice cvx /rangecheck signalerror --- -2.9.1 - - Copied: ghostscript/repos/testing-x86_64/0002_retain_LockSafetyParams_through_failed_installpagedevice.patch (from rev 333828, ghostscript/trunk/0002_retain_LockSafetyParams_through_failed_installpagedevice.patch) =================================================================== --- 0002_retain_LockSafetyParams_through_failed_installpagedevice.patch (rev 0) +++ 0002_retain_LockSafetyParams_through_failed_installpagedevice.patch 2018-09-07 15:46:40 UTC (rev 333829) @@ -0,0 +1,69 @@ +From 5812b1b78fc4d36fdc293b7859de69241140d590 Mon Sep 17 00:00:00 2001 +From: Chris Liddell <chris.lidd...@artifex.com> +Date: Tue, 4 Sep 2018 23:18:46 +0100 +Subject: [PATCH] Bug 699714: retain .LockSafetyParams through failed + .installpagedevice + +In the event that the .trysetparams fails during .installpagedevice, catch the +error, and ensure that at least the .LockSafetyParams is set. +--- + Resource/Init/gs_setpd.ps | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps +index bba3c8c..aee9614 100644 +--- a/Resource/Init/gs_setpd.ps ++++ b/Resource/Init/gs_setpd.ps +@@ -95,12 +95,19 @@ level2dict begin + { % Since setpagedevice doesn't create new device objects, + % we must (carefully) reinstall the old parameters in + % the same device. +- .currentpagedevice pop //null currentdevice //null .trysetparams ++ .currentpagedevice pop //null currentdevice //null ++ {.trysetparams} .internalstopped ++ { ++ //null ++ } if + dup type /booleantype eq + { pop pop } +- { % This should never happen! ++ { + SETPDDEBUG { (Error in .trysetparams!) = pstack flush } if + cleartomark pop pop pop ++ % if resetting the entire device state failed, at least put back the se ++ currentdevice //null //false mark /.LockSafetyParams .currentpagedevice pop ++ /.LockSafetyParams .knownget not {//false} if .putdeviceparamsonly + /.installpagedevice cvx /rangecheck signalerror + } + ifelse pop pop +-- +2.9.1 + + +From e914f1da46e33decc534486598dc3eadf69e6efb Mon Sep 17 00:00:00 2001 +From: Chris Liddell <chris.lidd...@artifex.com> +Date: Wed, 5 Sep 2018 08:44:41 +0100 +Subject: [PATCH] Fix incomplete comment from previous commit + +--- + Resource/Init/gs_setpd.ps | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps +index aee9614..b75c431 100644 +--- a/Resource/Init/gs_setpd.ps ++++ b/Resource/Init/gs_setpd.ps +@@ -105,7 +105,8 @@ level2dict begin + { + SETPDDEBUG { (Error in .trysetparams!) = pstack flush } if + cleartomark pop pop pop +- % if resetting the entire device state failed, at least put back the se ++ % if resetting the entire device state failed, at least put back the ++ % security related key + currentdevice //null //false mark /.LockSafetyParams .currentpagedevice pop + /.LockSafetyParams .knownget not {//false} if .putdeviceparamsonly + /.installpagedevice cvx /rangecheck signalerror +-- +2.9.1 + + Deleted: 0003_Fix_SEGV_seen_in_all-devices_test.patch =================================================================== --- 0003_Fix_SEGV_seen_in_all-devices_test.patch 2018-09-07 15:46:27 UTC (rev 333828) +++ 0003_Fix_SEGV_seen_in_all-devices_test.patch 2018-09-07 15:46:40 UTC (rev 333829) @@ -1,40 +0,0 @@ -From 68eca5e94e6f63f4392b15581ad41af52e0edfd9 Mon Sep 17 00:00:00 2001 -From: Robin Watts <robin.wa...@artifex.com> -Date: Thu, 6 Sep 2018 12:56:51 +0100 -Subject: [PATCH] Fix SEGV seen in all-devices test with plank - examples/ridt91.eps - -Silly typo in the contone fill code for the landscape flippedy -color cache case. ---- - base/gximono.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/base/gximono.c b/base/gximono.c -index 2971f40..276db69 100644 ---- a/base/gximono.c -+++ b/base/gximono.c -@@ -1222,8 +1222,8 @@ image_render_mono_ht(gx_image_enum * penum_orig, const byte * buffer, int data_x - dev_value = &(color_cache[*psrc * spp_out]); - for (j = 0; j < spp_out; j++) { - *(devc_contone[j] + position) = dev_value[j]; -- position -= LAND_BITS; - } -+ position -= LAND_BITS; - xr--; - } /* at loop exit xn will be <= xr */ - psrc++; -@@ -1259,8 +1259,8 @@ image_render_mono_ht(gx_image_enum * penum_orig, const byte * buffer, int data_x - dev_value = &(color_cache[*psrc * spp_out]); - for (j = 0; j < spp_out; j++) { - *(devc_contone[j] + position) = dev_value[j]; -- devc_contone[j] += LAND_BITS; - } -+ position += LAND_BITS; - xr++; - } /* at loop exit xn will be >= xr */ - psrc++; --- -2.9.1 - - Copied: ghostscript/repos/testing-x86_64/0003_Fix_SEGV_seen_in_all-devices_test.patch (from rev 333828, ghostscript/trunk/0003_Fix_SEGV_seen_in_all-devices_test.patch) =================================================================== --- 0003_Fix_SEGV_seen_in_all-devices_test.patch (rev 0) +++ 0003_Fix_SEGV_seen_in_all-devices_test.patch 2018-09-07 15:46:40 UTC (rev 333829) @@ -0,0 +1,40 @@ +From 68eca5e94e6f63f4392b15581ad41af52e0edfd9 Mon Sep 17 00:00:00 2001 +From: Robin Watts <robin.wa...@artifex.com> +Date: Thu, 6 Sep 2018 12:56:51 +0100 +Subject: [PATCH] Fix SEGV seen in all-devices test with plank + examples/ridt91.eps + +Silly typo in the contone fill code for the landscape flippedy +color cache case. +--- + base/gximono.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/base/gximono.c b/base/gximono.c +index 2971f40..276db69 100644 +--- a/base/gximono.c ++++ b/base/gximono.c +@@ -1222,8 +1222,8 @@ image_render_mono_ht(gx_image_enum * penum_orig, const byte * buffer, int data_x + dev_value = &(color_cache[*psrc * spp_out]); + for (j = 0; j < spp_out; j++) { + *(devc_contone[j] + position) = dev_value[j]; +- position -= LAND_BITS; + } ++ position -= LAND_BITS; + xr--; + } /* at loop exit xn will be <= xr */ + psrc++; +@@ -1259,8 +1259,8 @@ image_render_mono_ht(gx_image_enum * penum_orig, const byte * buffer, int data_x + dev_value = &(color_cache[*psrc * spp_out]); + for (j = 0; j < spp_out; j++) { + *(devc_contone[j] + position) = dev_value[j]; +- devc_contone[j] += LAND_BITS; + } ++ position += LAND_BITS; + xr++; + } /* at loop exit xn will be >= xr */ + psrc++; +-- +2.9.1 + + Copied: ghostscript/repos/testing-x86_64/0004_Add_the_ICCProfilesDir_to_the_PermitReading_list.patch (from rev 333828, ghostscript/trunk/0004_Add_the_ICCProfilesDir_to_the_PermitReading_list.patch) =================================================================== --- 0004_Add_the_ICCProfilesDir_to_the_PermitReading_list.patch (rev 0) +++ 0004_Add_the_ICCProfilesDir_to_the_PermitReading_list.patch 2018-09-07 15:46:40 UTC (rev 333829) @@ -0,0 +1,43 @@ +From c8c01f8c4164bc10281d9e8f87cf96314d93104b Mon Sep 17 00:00:00 2001 +From: Chris Liddell <chris.lidd...@artifex.com> +Date: Thu, 6 Sep 2018 14:08:41 +0100 +Subject: [PATCH] Bug 699722: Add the ICCProfilesDir to the PermitReading list + +There was also an issue that the string being returned from the graphics +library was null terminated, and Postscript strings are not (and Ghostscript +strings are not necessarily). We leave the null termination in place, but +reduce the length returned by 1. +--- + Resource/Init/gs_init.ps | 1 + + base/gsicc_manage.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps +index bc8b795..83918a9 100644 +--- a/Resource/Init/gs_init.ps ++++ b/Resource/Init/gs_init.ps +@@ -2049,6 +2049,7 @@ readonly def + [ currentsystemparams /GenericResourceDir get] (*) .file_name_separator (*) + concatstrings concatstrings .generate_dir_list_templates + } if ++ currentuserparams /ICCProfilesDir known {currentuserparams /ICCProfilesDir get} if + ] + /PermitFileWriting [ + currentuserparams /PermitFileWriting get aload pop +diff --git a/base/gsicc_manage.c b/base/gsicc_manage.c +index 69f05c4..ff685e7 100644 +--- a/base/gsicc_manage.c ++++ b/base/gsicc_manage.c +@@ -2972,7 +2972,7 @@ gs_currenticcdirectory(const gs_gstate * pgs, gs_param_string * pval) + pval->persistent = true; + } else { + pval->data = (const byte *)(lib_ctx->profiledir); +- pval->size = lib_ctx->profiledir_len; ++ pval->size = lib_ctx->profiledir_len - 1; + pval->persistent = false; + } + } +-- +2.9.1 + + Copied: ghostscript/repos/testing-x86_64/0005_add_wildcards_to_the_permissions_paths.patch (from rev 333828, ghostscript/trunk/0005_add_wildcards_to_the_permissions_paths.patch) =================================================================== --- 0005_add_wildcards_to_the_permissions_paths.patch (rev 0) +++ 0005_add_wildcards_to_the_permissions_paths.patch 2018-09-07 15:46:40 UTC (rev 333829) @@ -0,0 +1,55 @@ +From 13418541a5ae19b15f51cbb87faf344902f5af98 Mon Sep 17 00:00:00 2001 +From: Chris Liddell <chris.lidd...@artifex.com> +Date: Thu, 6 Sep 2018 18:40:05 +0100 +Subject: [PATCH] Bug 699722 (2): add wildcards to the permissions paths. + +The temp and ICC profile paths need to finish with wildcards to work correctly. +--- + Resource/Init/gs_init.ps | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps +index 83918a9..5ff9f63 100644 +--- a/Resource/Init/gs_init.ps ++++ b/Resource/Init/gs_init.ps +@@ -2034,7 +2034,7 @@ readonly def + << + /PermitFileReading [ + currentuserparams /PermitFileReading get aload pop +- //tempfilepaths aload pop ++ [//tempfilepaths aload pop] (*) .generate_dir_list_templates + /FONTPATH .systemvar (*) .generate_dir_list_templates + % Library files : + /LIBPATH .systemvar (*) .generate_dir_list_templates +@@ -2049,15 +2049,15 @@ readonly def + [ currentsystemparams /GenericResourceDir get] (*) .file_name_separator (*) + concatstrings concatstrings .generate_dir_list_templates + } if +- currentuserparams /ICCProfilesDir known {currentuserparams /ICCProfilesDir get} if ++ currentuserparams /ICCProfilesDir known {[currentuserparams /ICCProfilesDir get] (*) .generate_dir_list_templates} if + ] + /PermitFileWriting [ + currentuserparams /PermitFileWriting get aload pop +- //tempfilepaths aload pop ++ [//tempfilepaths aload pop] (*) .generate_dir_list_templates + ] + /PermitFileControl [ + currentuserparams /PermitFileControl get aload pop +- //tempfilepaths aload pop ++ [//tempfilepaths aload pop] (*) .generate_dir_list_templates + ] + /LockFilePermissions //true + >> setuserparams +@@ -2140,7 +2140,7 @@ SAFER { .setsafeglobal } if + /.setshapealpha % transparency-example.ps + /.endtransparencygroup % transparency-example.ps + /.setdotlength % Bug687720.ps +- /.sort /.setdebug /.mementolistnewblocks /getenv ++ /.sort /.mementolistnewblocks /getenv + + /.makeoperator /.setCPSImode % gs_cet.ps, this won't work on cluster with -dSAFER + +-- +2.9.1 + + Deleted: PKGBUILD =================================================================== --- PKGBUILD 2018-09-07 15:46:27 UTC (rev 333828) +++ PKGBUILD 2018-09-07 15:46:40 UTC (rev 333829) @@ -1,110 +0,0 @@ -# $Id$ -# Maintainer: AndyRTR <andy...@archlinux.org> - -pkgbase=ghostscript -pkgname=(ghostscript ghostxps ghostpcl) -pkgver=9.24 -pkgrel=4 -pkgdesc="An interpreter for the PostScript language" -url="https://www.ghostscript.com/" -arch=('x86_64') -license=('AGPL3' 'custom') -depends=('libxt' 'libcups' 'fontconfig' 'zlib' 'libpng' 'libjpeg' 'jbig2dec' - 'libtiff' 'lcms2' 'dbus' 'libpaper' 'ijs' 'openjpeg2') -makedepends=('gtk3' 'gnutls' 'glu' 'freeglut') -# https://github.com/ArtifexSoftware/ghostpdl-downloads/releases -source=(https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${pkgver/./}/ghostpdl-${pkgver}.tar.gz - 0001_ICC_profile_validation.patch - 0002_retain_LockSafetyParams_through_failed_installpagedevice.patch - 0003_Fix_SEGV_seen_in_all-devices_test.patch) -sha512sums=('a0ed7235808ed79ad88ddf0808ef3eb667ffd1b0300ceda78eac3d0ad69d4a963821fa05319ed822db51911210c4fd7d8dbd4d73951e330fbc7b99e4f00a45fa' - '6cfdd351e8e84968c20cf8f15e01a09a215b6132af89ca0e392716638d925a0f750dab3dbcbdf44f200fb9cc419be5dadccffc226c9a405e888f3580f98cf4ea' - '670ccf36927904fc2e918847baf082753d3b4b81fd0ee2347feb6de5a0ab77eb9c00cb640fcb3c7a0f395694112f3921775a6f614bec08e3d4452155b030951e' - '45be77dc890d9d251541d44fe0ad860a7d83d969ce697bbb32cb469d8837417020f1a017ae7aecbb8fbb45647ad9c3e6f92d321c2adfe6c8b3412c580f4058c5') - -prepare() { - cd ghostpdl-${pkgver} - - # force it to use system-libs - rm -r cups/libs expat ijs jbig2dec jpeg lcms2mt libpng openjpeg tiff zlib - # using tree freetype because of https://bugs.archlinux.org/task/56849 - # lcms2mt is the new lcms2 fork aimed to replace lcms2 in a thread safe way - - # https://bugs.ghostscript.com/show_bug.cgi?id=699713 - patch -Np1 -i ../0001_ICC_profile_validation.patch - # apply more upstream fixes to solve various crashes - patch -Np1 -i ../0002_retain_LockSafetyParams_through_failed_installpagedevice.patch - patch -Np1 -i ../0003_Fix_SEGV_seen_in_all-devices_test.patch -} - -build() { - cd ghostpdl-${pkgver} - - ./configure --prefix=/usr \ - --enable-dynamic \ - --with-ijs \ - --with-jbig2dec \ - --with-x \ - --with-drivers=ALL \ - --with-fontpath=/usr/share/fonts/gsfonts \ - --enable-fontconfig \ - --enable-freetype \ - --enable-openjpeg \ - --without-luratech \ - --with-system-libtiff \ - --with-libpaper \ - --disable-compile-inits #--help # needed for linking with system-zlib - - make so-only -} - -package_ghostscript() { - optdepends=('texlive-core: needed for dvipdf' - 'gtk3: needed for gsx') - - cd ghostpdl-${pkgver} - - make DESTDIR="${pkgdir}" \ - CUPSSERVERROOT="${pkgdir}$(cups-config --serverroot)" \ - CUPSSERVERBIN="${pkgdir}$(cups-config --serverbin)" \ - soinstall - ln -s gsc "${pkgdir}"/usr/bin/gs - - # remove useless broken doc/ symlink - FS#59507 - rm -f "${pkgdir}"/usr/share/ghostscript/${pkgver}/doc - - # remove unwanted localized manpages - rm -r "${pkgdir}"/usr/share/man/de - - install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE -} - -package_ghostxps() { - pkgdesc="${pkgdesc/PostScript/XPS document}" - depends=("ghostscript=${pkgver}-${pkgrel}") - - cd ghostpdl-${pkgver} - - install -Dt "${pkgdir}"/usr/bin sobin/gxpsc - ln -s gxpsc "${pkgdir}"/usr/bin/gxps - - install -Dt "${pkgdir}"/usr/lib sobin/libgxps.so.${pkgver%.*} - ln -s libgxps.so.${pkgver%.*} "${pkgdir}"/usr/lib/libgxps.so.${pkgver%rc*} - - install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE -} - -package_ghostpcl() { - pkgdesc="${pkgdesc/PostScript/PCL 6}" - depends=("ghostscript=${pkgver}-${pkgrel}") - - cd ghostpdl-${pkgver} - - install -Dt "${pkgdir}"/usr/bin sobin/gpcl6c - ln -sf gpcl6c "${pkgdir}"/usr/bin/gpcl6 - - install -Dt "${pkgdir}"/usr/lib sobin/libgpcl6.so.${pkgver%.*} - ln -s libgpcl6.so.${pkgver%.*} "${pkgdir}"/usr/lib/libgpcl6.so.${pkgver%rc*} - - install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE -} Copied: ghostscript/repos/testing-x86_64/PKGBUILD (from rev 333828, ghostscript/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2018-09-07 15:46:40 UTC (rev 333829) @@ -0,0 +1,119 @@ +# $Id$ +# Maintainer: AndyRTR <andy...@archlinux.org> + +pkgbase=ghostscript +pkgname=(ghostscript ghostxps ghostpcl) +pkgver=9.24 +pkgrel=5 +pkgdesc="An interpreter for the PostScript language" +url="https://www.ghostscript.com/" +arch=('x86_64') +license=('AGPL3' 'custom') +depends=('libxt' 'libcups' 'fontconfig' 'zlib' 'libpng' 'libjpeg' 'jbig2dec' + 'libtiff' 'lcms2' 'dbus' 'libpaper' 'ijs' 'openjpeg2') +makedepends=('gtk3' 'gnutls' 'glu' 'freeglut') +# https://github.com/ArtifexSoftware/ghostpdl-downloads/releases +source=(https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${pkgver/./}/ghostpdl-${pkgver}.tar.gz + 0001_ICC_profile_validation.patch + 0002_retain_LockSafetyParams_through_failed_installpagedevice.patch + 0003_Fix_SEGV_seen_in_all-devices_test.patch + 0004_Add_the_ICCProfilesDir_to_the_PermitReading_list.patch + 0005_add_wildcards_to_the_permissions_paths.patch) +sha512sums=('a0ed7235808ed79ad88ddf0808ef3eb667ffd1b0300ceda78eac3d0ad69d4a963821fa05319ed822db51911210c4fd7d8dbd4d73951e330fbc7b99e4f00a45fa' + '6cfdd351e8e84968c20cf8f15e01a09a215b6132af89ca0e392716638d925a0f750dab3dbcbdf44f200fb9cc419be5dadccffc226c9a405e888f3580f98cf4ea' + '670ccf36927904fc2e918847baf082753d3b4b81fd0ee2347feb6de5a0ab77eb9c00cb640fcb3c7a0f395694112f3921775a6f614bec08e3d4452155b030951e' + '45be77dc890d9d251541d44fe0ad860a7d83d969ce697bbb32cb469d8837417020f1a017ae7aecbb8fbb45647ad9c3e6f92d321c2adfe6c8b3412c580f4058c5' + 'e64bcf8e5b5f229ca14463477be21555e66a0f3c76e3c01eb9b4d8cbeebba683b9b33a624ac4617af715c281f93106ae5d8425a29ed35416fbd580242a1a27e0' + '52088ef6ca47c5ed6f34ccac2b5234bcd6561175ef35de90ede7322a98e617b37036bf8a092733bec11fea211c7e3806b98c4019b1a806f6616387ee48002ef3') + +prepare() { + cd ghostpdl-${pkgver} + + # force it to use system-libs + rm -r cups/libs expat ijs jbig2dec jpeg lcms2mt libpng openjpeg tiff zlib + # using tree freetype because of https://bugs.archlinux.org/task/56849 + # lcms2mt is the new lcms2 fork aimed to replace lcms2 in a thread safe way + + # https://bugs.ghostscript.com/show_bug.cgi?id=699713 + patch -Np1 -i ../0001_ICC_profile_validation.patch + # apply more upstream fixes to solve various crashes + patch -Np1 -i ../0002_retain_LockSafetyParams_through_failed_installpagedevice.patch + patch -Np1 -i ../0003_Fix_SEGV_seen_in_all-devices_test.patch + # FS#59952;FS#59959 + patch -Np1 -i ../0004_Add_the_ICCProfilesDir_to_the_PermitReading_list.patch + patch -Np1 -i ../0005_add_wildcards_to_the_permissions_paths.patch +} + +build() { + cd ghostpdl-${pkgver} + + ./configure --prefix=/usr \ + --enable-dynamic \ + --with-ijs \ + --with-jbig2dec \ + --with-x \ + --with-drivers=ALL \ + --with-fontpath=/usr/share/fonts/gsfonts \ + --enable-fontconfig \ + --enable-freetype \ + --enable-openjpeg \ + --without-luratech \ + --with-system-libtiff \ + --with-libpaper \ + --disable-compile-inits #--help # needed for linking with system-zlib + + make so-only +} + +package_ghostscript() { + optdepends=('texlive-core: needed for dvipdf' + 'gtk3: needed for gsx') + + cd ghostpdl-${pkgver} + + make DESTDIR="${pkgdir}" \ + CUPSSERVERROOT="${pkgdir}$(cups-config --serverroot)" \ + CUPSSERVERBIN="${pkgdir}$(cups-config --serverbin)" \ + soinstall + ln -s gsc "${pkgdir}"/usr/bin/gs + + # remove useless broken doc/ symlink - FS#59507 + rm -f "${pkgdir}"/usr/share/ghostscript/${pkgver}/doc + + # remove unwanted localized manpages + rm -r "${pkgdir}"/usr/share/man/de + + install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE + + rm "${pkgdir}"/usr/share/ghostscript/9.24/Resource/Init/gs_init.ps.orig +} + +package_ghostxps() { + pkgdesc="${pkgdesc/PostScript/XPS document}" + depends=("ghostscript=${pkgver}-${pkgrel}") + + cd ghostpdl-${pkgver} + + install -Dt "${pkgdir}"/usr/bin sobin/gxpsc + ln -s gxpsc "${pkgdir}"/usr/bin/gxps + + install -Dt "${pkgdir}"/usr/lib sobin/libgxps.so.${pkgver%.*} + ln -s libgxps.so.${pkgver%.*} "${pkgdir}"/usr/lib/libgxps.so.${pkgver%rc*} + + install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE +} + +package_ghostpcl() { + pkgdesc="${pkgdesc/PostScript/PCL 6}" + depends=("ghostscript=${pkgver}-${pkgrel}") + + cd ghostpdl-${pkgver} + + install -Dt "${pkgdir}"/usr/bin sobin/gpcl6c + ln -sf gpcl6c "${pkgdir}"/usr/bin/gpcl6 + + install -Dt "${pkgdir}"/usr/lib sobin/libgpcl6.so.${pkgver%.*} + ln -s libgpcl6.so.${pkgver%.*} "${pkgdir}"/usr/lib/libgpcl6.so.${pkgver%rc*} + + install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE +}