the ports tree
  • Shell 95.7%
  • C 4.2%
2026-01-30 01:31:56 +01:00
bundles/firefox ff 2026-01-19 14:30:19 +00:00
core Update core/linux/info 2026-01-28 15:16:25 +01:00
daemon Update daemon/sndio/info 2026-01-23 22:18:40 +01:00
devel new deps for libmd, bye bye autotools 2026-01-28 18:25:16 +00:00
doc scdoc 2026-01-19 18:34:33 +00:00
editors ndmake, spc, dtr 2026-01-18 19:40:30 +00:00
firmware ndmake, spc, dtr 2026-01-18 19:40:30 +00:00
fonts fix 2026-01-19 16:12:07 +00:00
lang pforth fix 2026-01-28 16:42:56 +00:00
lib install font.avail to fontconfig datadir 2026-01-30 00:29:44 +00:00
libsh plzwork 2026-01-25 21:40:09 +00:00
net Update net/dropbear/info 2026-01-28 15:02:02 +01:00
old flex 2026-01-20 14:08:58 +00:00
shells fs 2026-01-19 19:59:21 +00:00
userspace doas 2026-01-19 15:10:30 +00:00
utils pforth fix 2026-01-28 16:39:13 +00:00
wl hst postbuild 2026-01-22 01:36:22 +00:00
x11 janiero info 2026-01-28 02:48:55 +01:00
.gitignore .. 2026-01-21 23:20:21 +00:00
dtr .. 2026-01-21 23:20:21 +00:00
filegen.sh info 2026-01-01 12:36:53 -06:00
gitfinder.sh fix broken ports 2025-12-31 18:08:09 +00:00
info.example filegen 2026-01-01 10:50:15 -06:00
README.md test mirror works 2026-01-05 17:14:09 +00:00
spc revert 050a8d22ea 2026-01-22 22:46:29 +01:00

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.

  1. 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.
  2. 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!)
  3. running scripts
    there are two ways to run a dmake.sh

    1. 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.
    2. doing it the traditional way
      you navigate to your package, like cd /ports/core/curl and run
      sh 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.

  4. 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
  5. 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.
  6. 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