commit 55526b2

chld  ·  2026-08-22 18:24:20 +0000 UTC
parent 14a3846
add readme.md from upstream
1 files changed,  +47, -0
+47, -0
 1@@ -0,0 +1,47 @@
 2+# This is the [dérive ports tree](https://ports.derivelinux.org).
 3+
 4+0. overview
 5+	- 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. 
 6+
 7+1. scripts   
 8+_derive "port scripts" (ndmake.sh) are (kinda) simple. you need to define some metadata at the top;_
 9+	- **name** - package name 
10+	- **version** - package version  
11+	- **release** - package release
12+	- **sources** - upstream git/tarball link and any patches/other files  
13+
14+the port must also have a deps file, which lists dependnecies and what type of dependency they are:,      - . - build time deps
15+    - / - link time deps
16+    - > - runtime deps
17+
18+as well as an info file, listing the name, version, description, license, and upstream link
19+
20+
21+2. running scripts   
22+	_there are two ways to run a **dmake.sh**_
23+	1. doing it with dtr [reccomended]
24+		this is the most simplest way, _(the latter is too)_ you just run `dtr mi <package>`   
25+		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.
26+	2. doing it the hard way   
27+		you navigate to your package, like `cd /ports/core/curl` and run   
28+		```bash
29+		sh ndmake.sh fetch
30+		sh ndmake.sh make
31+		spc create /var/tmp/dtr/pkg-$pkgname-git pkgname.spc.zstd
32+		spc install pkgname.spc.zstd
33+		```   
34+	note that this does not resolve dependencies: youll have to do it yourself.
35+3. understanding ports  
36+	- 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
37+
38+4. contributing
39+	- 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.
40+
41+5. other
42+	- 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.
43+
44+
45+
46+[comment]: # (. - build time deps)
47+[comment]: # (/ - link time deps)
48+[comment]: # (> - runtime deps)