1
1
Fork
You've already forked ports
0
forked from derivelinux/ports
the ports tree
  • Shell 69.1%
  • Makefile 23.4%
  • C 7.3%
  • SystemVerilog 0.2%
2026年05月26日 18:01:47 +03:00
bundles remove legacy ndmake.sh scripts 2026年03月09日 16:22:14 +00:00
core fix: tzcode 2026年05月26日 18:01:47 +03:00
daemon sndiod: update hooks 2026年03月12日 22:07:50 +00:00
devel fix/feat: better curl and static linking nftables and hurl port and muon patch for hurl 2026年05月06日 10:32:57 +00:00
doc some patches and hell fix 2026年03月29日 16:03:22 +00:00
editors remove legacy ndmake.sh scripts 2026年03月09日 16:22:14 +00:00
fonts fix: dejavu port and go post_install and wl-clipboard and xkbcommon meson fix 2026年04月08日 15:19:58 +00:00
lang fix: dejavu port and go post_install and wl-clipboard and xkbcommon meson fix 2026年04月08日 15:19:58 +00:00
lib fix: xkb-config 2026年05月07日 16:47:45 +00:00
libsh make cmake use ninja gen by default in libdmake and ports 2026年03月30日 14:19:54 +00:00
net fix/feat: better curl and static linking nftables and hurl port and muon patch for hurl 2026年05月06日 10:32:57 +00:00
old make ffmpeg build against libtls-bearssl and move bearssl to core/ 2026年03月19日 22:48:12 +00:00
shells remove legacy ndmake.sh scripts 2026年03月09日 16:22:14 +00:00
userspace feat: ugrep port 2026年04月01日 09:36:36 +00:00
utils fix: fix info in jdupes port 2026年05月06日 10:32:57 +00:00
wl fix: wl-clipboard install 2026年05月06日 10:32:57 +00:00
.gitignore Update .gitignore 2026年02月26日 21:37:00 +01:00
dtr handle rebuilding deps better 2026年03月28日 12:46:42 +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 commit 2026年03月17日 17:23:25 +00:00
spc gmake with hell 2026年03月11日 08:52:02 +00:00

This is the dérive ports tree.

  1. overview

    • this repo contains a number of build recipes and a build recipe system, leveraging pure posix sh. it is used with the 'dtr' and 'spc' helpers, which install these ports. everything is built using static linking. we try and pick out only actually decent software to be in this repo, with some exceptions.
  2. scripts
    derive "port scripts" (ndmake.sh) are (kinda) simple. you need to define some metadata at the top;

    • name - package name
    • version - package version
    • release - package release
    • sources - upstream git/tarball link and any patches/other files

the port must also have a deps file, which lists dependnecies and what type of dependency they are:, - . - build time deps - / - link time deps - > - runtime deps

as well as an info file, listing the name, version, description, license, and upstream link

  1. running scripts
    there are two ways to run a dmake.sh

    1. doing it with dtr [reccomended] this is the most simplest way, (the latter is too) you just run dtr mi <package>
      such script [m]akes and [i]nstalls a port. this also tracks the package's installed files, automatically resolves dependencies, and allows for easy package removal later.
    2. doing it the hard way
      you navigate to your package, like cd /ports/core/curl and run
      sh ndmake.sh fetch
      sh ndmake.sh make
      spc create /var/tmp/dtr/pkg-$pkgname-git pkgname.spc.zstd
      spc install pkgname.spc.zstd
      

    this does not resolve dependencies or track packages, you will have to do it yourself.

  2. 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
  3. contributing

    • creating a port is pretty easy, depending on the complexity of the target software. i usually just copy a template from another port, and tweak as needed. the libdmake.sh build system should handle all building of packages for you. if you need to do it yourself, you can define a build() function. if you plan to contribute ports, it is highly reccomeneded to read libsh/libdmake.sh. software that depends on easily avoidable poor quality software, such as bison, must be patched to support a better alternative, like byacc.
  4. other

    • this project was originally created and designed for dérive linux. however, both the ports and the ports helper dtr 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://ports.derivelinux.org