Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b4348a3db3 | |||
| 486180c11f | |||
| d3d68ad472 | |||
| d2dc6a716d |
@@ -45,6 +45,7 @@ const (
|
||||
Binutils
|
||||
Bison
|
||||
Bzip2
|
||||
Cairo
|
||||
CMake
|
||||
Connman
|
||||
Coreutils
|
||||
@@ -56,9 +57,12 @@ const (
|
||||
Fakeroot
|
||||
Findutils
|
||||
Flex
|
||||
FontConfig
|
||||
FontUtil
|
||||
Freetype
|
||||
Fribidi
|
||||
Fuse
|
||||
Gconf
|
||||
GMP
|
||||
GLib
|
||||
Gawk
|
||||
@@ -68,13 +72,16 @@ const (
|
||||
Glslang
|
||||
GnuTLS
|
||||
Go
|
||||
GObjectIntrospection
|
||||
Gperf
|
||||
Grep
|
||||
Gzip
|
||||
Hakurei
|
||||
HakureiDist
|
||||
HarfBuzz
|
||||
Hwdata
|
||||
IPTables
|
||||
JDK
|
||||
Kmod
|
||||
LIT
|
||||
LibX11
|
||||
@@ -83,13 +90,17 @@ const (
|
||||
LibXext
|
||||
LibXfixes
|
||||
LibXfont2
|
||||
LibXft
|
||||
LibXi
|
||||
LibXrandr
|
||||
LibXrender
|
||||
LibXtst
|
||||
LibXxf86vm
|
||||
Libarchive
|
||||
Libbsd
|
||||
Libcap
|
||||
Libconfig
|
||||
Libdatrie
|
||||
LibdisplayInfo
|
||||
Libdrm
|
||||
Libepoxy
|
||||
@@ -100,6 +111,7 @@ const (
|
||||
Libgd
|
||||
Libglvnd
|
||||
Libiconv
|
||||
Libjpeg
|
||||
Libmd
|
||||
Libmnl
|
||||
Libnftnl
|
||||
@@ -108,6 +120,7 @@ const (
|
||||
Libpsl
|
||||
Libseccomp
|
||||
Libtasn1
|
||||
Libthai
|
||||
Libtirpc
|
||||
Libtool
|
||||
Libucontext
|
||||
@@ -142,6 +155,7 @@ const (
|
||||
OpenSSL
|
||||
P11Kit
|
||||
PCRE2
|
||||
Pango
|
||||
Parallel
|
||||
Patch
|
||||
Perl
|
||||
@@ -182,6 +196,7 @@ const (
|
||||
Readline
|
||||
Rsync
|
||||
Sed
|
||||
SharedMimeInfo
|
||||
SPIRVHeaders
|
||||
SPIRVLLVMTranslator
|
||||
SPIRVTools
|
||||
@@ -205,6 +220,7 @@ const (
|
||||
XkeyboardConfig
|
||||
XorgProto
|
||||
Xserver
|
||||
Zip
|
||||
Zlib
|
||||
Zstd
|
||||
|
||||
|
||||
196
internal/rosa/fontstack.go
Normal file
196
internal/rosa/fontstack.go
Normal file
@@ -0,0 +1,196 @@
|
||||
package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newFontConfig() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.15.0"
|
||||
checksum = "rvlTL_zn-RwVkTBFdsOacUmEdLmwa3whTkuTzV8JH7kKbsFmnbG2qof3hN9ghr9d"
|
||||
)
|
||||
return t.NewPackage("fontconfig", version, newFromGitLab("gitlab.freedesktop.org", "fontconfig/fontconfig", version, checksum),
|
||||
nil,
|
||||
(*MesonHelper)(nil),
|
||||
Gperf,
|
||||
Freetype,
|
||||
Libexpat,
|
||||
Python,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[FontConfig] = Metadata{
|
||||
f: Toolchain.newFontConfig,
|
||||
Name: "fontconfig",
|
||||
Description: "freedesktop font discovery",
|
||||
Website: "https://fontconfig.pages.freedesktop.org/fontconfig/fontconfig-user.html",
|
||||
ID: 827,
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newCairo() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.18.4"
|
||||
checksum = "_Ztw0ttmYLIiElqS27x2Iu4EneXOMNHp2or6bJA6suLeF3NRvORzUMPPQy9Wr5gT"
|
||||
)
|
||||
return t.NewPackage("cairo", version, newFromGitLab("gitlab.freedesktop.org", "cairo/cairo", version, checksum),
|
||||
nil,
|
||||
&MesonHelper{
|
||||
SkipTest: true,
|
||||
Setup: []KV{{"Dfreetype", "enabled"}, {"Dfontconfig", "enabled"}},
|
||||
},
|
||||
Automake,
|
||||
Libtool,
|
||||
Libpng,
|
||||
PkgConfig,
|
||||
FontConfig,
|
||||
Libexpat,
|
||||
Freetype,
|
||||
Pixman,
|
||||
Gawk,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Cairo] = Metadata{
|
||||
f: Toolchain.newCairo,
|
||||
Name: "cairo",
|
||||
Description: "freedesktop 2d rendering library",
|
||||
Website: "https://cairographics.org",
|
||||
ID: 247,
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newHarfbuzz() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "14.2.0"
|
||||
checksum = "2VgjUmcPeIbleafZaGk5l7iGnag2qj0HTqrJ5770GzivebryZ2pbwVIha5j_24PH"
|
||||
)
|
||||
return t.NewPackage("harfbuzz", version, newFromGitHub("harfbuzz/harfbuzz", version, checksum),
|
||||
nil,
|
||||
(*MesonHelper)(nil),
|
||||
Freetype,
|
||||
GLib,
|
||||
Cairo,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[HarfBuzz] = Metadata{
|
||||
f: Toolchain.newHarfbuzz,
|
||||
Name: "harfbuzz",
|
||||
Description: "text shaping library",
|
||||
Website: "https://harfbuzz.github.io",
|
||||
ID: 1299,
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newFribidi() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.0.16"
|
||||
checksum = "Sn9hwdgViXW9_MOi8ovAcBgQy6s6o4cc0o260k76nqCRzxmxxD1-B37GVkJ2EoMy"
|
||||
)
|
||||
return t.NewPackage("fribidi", version, newFromGitHub("fribidi/fribidi", "v"+version, checksum),
|
||||
nil,
|
||||
&MesonHelper{
|
||||
Setup: []KV{[2]string{"Ddocs", "false"}},
|
||||
},
|
||||
PkgConfig,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Fribidi] = Metadata{
|
||||
f: Toolchain.newFribidi,
|
||||
Name: "fribidi",
|
||||
Description: "bidirectional text library",
|
||||
Website: "https://www.gnu.org/software/fribidi/",
|
||||
ID: 857,
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibdatrie() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.2.14"
|
||||
checksum = "JnJBEFrA8xYscXOSRJNGb1ZyRqrdsfP1_sdRIQeeSujdcsxmYT5Yl9m4byTsLozp"
|
||||
)
|
||||
return t.NewPackage("libdatrie", version, newFromGitHub("tlwg/libdatrie", "v"+version, checksum),
|
||||
nil,
|
||||
&MakeHelper{
|
||||
Generate: "sh autogen.sh",
|
||||
},
|
||||
Libtool,
|
||||
Automake,
|
||||
M4,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Libdatrie] = Metadata{
|
||||
f: Toolchain.newLibdatrie,
|
||||
Name: "libdatrie",
|
||||
Description: "double-array trie library",
|
||||
Website: "https://linux.thai.net/~thep/datrie/datrie.html",
|
||||
ID: 7342,
|
||||
}
|
||||
}
|
||||
func (t Toolchain) newLibThai() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.1.30"
|
||||
checksum = "jQxUviF-lSiVrnqXebc4kROp0hrIeQbke2gvaeTfkCDp-wHkpxb3xP18fsNOF_F-"
|
||||
)
|
||||
return t.NewPackage("libthai", version, newFromGitHub("tlwg/libthai", "v"+version, checksum),
|
||||
nil,
|
||||
&MakeHelper{
|
||||
Generate: "sh autogen.sh",
|
||||
},
|
||||
Libtool,
|
||||
Automake,
|
||||
M4,
|
||||
Libdatrie,
|
||||
PkgConfig,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Libthai] = Metadata{
|
||||
f: Toolchain.newLibThai,
|
||||
Name: "libthai",
|
||||
Description: "thai language handling library",
|
||||
Website: "https://linux.thai.net/",
|
||||
|
||||
ID: 1737,
|
||||
}
|
||||
}
|
||||
func (t Toolchain) newPango() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.56.3"
|
||||
checksum = "O73sc8axQyjIFpW4XkV7wi4HVSvmdUnx1uTn-HtbewXgrCVWX9Du-pssL5BK7rf1"
|
||||
)
|
||||
return t.NewPackage("pango", version, newFromGitLab("gitlab.gnome.org", "GNOME/pango", version, checksum),
|
||||
nil,
|
||||
&MesonHelper{
|
||||
SkipTest: true,
|
||||
},
|
||||
GLib,
|
||||
GObjectIntrospection,
|
||||
Freetype,
|
||||
PkgConfig,
|
||||
FontConfig,
|
||||
HarfBuzz,
|
||||
Fribidi,
|
||||
Cairo,
|
||||
Pixman,
|
||||
Libpng,
|
||||
Libexpat,
|
||||
Libdatrie,
|
||||
Libthai,
|
||||
Libtool,
|
||||
LibX11,
|
||||
LibXrender,
|
||||
LibXft,
|
||||
Diffutils,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Pango] = Metadata{
|
||||
f: Toolchain.newPango,
|
||||
Name: "pango",
|
||||
Description: "text rendering library",
|
||||
Website: "https://pango.org",
|
||||
ID: 11783,
|
||||
}
|
||||
}
|
||||
@@ -58,3 +58,91 @@ func init() {
|
||||
ID: 10024,
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newSharedMimeInfo() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.4"
|
||||
checksum = "RrqfOT1gGuYfN7pkwgeLPfljkk9eL5BwRsNTuJNZjOk1vT5frTJ1EshDvaSqKwiL"
|
||||
)
|
||||
return t.NewPackage("shared-mime-info", version, newFromGitLab("gitlab.freedesktop.org", "xdg/shared-mime-info", version, checksum),
|
||||
nil,
|
||||
&MesonHelper{
|
||||
SkipTest: true,
|
||||
},
|
||||
GLib,
|
||||
Meson,
|
||||
Libxml2,
|
||||
Gettext,
|
||||
Libpng,
|
||||
Libjpeg,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[SharedMimeInfo] = Metadata{
|
||||
f: Toolchain.newSharedMimeInfo,
|
||||
Name: "shared-mime-info",
|
||||
Description: "xdg MIME repository",
|
||||
Website: "https://www.freedesktop.org/wiki/Software/shared-mime-info/",
|
||||
ID: 5524,
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newGobjectIntrospection() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.86.0"
|
||||
checksum = "M-eq1kEEX215x0VMfTIfJXNfVnZwiC41QK33tlCeK0_GDwGUILQm0SqvRSySNoka"
|
||||
)
|
||||
return t.NewPackage("gobject-introspection", version, t.NewViaGit("https://gitlab.gnome.org/GNOME/gobject-introspection.git", version, mustDecode(checksum)),
|
||||
&PackageAttr{
|
||||
Writable: true,
|
||||
},
|
||||
&MesonHelper{
|
||||
SkipTest: true,
|
||||
},
|
||||
GLib,
|
||||
PythonSetuptools,
|
||||
Flex,
|
||||
Bison,
|
||||
Cairo,
|
||||
Libffi,
|
||||
Libpng,
|
||||
M4,
|
||||
PythonMako,
|
||||
Pixman,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[GObjectIntrospection] = Metadata{
|
||||
f: Toolchain.newGobjectIntrospection,
|
||||
Name: "gobject-introspection",
|
||||
Description: "introspection toolkit",
|
||||
Website: "https://gi.readthedocs.io/",
|
||||
ID: 1223,
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newGconf() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.2.6"
|
||||
checksum = "oSoPCk8J4Xd1gF1RLPqzdvHQfEn2eOE9qpLoT2CyDwnkUERgg2990dHN_AKhVgJp"
|
||||
)
|
||||
return t.NewPackage("gconf", version, newFromGitLab("gitlab.gnome.org", "Archive/gconf", version, checksum),
|
||||
nil,
|
||||
&MakeHelper{
|
||||
Configure: []KV{{"disable-orbit"}, {"disable-introspection"}},
|
||||
Generate: "autoreconf -if",
|
||||
},
|
||||
Automake,
|
||||
Libtool,
|
||||
GLib,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Gconf] = Metadata{
|
||||
f: Toolchain.newGconf,
|
||||
Name: "gconf",
|
||||
Description: "outdated configuration database library",
|
||||
Website: "http://projects.gnome.org/gconf/",
|
||||
ID: 8423,
|
||||
}
|
||||
}
|
||||
|
||||
139
internal/rosa/jdk.go
Normal file
139
internal/rosa/jdk.go
Normal file
@@ -0,0 +1,139 @@
|
||||
package rosa
|
||||
|
||||
import (
|
||||
"slices"
|
||||
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newJikes() pkg.Artifact {
|
||||
const (
|
||||
version = "1.22"
|
||||
checksum = "qb5Pf6P7RBrXRVLNEwfGxqhb05WW-MjJyJw7O-fYKizNGDNJEpsttbmOsFge0MO1"
|
||||
)
|
||||
return t.NewPackage("jikes", version,
|
||||
newTar("https://sourceforge.net/projects/jikes/files/Jikes/"+version+"/jikes-"+version+".tar.bz2/download",
|
||||
checksum, pkg.TarBzip2),
|
||||
&PackageAttr{},
|
||||
&MakeHelper{
|
||||
Generate: "autoreconf -if",
|
||||
Make: []string{
|
||||
"CXXFLAGS='-std=c++03'",
|
||||
},
|
||||
},
|
||||
Automake,
|
||||
)
|
||||
}
|
||||
|
||||
func (t Toolchain) newClasspath(version, checksum string, extra ...pkg.Artifact) pkg.Artifact {
|
||||
attr := &PackageAttr{
|
||||
Patches: []KV{{"classpath0.93-include-stdlib",
|
||||
`diff --git a/native/fdlibm/dtoa.c b/native/fdlibm/dtoa.c
|
||||
index 5fb6aae..e710d96 100644
|
||||
--- a/native/fdlibm/dtoa.c
|
||||
+++ b/native/fdlibm/dtoa.c
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
#include "mprec.h"
|
||||
#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
|
||||
static int
|
||||
_DEFUN (quorem,
|
||||
`}},
|
||||
}
|
||||
helper := &MakeHelper{
|
||||
SkipCheck: true,
|
||||
Generate: "autoreconf -if",
|
||||
Configure: []KV{{"with-jikes"}, {"disable-gtk-peer"}, {"disable-gconf-peer"}, {"disable-Werror"}, {"disable-plugin"}},
|
||||
}
|
||||
script := attr.ScriptEarly
|
||||
script += helper.scriptEarly()
|
||||
|
||||
source := newTar(
|
||||
"https://ftp.gnu.org/gnu/classpath/classpath-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
)
|
||||
|
||||
wantsChmod, wantsWrite := helper.wantsChmod(), helper.wantsWrite()
|
||||
pExtra := []PArtifact{Automake, Libtool, LibX11, LibXtst, LibXi, PkgConfig, Gzip, GLib, Findutils, Unzip}
|
||||
extraRes := make([]pkg.Artifact, 0, 1<<3+len(pExtra))
|
||||
{
|
||||
pv := paGet()
|
||||
for _, p := range helper.extra(attr.Flag) {
|
||||
extraRes = t.appendPreset(extraRes, pv, p)
|
||||
}
|
||||
for _, p := range pExtra {
|
||||
extraRes = t.appendPreset(extraRes, pv, p)
|
||||
}
|
||||
paPut(pv)
|
||||
}
|
||||
var (
|
||||
scriptEarly string
|
||||
sourceSuffix string
|
||||
)
|
||||
|
||||
if _, ok := source.(pkg.FileArtifact); ok {
|
||||
if attr.Writable || attr.Chmod ||
|
||||
wantsChmod || wantsWrite ||
|
||||
len(attr.Patches) > 0 {
|
||||
panic("source processing requested on a xz-compressed tarball")
|
||||
}
|
||||
|
||||
sourceSuffix = ".tar.xz"
|
||||
scriptEarly += `
|
||||
tar -C /usr/src/ -xf '/usr/src/` + "classpath" + `.tar.xz'
|
||||
mv '/usr/src/` + "classpath" + `-` + version + `' '/usr/src/` + "classpath" + `'
|
||||
`
|
||||
}
|
||||
|
||||
dir := helper.wantsDir()
|
||||
helperScriptEarly := helper.scriptEarly()
|
||||
if attr.EnterSource ||
|
||||
dir == "" ||
|
||||
attr.ScriptEarly != "" ||
|
||||
helperScriptEarly != "" {
|
||||
scriptEarly += `
|
||||
cd '/usr/src/` + "classpath" + `/'
|
||||
`
|
||||
}
|
||||
scriptEarly += attr.ScriptEarly + helperScriptEarly
|
||||
if dir != "" && dir != helperInPlace {
|
||||
if helper.createDir() {
|
||||
scriptEarly += "\nmkdir -p " + dir
|
||||
}
|
||||
scriptEarly += "\ncd " + dir + "\n"
|
||||
} else if !attr.EnterSource && attr.ScriptEarly == "" {
|
||||
panic("cannot remain in root")
|
||||
}
|
||||
|
||||
return t.New(
|
||||
"classpath"+"-"+version,
|
||||
attr.Flag,
|
||||
slices.Concat(extra, extraRes),
|
||||
attr.KnownChecksum,
|
||||
attr.Env,
|
||||
scriptEarly+helper.script("classpath"),
|
||||
slices.Concat(attr.Paths, []pkg.ExecPath{
|
||||
pkg.Path(AbsUsrSrc.Append(
|
||||
"classpath"+sourceSuffix,
|
||||
), attr.Writable || wantsWrite, t.NewPatchedSource(
|
||||
"classpath", version, source, !attr.Chmod && !wantsChmod, attr.Patches...,
|
||||
)),
|
||||
})...,
|
||||
)
|
||||
}
|
||||
func (t Toolchain) newLatestJdk() (pkg.Artifact, string) {
|
||||
jikes := t.newJikes()
|
||||
classpath093 := t.newClasspath("0.93", "WKsqDegi4rVCdQ2uJc3BOPuMnovU_cbiQy7nAzvYYtYnw75V6--sZFyRKnfiwGg9", jikes)
|
||||
return classpath093, "0.93"
|
||||
}
|
||||
func init() {
|
||||
artifactsM[JDK] = Metadata{
|
||||
f: Toolchain.newLatestJdk,
|
||||
Name: "jdk",
|
||||
Description: "java toolchain",
|
||||
Website: "https://jikes.sourceforge.net/",
|
||||
}
|
||||
}
|
||||
24
internal/rosa/libjpeg.go
Normal file
24
internal/rosa/libjpeg.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package rosa
|
||||
|
||||
import "hakurei.app/internal/pkg"
|
||||
|
||||
func (t Toolchain) newLibjpeg() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "10"
|
||||
checksum = "N-o4pq6wO8fPeIePdi6-fZtiiRUzdizja_B-BYpmx-GU2Qesdgg0QF0ub-jtiYmd"
|
||||
)
|
||||
return t.NewPackage("libjpeg", version, newTar("https://www.ijg.org/files/jpegsrc.v"+version+".tar.gz", checksum, pkg.TarGzip),
|
||||
nil,
|
||||
(*MakeHelper)(nil),
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Libjpeg] = Metadata{
|
||||
f: Toolchain.newLibjpeg,
|
||||
|
||||
Name: "libjpeg",
|
||||
Description: "jpeg library",
|
||||
Website: "https://www.ijg.org",
|
||||
ID: 21362,
|
||||
}
|
||||
}
|
||||
@@ -465,6 +465,85 @@ func init() {
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXi() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.8.2"
|
||||
checksum = "F5g6yRPPql5QQDCFMiIpl3tvwm0_5Y-anUXX_mX-u5F5E0mSB22azREW99p6Zwso"
|
||||
)
|
||||
return t.NewPackage("libXi", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxi",
|
||||
"libXi-"+version,
|
||||
checksum), nil, &MakeHelper{
|
||||
Generate: "NOCONFIGURE=1 ./autogen.sh",
|
||||
},
|
||||
Automake,
|
||||
Libtool,
|
||||
PkgConfig,
|
||||
|
||||
utilMacros,
|
||||
LibX11,
|
||||
LibXext,
|
||||
Libxslt,
|
||||
LibXfixes,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[LibXi] = Metadata{
|
||||
f: Toolchain.newLibXi,
|
||||
|
||||
Name: "libXi",
|
||||
Description: "Xlib-based library for input",
|
||||
Website: "https://gitlab.freedesktop.org/xorg/lib/libxi",
|
||||
|
||||
Dependencies: P{
|
||||
LibX11,
|
||||
},
|
||||
|
||||
ID: 1778,
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXtst() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.2.5"
|
||||
checksum = "WOoDvv1aUbkupcuo3I4dMe9rH2eGoi7CF2ncA_RRX1JAekqGr3_YQfYiQtakNCiP"
|
||||
)
|
||||
return t.NewPackage("libXtst", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxtst",
|
||||
"libXtst-"+version,
|
||||
checksum), nil, &MakeHelper{
|
||||
Generate: "NOCONFIGURE=1 ./autogen.sh",
|
||||
},
|
||||
Automake,
|
||||
Libtool,
|
||||
PkgConfig,
|
||||
|
||||
utilMacros,
|
||||
LibX11,
|
||||
LibXext,
|
||||
Libxslt,
|
||||
LibXi,
|
||||
LibXfixes,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[LibXtst] = Metadata{
|
||||
f: Toolchain.newLibXtst,
|
||||
|
||||
Name: "libXtst",
|
||||
Description: "Xlib-based library for XTST",
|
||||
Website: "https://gitlab.freedesktop.org/xorg/lib/libxtst",
|
||||
|
||||
Dependencies: P{
|
||||
LibX11,
|
||||
},
|
||||
|
||||
ID: 1794,
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibXrender() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "0.9.12"
|
||||
@@ -502,6 +581,42 @@ func init() {
|
||||
}
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibxft() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.3.9"
|
||||
checksum = "uHJtVwC4G9SnUSE8_KMnUR6SxSfLxEaausYSexZ0I8p4tgdxOqjKMuX_rKzfJR79"
|
||||
)
|
||||
return t.NewPackage("libxft", version, newFromGitLab(
|
||||
"gitlab.freedesktop.org",
|
||||
"xorg/lib/libxft",
|
||||
"libXft-"+version,
|
||||
checksum),
|
||||
nil,
|
||||
&MakeHelper{
|
||||
Generate: "NOCONFIGURE=1 ./autogen.sh",
|
||||
},
|
||||
Automake,
|
||||
Libtool,
|
||||
PkgConfig,
|
||||
Freetype,
|
||||
FontConfig,
|
||||
utilMacros,
|
||||
LibX11,
|
||||
LibXext,
|
||||
LibXrender,
|
||||
Libexpat,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[LibXft] = Metadata{
|
||||
f: Toolchain.newLibxft,
|
||||
Name: "libxft",
|
||||
Description: "Xorg font library",
|
||||
Website: "https://www.freedesktop.org/wiki/Software/Xft/",
|
||||
|
||||
ID: 1777,
|
||||
}
|
||||
}
|
||||
func (t Toolchain) newLibxshmfence() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.3.3"
|
||||
|
||||
100
internal/rosa/zip.go
Normal file
100
internal/rosa/zip.go
Normal file
@@ -0,0 +1,100 @@
|
||||
package rosa
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"hakurei.app/internal/pkg"
|
||||
)
|
||||
|
||||
func (t Toolchain) newZip() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.0"
|
||||
checksum = "4-fw0fXSm7qMvJ6FyRs9VRsURdkJ_1A8f8ihjxXWtj2ulEL-Io6ouKXTn0cE0wtT"
|
||||
)
|
||||
return t.New("zip-"+version, 0, t.AppendPresets(nil,
|
||||
Make,
|
||||
Coreutils,
|
||||
Unzip,
|
||||
), nil, nil, `
|
||||
cd /usr/src/zip/
|
||||
chmod +x unix/configure
|
||||
unix/configure
|
||||
make -f unix/Makefile generic
|
||||
|
||||
mkdir -p /work/system/bin/
|
||||
mv zip /work/system/bin/
|
||||
`, pkg.Path(AbsUsrSrc.Append("zip"), true, t.NewPatchedSource(
|
||||
"zip", version, newTar(
|
||||
"https://downloads.sourceforge.net/project/infozip/"+
|
||||
"Zip%203.x%20%28latest%29/"+version+"/"+
|
||||
"zip"+strings.ReplaceAll(version, ".", "")+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
KV{"zip-gentoo-patch",
|
||||
`https://bugs.gentoo.org/869203
|
||||
|
||||
See also OE's variant: https://cgit.openembedded.org/openembedded-core/commit/?id=f898db2607ba3837f81292af92bc8cb605b96cb3
|
||||
--- a/unix/configure
|
||||
+++ b/unix/configure
|
||||
@@ -507,18 +507,18 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/
|
||||
# add NO_'function_name' to flags if missing
|
||||
|
||||
for func in rmdir strchr strrchr rename mktemp mktime mkstemp
|
||||
do
|
||||
echo Check for $func
|
||||
- echo "int main(){ $func(); return 0; }" > conftest.c
|
||||
+ echo "char $func(); int main(){ return $func(); }" > conftest.c
|
||||
$CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
|
||||
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_` + "`echo $func | tr '[a-z]' '[A-Z]'`" + `
|
||||
done
|
||||
|
||||
|
||||
echo Check for memset
|
||||
-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
|
||||
+echo "int main(){ char memset(); return memset(); }" > conftest.c
|
||||
$CC -o conftest conftest.c >/dev/null 2>/dev/null
|
||||
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
|
||||
|
||||
|
||||
echo Check for memmove
|
||||
@@ -551,11 +551,11 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/
|
||||
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_ERRNO"
|
||||
|
||||
|
||||
echo Check for directory libraries
|
||||
cat > conftest.c << _EOF_
|
||||
-int main() { return closedir(opendir(".")); }
|
||||
+int main() { char closedir(); char opendir(); return closedir(opendir()); }
|
||||
_EOF_
|
||||
|
||||
$CC -o conftest conftest.c >/dev/null 2>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
OPT=""
|
||||
@@ -573,11 +573,11 @@ fi
|
||||
|
||||
|
||||
# Dynix/ptx 1.3 needed this
|
||||
|
||||
echo Check for readlink
|
||||
-echo "int main(){ return readlink(); }" > conftest.c
|
||||
+echo "int main(){ char readlink(); return readlink(); }" > conftest.c
|
||||
$CC -o conftest conftest.c >/dev/null 2>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
$CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
|
||||
[ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
|
||||
fi
|
||||
|
||||
`}))), version
|
||||
}
|
||||
func init() {
|
||||
artifactsM[Zip] = Metadata{
|
||||
f: Toolchain.newZip,
|
||||
|
||||
Name: "zip",
|
||||
Description: "portable compression/archiver utilities",
|
||||
Website: "https://infozip.sourceforge.net/",
|
||||
|
||||
ID: 10080,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user