Commit Graph

20 Commits

Author SHA1 Message Date
Tijl Coosemans
c00198b90e - Update to 9.26.
- Make openjpeg dependency optional and off by default because it's been
  vulnerable for a long time.
- Disable IJS option because print/hpijs, the last port that used it, has
  been removed.

PR:		234013
Approved by:	doceng (bcr)
2018-12-23 19:41:19 +00:00
Tijl Coosemans
5fa2a669f2 Remove bundled CUPS in post-patch so its headers cannot be included.
This fixes the powerpc64 build.

PR:		231549
Reported by:	Piotr Kubaj <pkubaj@anongoth.pl>
2018-09-22 13:01:38 +00:00
Tijl Coosemans
af8a39ccb6 Update to 9.25.
This release fixes problems with argument handling, some unintended results
of the security fixes to the SAFER file access restrictions (specifically
accessing ICC profile files), and some additional security issues over the
recent 9.24 release.

PR:		231547
Exp-run by:	antoine
MFH:		2018Q3
2018-09-22 09:53:10 +00:00
Tijl Coosemans
f48cd71067 Add some upstream patches for regressions in 9.24.
patch-010-bc3df07
For ICC profile validation, have cups id iteself as DeviceN.

patch-020-c8c01f8, patch-030-1341854
Add the ICCProfilesDir to the PermitReading list.

patch-040-9528102
Fix ps2epsi /undefined in --setpagedevice--.

PR:		231148
2018-09-08 10:02:22 +00:00
Tijl Coosemans
8a423bc1fa Add a patch to give Ghostscript read permission on
/usr/local/share/ghostscript/9.24/iccprofiles/* in -dSAFER mode.

Upstream bug:	https://bugs.ghostscript.com/show_bug.cgi?id=699722
Reported by:	antoine
2018-09-05 17:07:44 +00:00
Tijl Coosemans
eecc9879d4 - Update print/ghostscript9-agpl-base and print/ghostscript9-agpl-x11 to
9.24.
- Set USE_CSTD=gnu99 and eliminate a patch.
- Add cpe string.
- Patch configure to respect CFLAGS.

PR:		231148
Approved by:	doceng (blackend)
Security:	https://www.kb.cert.org/vuls/id/332928
2018-09-04 12:28:45 +00:00
Tijl Coosemans
00d5aa717b - Restore patch that adds mappings for common CJK TeX fonts to cidfmap.
Make the path in the mappings relative to LOCALBASE/share/fonts so
  print/gsfonts does not need to be installed. [1]
- Remove --enable-threadsafe from CONFIGURE_ARGS so thread-unsafe devices
  like opvp (used by Canon printer drivers) are built. [2]
- Fix detection of dlopen on FreeBSD < 11.2 (which doesn't have libdl). [2]
- Remove reference to FAPI configuration from pkg-message.  As far as I
  can tell it is only useful in combination with UFST, a commercial font
  renderer from Monotype and we don't (and can't) build with UFST support.

PR:		229211 [1], 229332 [2]
Tested by:	Osamu Matsuda <omatsuda000@gmail.com>
2018-06-26 17:15:37 +00:00
Tijl Coosemans
9a60a2e4c5 Clean up print/ghostscript9-agpl-base and print/ghostscript9-agpl-x11 and
update them to version 9.23.  Share CMap data with graphics/poppler-data
and update that to 0.4.9.

Details for print/ghostscript9-agpl-base:
- Update to 9.23.
- Drop external epag device.
- Always use fontconfig to find fonts.
- Use ports openjpeg instead of bundled.
- Use bundled lcms2, because upstream forked it.
- Drop dependency on gsfonts.  Newer versions of the fonts are already
  included.
- Depend on poppler-data for CMap files.  It has the same maps except
  Identity-H, Identity-UTF16-H, and Identity-V.
- Resolve conflict with gambc by moving bin/gsc to bin/gs instead of
  symlinking.
- Configure with --with-libiconv=maybe instead of --with-libiconv=native to
  prevent detecting libiconv from converters/libiconv if it happens to be
  installed.  Also remove the ICONV option because it's part of the base
  system in all supported versions of FreeBSD.
- Enable thread safety.
- Remove all driver options and simply build with --with-drivers=ALL.  They
  don't take up much space and don't require additional dependencies so
  options don't provide much value.  This makes the port a lot easier to
  maintain.
- Set the internal font path to ${LOCALBASE}/share/fonts because the
  upstream default doesn't make much sense on FreeBSD.
- Make dependency on libijs optional because it only seems to be used by
  print/hpijs which is deprecated.
- Extract all directories and remove unwanted directories in post-patch so
  contents can be examined after 'make extract'.
- Strip gs and libgs.so.  Reported by stage-qa.
- Install color profiles in share/color/icc, where other programs can find
  them.
- Remove old patches.

Details for print/ghostscript9-agpl-x11:
- Keep the Makefile similar to ghostscript9-agpl-base Makefile.
- Set PATCHDIR to ghostscript9-agpl-base/files so patches are shared.

Details for graphics/poppler-data:
- Update to 0.4.9.
- Replace post-patch with MAKE_ARGS.
- Add post-install to make all CMap files available in share/cmap so
  Ghostscript can use them too.  Unfortunately, Poppler requires these files
  organised in subdirectories and Ghostscript wants them all in one
  directory, hence the hardlinks.

PR:		228546
Approved by:	maintainer timeout (15 days)
2018-06-12 09:45:14 +00:00
Alexey Dokuchaev
9c3473d7fa For ports under `print' category: remove redundant PKGMESSAGE assignment,
which is set appropriately by the b.p.m when `pkg-message' appears on the
SUB_FILES list.
2018-05-05 14:47:12 +00:00
Jan Beich
08b2f4dc2e print/ghostscript9-agpl-base: revert r432155 per FreeBSD 11.0 EOL
Approved by:	portmgr blanket
2018-01-05 02:57:59 +00:00
Jan Beich
441e4db941 print/ghostscript9-agpl-base: unbreak on 11.0 aarch64 via -O0
fatal error: error in backend: Cannot select: 0x431dcbe0: i32 = AArch64ISD::FCCMP 0x431f3d10, 0x431e1980, Constant:i32<0>, Constant:i32<13>, 0x43415e40
  0x431f3d10: f128,ch = CopyFromReg 0x42c42930, Register:f128 %vreg170
    0x431e2ab0: f128 = Register %vreg170
  0x431e1980: f128,ch = CopyFromReg 0x42c42930, Register:f128 %vreg88
    0x431f34c0: f128 = Register %vreg88
  0x431dc390: i32 = Constant<0>
  0x42df45f0: i32 = Constant<13>
  0x43415e40: f128 = AArch64ISD::FCMP 0x431e2e40, 0x431e1980
    0x431e2e40: f128,ch = CopyFromReg 0x42c42930, Register:f128 %vreg171
      0x431e2980: f128 = Register %vreg171
    0x431e1980: f128,ch = CopyFromReg 0x42c42930, Register:f128 %vreg88
      0x431f34c0: f128 = Register %vreg88
In function: TrioFormat
cc: error: clang frontend command failed with exit code 70 (use -v to see invocation)
FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM 3.8.0)
Target: aarch64-unknown-freebsd11.0

Reported by:	pkg-fallout
Approved by:	portmgr blanket (unblocking 420 ports)
2017-01-22 17:13:32 +00:00
Mathieu Arnold
eabbfd75e3 ${RM} already has -f.
PR:		213570
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
2016-10-21 12:51:40 +00:00
Mathieu Arnold
1a8a092d9f Rename all files containing a : in their filename.
While there, run make makepatch on affected ports, and rename patches
accordingly.

Sponsored by:	Absolight
2016-06-17 23:28:04 +00:00
Dmitry Marakasov
c86e9d9724 Remove NLS, DOCS, EXAMPLES and IPV6 from OPTIONS_DEFAULT, they are enabled by default anyway and don't need to be listed
Approved by:	portmgr blanket
2016-05-23 20:35:01 +00:00
Dmitry Marakasov
1f8b48b772 - Fix trailing whitespace in pkg-descrs, categories [p-x]*
Approved by:	portmgr blanket
2016-05-19 10:53:05 +00:00
Mathieu Arnold
8d6597e0bb Remove ${PORTSDIR}/ from dependencies, categories m, n, o, and p.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 14:16:16 +00:00
Tijl Coosemans
6bc6f3a9e0 - Update security/gnutls to 3.4.10.
- Rename the LIBDANE option DANE because that's the name of the protocol
  supported by libgnutls-dane and gnutls-cli.  Also clarify the option
  description.
- Add an IDN option.
- libgnutls-openssl has been removed in 3.4.  Some ports used this library
  in their LIB_DEPENDS but no port actually required it.
- Some old API functions have been removed.  Ports that used these have been
  updated or patched to use the new API.
- Add a patch to print/cups to prevent overlinking of libgnutls.so.
- Bump PORTREVISION on dependent ports.

net-im/jabber: This port used the old API to give users fine grained
control over which crypto algorithms were used via a configuration file.
It's not immediately obvious how to port this to the new API so the port
always uses the defaults now.

www/hydra: Mark BROKEN.  This uses more removed calls than the other ports,
is said to be alpha quality and not fully functional and has been abandoned
10 years ago.

PR:		207768
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2016-03-27 14:57:59 +00:00
Tijl Coosemans
77760fcb63 Make print/ghostscript9-agpl-base the default Ghostscript port. Upstream
changed the license to the AGPL 3 in version 9.07 so print/ghostscript9-base
is stuck at 9.06 which is almost 4 years old now.

Fix the logic in Uses/ghostscript.mk so "agpl" is treated as a real version
on its own instead of as a variant of other versions.

Fix print/ghostscript9-agpl-base to install eps2write.

Update math/asymptote to 2.37 to support newer Ghostscript.

PR:		208159
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2016-03-24 15:47:50 +00:00
Tijl Coosemans
59272d1017 Combine print/cups-base, print/cups-client and print/cups-image into
print/cups and update it to 2.1.3.  Also remove print/cups-pstoraster,
improve print/cups-filters, print/foomatic-* and update print/hplip to
3.16.2.

Long description:

First some background.  When you hand a file to cups it sets up a chain of
filter programs that converts the file to something a printer understands.
Each filter has a cost associated with it and cups tries to find the
cheapest chain.  Costs used to be configured in such a way that files were
first converted to PostScript.  This could then be manipulated further (e.g.
putting multiple pages on one sheet) before finally being sent to a
PostScript printer or another filter like pstoraster which produces a raster
format understood by non-PostScript printer drivers.  Nowadays most filters
have been moved from cups to cups-filters and they have been configured to
use PDF as an intermediate format instead of PostScript.

Merging of cups-base, cups-client and cups-image into print/cups:
- cups-image provides a library to work with the cups raster format.  It is
  only used to implement filters and printer drivers and these only exist
  in the context of a cups server so there's no need to separate this from
  cups-base.
- cups-client provides a library that allows applications to print via cups.
  It is possible to use the library to access a remote cups server without
  running a local cups server, but such a setup is discouraged and the
  configuration file to set this up has been marked deprecated.  It is
  better to run a local cups server and let that talk to the remote cups
  server because then you have the benefits of local job queuing in case the
  remote server is down or busy.  Given this and the fact that without
  filters cups-base is now smaller than it used to be it makes sense to
  merge the ports.  The patch also adds options IPPTOOL, DOCS and NLS which
  when disabled make the new cups package smaller than the current
  cups-client package.  Merging the ports also prevents problems with
  options like ZEROCONF being configured differently in both ports.
- print/cups was a metaport that depended on cups-base and some filters.
  There isn't really a need for such a metaport so cups-base can be renamed
  to cups.  The filters can be depended on by printer drivers such as hplip
  if they need them.

Additional changes to the new print/cups:
- Clean up the patches.  They seem to have been regenerated with post-patch
  changes included.
- Add a patch to prevent intermediate conversion to PDF when a PostScript
  file is sent to a PostScript printer when cups-filters is installed.
- Fix the PAM configuration file.
- Add a patch to let the server search /usr/local/share/ppd like on Linux so
  other ports don't have to add links to it.
- Remove ulpt(4) helper scripts.  The port uses libusb with ugen(4).
- Remove support for mDNSResponder.  cups-filters only supports Avahi.
- Combine ICONS and XDG_OPEN options into an X11 option to support WITHOUT_X11.
- Optionally depend on colord for ICC profile support.
- Various smaller changes.

Changes to print/cups-filters:
- Let the cups_browsed rc.d script depend on cupsd and avahi_daemon instead
  of LOGIN.
- Development of foomatic-filters has been moved to cups-filters so let this
  port install foomatic related files and add foomatic-filters to CONFLICTS.
- Fix location of liblouis tables.
- Add patch to fix ICC support.

Changes to print/cups-pstoraster:
This port is essentially an old version of Ghostscript plus a cups filter.
It's no longer developed.  This commit removes it and changes existing
dependencies to print/cups-filters which depends on print/ghostscript* and
includes a gstoraster filter that can handle both PostScript and PDF.

Changes to print/foomatic-db*:
Remove old MASTER_SITES and dependencies and eliminate PKGNAMEPREFIX.

Changes to print/foomatic-filters:
Install beh backend with its original name again and add cups-filters to
CONFLICTS.

Changes to print/hplip:
- Stop installing hpijs/foomatic-rip support.  This is no longer supported
  upstream.
- Stop installing hpcups PPDs.  These are now automatically generated.  The
  bundled PPDs are generated for an older version of cups.
- Rename the QT option to X11 to support WITHOUT_X11.
- Simplify the patches now that ports are installed in a staging area.
- Add a patch to set SO_REUSEPORT (next to SO_REUSEADDR) on the mDNS socket
  like avahi-daemon does.  This fixes Zeroconf support for HP network
  printers.

PR:		207746
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2016-03-11 11:53:42 +00:00
Hiroki Sato
27470e1676 - Split ghostscript into X11-independent and -dependent parts:
* print/ghostscript{7,8,9,9-agpl}-base

   Installs Ghostscript binary, libgs, and related files.
   These ports do not depend on X11 libraries (i.e. x11* devices
   are not available).  USES=ghostscript will set dependency on
   one of them depending on GHOSTSCRIPT_DEFAULT.

   The default device is set to "display" or "bbox".

 * print/ghostscript{7,8,9,9-agpl}-x11

   Installs a shared library which provides X11 support to
   the installed Ghostscript binaries.  x11* devices will be
   enabled when the library is available.

   This depends on *-base (RUN_DEPENDS).  USES=ghostscript:x11
   will set dependency on one of them.

- Fix integer overflow reported as CVE-2015-3228.

- Update Uses/ghostscript.mk:

 * Add x11 keyword.  nox11 keyword is now obsolete.

 * Use packagename in *_DEPENDS line to prevent relationship between
   -base and -x11 packages from being broken.

- Fix x11/nox11 keyword and bump PORTREVISION in ports using
  USES=ghostscript to update dependency of pre-compiled packages.
2015-08-22 17:48:35 +00:00