Page MenuHomeFreeBSD

math/R: set SONAME for some R libraries
ClosedPublic

Authored by jrm on Jul 17 2017, 1:17 AM.
Tags
None
Referenced Files
Unknown Object (File)
Oct 9 2024, 5:07 PM
Unknown Object (File)
Sep 30 2024, 7:20 PM
Unknown Object (File)
Sep 30 2024, 5:03 AM
Unknown Object (File)
Sep 29 2024, 8:10 PM
Unknown Object (File)
Sep 28 2024, 9:08 AM
Unknown Object (File)
Sep 28 2024, 3:01 AM
Unknown Object (File)
Sep 27 2024, 11:41 PM
Unknown Object (File)
Sep 27 2024, 10:41 AM
Subscribers

Details

Summary

These are some suggested tweaks to the patch for math/R submitted by pawel@
in Bug 219776.

  • Add links in ${PREFIX}/lib for the libraries that we are using as system libraries.
  • Set LIBVER to ${PORTVERSION:R}, i.e., R's major_version.minor_version

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Minor tweak to how the links in ${PREFIX}/lib are created.

math/R/Makefile
149–159 ↗(On Diff #30850)

I wonder if this should not be replaced by

USE_LDCONFIG= ${PREFIX}/lib/R/lib
math/R/Makefile
149–159 ↗(On Diff #30850)

Upstream makes a big deal about the libraries under lib/R/lib/ not being system libraries. If you are interested in the gory details, this thread spells it out: https://stat.ethz.ch/pipermail/r-devel/2016-November/073397.html. I thought creating links under lib/ would make it clear that we are intending to make these system libraries.

math/R/Makefile
149–159 ↗(On Diff #30850)

Mmmmm, but does any port actually needs this ?

math/R/Makefile
149–159 ↗(On Diff #30850)

I find this additional links messy and fail to see benefits. Interested consumers can get correct linker flags from pkg-config:

% pkg-config --libs libR
-Wl,--export-dynamic -L/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc5 -L/usr/local/lib/gcc5 -B/usr/local/bin -fstack-protector -L/usr/local/lib/R/lib -lR

So my vote here goes for USE_LDCONFIG= ${PREFIX}/lib/R/lib like in my initial patch.

Do not create links to lib/R/lib/* in lib/.

This revision was automatically updated to reflect the committed changes.