storborg / dram Goto Github PK
View Code? Open in Web Editor NEWKeeping your package manager packaged.
License: Other
Keeping your package manager packaged.
License: Other
Add new commands which alias/replace e.g. cmake $DRAM_CMAKE_FLAGS
. That way, the original commands (cmake
and ./configure
) can be caught and the shell can warn and prompt the user to continue. This should reduce the risk of accidentally "escaping" the dram environment.
Not sure of good ways to do this, but it should be easy to add a new creator.
It'd be cool if we had help for the specific commands, i.e. dram help create
would show help for the create command.
Specifically it should make e.g. /dram/blah/lib/python2.7/site-packages
point to /dram/blah/pyenv/lib/python2.7/site-packages
. This is because a bunch of packages will install their python modules into a path that is directly based on the PREFIX
, rather than based on the actual real python environment.
Dram names should probably be restricted to ^[a-z0-9][a-z0-9-]*$
dram configure
warns that we aren't inside the active dram when we are.
I'm afraid it's causing problems with resolving paths or something. I'd at least like to disable it and see if it fixes anything. Should I just create a separate empty dram and switch to it?
...but not both. Select based on uname
output.
Add an installation tool that sets up the dram root dir and sources the dram.sh
script in the shell. This could be implemented as either one of:
dram-install
, which performs the appropriate operations. This could also interactively prompt the user for settings and configure them appropriately.~/.profile
instead of ~/.bashrc
on OS Xdram configure
and dram cmake
are missing
dram promote foo
- If foo
is an executable that is inside the currently enabled dram, set a symlink from /usr/local/bin/foo
to foo
. Note that this will only really work for statically linked executables. Check to make sure that foo
isn't already present in a different global path. If so, refuse to do anything, unless -f
is passed.
dram demote foo
- If foo
is a symlink inside /usr/local/bin/
that points to an executable inside a dram, remove it. If not, refuse to do anything.
If a single machine is shared by multiple users, and shares one DRAM_ROOT
, dram could be more intelligent about managing permissions: perhaps with judicious use of g+s
and a dram
group, or something similar.
Due to SIP, lldb on os x 10.11 doesn't work in a dram. This can be fixed, see this stackoverflow post. dram should provide an alias that does this, if possible.
e.g.
(pyenv) skysafe@fessenden:/dram/uhd-master/source/uhd/host/build$ cmake $DRAM_CMAKE_FLAGS -DLIBUSB_INCLUDE_DIRS=$DRAM_ROOT/$DRAM/include/libusb-1.0 -Wno-dev ..
Dram is active, are you sure you want to execute -DCMAKE_INSTALL_PREFIX=/dram/uhd-master? [y/N]
Should show are you sure you want to execute cmake?
When creating a new dram, it would be helpful if the activate script included a bit of info about it. For example, dram type, username that created it, creation time, hostname it was created on.
There should be a way to pass through arguments when using dram cmake
and dram configure
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.