Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Aug 2015 02:25:21 +0900 (JST)
From:      Hiroki Sato <hrs@FreeBSD.org>
To:        ports@FreeBSD.org
Subject:   Removal of print/ghostscript*-nox11
Message-ID:  <20150821.022521.792759762853683209.hrs@allbsd.org>

next in thread | raw e-mail | index | archive | help
----Security_Multipart(Fri_Aug_21_02_25_21_2015_230)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi,

 I would like your comments about removal of ghostscript*-nox11 ports,
 more specifically, whether many people think X11 library dependency
 is annoying or not.  After trying to fix -nox11 ports in the end of
 last month and then investigating them more carefully, I also reached
 a conclusion that they should be removed as several ports committers
 suggested.

 These -nox11 ports have originally been provided to build
 pre-compiled packages for people who want GS with no (heavy) X11
 dependency.  However, they have made dependency handling complicated
 because a package which depends on both X11 library and GS by default
 requires GS w/ X11 support in the dependency chain, but GS w/ and w/o
 X11 cannot co-exist.  This means that the -nox11 packages do not work
 well with pre-complied packages which require GS though they work if
 all of them are built w/o X11 support consistently on a system.  If
 ports are built manually with OPTIONS_UNSET=X11,
 print/ghostscript*-nox11 ports are not useful anymore.

 So I would suggest either of the following two plans:

 Plan A: Just remove print/ghostscript*-nox11.

  Currently ghostscript depends on X11 libraries of ice, sm, x11,
  xext, and xt.  While one can still eliminate these dependency by
  disabling X11 in PORT_OPTIONS, the pre-complied packages always
  depend on them.

  Pros: Simple.

  Cons: GS always depends on the X11 libraries.

 Plan B: Remove print/ghostscript*-nox11 and split the X11-dependent
         part of print/ghostscript9 into another port.

  Ghostscript can be built into two parts; one is a part without X11
  libraries and another is a shared library for X11-dependent
  functionality.  GS will find the shared library and transparently
  enable x11* devices only when available.  So we can split
  ghostscript ports into base and X11 part like this:

   print/ghostscript9-base: no X11 dependency
   print/ghostscript9-x11:  installs the shared library only

  Ports which require ghostscript can safely depend on
  ghostscript9-base regardless of X11 support.  If they need X11
  support in GS (print/gv, for example), USES=ghostscript:x11 picks up
  ghostscript9-x11 as an additional dependency.

  Pros: Minimal dependency.

  Cons: People may confuse what -base and -x11 mean and which package
        should be installed when they want ghostscript.

 I have created patches for the both and confirmed technical
 feasibility but still wondering which looks better to people who are
 using ghostscript.  Any comments and/or questions are welcome.

-- Hiroki

----Security_Multipart(Fri_Aug_21_02_25_21_2015_230)--
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEABECAAYFAlXWDYEACgkQTyzT2CeTzy0ALgCeOdiKkSUqe+HldQrUUi3ICT33
44sAni4oCRxZhzvuQTM50pH8Ww36z6x2
=plIS
-----END PGP SIGNATURE-----

----Security_Multipart(Fri_Aug_21_02_25_21_2015_230)----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150821.022521.792759762853683209.hrs>