the ports tree
Find a file
2026-01-09 23:43:21 +01:00
bundles/firefox add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
core add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
daemon add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
devel more deps fixes 2026-01-07 02:15:45 +00:00
doc add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
editors add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
firmware Update firmware/wifi/dmake.sh 2026-01-09 23:43:21 +01:00
fonts add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
lang add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
lib deps fix 2026-01-07 02:09:53 +00:00
net add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
old add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
shells add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
userspace add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
utils incompetence fix 2026-01-06 18:39:13 +00:00
wl add upstream, name, and version to all info files 2026-01-05 22:44:13 +00:00
x11 more deps fixes 2026-01-07 02:15:45 +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

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