Add git sources, check-updates, repos submodule, improve docs

dpack features:
- Git source support: packages can specify [source].git for cloning
  instead of tarball download. Supports branch, tag, and commit pinning.
  SHA256 can be set to "SKIP" for git sources.
- check-updates command: queries upstream APIs (GitHub releases/tags)
  to find available updates. Packages set [source].update_check URL.
- CheckUpdates CLI subcommand wired into main.rs

Package changes:
- FreeCAD updated to weekly-2026.03.19 development builds
- dwl: added update_check URL and git source documentation
- src/repos extracted to standalone git repo (danny8632/repos.git)
  and added as git submodule

Documentation:
- All 7 README.md files updated with detailed requirements sections
  including which Linux distros are supported, exact package names
  for Arch/Ubuntu/Fedora, and clear notes about which components
  require Linux vs can be built on macOS
- dpack README: added git source and check-updates documentation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-19 11:58:23 +01:00
parent 029642ae5b
commit 5fb597e2d6
136 changed files with 509 additions and 2731 deletions

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "src/repos"]
path = src/repos
url = gitea@git.dannyhaslund.dk:danny8632/repos.git

View File

@@ -82,10 +82,38 @@ The project is built in sequential phases. Each phase has clear deliverables and
### Prerequisites ### Prerequisites
- A Linux host system for cross-compilation (or the target machine itself) Building DarkForge requires a Linux host system. The toolchain bootstrap (Phase 0) can be done from any modern Linux distro, but later phases require the DarkForge chroot/live environment.
- GCC 15.2.0+ (for `-march=znver5` support)
- Rust toolchain (for building dpack) **Host system requirements (for building the toolchain):**
- ~50GB disk space for the build
Any reasonably modern Linux distribution works. Tested on:
- Arch Linux (recommended — rolling release with fresh packages)
- Ubuntu 22.04+ / Debian 12+
- Fedora 38+
Required host packages:
```bash
# Arch Linux
sudo pacman -S base-devel git wget python rust
# Ubuntu / Debian
sudo apt install build-essential git wget python3 curl bison gawk m4 texinfo
# Fedora
sudo dnf groupinstall "Development Tools" && sudo dnf install git wget python3 rust cargo
```
**Tool versions:**
- GCC 14.1+ or GCC 15.x (for `-march=znver5` support)
- Rust 1.75+ (for building dpack — install via https://rustup.rs)
- Python 3.10+
- GNU Make 4.x+
- ~50GB free disk space for the full build
- ~4GB RAM minimum (16GB+ recommended for parallel builds)
**For kernel building (Phase 4) and later phases:**
These run inside the DarkForge chroot or on the target machine itself. The toolchain built in Phase 0 provides everything needed.
### 1. Build dpack ### 1. Build dpack

View File

@@ -29,6 +29,14 @@ Hardware-specific Linux 6.19.8 kernel configuration for the target machine.
Every non-default option in `config` has an inline comment explaining the rationale. Every non-default option in `config` has an inline comment explaining the rationale.
## Requirements
**Environment:** The kernel must be compiled on a Linux system — either the DarkForge chroot (after Phase 0 toolchain bootstrap) or another Linux distro with GCC 14+.
This cannot be done on macOS or Windows. If you don't have a Linux machine, use the DarkForge toolchain chroot or a VM.
**Build dependencies:** GCC 14+, make, bc, flex, bison, openssl (headers), perl, elfutils. These are all provided by the DarkForge core/ packages.
## Usage ## Usage
```bash ```bash

View File

@@ -16,12 +16,47 @@ A source-based package manager for DarkForge Linux, positioned between CRUX's `p
## Requirements ## Requirements
- Rust 1.75+ (build) **Build-time (compiling dpack itself):**
- Linux (runtime — uses Linux namespaces for sandboxing)
- bubblewrap (`bwrap`) for sandboxed builds (optional, falls back to direct execution) dpack is written in Rust and can be built on any platform with a Rust toolchain:
- `curl` or `wget` for source downloads
- `tar` for source extraction - Rust 1.75+ with Cargo (install via https://rustup.rs)
- `readelf` or `objdump` for shared library scanning - A C linker (gcc or clang) — needed by some Rust dependencies
- Works on Linux and macOS for development, but runtime features require Linux
```bash
# macOS (Homebrew)
brew install rustup && rustup-init
# Arch Linux
sudo pacman -S rust
# Ubuntu / Debian
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
**Runtime (using dpack to build/install packages):**
dpack must run on a Linux system (it uses Linux-specific features):
- Linux kernel 5.4+ (for namespace support)
- `bash` (build scripts are bash)
- `curl` or `wget` (source tarball downloads)
- `git` (for git-source packages)
- `tar` (source extraction)
- `readelf` or `objdump` (shared library scanning — part of binutils)
- bubblewrap (`bwrap`) for sandboxed builds (optional — falls back to direct execution)
- A C/C++ compiler (gcc or clang) and make (for building packages)
On the DarkForge system itself, all runtime dependencies are provided by the base system. On another Linux distro for testing:
```bash
# Arch Linux
sudo pacman -S base-devel bubblewrap curl git
# Ubuntu / Debian
sudo apt install build-essential bubblewrap curl git binutils
```
## Building ## Building
@@ -33,7 +68,11 @@ cargo build --release
The binary is at `target/release/dpack`. Install it: The binary is at `target/release/dpack`. Install it:
```bash ```bash
# On Linux
sudo install -m755 target/release/dpack /usr/local/bin/ sudo install -m755 target/release/dpack /usr/local/bin/
# For development/testing (from the repo root)
cargo run --release -- install zlib
``` ```
## Usage ## Usage
@@ -64,6 +103,9 @@ dpack list
# Check for file conflicts and shared library issues # Check for file conflicts and shared library issues
dpack check dpack check
# Check for available updates (compares installed vs repo + upstream)
dpack check-updates
# Convert foreign package formats # Convert foreign package formats
dpack convert /path/to/Pkgfile # CRUX → dpack TOML (stdout) dpack convert /path/to/Pkgfile # CRUX → dpack TOML (stdout)
dpack convert /path/to/curl-8.19.0.ebuild -o curl.toml # Gentoo → dpack TOML (file) dpack convert /path/to/curl-8.19.0.ebuild -o curl.toml # Gentoo → dpack TOML (file)
@@ -158,6 +200,42 @@ ldflags = ""
The `system` field is a hint: `autotools`, `cmake`, `meson`, `cargo`, or `custom`. The `system` field is a hint: `autotools`, `cmake`, `meson`, `cargo`, or `custom`.
### Git sources
Instead of downloading a tarball, dpack can clone a git repository directly. This is useful for building from the latest development branch or a specific commit:
```toml
[source]
url = "" # can be empty for git sources
sha256 = "SKIP" # integrity verified by git
git = "https://github.com/FreeCAD/FreeCAD.git" # clone URL
branch = "main" # checkout this branch
# Or pin to a tag (supports ${version} expansion):
# tag = "v${version}"
# Or pin to a specific commit:
# commit = "abc123def456"
```
When `git` is set, dpack clones the repository (with `--depth 1` for branches/tags) into the build directory. The `branch`, `tag`, and `commit` fields control what gets checked out (in priority order: commit > tag > branch > default).
### Upstream update checking
Packages can specify an `update_check` URL in the `[source]` section. When you run `dpack check-updates`, it queries these URLs and compares the result against your installed version.
```toml
[source]
url = "https://example.com/foo-${version}.tar.xz"
sha256 = "..."
update_check = "https://api.github.com/repos/owner/repo/releases/latest"
```
Supported URL patterns:
- **GitHub releases API** — parses `tag_name` from the JSON response
- **GitHub/Gitea tags API** — parses the first tag name
- **Plain URL** — the response body is treated as the version string
## Running Tests ## Running Tests
```bash ```bash

View File

@@ -94,13 +94,6 @@ impl BuildOrchestrator {
let ident = pkg.ident(); let ident = pkg.ident();
println!(">>> Building {}", ident); println!(">>> Building {}", ident);
// Step 1: Download source
let source_path = self.download_source(pkg)?;
// Step 2: Verify checksum
self.verify_checksum(&source_path, &pkg.source.sha256)?;
// Step 3: Extract source
let build_dir = self.config.paths.build_dir.join(&ident); let build_dir = self.config.paths.build_dir.join(&ident);
let staging_dir = self.config.paths.build_dir.join(format!("{}-staging", ident)); let staging_dir = self.config.paths.build_dir.join(format!("{}-staging", ident));
@@ -108,11 +101,17 @@ impl BuildOrchestrator {
let _ = std::fs::remove_dir_all(&build_dir); let _ = std::fs::remove_dir_all(&build_dir);
let _ = std::fs::remove_dir_all(&staging_dir); let _ = std::fs::remove_dir_all(&staging_dir);
let actual_build_dir = if pkg.source.is_git() {
// Git source: clone the repo
self.clone_git_source(pkg, &build_dir)?;
build_dir.clone()
} else {
// Tarball source: download, verify, extract
let source_path = self.download_source(pkg)?;
self.verify_checksum(&source_path, &pkg.source.sha256)?;
self.extract_source(&source_path, &build_dir)?; self.extract_source(&source_path, &build_dir)?;
find_source_dir(&build_dir)?
// Step 4: Apply patches };
// Find the actual source directory (tarballs often have a top-level dir)
let actual_build_dir = find_source_dir(&build_dir)?;
// Step 5: Build in sandbox // Step 5: Build in sandbox
let sandbox = BuildSandbox::new( let sandbox = BuildSandbox::new(
@@ -162,6 +161,66 @@ impl BuildOrchestrator {
Ok(()) Ok(())
} }
/// Clone a git repository source into the build directory.
fn clone_git_source(&self, pkg: &PackageDefinition, build_dir: &Path) -> Result<()> {
use crate::config::package::GitRef;
let git_url = &pkg.source.git;
log::info!("Cloning git source: {}", git_url);
let mut cmd = std::process::Command::new("git");
cmd.arg("clone");
// Depth 1 for tags/branches (faster), full clone for commits
match pkg.source.git_ref() {
GitRef::Commit(_) => {} // need full history for arbitrary commits
_ => { cmd.arg("--depth").arg("1"); }
}
// Branch selection
match pkg.source.git_ref() {
GitRef::Branch(ref branch) => {
cmd.arg("--branch").arg(branch);
}
GitRef::Tag(ref tag) => {
let expanded = tag.replace("${version}", &pkg.package.version);
cmd.arg("--branch").arg(&expanded);
}
_ => {}
}
cmd.arg(git_url).arg(build_dir);
let status = cmd.status().context("Failed to run git clone")?;
if !status.success() {
bail!("Git clone failed for: {}", git_url);
}
// If a specific commit was requested, checkout that commit
if let GitRef::Commit(ref hash) = pkg.source.git_ref() {
let status = std::process::Command::new("git")
.args(["checkout", hash])
.current_dir(build_dir)
.status()
.context("Failed to checkout commit")?;
if !status.success() {
bail!("Git checkout failed for commit: {}", hash);
}
}
// Log what we got
let head = std::process::Command::new("git")
.args(["log", "--oneline", "-1"])
.current_dir(build_dir)
.output();
if let Ok(output) = head {
let rev = String::from_utf8_lossy(&output.stdout);
log::info!("Cloned at: {}", rev.trim());
}
Ok(())
}
/// Download the source tarball to the source cache. /// Download the source tarball to the source cache.
fn download_source(&self, pkg: &PackageDefinition) -> Result<PathBuf> { fn download_source(&self, pkg: &PackageDefinition) -> Result<PathBuf> {
let url = pkg.expanded_source_url(); let url = pkg.expanded_source_url();
@@ -337,3 +396,129 @@ fn calculate_dir_size(dir: &Path) -> u64 {
.map(|e| e.metadata().map_or(0, |m| m.len())) .map(|e| e.metadata().map_or(0, |m| m.len()))
.sum() .sum()
} }
/// Result of an update check for a single package.
#[derive(Debug)]
pub struct UpdateCheckResult {
pub name: String,
pub installed_version: String,
pub repo_version: String,
pub upstream_version: Option<String>,
pub has_repo_update: bool,
pub has_upstream_update: bool,
}
/// Check for available updates across all installed packages.
///
/// Compares installed versions against:
/// 1. The repo definition version (always checked)
/// 2. The upstream latest release via `update_check` URL (if configured)
pub fn check_updates(
db: &PackageDb,
all_packages: &std::collections::HashMap<String, PackageDefinition>,
) -> Vec<UpdateCheckResult> {
let mut results = Vec::new();
for installed in db.list_all() {
let repo_version = all_packages
.get(&installed.name)
.map(|p| p.package.version.clone());
let has_repo_update = repo_version
.as_ref()
.map_or(false, |rv| rv != &installed.version);
// Check upstream if update_check URL is configured
let upstream_version = all_packages
.get(&installed.name)
.and_then(|p| {
if p.source.update_check.is_empty() {
return None;
}
fetch_upstream_version(&p.source.update_check).ok()
});
let has_upstream_update = upstream_version
.as_ref()
.map_or(false, |uv| {
let rv = repo_version.as_deref().unwrap_or(&installed.version);
uv != rv
});
if has_repo_update || has_upstream_update {
results.push(UpdateCheckResult {
name: installed.name.clone(),
installed_version: installed.version.clone(),
repo_version: repo_version.unwrap_or_else(|| "?".to_string()),
upstream_version,
has_repo_update,
has_upstream_update,
});
}
}
results
}
/// Fetch the latest version from an upstream update check URL.
///
/// Supports:
/// - GitHub releases API: `https://api.github.com/repos/<owner>/<repo>/releases/latest`
/// Parses the `tag_name` field from the JSON response.
/// - GitHub tags: `https://api.github.com/repos/<owner>/<repo>/tags`
/// Returns the first tag name.
/// - Plain URL: returns the trimmed response body as the version string.
fn fetch_upstream_version(url: &str) -> Result<String> {
let output = std::process::Command::new("curl")
.args(["-sfL", "--max-time", "10", url])
.output()
.context("Failed to run curl for update check")?;
if !output.status.success() {
bail!("Update check failed for: {}", url);
}
let body = String::from_utf8_lossy(&output.stdout);
// GitHub releases API: parse tag_name from JSON
if url.contains("api.github.com") && url.contains("/releases/") {
// Simple JSON extraction without a JSON parser dep
// Look for "tag_name": "v1.2.3"
if let Some(pos) = body.find("\"tag_name\"") {
let rest = &body[pos..];
if let Some(start) = rest.find(':') {
let value_part = rest[start + 1..].trim();
if value_part.starts_with('"') {
if let Some(end) = value_part[1..].find('"') {
let tag = &value_part[1..end + 1];
// Strip leading 'v' if present
let version = tag.strip_prefix('v').unwrap_or(tag);
return Ok(version.to_string());
}
}
}
}
bail!("Could not parse tag_name from GitHub API response");
}
// GitHub tags API: parse first tag name
if url.contains("api.github.com") && url.contains("/tags") {
if let Some(pos) = body.find("\"name\"") {
let rest = &body[pos..];
if let Some(start) = rest.find(':') {
let value_part = rest[start + 1..].trim();
if value_part.starts_with('"') {
if let Some(end) = value_part[1..].find('"') {
let tag = &value_part[1..end + 1];
let version = tag.strip_prefix('v').unwrap_or(tag);
return Ok(version.to_string());
}
}
}
}
bail!("Could not parse name from GitHub tags response");
}
// Plain URL: return trimmed body
Ok(body.trim().to_string())
}

View File

@@ -55,14 +55,74 @@ pub struct SourceInfo {
/// Download URL. May contain `${version}` which is expanded at runtime. /// Download URL. May contain `${version}` which is expanded at runtime.
pub url: String, pub url: String,
/// SHA256 checksum of the source tarball /// SHA256 checksum of the source tarball.
/// Set to "SKIP" for git sources (integrity is verified by the VCS itself).
pub sha256: String, pub sha256: String,
/// Optional: git repository URL (used instead of tarball when set).
/// When this is set, `url` becomes the upstream project URL for reference,
/// and `git` is the actual clone URL.
#[serde(default)]
pub git: String,
/// Git branch to checkout (default: repo's default branch, usually main/master).
#[serde(default)]
pub branch: String,
/// Git tag to checkout. Takes precedence over branch.
/// May contain `${version}` (e.g., `v${version}`).
#[serde(default)]
pub tag: String,
/// Git commit hash to pin to (overrides branch and tag).
#[serde(default)]
pub commit: String,
/// URL pattern for checking upstream releases (for `dpack check-updates`).
/// Supports: GitHub releases API, GitLab tags API, or a plain URL returning
/// the latest version string.
/// Example: "https://api.github.com/repos/FreeCAD/FreeCAD/releases/latest"
#[serde(default)]
pub update_check: String,
/// Optional: additional source files or patches to download /// Optional: additional source files or patches to download
#[serde(default)] #[serde(default)]
pub patches: Vec<PatchInfo>, pub patches: Vec<PatchInfo>,
} }
impl SourceInfo {
/// Returns true if this source should be fetched via git clone.
pub fn is_git(&self) -> bool {
!self.git.is_empty()
}
/// Returns the effective git ref to checkout.
pub fn git_ref(&self) -> GitRef {
if !self.commit.is_empty() {
GitRef::Commit(self.commit.clone())
} else if !self.tag.is_empty() {
GitRef::Tag(self.tag.clone())
} else if !self.branch.is_empty() {
GitRef::Branch(self.branch.clone())
} else {
GitRef::Default
}
}
}
/// Which git ref to checkout after cloning.
#[derive(Debug, Clone)]
pub enum GitRef {
/// Use the repo's default branch (main/master)
Default,
/// Checkout a specific branch
Branch(String),
/// Checkout a specific tag
Tag(String),
/// Checkout a specific commit hash
Commit(String),
}
/// A patch to apply to the source before building. /// A patch to apply to the source before building.
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PatchInfo { pub struct PatchInfo {
@@ -210,12 +270,21 @@ impl PackageDefinition {
fn validate(&self) -> Result<()> { fn validate(&self) -> Result<()> {
anyhow::ensure!(!self.package.name.is_empty(), "Package name cannot be empty"); anyhow::ensure!(!self.package.name.is_empty(), "Package name cannot be empty");
anyhow::ensure!(!self.package.version.is_empty(), "Package version cannot be empty"); anyhow::ensure!(!self.package.version.is_empty(), "Package version cannot be empty");
anyhow::ensure!(!self.source.url.is_empty(), "Source URL cannot be empty");
// For git sources, the URL can be empty (git field is used instead)
if !self.source.is_git() {
anyhow::ensure!(!self.source.url.is_empty(), "Source URL cannot be empty (set [source].git for git sources)");
}
// SHA256 can be "SKIP" for git sources, otherwise must be 64 hex chars
if self.source.sha256 != "SKIP" {
anyhow::ensure!( anyhow::ensure!(
self.source.sha256.len() == 64 && self.source.sha256.chars().all(|c| c.is_ascii_hexdigit()), self.source.sha256.len() == 64 && self.source.sha256.chars().all(|c| c.is_ascii_hexdigit()),
"SHA256 checksum must be exactly 64 hex characters, got: '{}'", "SHA256 checksum must be exactly 64 hex characters or 'SKIP' for git sources, got: '{}'",
self.source.sha256 self.source.sha256
); );
}
anyhow::ensure!(!self.build.install.is_empty(), "Install command cannot be empty"); anyhow::ensure!(!self.build.install.is_empty(), "Install command cannot be empty");
// Validate optional dep names don't contain spaces or special chars // Validate optional dep names don't contain spaces or special chars

View File

@@ -86,6 +86,9 @@ enum Commands {
/// Check for shared library conflicts /// Check for shared library conflicts
Check, Check,
/// Check for available package updates (repo + upstream)
CheckUpdates,
} }
fn main() { fn main() {
@@ -383,6 +386,50 @@ fn run(cli: Cli) -> Result<()> {
} }
} }
} }
Commands::CheckUpdates => {
let db = PackageDb::open(&config.paths.db_dir)?;
// Load all repos
let mut all_repo_packages = std::collections::HashMap::new();
for repo in &config.repos {
let repo_pkgs = resolver::DependencyGraph::load_repo(&repo.path)?;
all_repo_packages.extend(repo_pkgs);
}
println!("Checking for updates...\n");
let results = build::check_updates(&db, &all_repo_packages);
if results.is_empty() {
println!("{}", "All packages are up to date.".green());
} else {
println!(
"{} update(s) available:\n",
results.len().to_string().yellow().bold()
);
for r in &results {
let mut line = format!(
" {} {}{}",
r.name.bold(),
r.installed_version.red(),
r.repo_version.green()
);
if let Some(ref uv) = r.upstream_version {
if r.has_upstream_update {
line.push_str(&format!(
" (upstream: {})",
uv.cyan()
));
}
}
println!("{}", line);
}
println!(
"\nRun {} to apply updates.",
"dpack upgrade".bold()
);
}
}
} }
Ok(()) Ok(())

View File

@@ -18,13 +18,20 @@ The installer walks through 9 steps to get a working DarkForge system on disk:
## Requirements ## Requirements
The installer runs from the DarkForge live ISO environment. It expects: **Environment:** The installer runs exclusively from the DarkForge live ISO. It is a set of bash scripts designed for the DarkForge live environment and is not intended to be run from another distro or from macOS/Windows.
- UEFI firmware (no legacy BIOS support) **Hardware:**
- At least one NVMe or SATA disk - UEFI firmware (no legacy BIOS support — the target machine must boot in UEFI mode)
- `sgdisk` (GPT partitioning) - At least one NVMe or SATA disk with enough space (minimum 250GB recommended)
- `mkfs.ext4`, `mkfs.fat`, `mkswap` - Wired ethernet connection (for DHCP during post-install package downloads)
**Tools provided by the live ISO:**
- `bash` 5.x, `sgdisk` (GPT partitioning from gdisk package)
- `mkfs.ext4` (from e2fsprogs), `mkfs.fat` (from dosfstools), `mkswap` (from util-linux)
- `efibootmgr` (UEFI boot entry creation) - `efibootmgr` (UEFI boot entry creation)
- `dpack` (package manager — for base system installation)
All of these are included in the live ISO. You do not need to install them separately.
## Usage ## Usage

View File

@@ -8,12 +8,25 @@ The ISO builder compresses the base system into a squashfs image, creates a UEFI
## Requirements ## Requirements
- `mksquashfs` (squashfs-tools) — filesystem compression **Environment:** Linux only. The ISO builder is a bash script that uses Linux-specific tools. It cannot run on macOS or Windows.
- `xorriso` — ISO9660 image creation
- `mkfs.fat` (dosfstools) — EFI partition image **Host packages:**
- `mcopy` (mtools) — copy files into FAT images
- A completed base system build (Phase 3) ```bash
- A compiled kernel at `kernel/vmlinuz` # Arch Linux
sudo pacman -S squashfs-tools xorriso dosfstools mtools
# Ubuntu / Debian
sudo apt install squashfs-tools xorriso dosfstools mtools
# Fedora
sudo dnf install squashfs-tools xorriso dosfstools mtools
```
**Build prerequisites:**
- A completed base system build (Phase 3) in `build/base-system/`
- A compiled kernel at `kernel/vmlinuz` (Phase 4)
- The DarkForge toolchain chroot (Phase 0) or an equivalent build environment
## Usage ## Usage

1
src/repos Submodule

Submodule src/repos added at b83ae5fcd9

View File

@@ -1,135 +0,0 @@
# DarkForge Package Repository
124 package definitions for the complete DarkForge Linux system. Each package is a TOML file describing how to download, build, and install a piece of software.
## Repository Layout
```
repos/
├── core/ 67 packages — base system (toolchain, kernel, utilities, system daemons)
├── extra/ 26 packages — libraries, frameworks, drivers
├── desktop/ 19 packages — Wayland compositor, terminals, applications
└── gaming/ 12 packages — Steam, Wine, Proton, game tools
```
## Package Format
Each package lives in `<repo>/<name>/<name>.toml`. See the dpack README for the full format specification.
Example (`core/zlib/zlib.toml`):
```toml
[package]
name = "zlib"
version = "1.3.1"
description = "Compression library implementing the deflate algorithm"
url = "https://zlib.net/"
license = "zlib"
[source]
url = "https://zlib.net/zlib-${version}.tar.xz"
sha256 = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32"
[dependencies]
run = []
build = ["gcc", "make"]
[build]
configure = "./configure --prefix=/usr"
make = "make"
install = "make DESTDIR=${PKG} install"
```
## core/ — Base System (67 packages)
The complete base system needed to boot to a shell:
**Toolchain:** gcc, glibc, binutils, gmp, mpfr, mpc, linux (kernel)
**Utilities:** coreutils, util-linux, bash, sed, grep, gawk, findutils, diffutils, tar, gzip, xz, zstd, bzip2, ncurses, readline, file, less, make, patch, m4
**System:** eudev, sysvinit, dbus, dhcpcd, shadow, procps-ng, e2fsprogs, kmod, iproute2, kbd, amd-microcode
**Dev tools:** cmake, meson, ninja, python, perl, autoconf, automake, libtool, bison, flex, gettext, texinfo, pkg-config, gperf
**Libraries:** openssl, curl, git, zlib, expat, libffi, libxml2, pcre2, glib, libmnl, libpipeline, bc
**Docs:** groff, man-db, man-pages
## extra/ — Libraries and Frameworks (26 packages)
Libraries needed by the desktop and gaming stack:
**Audio:** pipewire, wireplumber
**Graphics:** mesa, vulkan-headers, vulkan-loader, vulkan-tools, libdrm, nvidia-open
**Fonts:** fontconfig, freetype, harfbuzz, libpng
**UI:** pango, cairo, pixman, qt6-base, lxqt-policykit
**Security:** polkit, duktape, gnutls, nettle, libtasn1, p11-kit
**Other:** seatd, lua, rust
## desktop/ — Wayland Desktop (19 packages)
The complete desktop environment:
**Wayland:** wayland, wayland-protocols, wlroots, xwayland
**Compositor:** dwl (dynamic window manager for Wayland, dwm-like)
**Input:** libinput, libevdev, mtdev, libxkbcommon, xkeyboard-config
**Apps:** foot (terminal), fuzzel (launcher), firefox, zsh, wezterm, freecad
**Tools:** wl-clipboard, grim (screenshots), slurp (region select)
## gaming/ — Gaming Stack (12 packages)
Everything needed for gaming on Linux:
**Platform:** steam, wine, proton-ge, protontricks, winetricks
**Translation:** dxvk (D3D9/10/11→Vulkan), vkd3d-proton (D3D12→Vulkan)
**Tools:** gamemode, mangohud, sdl2
**Runtime:** openjdk (for PrismLauncher/Minecraft), prismlauncher
## Adding a New Package
1. Create the directory: `mkdir -p <repo>/<name>`
2. Create the definition: `<repo>/<name>/<name>.toml`
3. Fill in all sections: `[package]`, `[source]`, `[dependencies]`, `[build]`
4. Compute the SHA256: `sha256sum <tarball>`
5. Test: `dpack install <name>`
Alternatively, convert from CRUX or Gentoo:
```bash
dpack convert /path/to/Pkgfile -o repos/core/foo/foo.toml
dpack convert /path/to/foo-1.0.ebuild -o repos/extra/foo/foo.toml
```
## SHA256 Checksums
Most package definitions currently have placeholder checksums (`aaa...`). These must be populated with real checksums before building. To compute them:
```bash
for pkg in core/*/; do
name=$(basename "$pkg")
url=$(grep '^url = ' "$pkg/${name}.toml" | head -1 | sed 's/url = "//;s/"$//' | sed "s/\${version}/$(grep '^version' "$pkg/${name}.toml" | head -1 | sed 's/version = "//;s/"$//')/")
echo "Downloading $name from $url..."
wget -q "$url" -O "/tmp/${name}.tar" && sha256sum "/tmp/${name}.tar"
done
```
## Repository
```
git@git.dannyhaslund.dk:danny8632/darkforge.git
```
Package definitions live in `src/repos/` in the main DarkForge repo.

View File

@@ -1,20 +0,0 @@
[package]
name = "amd-microcode"
version = "20261201"
description = "AMD CPU microcode updates"
url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"
license = "Redistributable"
[source]
url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = []
build = []
[build]
system = "custom"
configure = """"""
make = """make"""
install = """mkdir -p ${PKG}/lib/firmware/amd-ucode && cp amd-ucode/*.bin ${PKG}/lib/firmware/amd-ucode/ && mkdir -p ${PKG}/boot && cat ${PKG}/lib/firmware/amd-ucode/microcode_amd*.bin > ${PKG}/boot/amd-ucode.img"""

View File

@@ -1,20 +0,0 @@
[package]
name = "autoconf"
version = "2.72"
description = "GNU autoconf build configuration"
url = "https://www.gnu.org/software/autoconf/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/autoconf/autoconf-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["perl", "m4"]
build = ["make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "automake"
version = "1.18"
description = "GNU automake Makefile generator"
url = "https://www.gnu.org/software/automake/"
license = "GPL-2.0"
[source]
url = "https://ftp.gnu.org/gnu/automake/automake-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["perl", "autoconf"]
build = ["make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "bash"
version = "5.3"
description = "GNU Bourne-Again Shell"
url = "https://www.gnu.org/software/bash/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/bash/bash-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "readline", "ncurses"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --without-bash-malloc --with-installed-readline"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,19 +0,0 @@
[package]
name = "bc"
version = "7.0.3"
description = "Arbitrary precision calculator"
url = "https://git.gavinhoward.com/gavin/bc"
license = "BSD-2-Clause"
[source]
url = "https://github.com/gavinhoward/bc/releases/download/${version}/bc-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "readline"]
build = ["gcc", "make"]
[build]
configure = """./configure --prefix=/usr -O3 -r"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "binutils"
version = "2.46"
description = "GNU binary utilities"
url = "https://www.gnu.org/software/binutils/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/binutils/binutils-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "zlib"]
build = ["make", "texinfo"]
[build]
system = "autotools"
configure = """mkdir build && cd build && ../configure --prefix=/usr --enable-gold --enable-ld=default --enable-plugins --enable-shared --disable-werror --with-system-zlib --enable-default-hash-style=gnu"""
make = """make tooldir=/usr"""
install = """make DESTDIR=${PKG} tooldir=/usr install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "bison"
version = "3.8.2"
description = "GNU parser generator"
url = "https://www.gnu.org/software/bison/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/bison/bison-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "m4"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "bzip2"
version = "1.0.8"
description = "Block-sorting file compressor"
url = "https://sourceware.org/bzip2/"
license = "bzip2-1.0.6"
[source]
url = "https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "custom"
configure = """"""
make = """make -f Makefile-libbz2_so && make clean && make"""
install = """make PREFIX=${PKG}/usr install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "cmake"
version = "4.2.3"
description = "Cross-platform build system generator"
url = "https://cmake.org/"
license = "BSD-3-Clause"
[source]
url = "https://cmake.org/files/v4.2/cmake-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "curl", "expat", "zlib", "xz", "zstd"]
build = ["gcc", "make"]
[build]
system = "custom"
configure = """./bootstrap --prefix=/usr --system-libs --no-system-jsoncpp --no-system-cppdap --no-system-librhash"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "coreutils"
version = "9.6"
description = "GNU core utilities"
url = "https://www.gnu.org/software/coreutils/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/coreutils/coreutils-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make", "perl"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --enable-no-install-program=kill,uptime"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "curl"
version = "8.19.0"
description = "URL transfer library and command-line tool"
url = "https://curl.se/"
license = "MIT"
[source]
url = "https://curl.se/download/curl-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "openssl", "zlib", "zstd"]
build = ["gcc", "make", "pkg-config"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static --with-openssl --enable-threaded-resolver --with-ca-path=/etc/ssl/certs"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "dbus"
version = "1.16.2"
description = "D-Bus message bus system"
url = "https://www.freedesktop.org/wiki/Software/dbus/"
license = "AFL-2.1"
[source]
url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "expat"]
build = ["gcc", "make", "pkg-config", "meson", "ninja"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release -Druntime_dir=/run -Dsystem_pid_file=/run/dbus/pid -Dsystem_socket=/run/dbus/system_bus_socket -Ddoxygen_docs=disabled -Dxml_docs=disabled"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "dhcpcd"
version = "10.3.0"
description = "DHCP client daemon"
url = "https://github.com/NetworkConfiguration/dhcpcd"
license = "BSD-2-Clause"
[source]
url = "https://github.com/NetworkConfiguration/dhcpcd/releases/download/v${version}/dhcpcd-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "eudev"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/dhcpcd --dbdir=/var/lib/dhcpcd --runstatedir=/run --disable-privsep"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "diffutils"
version = "3.10"
description = "GNU file comparison utilities"
url = "https://www.gnu.org/software/diffutils/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/diffutils/diffutils-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "e2fsprogs"
version = "1.47.4"
description = "Ext2/3/4 filesystem utilities"
url = "https://e2fsprogs.sourceforge.net/"
license = "GPL-2.0"
[source]
url = "https://downloads.sourceforge.net/project/e2fsprogs/e2fsprogs/v${version}/e2fsprogs-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "util-linux"]
build = ["gcc", "make", "pkg-config", "texinfo"]
[build]
system = "autotools"
configure = """mkdir -v build && cd build && ../configure --prefix=/usr --bindir=/usr/bin --with-root-prefix="" --enable-elf-shlibs --disable-libblkid --disable-libuuid --disable-uuidd --disable-fsck"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "eudev"
version = "3.2.14"
description = "Device manager (udev fork without systemd)"
url = "https://github.com/eudev-project/eudev"
license = "GPL-2.0"
[source]
url = "https://github.com/eudev-project/eudev/releases/download/v${version}/eudev-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "kmod", "util-linux"]
build = ["gcc", "make", "gperf", "pkg-config"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --bindir=/usr/sbin --sysconfdir=/etc --enable-manpages --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "expat"
version = "2.7.4"
description = "XML parsing library"
url = "https://libexpat.github.io/"
license = "MIT"
[source]
url = "https://github.com/libexpat/libexpat/releases/download/R_2_7_4/expat-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "file"
version = "5.47"
description = "File type identification utility"
url = "https://www.darwinsys.com/file/"
license = "BSD-2-Clause"
[source]
url = "https://astron.com/pub/file/file-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "zlib"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "findutils"
version = "4.10.0"
description = "GNU file search utilities"
url = "https://www.gnu.org/software/findutils/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/findutils/findutils-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --localstatedir=/var/lib/locate"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "flex"
version = "2.6.4"
description = "Fast lexical analyzer generator"
url = "https://github.com/westes/flex"
license = "BSD-2-Clause"
[source]
url = "https://github.com/westes/flex/releases/download/v${version}/flex-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "m4"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "gawk"
version = "5.4.0"
description = "GNU awk text processing language"
url = "https://www.gnu.org/software/gawk/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/gawk/gawk-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "readline", "mpfr"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "gcc"
version = "15.2.0"
description = "The GNU Compiler Collection"
url = "https://gcc.gnu.org/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/pub/gnu/gcc/gcc-${version}/gcc-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "gmp", "mpfr", "mpc", "zlib"]
build = ["make", "sed", "gawk", "texinfo"]
[build]
system = "autotools"
configure = """mkdir build && cd build && ../configure --prefix=/usr --enable-languages=c,c++ --enable-default-pie --enable-default-ssp --disable-multilib --with-system-zlib"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "gettext"
version = "0.23.1"
description = "GNU internationalization utilities"
url = "https://www.gnu.org/software/gettext/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/gettext/gettext-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "git"
version = "2.53.0"
description = "Distributed version control system"
url = "https://git-scm.com/"
license = "GPL-2.0"
[source]
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "curl", "openssl", "zlib", "expat", "perl", "python"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --with-gitconfig=/etc/gitconfig --with-python=python3"""
make = """make"""
install = """make DESTDIR=${PKG} perllibdir=/usr/lib/perl5/5.40/site_perl install"""

View File

@@ -1,19 +0,0 @@
[package]
name = "glib"
version = "2.84.1"
description = "GLib low-level core library"
url = "https://gitlab.gnome.org/GNOME/glib"
license = "LGPL-2.1"
[source]
url = "https://download.gnome.org/sources/glib/2.84/glib-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "libffi", "zlib", "pcre2"]
build = ["gcc", "meson", "ninja", "pkg-config", "python"]
[build]
configure = """meson setup build --prefix=/usr --buildtype=release -Dman-pages=disabled"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "glibc"
version = "2.43"
description = "The GNU C Library"
url = "https://www.gnu.org/software/libc/"
license = "LGPL-2.1"
[source]
url = "https://ftp.gnu.org/gnu/glibc/glibc-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = []
build = ["gcc", "binutils", "make", "sed", "gawk"]
[build]
system = "autotools"
configure = """mkdir -v build && cd build && ../configure --prefix=/usr --disable-werror --enable-kernel=5.4 --enable-stack-protector=strong libc_cv_slibdir=/usr/lib"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "gmp"
version = "6.3.0"
description = "GNU Multiple Precision Arithmetic Library"
url = "https://gmplib.org/"
license = "LGPL-3.0"
[source]
url = "https://gmplib.org/download/gmp/gmp-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = []
build = ["gcc", "make", "m4"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --enable-cxx --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,19 +0,0 @@
[package]
name = "gperf"
version = "3.1"
description = "Perfect hash function generator"
url = "https://www.gnu.org/software/gperf/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/gperf/gperf-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "grep"
version = "3.14"
description = "GNU grep pattern matching"
url = "https://www.gnu.org/software/grep/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/grep/grep-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "groff"
version = "1.24.1"
description = "GNU troff typesetting system"
url = "https://www.gnu.org/software/groff/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/groff/groff-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "perl"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "gzip"
version = "1.14"
description = "GNU compression utility"
url = "https://www.gnu.org/software/gzip/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/gzip/gzip-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "iproute2"
version = "6.19.0"
description = "IP routing utilities"
url = "https://wiki.linuxfoundation.org/networking/iproute2"
license = "GPL-2.0"
[source]
url = "https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "libmnl"]
build = ["gcc", "make", "pkg-config", "bison", "flex"]
[build]
system = "custom"
configure = """"""
make = """make NETNS_RUN_DIR=/run/netns"""
install = """make DESTDIR=${PKG} SBINDIR=/usr/sbin install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "kbd"
version = "2.6.4"
description = "Keyboard utilities"
url = "https://kbd-project.org/"
license = "GPL-2.0"
[source]
url = "https://www.kernel.org/pub/linux/utils/kbd/kbd-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make", "autoconf", "automake"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-vlock"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "kmod"
version = "34.2"
description = "Linux kernel module handling"
url = "https://github.com/kmod-project/kmod"
license = "GPL-2.0"
[source]
url = "https://github.com/kmod-project/kmod/archive/refs/tags/v${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "zlib", "xz", "zstd", "openssl"]
build = ["gcc", "make", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "less"
version = "692"
description = "Terminal pager"
url = "http://www.greenwoodsoftware.com/less/"
license = "GPL-3.0"
[source]
url = "https://www.greenwoodsoftware.com/less/less-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "ncurses"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --sysconfdir=/etc"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "libffi"
version = "3.5.2"
description = "Foreign function interface library"
url = "https://github.com/libffi/libffi"
license = "MIT"
[source]
url = "https://github.com/libffi/libffi/releases/download/v${version}/libffi-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static --with-gcc-arch=native"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,19 +0,0 @@
[package]
name = "libmnl"
version = "1.0.5"
description = "Minimalistic Netlink library"
url = "https://netfilter.org/projects/libmnl/"
license = "LGPL-2.1"
[source]
url = "https://www.netfilter.org/projects/libmnl/files/libmnl-${version}.tar.bz2"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
configure = """./configure --prefix=/usr --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,19 +0,0 @@
[package]
name = "libpipeline"
version = "1.5.8"
description = "Pipeline manipulation library"
url = "https://gitlab.com/cjwatson/libpipeline"
license = "GPL-3.0"
[source]
url = "https://download.savannah.nongnu.org/releases/libpipeline/libpipeline-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
configure = """./configure --prefix=/usr --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "libtool"
version = "2.5.4"
description = "GNU libtool generic library support script"
url = "https://www.gnu.org/software/libtool/"
license = "GPL-2.0"
[source]
url = "https://ftp.gnu.org/gnu/libtool/libtool-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "libxml2"
version = "2.15.2"
description = "XML C parser and toolkit"
url = "https://gitlab.gnome.org/GNOME/libxml2"
license = "MIT"
[source]
url = "https://download.gnome.org/sources/libxml2/2.15/libxml2-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "zlib", "xz", "readline"]
build = ["gcc", "make", "pkg-config", "python"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static --with-history --with-python=/usr/bin/python3"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "linux"
version = "6.19.8"
description = "The Linux kernel"
url = "https://www.kernel.org/"
license = "GPL-2.0"
[source]
url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = []
build = ["gcc", "make", "bc", "flex", "bison", "openssl", "perl"]
[build]
system = "custom"
configure = """"""
make = """make"""
install = """make INSTALL_MOD_PATH=${PKG} modules_install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "m4"
version = "1.4.20"
description = "GNU macro processor"
url = "https://www.gnu.org/software/m4/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/m4/m4-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "make"
version = "4.4.1"
description = "GNU make build tool"
url = "https://www.gnu.org/software/make/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/make/make-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "man-db"
version = "2.13.1"
description = "Manual page browser"
url = "https://man-db.nongnu.org/"
license = "GPL-2.0"
[source]
url = "https://download.savannah.nongnu.org/releases/man-db/man-db-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "groff", "less", "libpipeline"]
build = ["gcc", "make", "pkg-config"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --sysconfdir=/etc --disable-setuid --enable-cache-owner=bin --with-browser=/usr/bin/lynx --with-vgrind=/usr/bin/vgrind --with-grap=/usr/bin/grap"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "man-pages"
version = "6.16"
description = "Linux man pages"
url = "https://www.kernel.org/doc/man-pages/"
license = "GPL-2.0"
[source]
url = "https://www.kernel.org/pub/linux/docs/man-pages/man-pages-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = []
build = []
[build]
system = "custom"
configure = """"""
make = """make"""
install = """make DESTDIR=${PKG} prefix=/usr install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "meson"
version = "1.10.2"
description = "High performance build system"
url = "https://mesonbuild.com/"
license = "Apache-2.0"
[source]
url = "https://github.com/mesonbuild/meson/releases/download/${version}/meson-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["python"]
build = ["python"]
[build]
system = "custom"
configure = """"""
make = """python3 setup.py build"""
install = """python3 setup.py install --root=${PKG}"""

View File

@@ -1,20 +0,0 @@
[package]
name = "mpc"
version = "1.3.1"
description = "Multiple-precision complex number library"
url = "https://www.multiprecision.org/mpc/"
license = "LGPL-2.1"
[source]
url = "https://ftp.gnu.org/gnu/mpc/mpc-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["gmp", "mpfr"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "mpfr"
version = "4.2.2"
description = "Multiple-precision floating-point library"
url = "https://www.mpfr.org/"
license = "LGPL-3.0"
[source]
url = "https://www.mpfr.org/mpfr-current/mpfr-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["gmp"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static --enable-thread-safe"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "ncurses"
version = "6.5"
description = "Terminal handling library"
url = "https://invisible-island.net/ncurses/"
license = "MIT"
[source]
url = "https://invisible-island.net/datafiles/release/ncurses-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --mandir=/usr/share/man --with-shared --without-debug --without-normal --with-cxx-shared --enable-pc-files --with-pkg-config-libdir=/usr/lib/pkgconfig"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "ninja"
version = "1.13.0"
description = "Small build system with a focus on speed"
url = "https://ninja-build.org/"
license = "Apache-2.0"
[source]
url = "https://github.com/ninja-build/ninja/archive/v${version}/ninja-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make", "python"]
[build]
system = "custom"
configure = """"""
make = """python3 configure.py --bootstrap"""
install = """install -Dm755 ninja ${PKG}/usr/bin/ninja"""

View File

@@ -1,20 +0,0 @@
[package]
name = "openssl"
version = "3.6.1"
description = "Cryptography and TLS toolkit"
url = "https://www.openssl.org/"
license = "Apache-2.0"
[source]
url = "https://github.com/openssl/openssl/releases/download/openssl-${version}/openssl-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "zlib"]
build = ["gcc", "make", "perl"]
[build]
system = "custom"
configure = """./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib shared zlib-dynamic"""
make = """make"""
install = """make DESTDIR=${PKG} MANSUFFIX=ssl install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "patch"
version = "2.8"
description = "GNU patch utility"
url = "https://www.gnu.org/software/patch/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/patch/patch-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,19 +0,0 @@
[package]
name = "pcre2"
version = "10.45"
description = "Perl Compatible Regular Expressions v2"
url = "https://github.com/PCRE2Project/pcre2"
license = "BSD-3-Clause"
[source]
url = "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${version}/pcre2-${version}.tar.bz2"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "zlib", "readline"]
build = ["gcc", "make", "cmake"]
[build]
configure = """./configure --prefix=/usr --enable-unicode --enable-jit --enable-pcre2-16 --enable-pcre2-32 --enable-pcre2grep-libz --enable-pcre2grep-libbz2 --enable-pcre2test-libreadline --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "perl"
version = "5.40.2"
description = "Practical Extraction and Report Language"
url = "https://www.perl.org/"
license = "Artistic-1.0"
[source]
url = "https://www.cpan.org/src/5.0/perl-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "zlib"]
build = ["gcc", "make"]
[build]
system = "custom"
configure = """sh Configure -des -Dprefix=/usr -Dvendorprefix=/usr -Dprivlib=/usr/lib/perl5/5.40/core_perl -Darchlib=/usr/lib/perl5/5.40/core_perl -Dsitelib=/usr/lib/perl5/5.40/site_perl -Dsitearch=/usr/lib/perl5/5.40/site_perl -Dvendorlib=/usr/lib/perl5/5.40/vendor_perl -Dvendorarch=/usr/lib/perl5/5.40/vendor_perl -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dpager='/usr/bin/less -isR' -Duseshrplib -Dusethreads"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "pkg-config"
version = "1.8.0"
description = "Package configuration helper tool"
url = "https://www.freedesktop.org/wiki/Software/pkg-config/"
license = "GPL-2.0"
[source]
url = "https://pkgconfig.freedesktop.org/releases/pkg-config-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "glib"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --with-internal-glib --disable-host-tool"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "procps-ng"
version = "4.0.6"
description = "Process monitoring utilities (ps, top, free, etc.)"
url = "https://gitlab.com/procps-ng/procps"
license = "GPL-2.0"
[source]
url = "https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "ncurses"]
build = ["gcc", "make", "pkg-config"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static --disable-kill"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "python"
version = "3.13.3"
description = "Python programming language"
url = "https://www.python.org/"
license = "PSF-2.0"
[source]
url = "https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "expat", "libffi", "openssl", "zlib", "xz", "ncurses", "readline"]
build = ["gcc", "make", "pkg-config"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --enable-shared --with-system-expat --enable-optimizations"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "readline"
version = "8.3"
description = "GNU readline library"
url = "https://tiswww.case.edu/php/chet/readline/rltop.html"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/readline/readline-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["ncurses"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static --with-curses"""
make = """make SHLIB_LIBS='-lncursesw'"""
install = """make SHLIB_LIBS='-lncursesw' DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "sed"
version = "4.9"
description = "GNU stream editor"
url = "https://www.gnu.org/software/sed/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/sed/sed-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "shadow"
version = "4.14"
description = "User and group management utilities"
url = "https://github.com/shadow-maint/shadow"
license = "BSD-3-Clause"
[source]
url = "https://github.com/shadow-maint/shadow/releases/download/${version}/shadow-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --sysconfdir=/etc --disable-static --with-group-name-max-length=32"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "sysvinit"
version = "3.15"
description = "System V style init programs"
url = "https://savannah.nongnu.org/projects/sysvinit/"
license = "GPL-2.0"
[source]
url = "https://github.com/slicer69/sysvinit/releases/download/${version}/sysvinit-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "custom"
configure = """"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "tar"
version = "1.35"
description = "GNU tar archiver"
url = "https://www.gnu.org/software/tar/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/tar/tar-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "texinfo"
version = "7.3"
description = "GNU documentation system"
url = "https://www.gnu.org/software/texinfo/"
license = "GPL-3.0"
[source]
url = "https://ftp.gnu.org/gnu/texinfo/texinfo-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "perl", "ncurses"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "util-linux"
version = "2.42"
description = "Miscellaneous system utilities"
url = "https://github.com/util-linux/util-linux"
license = "GPL-2.0"
[source]
url = "https://www.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "ncurses", "zlib"]
build = ["gcc", "make", "pkg-config"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib --runstatedir=/run --sbindir=/usr/sbin --disable-chfn-chsh --disable-login --disable-nologin --disable-su --disable-setpriv --disable-runuser --disable-pylibmount --disable-static --disable-liblastlog2 --without-python ADJTIME_PATH=/var/lib/hwclock/adjtime"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "xz"
version = "5.8.1"
description = "XZ Utils compression"
url = "https://xz.tukaani.org/xz-utils/"
license = "LGPL-2.1"
[source]
url = "https://github.com/tukaani-project/xz/releases/download/v${version}/xz-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,31 +0,0 @@
# DarkForge Linux — Package Definition: zlib
# This serves as the canonical example of the .dpack format.
[package]
name = "zlib"
version = "1.3.1"
description = "Compression library implementing the deflate algorithm"
url = "https://zlib.net/"
license = "zlib"
[source]
url = "https://zlib.net/zlib-${version}.tar.xz"
sha256 = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32"
[dependencies]
run = []
build = ["gcc", "make"]
[dependencies.optional]
static = { description = "Build static library", default = true }
minizip = { description = "Build minizip utility", deps = [] }
[build]
configure = "./configure --prefix=/usr"
make = "make"
install = "make DESTDIR=${PKG} install"
# Per-package flag overrides (empty = use global defaults)
[build.flags]
cflags = ""
ldflags = ""

View File

@@ -1,20 +0,0 @@
[package]
name = "zstd"
version = "1.5.7"
description = "Zstandard fast real-time compression"
url = "https://facebook.github.io/zstd/"
license = "BSD-3-Clause"
[source]
url = "https://github.com/facebook/zstd/releases/download/v${version}/zstd-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make", "cmake"]
[build]
system = "custom"
configure = """"""
make = """make prefix=/usr"""
install = """make prefix=/usr DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "dwl"
version = "0.7"
description = "Dynamic window manager for Wayland (dwm-like)"
url = "https://codeberg.org/dwl/dwl"
license = "GPL-3.0"
[source]
url = "https://codeberg.org/dwl/dwl/archive/v${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["wlroots", "wayland", "wayland-protocols", "libinput", "xwayland"]
build = ["gcc", "make", "pkg-config"]
[build]
system = "custom"
configure = """"""
make = """make"""
install = """make DESTDIR=${PKG} PREFIX=/usr install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "firefox"
version = "137.0"
description = "Mozilla Firefox web browser"
url = "https://www.mozilla.org/firefox/"
license = "MPL-2.0"
[source]
url = "https://archive.mozilla.org/pub/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "dbus", "glib", "pango", "cairo", "freetype", "fontconfig", "libffi", "openssl", "zlib"]
build = ["gcc", "make", "python", "perl", "pkg-config", "autoconf", "rust", "cbindgen", "nodejs", "nasm"]
[build]
system = "custom"
configure = """"""
make = """make -f client.mk"""
install = """make -f client.mk DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "foot"
version = "1.21.1"
description = "Fast, lightweight Wayland terminal emulator"
url = "https://codeberg.org/dnkl/foot"
license = "MIT"
[source]
url = "https://codeberg.org/dnkl/foot/archive/${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "wayland", "fontconfig", "freetype", "pixman", "libxkbcommon"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "freecad"
version = "1.0.0"
description = "Parametric 3D CAD modeler"
url = "https://www.freecad.org/"
license = "LGPL-2.0"
[source]
url = "https://github.com/FreeCAD/FreeCAD/archive/refs/tags/${version}/FreeCAD-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "python", "qt6-base", "opencascade", "boost", "xerces-c", "freetype", "zlib", "libpng"]
build = ["gcc", "cmake", "ninja", "pkg-config", "swig"]
[build]
system = "cmake"
configure = """cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_QT5=OFF -DBUILD_FEM=ON"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "fuzzel"
version = "1.12.0"
description = "Application launcher for Wayland"
url = "https://codeberg.org/dnkl/fuzzel"
license = "MIT"
[source]
url = "https://codeberg.org/dnkl/fuzzel/archive/${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "wayland", "fontconfig", "freetype", "pixman", "libxkbcommon", "cairo"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "grim"
version = "1.4.1"
description = "Screenshot tool for Wayland"
url = "https://sr.ht/~emersion/grim/"
license = "MIT"
[source]
url = "https://git.sr.ht/~emersion/grim/archive/v${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["wayland", "wayland-protocols", "pixman", "libpng"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "libevdev"
version = "1.13.3"
description = "Input event device wrapper"
url = "https://freedesktop.org/wiki/Software/libevdev/"
license = "MIT"
[source]
url = "https://freedesktop.org/software/libevdev/libevdev-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "meson", "ninja"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "libinput"
version = "1.28.1"
description = "Input device handling library"
url = "https://www.freedesktop.org/wiki/Software/libinput/"
license = "MIT"
[source]
url = "https://gitlab.freedesktop.org/libinput/libinput/-/releases/${version}/downloads/libinput-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "eudev", "libevdev", "mtdev"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release -Ddocumentation=false -Dtests=false -Ddebug-gui=false"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "libxkbcommon"
version = "1.7.0"
description = "Keyboard keymap compilation library"
url = "https://xkbcommon.org/"
license = "MIT"
[source]
url = "https://xkbcommon.org/download/libxkbcommon-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "wayland", "wayland-protocols", "xkeyboard-config", "libxml2"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release -Denable-docs=false"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "mtdev"
version = "1.1.7"
description = "Multitouch device translation library"
url = "https://bitmath.org/code/mtdev/"
license = "MIT"
[source]
url = "https://bitmath.org/code/mtdev/mtdev-${version}.tar.bz2"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --disable-static"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "slurp"
version = "1.5.0"
description = "Region selector for Wayland"
url = "https://github.com/emersion/slurp"
license = "MIT"
[source]
url = "https://github.com/emersion/slurp/archive/v${version}/slurp-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["wayland", "wayland-protocols", "cairo"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "wayland-protocols"
version = "1.41"
description = "Wayland protocol extensions"
url = "https://wayland.freedesktop.org/"
license = "MIT"
[source]
url = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${version}/downloads/wayland-protocols-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["wayland"]
build = ["meson", "ninja"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "wayland"
version = "1.23.1"
description = "Wayland display protocol"
url = "https://wayland.freedesktop.org/"
license = "MIT"
[source]
url = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${version}/downloads/wayland-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "libffi", "expat", "libxml2"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release -Ddocumentation=false"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "wezterm"
version = "20240203-110809"
description = "GPU-accelerated terminal emulator"
url = "https://wezfurlong.org/wezterm/"
license = "MIT"
[source]
url = "https://github.com/wez/wezterm/releases/download/${version}-5046fc22/wezterm-${version}-src.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "openssl", "zlib", "fontconfig", "freetype", "wayland", "libxkbcommon", "xcb"]
build = ["rust", "cmake", "pkg-config", "python"]
[build]
system = "cargo"
configure = """"""
make = """cargo build --release"""
install = """install -Dm755 target/release/wezterm ${PKG}/usr/bin/wezterm && install -Dm755 target/release/wezterm-gui ${PKG}/usr/bin/wezterm-gui && install -Dm755 target/release/wezterm-mux-server ${PKG}/usr/bin/wezterm-mux-server"""

View File

@@ -1,20 +0,0 @@
[package]
name = "wl-clipboard"
version = "2.2.1"
description = "Wayland clipboard utilities"
url = "https://github.com/bugaevc/wl-clipboard"
license = "GPL-3.0"
[source]
url = "https://github.com/bugaevc/wl-clipboard/archive/v${version}/wl-clipboard-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["wayland"]
build = ["gcc", "meson", "ninja"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "wlroots"
version = "0.18.2"
description = "Modular Wayland compositor library"
url = "https://gitlab.freedesktop.org/wlroots/wlroots"
license = "MIT"
[source]
url = "https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/${version}/downloads/wlroots-${version}.tar.gz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["wayland", "wayland-protocols", "libdrm", "mesa", "seatd", "libinput", "pixman", "xwayland"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release -Dxwayland=enabled"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "xkeyboard-config"
version = "2.43"
description = "X keyboard configuration database"
url = "https://freedesktop.org/wiki/Software/XKeyboardConfig/"
license = "MIT"
[source]
url = "https://xorg.freedesktop.org/archive/individual/data/xkeyboard-config/xkeyboard-config-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = []
build = ["meson", "ninja"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "xwayland"
version = "24.1.6"
description = "X11 compatibility layer for Wayland"
url = "https://xorg.freedesktop.org/"
license = "MIT"
[source]
url = "https://xorg.freedesktop.org/archive/individual/xserver/xwayland-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["wayland", "wayland-protocols", "libdrm", "mesa", "pixman", "libxkbcommon"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "zsh"
version = "5.9.1"
description = "Z shell (user's interactive shell)"
url = "https://www.zsh.org/"
license = "MIT-like"
[source]
url = "https://www.zsh.org/pub/zsh-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "ncurses", "pcre2"]
build = ["gcc", "make"]
[build]
system = "autotools"
configure = """./configure --prefix=/usr --enable-multibyte --enable-pcre --with-tcsetpgrp"""
make = """make"""
install = """make DESTDIR=${PKG} install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "cairo"
version = "1.18.4"
description = "2D graphics library"
url = "https://cairographics.org/"
license = "LGPL-2.1"
[source]
url = "https://cairographics.org/releases/cairo-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "libpng", "freetype", "fontconfig", "pixman", "glib"]
build = ["gcc", "meson", "ninja", "pkg-config"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "duktape"
version = "2.7.0"
description = "Embeddable JavaScript engine"
url = "https://duktape.org/"
license = "MIT"
[source]
url = "https://duktape.org/duktape-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc"]
build = ["gcc", "make"]
[build]
system = "custom"
configure = """"""
make = """make -f Makefile.sharedlibrary"""
install = """make -f Makefile.sharedlibrary DESTDIR=${PKG} INSTALL_PREFIX=/usr install"""

View File

@@ -1,20 +0,0 @@
[package]
name = "fontconfig"
version = "2.16.0"
description = "Font configuration and access library"
url = "https://www.freedesktop.org/wiki/Software/fontconfig/"
license = "MIT"
[source]
url = "https://www.freedesktop.org/software/fontconfig/release/fontconfig-${version}.tar.xz"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
[dependencies]
run = ["glibc", "freetype", "expat"]
build = ["gcc", "meson", "ninja", "pkg-config", "gperf"]
[build]
system = "meson"
configure = """meson setup build --prefix=/usr --buildtype=release"""
make = """ninja -C build"""
install = """DESTDIR=${PKG} ninja -C build install"""

Some files were not shown because too many files have changed in this diff Show More