forked from derivelinux/ports
the ports tree
- Shell 100%
| core | move gnuslop to old/ | |
| daemon |
revert e8dbbb4583
|
|
| devel | flex | |
| doc | libz > zlib | |
| editors | alternative approach to categories | |
| firmware | firmware | |
| lang | libz > zlib | |
| lib | dillo etc | |
| net | dillo etc | |
| old | move gnuslop to old/ | |
| userspace | alternative approach to categories | |
| utils | deps file | |
| wayland | bsdifiying stage 3 | |
| x11 | twm static libs | |
| .gitignore | musl: keep shared libs for bootstrap | |
| README.md | Update 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.
-
to get started with porting, you should...
- learn detour
- see other ports and their dmake.sh
-
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
- 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
this section explains ports itself- core
the core/ directory has packages that NEED to be in the base system.
they can range from compiler tools to something like git. nevertheless, most are needed in the base system. - extra
the extra/ directory has packages that are like "eh, its up to you".
usually, there is choice in the set of packages, like eiwd and wpa_supplicant being provided even though they do the same thing. one wouldnt need most of these packages for a minimal system. - firmware
the firmware/ directory has packages that are sometimes needed for certain devices. firmware being mostly blobs for a variety of devices, currently only gpus and linux-firmware.
- core