Comments (6)
Could you detail your problem and use case before jumping to potential solutions? I'd like to understand what's actually needed beforehand.
It may involve a bunch of problems, like checking for the presence of a library, downloading, compiling, making the lib available to Crystal when linking, etc.
from shards.
Use case #1:
I want to use an existing library but need a few C functions added. As far as I know the only way to use them is by compiling a library and linking it using the crystal provided c bindings.
Use case #2 (similar to above):
I have a small library in my git repository that must be compiled before crystal build is run. Crystal c bindings are used to access the library.
from shards.
what if always call make shard
when install new shard, and if user create that task in Makefile, it would be executed (compile some static c libs or something)
from shards.
Thanks for the use cases. We could have some hook commands to be run when an action is performed. For example:
scripts:
postinstall: "cd ext && make"
The most obvious is postinstall
but there could be others, like pre/post upgrade.
from shards.
@technorama I just implemented the postinstall script in #19, tell me if it fits your needs.
from shards.
Closing since #19 got merged.
from shards.
Related Issues (20)
- FR: Option for out-of-source builds HOT 4
- Equivalent of "go mod vendor"? HOT 2
- Ambiguous shard name source checker error message could be more helpful
- Connect `executables` with `targets` HOT 4
- Installing executables on Windows only works for `.exe`
- Allow setting global mirror for shard dependencies HOT 1
- Outdated has output in the wrong order
- Random spec failures while concurrent building HOT 1
- "Error creating symlink" as a result of dependency project that has lib folder HOT 1
- Certain CLI options are not passed to shards custom subcommands HOT 2
- Resilience for shard sources
- How can I vendor dependencies (shards)? HOT 33
- Dependency Dashboard
- Create `shard.yml.schema` HOT 1
- shards outdated - Unsupported ref type for this resolver
- Support for cross compilation HOT 8
- `shards install --local` doesn't recognize cached shards HOT 8
- Scripts cannot be used for subcommands on Windows
- Postinstall Lifecycle Issue on Windows Platform HOT 1
- Monorepos: multiple shards per repository HOT 5
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 shards.