summaryrefslogtreecommitdiff
path: root/print
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2018-09-05 13:19:40 +0000
committeradam <adam@pkgsrc.org>2018-09-05 13:19:40 +0000
commit0a63c2a728751d4345bcef51bc3a5b82c29bf056 (patch)
tree16bbc683fc5cc2b235432e0f0ce6ccf389537e7e /print
parentb7ed717a390536975e670d8da55f982a4a2cd1ae (diff)
downloadpkgsrc-0a63c2a728751d4345bcef51bc3a5b82c29bf056.tar.gz
ghostscript-agpl: updated to 9.24
Version 9.24: Highlights in this release include: Security issues have been the primary focus of this release, including solving several (well publicised) real and potential exploits. PLEASE NOTE: We strongly urge users to upgrade to this latest release to avoid these issues. As well as Ghostscript itself, jbig2dec has had a significant amount of work improving its robustness in the face of out specification files. IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and cannot be made thread safe without breaking the ABI. Our fork will be thread safe, and include performance enhancements (these changes have all be been offered and rejected upstream). We will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity. Our fork will be available as its own package separately from Ghostscript (and MuPDF). The usual round of bug fixes, compatibility changes, and incremental improvements.
Diffstat (limited to 'print')
-rw-r--r--print/ghostscript-agpl/Makefile3
-rw-r--r--print/ghostscript-agpl/Makefile.common4
-rw-r--r--print/ghostscript-agpl/PLIST22
-rw-r--r--print/ghostscript-agpl/distinfo16
-rw-r--r--print/ghostscript-agpl/patches/patch-base_unix-dll.mak24
-rw-r--r--print/ghostscript-agpl/patches/patch-configure18
-rw-r--r--print/ghostscript-agpl/patches/patch-devices_devs.mak10
7 files changed, 41 insertions, 56 deletions
diff --git a/print/ghostscript-agpl/Makefile b/print/ghostscript-agpl/Makefile
index 8ee20560f8b..8dc6b2e5a44 100644
--- a/print/ghostscript-agpl/Makefile
+++ b/print/ghostscript-agpl/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.33 2018/08/22 09:46:13 wiz Exp $
+# $NetBSD: Makefile,v 1.34 2018/09/05 13:19:40 adam Exp $
DISTNAME= ghostscript-${GS_VERSION}
PKGNAME= ${DISTNAME:S/ghostscript/ghostscript-agpl/}
-PKGREVISION= 1
CATEGORIES= print
MASTER_SITES= ${MASTER_SITE_GITHUB:=ArtifexSoftware/}
GITHUB_PROJECT= ghostpdl-downloads
diff --git a/print/ghostscript-agpl/Makefile.common b/print/ghostscript-agpl/Makefile.common
index 23d7b46197a..36a4b79b37e 100644
--- a/print/ghostscript-agpl/Makefile.common
+++ b/print/ghostscript-agpl/Makefile.common
@@ -1,5 +1,5 @@
-# $NetBSD: Makefile.common,v 1.13 2018/03/21 17:41:01 adam Exp $
+# $NetBSD: Makefile.common,v 1.14 2018/09/05 13:19:40 adam Exp $
# used by print/ghostscript-agpl/Makefile
# used by fonts/ghostscript-cidfonts-ryumin/Makefile
-GS_VERSION= 9.23
+GS_VERSION= 9.24
diff --git a/print/ghostscript-agpl/PLIST b/print/ghostscript-agpl/PLIST
index 43f274b9bc4..ea937df706f 100644
--- a/print/ghostscript-agpl/PLIST
+++ b/print/ghostscript-agpl/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.10 2018/03/21 17:41:01 adam Exp $
+@comment $NetBSD: PLIST,v 1.11 2018/09/05 13:19:40 adam Exp $
bin/dvipdf
bin/eps2eps
bin/gs
@@ -69,40 +69,23 @@ man/man1/ps2pdf14.1
man/man1/ps2pdfwr.1
man/man1/ps2ps.1
share/doc/ghostscript/${PKGVERSION}/API.htm
-share/doc/ghostscript/${PKGVERSION}/AUTHORS
share/doc/ghostscript/${PKGVERSION}/C-style.htm
share/doc/ghostscript/${PKGVERSION}/COPYING
-share/doc/ghostscript/${PKGVERSION}/Changes.htm
share/doc/ghostscript/${PKGVERSION}/Commprod.htm
share/doc/ghostscript/${PKGVERSION}/DLL.htm
share/doc/ghostscript/${PKGVERSION}/Deprecated.htm
-share/doc/ghostscript/${PKGVERSION}/Details.htm
-share/doc/ghostscript/${PKGVERSION}/Details8.htm
-share/doc/ghostscript/${PKGVERSION}/Details9.htm
share/doc/ghostscript/${PKGVERSION}/Develop.htm
share/doc/ghostscript/${PKGVERSION}/Devices.htm
share/doc/ghostscript/${PKGVERSION}/Drivers.htm
share/doc/ghostscript/${PKGVERSION}/Fonts.htm
share/doc/ghostscript/${PKGVERSION}/GS9_Color_Management.pdf
share/doc/ghostscript/${PKGVERSION}/GS9_Color_Management.tex
-share/doc/ghostscript/${PKGVERSION}/Helpers.htm
-share/doc/ghostscript/${PKGVERSION}/Hershey.htm
-share/doc/ghostscript/${PKGVERSION}/History1.htm
-share/doc/ghostscript/${PKGVERSION}/History2.htm
-share/doc/ghostscript/${PKGVERSION}/History3.htm
-share/doc/ghostscript/${PKGVERSION}/History4.htm
-share/doc/ghostscript/${PKGVERSION}/History5.htm
-share/doc/ghostscript/${PKGVERSION}/History6.htm
-share/doc/ghostscript/${PKGVERSION}/History7.htm
-share/doc/ghostscript/${PKGVERSION}/History8.htm
share/doc/ghostscript/${PKGVERSION}/History9.htm
share/doc/ghostscript/${PKGVERSION}/Install.htm
-share/doc/ghostscript/${PKGVERSION}/Issues.htm
share/doc/ghostscript/${PKGVERSION}/Language.htm
share/doc/ghostscript/${PKGVERSION}/Lib.htm
share/doc/ghostscript/${PKGVERSION}/Make.htm
share/doc/ghostscript/${PKGVERSION}/News.htm
-share/doc/ghostscript/${PKGVERSION}/Projects.htm
share/doc/ghostscript/${PKGVERSION}/Ps-style.htm
share/doc/ghostscript/${PKGVERSION}/Ps2epsi.htm
share/doc/ghostscript/${PKGVERSION}/Psfiles.htm
@@ -114,8 +97,8 @@ share/doc/ghostscript/${PKGVERSION}/Unix-lpr.htm
share/doc/ghostscript/${PKGVERSION}/Use.htm
share/doc/ghostscript/${PKGVERSION}/VectorDevices.htm
share/doc/ghostscript/${PKGVERSION}/WhatIsGS.htm
+share/doc/ghostscript/${PKGVERSION}/gdevds32.c
share/doc/ghostscript/${PKGVERSION}/gs-vms.hlp
-share/doc/ghostscript/${PKGVERSION}/gs.css
share/doc/ghostscript/${PKGVERSION}/gsdoc.el
share/doc/ghostscript/${PKGVERSION}/index.html
share/doc/ghostscript/${PKGVERSION}/pscet_status.txt
@@ -415,7 +398,6 @@ ${PLIST.no_cidfmap}share/ghostscript/${PKGVERSION}/Resource/SubstCID/CNS1-WMode
${PLIST.no_cidfmap}share/ghostscript/${PKGVERSION}/Resource/SubstCID/GB1-WMode
${PLIST.no_cidfmap}share/ghostscript/${PKGVERSION}/Resource/SubstCID/Japan1-WMode
${PLIST.no_cidfmap}share/ghostscript/${PKGVERSION}/Resource/SubstCID/Korea1-WMode
-share/ghostscript/${PKGVERSION}/doc
${PLIST.no_cidfmap}share/ghostscript/${PKGVERSION}/iccprofiles/default_cmyk.icc
${PLIST.no_cidfmap}share/ghostscript/${PKGVERSION}/iccprofiles/default_gray.icc
${PLIST.no_cidfmap}share/ghostscript/${PKGVERSION}/iccprofiles/default_rgb.icc
diff --git a/print/ghostscript-agpl/distinfo b/print/ghostscript-agpl/distinfo
index 9efa43d3fdb..61a615d678d 100644
--- a/print/ghostscript-agpl/distinfo
+++ b/print/ghostscript-agpl/distinfo
@@ -1,12 +1,12 @@
-$NetBSD: distinfo,v 1.20 2018/03/21 17:41:01 adam Exp $
+$NetBSD: distinfo,v 1.21 2018/09/05 13:19:40 adam Exp $
-SHA1 (ghostscript-9.23.tar.xz) = ada14b27bce031fc87330249e0b48900955c447c
-RMD160 (ghostscript-9.23.tar.xz) = 17d6d80dcb4811fbb5f4918724be71918459e11e
-SHA512 (ghostscript-9.23.tar.xz) = 0c1f59b743f92f9cf7000b06f6209010e583ef4d6899c20ed245721dea3c08fd58b9e2d1513fe83765ab6be233bc7ab250cf18054e4d09de4073b1111e38035f
-Size (ghostscript-9.23.tar.xz) = 33426160 bytes
+SHA1 (ghostscript-9.24.tar.xz) = 46a605c2576f9b11a733f6854845dcb4c24d9e10
+RMD160 (ghostscript-9.24.tar.xz) = 747080f3e33a5b35e2f5c6e25e837d94903d7e9f
+SHA512 (ghostscript-9.24.tar.xz) = dcbeeb5d3dd5ccaf949dc4be68363c50b1d35e647be4790a50b1bbf5f259f1d9181f705be27bfca708c4d270f945ff4b24e3db10b57800c1ee0ea7a40931c547
+Size (ghostscript-9.24.tar.xz) = 33015704 bytes
SHA1 (patch-base_gserrors_h) = ce75cfb7528871842a3bd35e18a6d91c89823909
SHA1 (patch-base_lib.mak) = 723926f167b49568376ef0c0da6aa4ec01fe1516
SHA1 (patch-base_mkromfs.c) = 96006928e0b5381e7101027372b6e6408f1c4a0b
-SHA1 (patch-base_unix-dll.mak) = 23595f424ecd2af4a504f15817fd57cdec8851df
-SHA1 (patch-configure) = 07a27ec49e9e17e12d13c599fcfdfa8117cc4144
-SHA1 (patch-devices_devs.mak) = ceb89a4d50765e146c0f3199c31b2c053bf2be09
+SHA1 (patch-base_unix-dll.mak) = 73b5ee7fcbc7940ce72f44b35417d624f7ae5bca
+SHA1 (patch-configure) = 08ed9451fc3cf1aade8992e4297c7df736416c8b
+SHA1 (patch-devices_devs.mak) = 9857c177e7a6a28ee326dbc878bbe52ccbcfedce
diff --git a/print/ghostscript-agpl/patches/patch-base_unix-dll.mak b/print/ghostscript-agpl/patches/patch-base_unix-dll.mak
index b8a98778528..44340d03604 100644
--- a/print/ghostscript-agpl/patches/patch-base_unix-dll.mak
+++ b/print/ghostscript-agpl/patches/patch-base_unix-dll.mak
@@ -1,9 +1,9 @@
-$NetBSD: patch-base_unix-dll.mak,v 1.3 2017/07/12 08:55:36 wiz Exp $
+$NetBSD: patch-base_unix-dll.mak,v 1.4 2018/09/05 13:19:40 adam Exp $
Use correct shared library naming on Darwin.
Add some rpaths.
---- base/unix-dll.mak.orig 2017-03-16 10:12:02.000000000 +0000
+--- base/unix-dll.mak.orig 2018-09-03 08:50:27.000000000 +0000
+++ base/unix-dll.mak
@@ -91,10 +91,10 @@ GPDL_SONAME_MAJOR_MINOR=$(GPDL_SONAME_BA
@@ -22,15 +22,15 @@ Add some rpaths.
#LDFLAGS_SO=-dynamiclib -install_name $(FRAMEWORK_NAME)
@@ -171,11 +171,11 @@ gpdl-so-links-subtarget: $(GPDL_SO) $(UN
# Build the small Ghostscript loaders, with Gtk+ and without
- $(GSSOC_XE): gs-so-links-subtarget $(PSSRC)$(SOC_LOADER) $(UNIX_DLL_MAK) $(MAKEDIRS)
- $(GLCC) -g -o $(GSSOC_XE) $(PSSRC)dxmainc.c \
-- -L$(BINDIR) -l$(GS_SO_BASE)
-+ -L$(BINDIR) -L$(PREFIX)/lib -Wl,-R$(PREFIX)/lib -l$(GS_SO_BASE) $(LDFLAGS)
+ $(GSSOC_XE): gs-so-links-subtarget $(PSSRC)dxmainc.c $(UNIX_DLL_MAK) $(MAKEDIRS)
+ $(GLCC) $(GLO_)dxmainc.$(OBJ) $(C_) $(PSSRC)dxmainc.c
+- $(GLCC) -L$(BINDIR) $(LDFLAGS) $(O_) $(GSSOC_XE) $(GLOBJ)dxmainc.$(OBJ) -l$(GS_SO_BASE)
++ $(GLCC) -L$(BINDIR) -L$(PREFIX)/lib -Wl,-R$(PREFIX)/lib $(LDFLAGS) $(O_) $(GSSOC_XE) $(GLOBJ)dxmainc.$(OBJ) -l$(GS_SO_BASE)
- $(GSSOX_XE): gs-so-links-subtarget $(PSSRC)$(SOC_LOADER) $(UNIX_DLL_MAK) $(MAKEDIRS)
- $(GLCC) -g $(SOC_CFLAGS) -o $(GSSOX_XE) $(PSSRC)$(SOC_LOADER) \
-- -L$(BINDIR) -l$(GS_SO_BASE) $(SOC_LIBS)
-+ -L$(BINDIR) -L$(PREFIX)/lib -Wl,-R$(PREFIX)/lib -l$(GS_SO_BASE) $(SOC_LIBS) $(LDFLAGS)
+ $(GSSOX_XE): gs-so-links-subtarget $(PSSRC)$(SOC_LOADER).c $(UNIX_DLL_MAK) $(MAKEDIRS)
+ $(GLCC) $(SOC_CFLAGS) $(GLO_)$(SOC_LOADER).$(OBJ) $(C_) $(PSSRC)$(SOC_LOADER).c
+- $(GLCC) -L$(BINDIR) $(LDFLAGS) $(O_) $(GSSOX_XE) $(GLOBJ)$(SOC_LOADER).$(OBJ) -l$(GS_SO_BASE) $(SOC_LIBS)
++ $(GLCC) -L$(BINDIR) -L$(PREFIX)/lib -Wl,-R$(PREFIX)/lib $(LDFLAGS) $(O_) $(GSSOX_XE) $(GLOBJ)$(SOC_LOADER).$(OBJ) -l$(GS_SO_BASE) $(SOC_LIBS)
- $(PCLSOC_XE): gpcl6-so-links-subtarget $(PLSRC)$(REALMAIN_SRC).c $(UNIX_DLL_MAK) $(MAKEDIRS)
- $(GLCC) -g -o $(PCLSOC_XE) $(PLSRC)$(REALMAIN_SRC).c -L$(BINDIR) -l$(PCL_SO_BASE)
+ $(PCLSOC_XE): gpcl6-so-links-subtarget $(UNIX_DLL_MAK) $(PLOBJ)$(REALMAIN_SRC).$(OBJ) $(MAKEDIRS)
+ $(GLCC) -L$(BINDIR) $(LDFLAGS) $(O_) $(PCLSOC_XE) $(PLOBJ)$(REALMAIN_SRC).$(OBJ) -l$(PCL_SO_BASE)
diff --git a/print/ghostscript-agpl/patches/patch-configure b/print/ghostscript-agpl/patches/patch-configure
index 9b10a89e016..d06efac94d7 100644
--- a/print/ghostscript-agpl/patches/patch-configure
+++ b/print/ghostscript-agpl/patches/patch-configure
@@ -1,12 +1,12 @@
-$NetBSD: patch-configure,v 1.2 2018/01/25 10:38:57 jperkin Exp $
+$NetBSD: patch-configure,v 1.3 2018/09/05 13:19:40 adam Exp $
Use system zlib for linking.
Add rpath.
Use correct install_name with path on Darwin.
---- configure.orig 2017-10-04 08:54:03.000000000 +0000
+--- configure.orig 2018-09-03 08:51:26.000000000 +0000
+++ configure
-@@ -3742,7 +3742,7 @@ CFLAGSAUX_STANDARDTMP="\$(CFLAGS_STANDAR
+@@ -3757,7 +3757,7 @@ CFLAGSAUX_STANDARDTMP="\$(CFLAGS_STANDAR
CFLAGSAUX_DEBUGTMP="\$(CFLAGS_DEBUG)"
CFLAGSAUX_PROFILETMP="\$(CFLAGS_PROFILE)"
LDFLAGSAUXTMP="\$(LDFLAGS)"
@@ -15,7 +15,7 @@ Use correct install_name with path on Darwin.
# purposefully do not include "help" output for this
-@@ -4356,9 +4356,7 @@ else
+@@ -4371,9 +4371,7 @@ else
SunOS)
CC_OPT_FLAGS_TO_TRY="-O2"
# the trailing space is required!
@@ -26,7 +26,7 @@ Use correct install_name with path on Darwin.
if test $ac_cv_c_compiler_gnu = yes; then
CC_OPT_FLAGS_TO_TRY="-O2"
CC_DBG_FLAGS_TO_TRY="-gdwarf-2 -g3 -O0"
-@@ -6705,7 +6703,7 @@ fi
+@@ -6772,7 +6770,7 @@ fi
fi
if test x$with_libpaper != xno; then
@@ -35,29 +35,33 @@ Use correct install_name with path on Darwin.
$as_echo "#define USE_LIBPAPER 1" >>confdefs.h
-@@ -10047,9 +10045,9 @@ else
+@@ -10193,10 +10191,10 @@ else
SO_LIB_EXT=".so"
;;
Darwin*)
- GS_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(GS_SONAME_MAJOR_MINOR)"
- PCL_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(PCL_SONAME_MAJOR_MINOR)"
- XPS_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(XPS_SONAME_MAJOR_MINOR)"
+- PDL_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(GPDL_SONAME_MAJOR_MINOR)"
+ GS_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(DESTDIR)\$(libdir)/\$(GS_SONAME_MAJOR_MINOR)"
+ PCL_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(DESTDIR)\$(libdir)/\$(PCL_SONAME_MAJOR_MINOR)"
+ XPS_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(DESTDIR)\$(libdir)/\$(XPS_SONAME_MAJOR_MINOR)"
++ PDL_DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(DESTDIR)\$(libdir)/\$(GPDL_SONAME_MAJOR_MINOR)"
DYNAMIC_LIBS=""
SO_LIB_EXT=".dylib"
;;
-@@ -10059,9 +10057,9 @@ else
+@@ -10206,10 +10204,10 @@ else
else
DYNAMIC_CFLAGS="-KPIC"
fi
- GS_DYNAMIC_LDFLAGS="-G -shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)"
- PCL_DYNAMIC_LDFLAGS="-G -shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(PCL_SONAME_MAJOR)"
- XPS_DYNAMIC_LDFLAGS="-G -shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(XPS_SONAME_MAJOR)"
+- PDL_DYNAMIC_LDFLAGS="-G -shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GPDL_SONAME_MAJOR)"
+ GS_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)"
+ PCL_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(PCL_SONAME_MAJOR)"
+ XPS_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(XPS_SONAME_MAJOR)"
++ PDL_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GPDL_SONAME_MAJOR)"
DYNAMIC_LIBS=""
SO_LIB_EXT=".so"
;;
diff --git a/print/ghostscript-agpl/patches/patch-devices_devs.mak b/print/ghostscript-agpl/patches/patch-devices_devs.mak
index 763a200eeec..c004766623a 100644
--- a/print/ghostscript-agpl/patches/patch-devices_devs.mak
+++ b/print/ghostscript-agpl/patches/patch-devices_devs.mak
@@ -1,10 +1,10 @@
-$NetBSD: patch-devices_devs.mak,v 1.5 2016/04/07 08:52:06 adam Exp $
+$NetBSD: patch-devices_devs.mak,v 1.6 2018/09/05 13:19:40 adam Exp $
Don't depend on src/zlib.h.
---- devices/devs.mak.orig 2016-03-23 08:22:48.000000000 +0000
+--- devices/devs.mak.orig 2018-09-03 08:50:27.000000000 +0000
+++ devices/devs.mak
-@@ -1233,7 +1233,7 @@ $(gximdecode_h) $(DEVS_MAK) $(MAKEDIRS)
+@@ -1084,7 +1084,7 @@ $(gximdecode_h) $(DEVS_MAK) $(MAKEDIRS)
$(DEVOBJ)gdevxps_0.$(OBJ) : $(DEVVECSRC)gdevxps.c $(gdevvec_h) \
$(string__h) $(stdio__h) $(libtiff_dev) $(gx_h) $(gserrors_h) \
@@ -13,12 +13,12 @@ Don't depend on src/zlib.h.
$(stdint__h) $(gdevtifs_h) $(gsicc_create_h) $(gsicc_cache_h) \
$(gximdecode_h) $(DEVS_MAK) $(MAKEDIRS)
$(XPSDEVCC) $(I_)$(TI_)$(_I) $(GLO_)gdevxps_0.$(OBJ) $(C_) $(DEVVECSRC)gdevxps.c
-@@ -1417,7 +1417,7 @@ $(DEVOBJ)gdevgprf_1.$(OBJ) : $(DEVSRC)gd
+@@ -1224,7 +1224,7 @@ $(DEVOBJ)gdevgprf_1.$(OBJ) : $(DEVSRC)gd
$(DEVOBJ)gdevgprf_0.$(OBJ) : $(DEVSRC)gdevgprf.c $(PDEVH) $(math__h)\
$(gdevdcrd_h) $(gscrd_h) $(gscrdp_h) $(gsparam_h) $(gxlum_h)\
- $(gstypes_h) $(gxdcconv_h) $(gdevdevn_h) $(gsequivc_h) $(zlib_h)\
+ $(gstypes_h) $(gxdcconv_h) $(gdevdevn_h) $(gsequivc_h) \
$(gscms_h) $(gsicc_cache_h) $(gsicc_manage_h) $(gxgetbit_h)\
- $(gdevppla_h) $(DEVS_MAK) $(MAKEDIRS)
+ $(gdevppla_h) $(gxdevsop_h) $(DEVS_MAK) $(MAKEDIRS)
$(DEVCC) $(DEVO_)gdevgprf_0.$(OBJ) $(II)$(ZI_)$(_I) $(C_) $(DEVSRC)gdevgprf.c