the ports tree
| bundles/firefox | ||
| core | ||
| daemon | ||
| devel | ||
| doc | ||
| editors | ||
| firmware | ||
| fonts | ||
| lang | ||
| lib | ||
| net | ||
| old | ||
| shells | ||
| userspace | ||
| utils | ||
| wl | ||
| x11 | ||
| filegen.sh | ||
| gitfinder.sh | ||
| info.example | ||
| README.md | ||
This is the dérive ports tree.
since there isn't extensive information on how to create ports on the website, it will be summarized here.
-
overview
- this repo contains a number of posix-compliant shell scripts which fetch, statically build and install software. it is designed for use with the detour ports helper, but can also be used standalone.
-
scripts
derive "port scripts" (dmake.sh) are (kinda) simple. there are 4 targets that need to be tackled.- clean - removes a build directory for a package
- make - fetches the source of and compiles a package statically
- install - installs a package (it must be built!)
- remove - removes a package (it must be built!)
-
running scripts
there are two ways to run a dmake.sh- doing it with detour [reccomended]
this is the most simplest way, (the latter is too) you just run
detour m(ic) <package>
such script [m]akes, [i]nstalls and [c]leans a package. this also tracks the package's installed files, automatically resolves dependencies, and allows for easy package removal later. - doing it the traditional way
you navigate to your package, likecd /ports/core/curland runsh dmake.sh make sh dmake.sh install sh dmake.sh clean # if you want
this does not resolve dependencies or track packages, you will have to do it yourself.
- doing it with detour [reccomended]
this is the most simplest way, (the latter is too) you just run
-
understanding ports
- the tree is sorted into categories which describe their function and purpose. this does not effect installation of ports in any way. each port has an info file with some basic information about it
-
contributing
- creating a port is pretty easy, depending on the complexity of the target software. i usually just copy a script from another port with a similar build system, and tweak as needed. the only major requirement for a port is that it must always create static binaries or .a files, never dynamically linked binaries or shared objects.
-
other
- this project was originally created and designed for dérive linux. however, both the ports and the ports helper detour can be used on most if not all linux distributions, as a secondary package manager. this is useful if you need a static binary or archive for something. if you are creating a new distro, you are also welcome to use this project as part of that in any way you see fit.
https://derivelinux.org/ports