aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-25 10:31:45 +0900
committerOphestra <cat@gensokyo.uk>2026-05-25 10:31:45 +0900
commit8ca70550abee1f3085b13a8f645152a11b59b306 (patch)
treef8d115712b741c92d0c62ec53904f880bad36999 /internal
parent7eebf49b98e72b4b1966b1d1e78910a643514ece (diff)
internal/rosa/package: db
For iproute2. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
-rw-r--r--internal/rosa/make.go8
-rw-r--r--internal/rosa/package/db.az35
-rw-r--r--internal/rosa/package/iproute2.az2
-rw-r--r--internal/rosa/state.go1
4 files changed, 44 insertions, 2 deletions
diff --git a/internal/rosa/make.go b/internal/rosa/make.go
index d6f1f0b9..0dab3a43 100644
--- a/internal/rosa/make.go
+++ b/internal/rosa/make.go
@@ -28,6 +28,8 @@ type MakeHelper struct {
SkipConfigure bool
// Alternative name for the configure script.
ConfigureName string
+ // Add autoconf arguments regardless of ConfigureName.
+ ForceAutoconf bool
// Flags passed to the configure script.
Configure []KV
// Host target triple, zero value is equivalent to the Rosa OS triple.
@@ -100,9 +102,11 @@ func (attr *MakeHelper) script(t Toolchain, name string) string {
if !attr.SkipConfigure {
configure = attr.ConfigureName
if configure == "" {
- configure += `/usr/src/` + name + `/configure \
+ configure += `/usr/src/` + name + `/configure`
+ }
+ if attr.ForceAutoconf || attr.ConfigureName == "" {
+ configure += ` \
--prefix=/system`
-
host := `"${ROSA_TRIPLE}"`
if attr.Host != "" {
host = attr.Host
diff --git a/internal/rosa/package/db.az b/internal/rosa/package/db.az
new file mode 100644
index 00000000..4bb577e4
--- /dev/null
+++ b/internal/rosa/package/db.az
@@ -0,0 +1,35 @@
+package db {
+ description = "Berkeley DB";
+ website = "https://www.oracle.com/database/technologies/related/berkeleydb.html";
+ anitya = 1587;
+
+ version# = "18.1.40";
+ source = remoteTar {
+ url = "https://download.oracle.com/berkeley-db/db-"+version+".tar.gz";
+ checksum = "26i6UfgNxPVzS7kr37Q9-9feeCiQ825qRi8uvn2oG4AngOXHcFoSGDijckKvWSH7";
+ compress = gzip;
+ };
+
+ writable = true;
+ chmod = true;
+ early = `
+cd build_unix
+# broken install target
+touch \
+ ../docs/bdb-sql \
+ ../docs/gsg_db_server
+`;
+
+ exec = make {
+ inPlace = true;
+ configureName = "../dist/configure";
+ forceAutoconf = true;
+ configure = {
+ "enable-cxx";
+ "enable-compat185";
+ "with-repmgr-ssl": "no";
+ };
+ check = [ "examples_c" ];
+ postInstall = "rm -r /work/system/docs";
+ };
+}
diff --git a/internal/rosa/package/iproute2.az b/internal/rosa/package/iproute2.az
index 69febd5d..d6d99b61 100644
--- a/internal/rosa/package/iproute2.az
+++ b/internal/rosa/package/iproute2.az
@@ -41,6 +41,7 @@ package iproute2 {
libbpf,
libmnl,
+ db,
libcap,
kernel-headers,
];
@@ -48,6 +49,7 @@ package iproute2 {
runtime = [
libbpf,
libmnl,
+ db,
libcap,
];
}
diff --git a/internal/rosa/state.go b/internal/rosa/state.go
index 888378d8..5e6f089a 100644
--- a/internal/rosa/state.go
+++ b/internal/rosa/state.go
@@ -776,6 +776,7 @@ func (s *S) getFrame() azalea.Frame {
k("inPlace"): &attr.InPlace,
k("skipConfigure"): &attr.SkipConfigure,
k("configureName"): &attr.ConfigureName,
+ k("forceAutoconf"): &attr.ForceAutoconf,
k("configure"): &attr.Configure,
k("host"): &attr.Host,
k("build"): &attr.Build,