[R-pkg-devel] Searching examples in source code
Ben Bolker
bbo|ker @end|ng |rom gm@||@com
Sun May 8 21:21:05 CEST 2022
Whenever you install a package from source you'll see a line at the
end of the output something like
> The downloaded source packages are in
‘/tmp/Rtmp6ZRMH0/downloaded_packages’
That is, the source tarball is downloaded to a *temporary file* (on most
Linux systems, the /tmp directory is cleared when rebooting).
You could do something like this (untested!)
i1 <- installed.packages()
for (i in seq(nrow(i1)) {
m <- i1[i,]
download.file(sprintf("https://cran.r-project.org/src/contrib/"%s%s.tar.gz",
m$Package, m$Version), dest = "tmp.tgz")
system("tar zxvf tmp.tgz")
}
and then
find . -name "*.c*" -exec grep -iH foo {} \;
or
find . -name "*.R" -exec grep -iH foo {} \;
would work.
On 2022-05-08 3:02 p.m., Ben Engbers wrote:
>
>
> Op 08-05-2022 om 17:55 schreef Iñaki Ucar:
>> On Sat, 7 May 2022 at 23:25, Ben Engbers <Ben.Engbers using be-logical.nl>
>> wrote:
>>>
>>> Hi,
>
>>> My first question is if there is a useful linux command to search all
>>> the source code of installed packages on my system.
>>
>> Not sure what you mean here. The source code is not copied along with
>> your installed packages.
>
> Uh? I didn't know that. How does the compile process work? Does this
> mean that the (C or C++) sources only live in the repository and that
> the compile command accesses those files?
>
>>> The second question is if there is a command to search all packages at
>>> https://cran.r-project.org/web/packages/available_packages_by_name.html?
>>>
>>> This question is not only relevant to C++ examples. It would also be
>>> nice if you could search for occurrences of commands in R code.
>>
>> There's a read-only mirror of CRAN on GitHub
>> (https://github.com/cran). Going there and using the search form
>> (i.e., specifying "org:cran <your_search_here>") is probably the best
>> bet to find what you're looking for.
>
> If I go to that site and enter "org:cran asio" in the search field, I
> am directed to https://github.com/cran/AsioHeaders. That's not what I am
> looking for; I am looking for C sources which make use of org:cran asio.
>
> A R-example would be that I was looking for packages which make use of
> the "socketConnection" function. Entering socketConnection in the search
> form results in "We couldn’t find any repositories matching 'org:cran
> socketConnection'". This doesn't help me...
>
> Ben
>>
>> Iñaki
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
--
Dr. Benjamin Bolker
Professor, Mathematics & Statistics and Biology, McMaster University
Director, School of Computational Science and Engineering
(Acting) Graduate chair, Mathematics & Statistics
More information about the R-package-devel
mailing list