Comments (8)
Sorry, I confused you by intermingling those three paragraphs. There are three distincts things going on:
-
BH is currently at 1.75.0. You could augment it within your package with a local copy of the files from
process
(and what they need). Your package could build and be CRAN-sufficient. -
In parallel, we could extend BH to also include
process
. You could test with that variant. We could do that via theghrr
drat repo.
Points 1. and 2. are not interdependent.
from bh.
Or keep the request open and add Boost process at the next update of BH?
(Header-only generally means "no linking", i.e. no -lsomelibnane
possibly requiring -Lsome/dir
, it can mean rely on other directories / Boost libraries which may have linking requirements which would make the aggregate non-header-only; sometimes dependencies from other Boost library (which they themselves may need linking) can still be header-only. It's all a little head spinning at times...)
from bh.
Header-only would qualify, so that is good. [Checks] Seems to look good indeed. I guess I am in favour.
How 'soon' do you need it, and/or could you work for a bit and test with local copies? I try to avoid updating more that once a year now. I could create a local version now (not "that" much work) and only upload to a drat repo for access via normal package functions.
from bh.
Thanks for considering. Yes, sure, I'd be glad to support. It is not "urgent" as there are quite a number of other things on my package that need attention for my goal to publish it on CRAN. I'd therefore like to improve portability of my package.
I think I just realized that boost/process.hpp
depends on boost/system.hpp
, more specifically boost/system/error_code.hpp
. Luckily, boost-system is header-only too (>=1.69). So I'm actually asking to add both process and system. I'm sorry, this foot-in-the-door wasn't originally intended.
drat
sounds splendid, didn't know about it before.
from bh.
We actually use bcp
with a repo name, so it would just out of system
whatever process
needs. That's why we already have more directories than "formally listed" components.
And yes, using drat
is awesome. Because R's package management system is awesome, and easy enough to extend with local repos, especially hosted at GitHub (say) via GitHub Pages. I use a dedicated drat for Rcpp pre-releases and one more catch-all one. Works great.
We could even try to document adding process
: create a new bh
package, release to the ghrr drat
, but also add ("for now") an include/
in your package to allow seamless interop. If we stick to the same Boost version in bh
(currently 1.75.0) we should be good. (This last paragraph implies more work and I know nobody has time but ....)
from bh.
I'm sorry I needed some time to absorb your last message. I'm not absolutely clear however whether I should also release my package to drat
to "allow for seamless interop"? How would my package access then the ghrr drat
the interim release of bh
that contains the required headers? Or do you mean I should simply include/
the missing headers within the package?
Sorry for my lack of proficiency in this regard.
from bh.
Thanks again for pointing me to drat
, it's really nice. I set it up for my package.
It took me a while to think this through, but as far as I understand, the "header-only"-property of a given specific Boost library does not necessarily propagate to all the dependencies of that library. To me this seems a bit weird and misleading. I checked it using bcp
and the process
library clearly depends on things like chrono
and filesystem
.
I found an alternative in my case and now I'm not depending on any boost
library. (Hopefully it will stay like this). From my side, we can close this request.
Anyway thanks for considering!
from bh.
It is the annual time of a BH update to get to the just-release Boost 1.78.0 and I will include Boost process in this round. Understood you ended up not needing it but it is still a useful library :)
from bh.
Related Issues (20)
- Backporting deprecation warning fix for integer_log2.hpp ? HOT 4
- Path length adjustments break certain includes HOT 8
- Add accumulators as an official package
- Package missing from org.renjin.cran repositories HOT 6
- include license file HOT 5
- Include Boost Beast in next upstream update HOT 21
- Update BH to 1.75.0 and minor regressions requiring downstream changes HOT 37
- boost geometry C++14 R 3.6 patch HOT 8
- Include boost ublas? HOT 3
- Upgrade to Boost 1.78 HOT 11
- Add Boost::Lambda2 ?
- Installation error r-devel-linux-x86_64-debian-gcc HOT 24
- A request to add timer/include/boost/progress.hpp HOT 11
- Compilation of `bigmemory` fails in Alpine Linux apparently due to BH version HOT 2
- BH 1.81.0 upgrade plan HOT 10
- CRAN warning "Found 'sprintf', possibly from 'sprintf' (C)" using BH HOT 5
- Compile failure of BH as a dependency of https://github.com/steven-shuken/permFDP HOT 4
- clang16 compatibility under C++17 HOT 6
- Undefined reference to `scoped_static_mutex_lock` on Windows R 3.6 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bh.