Fink:Policy:system-openssl
Linking Against the System OpenSSL
There is a package in Fink called system-openssl-dev
that exists to make it easier to link software against Apple's provided OpenSSL (why?). It creates symlinks in prefix/lib/system-openssl
that you can use to override the flags of existing software.
In some cases, you will have to patch your package to point to the system-openssl directory, but most likely, all you will have to do to use system-openssl-dev is to set one or more of the following:
CPPFLAGS: -I%p/lib/system-openssl/include CFLAGS: -I%p/lib/system-openssl/include CXXFLAGS: -I%p/lib/system-openssl/include LDFLAGS: -L%p/lib/system-openssl/lib LIBS: -L%p/lib/system-openssl/lib PKG_CONFIG_PATH: %p/lib/system-openssl/lib/pkgconfig
Creating Upgrade Packages
Since the goal is to create packages using OpenSSL that don't have to be in the crypto/
tree, you will probably want to make upgrade packages for the old versions of your SSL packages. If you have a set of packages such as foo
and foo-ssl
both of which have splitoffs, you will have conflict/upgrade issues if you just make a new foo-ssl dummy package that depends on foo
. Instead, the recommended practice is to create a foo-unified
package.
Example: Before Unification
foo.info:
Package: foo Depends: %N-shlibs Conflicts: foo-ssl SplitOff: << Package: %N-shlibs Conflicts: foo-ssl-shlibs <<
foo-ssl.info:
Package: foo-ssl Depends: %N-shlibs Conflicts: foo SplitOff: << Package: %N-shlibs Conflicts: foo-shlibs <<
Example: After Unification
foo-unified.info:
Package: foo-unified Depends: %N-shlibs Replaces: foo (<< %v-%r), foo-ssl (<< %v-%r) SplitOff: << Package: %N-shlibs Replaces: foo-shlibs (<< %v-%r), foo-ssl (<< %v-%r) << SplitOff2: << Package: foo Depends: %N (= %v-%r) << SplitOff3: << Package: foo-shlibs Depends: %N-shlibs (= %v-%r) << SplitOff4: << Package: foo-ssl Depends: %N (= %v-%r) << SplitOff5: << Package: foo-ssl-shlibs Depends: %N-shlibs (= %v-%r) <<
Deprecation of system-openssl-dev
OS X 10.11 has deprecated the use of a system provided OpenSSL library. While /usr/lib/libcrypto.0.9.8.dylibs and /usr/lib/libssl.0.9.8.dylib were not removed, Apple removed the OpenSSL headers in /usr/include/openssl. Therefore, it is no longer possible to compile programs that use the system OpenSSL on OS X 10.11. As a result, the system-openssl-dev
package is marked as available only on 10.10 and earlier. In order to accommodate this change, packages will need to transition to use Fink's OpenSSL (openssl100-dev/openssl100-shlibs as of Oct 2015) or some other SSL provider (such as GnuTLS). Because binaries of (L)GPL packages that link to OpenSSL can not be distributed, a new value for the License:
field has been proposed. This field will allow maintainers to mark their package with the original license, but also note that it links to OpenSSL and therefore keep it out of the binary distribution.
The following table is a list of packages as of October 13, 2015 that use system-openssl-dev
and need to be updated.
Package | License | Maintainer |
---|---|---|
akonadi-mac | LGPL | Hanspeter Niederstrasser |
ark4-mac | GPL | Hanspeter Niederstrasser |
arora | GPL | Jack Fink |
arora-mac | GPL | Jack Fink |
baloo-mac | GPL | Hanspeter Niederstrasser |
baz | LGPL | None |
blinken4-mac | GPL | Hanspeter Niederstrasser |
bomber4-mac | GPL/LGPL | Hanspeter Niederstrasser |
bovo4-mac | GPL/LGPL | Hanspeter Niederstrasser |
cantor4-mac | GPL | Hanspeter Niederstrasser |
cervisia4-mac | GPL/LGPL | Hanspeter Niederstrasser |
claws-mail | GPL | Hanspeter Niederstrasser |
crypt-openssl-bignum-pm* | GPL | Keith Ward |
crypt-openssl-random-pm* | GPL | Keith Ward |
crypt-openssl-rsa-pm* | GPL | Keith Ward |
crypt-ssleay-pm* | Artistic | Daniel Macks |
cyrus-sasl2 | OSI-Approved | Daniel Johnson |
dragonplayer4-mac | GPL | Hanspeter Niederstrasser |
elinks | GPL | Daniel Macks |
ffmpegthumbs4-mac | GPL | Hanspeter Niederstrasser |
filelight-kde4-mac | GPL | Hanspeter Niederstrasser |
BSD | Daniel Johnson | |
fraqtive | GPL | Jack Fink |
GPL/LGPL | The Gnome Core Team | |
gnome-vfs2-unified | GPL/LGPL | The Gnome Core Team |
gnucash2 | GPL | Dave Reiser |
GPL | Benjamin Reed | |
gnupg2 | GPL | Brendan Cully |
granatier4-mac | GPL/LGPL | Hanspeter Niederstrasser |
Restrictive | Benjamin Reed | |
gwenhywfar60 | LGPL | Dave Reiser |
gwenview4-mac | GPL | Hanspeter Niederstrasser |
irsii | GPL | Daniel Macks |
isync | GPL | Brendan Cully |
jpilot | GPL | Alexander Hansen |
juk4-mac | GPL | Hanspeter Niederstrasser |
kactivities6-mac-shlibs | GPL/LGPL | Hanspeter Niederstrasser |
kalgebra4-mac | GPL | Hanspeter Niederstrasser |
kalzium4-mac | GPL | Hanspeter Niederstrasser |
kamera4-mac | GPL | Hanspeter Niederstrasser |
kanagram4-mac | GPL | Hanspeter Niederstrasser |
kapman4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kapptemplate4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kate4-mac | LGPL | Hanspeter Niederstrasser |
katomic4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kbackup-kde4-mac | GPL | Jack Fink |
kblackbox4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kblocks4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kbounce4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kbreakout4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kbruch4-mac | GPL | Hanspeter Niederstrasser |
kcachegrind4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kcalc4-mac | GPL | Hanspeter Niederstrasser |
kcharselect4-mac | GPL | Hanspeter Niederstrasser |
kcolorchooser4-mac | BSD | Hanspeter Niederstrasser |
kcron4-mac | GPL | Hanspeter Niederstrasser |
kdeartwork4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kdebase4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kdebase4-runtime-mac | GPL/LGPL | Hanspeter Niederstrasser |
kdegraphics4-mac-mobipocket | GPL/LGPL | Hanspeter Niederstrasser |
kdegraphics4-mac-strigi-analyzer | GPL/LGPL | Hanspeter Niederstrasser |
kdegraphics4-mac-thumbnailers | GPL | Hanspeter Niederstrasser |
kdelibs4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kdenetwork4-mac-filesharing | GPL | Hanspeter Niederstrasser |
kdenetwork4-mac-strigi-analyzers | GPL/LGPL | Hanspeter Niederstrasser |
kdepim4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kdepim4-runtime-mac | GPL/LGPL | Hanspeter Niederstrasser |
kdepimlibs4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kdesdk4-mac-dev-utils | LGPL | Hanspeter Niederstrasser |
kdesdk4-mac-dolphin-plugins | GPL | Hanspeter Niederstrasser |
kdesdk4-mac-kioslaves | GPL | Hanspeter Niederstrasser |
kdesdk4-mac-scripts | GPL/LGPL | Hanspeter Niederstrasser |
kdesdk4-mac-strigi-analyzers | GPL/LGPL | Hanspeter Niederstrasser |
kdesdk4-mac-thumbnailers | GPL | Hanspeter Niederstrasser |
kdiamond4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kdiskfree4-mac | GPL | Hanspeter Niederstrasser |
kdnssd4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kfloppy4-mac | GPL | Hanspeter Niederstrasser |
kfourinline4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kgeography4-mac | GPL | Hanspeter Niederstrasser |
kget4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kgoldrunner4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kgpg4-mac | GPL | Hanspeter Niederstrasser |
khangman4-mac | GPL | Hanspeter Niederstrasser |
kig4-mac | GPL | Hanspeter Niederstrasser |
kigo4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kile-kde4-mac | GPL | Jack Fink |
killbots4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kiriki4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kiten4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kjumpingcube4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kletters4-mac | GPL/LGPL | Hanspeter Niederstrasser |
klickety4-mac | GPL/LGPL | Hanspeter Niederstrasser |
klines4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kmag4-mac | GPL | Hanspeter Niederstrasser |
kmahjongg4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kmines4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kmix4-mac | GPL | Hanspeter Niederstrasser |
kmouth4-mac | GPL | Hanspeter Niederstrasser |
kmplot4-mac | GPL | Hanspeter Niederstrasser |
knavalbattle4-mac | GPL/LGPL | Hanspeter Niederstrasser |
knetwalk4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kolf4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kollision4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kolourpaint4-mac | LGPL | Hanspeter Niederstrasser |
kompare4-mac | GPL/LGPL | Hanspeter Niederstrasser |
konquest4-mac | GPL/LGPL | Hanspeter Niederstrasser |
konsole4-mac | GPL | Hanspeter Niederstrasser |
kopete4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kpat4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kqtquickcharts4-mac | GPL | Hanspeter Niederstrasser |
kreversi4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kruler4-mac | GPL | Hanspeter Niederstrasser |
ksaneplugin4-mac | GPL | Hanspeter Niederstrasser |
kscd4-mac | GPL | Hanspeter Niederstrasser |
kshisen4-mac | GPL/LGPL | Hanspeter Niederstrasser |
ksirk4-mac | GPL/LGPL | Hanspeter Niederstrasser |
ksnakeduel4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kspaceduel4-mac | GPL/LGPL | Hanspeter Niederstrasser |
ksquares4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kstars4-mac | GPL | Hanspeter Niederstrasser |
ksudoku4-mac | GPL/LGPL | Hanspeter Niederstrasser |
ksystemlog4-mac | GPL | Hanspeter Niederstrasser |
kteatime4-mac | GPL | Hanspeter Niederstrasser |
ktimer4-mac | GPL | Hanspeter Niederstrasser |
ktouch4-mac | GPL | Hanspeter Niederstrasser |
ktuberling4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kturtle4-mac | GPL | Hanspeter Niederstrasser |
kubrick4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kuser4-mac | GPL | Hanspeter Niederstrasser |
kwalletmanager4-mac | GPL | Hanspeter Niederstrasser |
kwebdev4-mac | GPL/LGPL | Hanspeter Niederstrasser |
kwordquiz4-mac | GPL | Hanspeter Niederstrasser |
libanalitza5-mac-shlibs | GPL | Hanspeter Niederstrasser |
libarchive | BSD | AIDA Shinra |
libarchive31 | BSD | AIDA Shinra |
libbaloowidgets4-mac-shlibs | GPL | Hanspeter Niederstrasser |
libdbusmenu-qt5.2 | LGPL | Hanspeter Niederstrasser |
libimobiledevice | LGPL | Karl-Michael Schindler |
libircclient | GPL2 | None |
libkcddb4-mac-shlibs | BSD | Hanspeter Niederstrasser |
libkcompactdisc4-mac-shlibs | BSD | Hanspeter Niederstrasser |
libkdcraw23-mac-shlibs | GPL/LGPL | Hanspeter Niederstrasser |
libkdeedu-mac-data | GPL/LGPL | Hanspeter Niederstrasser |
libkdeedu4-mac-shlibs | GPL/LGPL | Hanspeter Niederstrasser |
libkdegames6-mac-shlibs | GPL/LGPL | Hanspeter Niederstrasser |
libkexiv2.11-mac-shlibs | GPL/LGPL | Hanspeter Niederstrasser |
libkf5html5-shlibs | GPL | Hanspeter Niederstrasser |
libkf5kdelibs4support5 | GPL | Hanspeter Niederstrasser |
libkface3-mac-shlibs | GPL | Hanspeter Niederstrasser |
libkfbapi1-mac-shlibs | LGPL | Hanspeter Niederstrasser |
libkfilemetadata4-mac-shlibs | LGPL | Hanspeter Niederstrasser |
libkgapi2.2-mac-shlibs | GPL | Hanspeter Niederstrasser |
libkipi11-mac-shlibs | BSD | Hanspeter Niederstrasser |
libkmahjongglib4-mac-shlibs | BSD | Hanspeter Niederstrasser |
libkomparediff2.4-mac-shlibs | GPL | Hanspeter Niederstrasser |
libksane0-mac-shlibs | GPL/LGPL | Hanspeter Niederstrasser |
libktorrent5-mac-shlibs | GPL | Hanspeter Niederstrasser |
libmeanwhile | LGPL | None |
libmsn-0.3 | GPL | None |
libofx4 | GPL | Dave Reiser |
libofx5 | GPL | Dave Reiser |
libprison0-shlibs | BSD | Hanspeter Niederstrasser |
GPL/LGPL | Benjamin Reed | |
GPL/LGPL | David Fang | |
GPL/LGPL | Benjamin Reed | |
libserf0 | BSD | Daniel Johnson |
libtorrent15 | GPL | David Fang |
libtorrent19 | GPL | David Fang |
linuxdcpp | GPL | Hanspeter Niederstrasser |
lokalize4-mac | GPL | Hanspeter Niederstrasser |
lskat4-mac | GPL/LGPL | Hanspeter Niederstrasser |
lynx | GPL | elcepi |
lynx-cur | GPL | elcepi |
m2crypto-py* | BSD | Brendan Cully |
marble4-mac | GPL | Hanspeter Niederstrasser |
mp3diags-* | GPL2 | Daniel Johnson |
mplayerthumbs4-mac | GPL | Hanspeter Niederstrasser |
mupdf | GPL | Stefan Bruda |
mutt | GPL | Brendan Cully |
mysql-python-py* | GPL | Beat Birkhofer |
nepomuk-core | GPL/LGPL | Hanspeter Niederstrasser |
nepomuk-widgets | LGPL | Hanspeter Niederstrasser |
nginx | BSD | Andreas Gockel |
nginx-cur | BSD | Andreas Gockel |
nut | GPL | Charles Lepple |
okteta4-mac | GPL | Hanspeter Niederstrasser |
okular4-mac | GPL/LGPL | Hanspeter Niederstrasser |
openvpn | GPL | Andreas Gockel |
oxygen-icons | GPL/LGPL | Hanspeter Niederstrasser |
oxygen-icons-mac | GPL/LGPL | Hanspeter Niederstrasser |
pairs4-mac | GPL | Hanspeter Niederstrasser |
palapeli4-mac | GPL | Hanspeter Niederstrasser |
parley4-mac | GPL | Hanspeter Niederstrasser |
phonon-*-backend-gstreamer | LGPL | Benjamin Reed |
phonon-*-backend-xine | LGPL | Benjamin Reed |
picmi4-mac | GPL/LGPL | Hanspeter Niederstrasser |
postfix* | OSI-Approved | Daniel Johnson |
poxml4-mac | GPL | Hanspeter Niederstrasser |
python-ldap-py27 | OSI-Approved | Charles Lepple |
qca2-* | LGPL | Benjamin Reed |
qgpgme-mac | GPL/LGPL | Benjamin Reed |
GPL/LGPL | Benjamin Reed | |
qtiplot-qt4-* | GPL | Alexandre Vial |
qwt-qt4-* | LGPL | Alexandre Vial |
qwt6-qt4-* | LGPL | Daniel Macks |
redland-shlibs | GPL/LGPL | Benjamin Reed |
rocs4-mac | GPL/LGPL | Hanspeter Niederstrasser |
root5* | LGPL | Remi Mommsen |
slrn | GPL | Daniel Macks |
socat | GPL | Andreas Gockel |
socnetv-mac | GPL | Jack Fink |
soprano-* | GPL/LGPL | Benjamin Reed |
step4-mac | GPL | Hanspeter Niederstrasser |
svgpart4-mac | GPL | Hanspeter Niederstrasser |
sweeper4-mac | GPL | Hanspeter Niederstrasser |
swi-prolog | LGPL | Jesse Alama |
sylpheed | GPL | Kevin Horton |
tcpflow | GPL | Nick Siripipat |
tinc | GPL | Jack Fink |
umbrello4-mac | GPL/LGPL | Hanspeter Niederstrasser |
valkyrie* | GPL2+ | Daniel Johnson |
vorbis-tools | GPL | Max Horn |
xchat | GPL | Max Horn |
xsane | GPL | None |
xxdiff-mac/x11 | GPL | Daniel Macks |