Bug 195783

Summary: [Update] Update math/R to 3.1.2
Product: Ports & Packages Reporter: Harrison Grundy <harrison.grundy>
Component: Individual Port(s)Assignee: Brendan Fabeny <bf>
Status: Closed Overcome By Events    
Severity: Affects Many People CC: creyes123, david, davor.cubranic, freebsd-bugs, jlisic, maciej, rhurlin
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
patch to update math/R to 3.1.2 (draft version) none

Description Harrison Grundy 2014-12-07 18:13:16 UTC
The R port has gotten old enough that fairly large parts of the CRAN package repository won't install. If someone already has a patch, great, if not, I'll see what I can come up with.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2014-12-07 18:30:37 UTC
Fix Summary and assign.
Comment 2 Rainer Hurling freebsd_committer freebsd_triage 2014-12-29 21:02:37 UTC
Created attachment 151092 [details]
patch to update math/R to 3.1.2 (draft version)

patch math/R: update from 3.0.2 to 3.1.2

This is a NOT READY patch to update math/R. It builds on HEAD amd64 (Poudriere), but is not tested for other OS versions and platforms.

The main purpose of this patch is to expedite the update process of math/R.

Two bigger problems were (1) the absence of a JAVA dependency and (2) that the TeX dependency was only installed, if PDF option was enabled.

What this draft brings:
- update from 3.0.2 to 3.1.2
- remove R-patched-20131112-r64207.diff
- add JAVA dependency
- add NLS option
- move TeX dependency one step upwards
- change USES=iconv into USES=iconv:wchar_t
- changes for new math functions in 10.x and HEAD
- split DOCS option from INFO_MANUALS and PDF_MANUALS
- corrections and enhancements in pkg-plist
- is able to produce PDF files again

TODO:
- INSTALL target has to strip some .so files
- finer adaption of new or better function in math libs [1]
- math/libmissing should also be updated


[1] NOT TESTED, if the following patches are only in HEAD,
    but also in 10x:
    r257770, r271651, r272845 and r275819
Comment 3 Brendan Fabeny freebsd_committer freebsd_triage 2015-03-09 06:51:08 UTC
Java was omitted because the added effort and problems with some Java VMs were not justified by user demand.  Likewise, because of the limited use, the large dependences, and the problems with old and new TeX in the ports tree, I hadn't made a wider use of TeX.  Now that TeX Live is the default, I'll reconsider that as I finish the update.
Comment 4 Brendan Fabeny freebsd_committer freebsd_triage 2015-04-18 14:31:02 UTC
I will test an update to 3.2.0-patched soon.
Comment 5 Carlos Reyes 2015-06-04 15:53:35 UTC
https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16410


The R configure script has lines like the following:

freebsd1*)

freebsd2*)

freebsd*)

It gets confused and thinks I am running FreeBSD 1 instead of 10. The script contains complex logic to figure out the shared library load path. An internal variable, shlibpath_var, remains unset because of the bug. At various points during the configure phase and actual build I was getting errors like this because of the unset variable:

  ${}: bad substitution

The workaround is easy:

  ./configure --host=x86_64-unknown-freebsd9
Comment 6 Davor Cubranic 2015-07-19 17:51:03 UTC
Brendan, can you post your patch updating to 3.2.x, so we can test it out?
Comment 7 Brendan Fabeny freebsd_committer freebsd_triage 2015-07-21 13:10:28 UTC
I'm hoping to get it into the tree in the next few days. If there is a further delay, I'll post a patch in the interim.
Comment 8 Davor Cubranic 2015-08-05 04:45:01 UTC
Recent commits in R-project's trunk have fixed the "configure" script that they distribute: https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16410.

I get into a different error at that point ('Undefined symbol "R_ClassSymbol"' in tools.so), but I'll follow that one up on R-devel.
Comment 9 Jonathan 2015-08-20 20:06:33 UTC
We are approaching one year since it was noted that this port was out-of-date; I appreciate your work on this, but it's getting a bit ridiculous at this point.  Remember that better is the enemy of good, so please post whatever working code you have and I'm sure we would all be happy to help you out.

Thanks,
Comment 10 Davor Cubranic 2015-09-01 14:15:16 UTC
This might help: https://stat.ethz.ch/pipermail/r-devel/2015-August/071696.html

Using clang, with R source from Subversion (tag 3.2.2), all I needed to do was to add to config.site:

+F77=gfortran48
+FC=${F77}
+MAIN_LDFLAGS="-Wl,--export-dynamic"

and then "configure && make" worked fine.

However, "make check" failed while testing parsing dates. Parsing "1848-01-01 12:00" when TZ is "EST5EDT" or "Europe/London" failed with "character string is not in a standard unambiguous format", while it is expected to parse the same as TZ "UTC". I assume it's just the quirk of FreeBSD's timezone and date-parsing implementations, but I'll investigate this further next. But at least all the preceding checks pass.
Comment 11 Adam Mackler 2015-10-02 21:15:19 UTC
If you are reading this, then you probably might be interested in Bug 203418, where Wen Heping has attached a patch for updating the port to R version 3.2.2.  I have applied it on FreeBSD 10.2-RELEASE, and ten minutes into the experience it looks all good.

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203418
Comment 12 Harrison Grundy 2015-10-02 21:20:40 UTC
Superseded by https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203418

Thanks Again!