Merge pull request 'feat: add package cmake' (#72) from sisungo/semios-packages:cmake into master
Reviewed-on: #72
This commit was merged in pull request #72.
This commit is contained in:
@@ -44,6 +44,8 @@ def builddep(s: str):
|
|||||||
elif s == "shortcut/rust":
|
elif s == "shortcut/rust":
|
||||||
builddep("shortcut/c")
|
builddep("shortcut/c")
|
||||||
_builddep += ["cargo", "rustc"]
|
_builddep += ["cargo", "rustc"]
|
||||||
|
elif s == "shortcut/cmake":
|
||||||
|
_builddep += ["cmake", "ninja"]
|
||||||
else:
|
else:
|
||||||
_builddep += [s]
|
_builddep += [s]
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
|
||||||
|
from lib import cpp, arch
|
||||||
|
from lib.make import *
|
||||||
|
|
||||||
|
upstream_version = "4.3.4"
|
||||||
|
[upstream_major, upstream_minor, upstream_rev] = upstream_version.split(".")
|
||||||
|
|
||||||
|
version(upstream_version)
|
||||||
|
source_url(
|
||||||
|
"https://github.com/Kitware/CMake/releases/download/v4.3.4/cmake-4.3.4.tar.gz"
|
||||||
|
)
|
||||||
|
|
||||||
|
builddep("shortcut/c++")
|
||||||
|
builddep("shortcut/autotools")
|
||||||
|
builddep("shortcut/cmake")
|
||||||
|
builddep(f"libcurl-dev @{arch.get_target()}")
|
||||||
|
builddep(f"aws-lc-dev @{arch.get_target()}")
|
||||||
|
builddep(f"libcurl-dev @{arch.get_target()}")
|
||||||
|
builddep(f"libexpat-dev @{arch.get_target()}")
|
||||||
|
builddep(f"libz-dev @{arch.get_target()}")
|
||||||
|
builddep(f"libbzip2-dev @{arch.get_target()}")
|
||||||
|
builddep(f"liblzma-dev @{arch.get_target()}")
|
||||||
|
builddep(f"libzstd-dev @{arch.get_target()}")
|
||||||
|
builddep(f"libnghttp2-dev @{arch.get_target()}")
|
||||||
|
builddep(f"librhash-dev @{arch.get_target()}")
|
||||||
|
builddep(f"libarchive-dev @{arch.get_target()}")
|
||||||
|
builddep(f"linux-dev @{arch.get_target()}")
|
||||||
|
|
||||||
|
|
||||||
|
def build():
|
||||||
|
os.environ["CMAKE_PREFIX_PATH"] = f"/lib/{arch.get_target()}"
|
||||||
|
cpp.cmake([
|
||||||
|
f"-DCMAKE_INSTALL_PREFIX={get_prefix('cmake')}",
|
||||||
|
"-DCMAKE_USE_SYSTEM_CURL=ON",
|
||||||
|
"-DCMAKE_USE_SYSTEM_ZLIB=ON",
|
||||||
|
"-DCMAKE_USE_SYSTEM_ZSTD=ON",
|
||||||
|
"-DCMAKE_USE_SYSTEM_LIBRHASH=ON",
|
||||||
|
"-DCMAKE_USE_SYSTEM_LIBARCHIVE=ON",
|
||||||
|
"-DCMAKE_USE_SYSTEM_LIBLZMA=ON",
|
||||||
|
"-DCMAKE_USE_SYSTEM_EXPAT=ON",
|
||||||
|
"-DCMAKE_USE_SYSTEM_BZIP2=ON",
|
||||||
|
])
|
||||||
|
cpp.ninja()
|
||||||
|
cpp.ninja_install()
|
||||||
|
|
||||||
|
|
||||||
|
on_build(build)
|
||||||
|
|
||||||
|
def pack_cmake(composer):
|
||||||
|
composer.add_dir("bin", "bin")
|
||||||
|
composer.makedir("share")
|
||||||
|
composer.add_dir(
|
||||||
|
f"share/cmake-{upstream_major}.{upstream_minor}",
|
||||||
|
f"share/cmake-{upstream_major}.{upstream_minor}",
|
||||||
|
)
|
||||||
|
|
||||||
|
package("cmake")
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
dep("libcxx @same-arch")
|
||||||
|
dep("libcurl @same-arch")
|
||||||
|
on_pack(pack_cmake)
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
prefix=/
|
||||||
|
exec_prefix=${prefix}
|
||||||
|
libdir=
|
||||||
|
includedir=
|
||||||
|
|
||||||
|
Name: librhash
|
||||||
|
Description: LibRHash shared library
|
||||||
|
Version:
|
||||||
|
Cflags: -I${includedir}
|
||||||
|
Libs: -L${libdir} -lrhash
|
||||||
|
Libs.private:
|
||||||
@@ -1,25 +1,43 @@
|
|||||||
from lib import cpp
|
from lib import cpp
|
||||||
from lib.make import *
|
from lib.make import *
|
||||||
|
|
||||||
version("1.4.6")
|
import os
|
||||||
|
|
||||||
|
upstream_version = "1.4.6"
|
||||||
|
|
||||||
|
version(upstream_version)
|
||||||
source_url("https://github.com/rhash/RHash/archive/refs/tags/v1.4.6.tar.gz")
|
source_url("https://github.com/rhash/RHash/archive/refs/tags/v1.4.6.tar.gz")
|
||||||
|
|
||||||
builddep("shortcut/c")
|
builddep("shortcut/c")
|
||||||
builddep("shortcut/autotools")
|
builddep("shortcut/autotools")
|
||||||
|
|
||||||
|
with open("files/librhash.pc") as f:
|
||||||
|
librhash_pc = f.read()
|
||||||
|
|
||||||
def build():
|
def build():
|
||||||
|
global librhash_pc
|
||||||
cpp.configure(
|
cpp.configure(
|
||||||
[
|
[
|
||||||
"--prefix=/",
|
"--prefix=/",
|
||||||
f"--bindir={get_prefix('rhash-tools')}/bin",
|
f"--bindir={get_prefix('rhash-tools')}/bin",
|
||||||
f"--libdir={get_prefix('librhash')}/lib",
|
f"--libdir={get_prefix('librhash')}/lib",
|
||||||
"--disable-gettext",
|
"--disable-gettext",
|
||||||
|
"--enable-lib-static",
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
cpp.make()
|
cpp.make()
|
||||||
cpp.make_install()
|
cpp.make_install()
|
||||||
|
|
||||||
|
os.symlink("librhash.so.1", "./lib/librhash.so")
|
||||||
|
os.makedirs("./lib/pkgconfig", exist_ok=True)
|
||||||
|
with open("./lib/pkgconfig/librhash.pc", "w+") as file:
|
||||||
|
librhash_pc = (librhash_pc
|
||||||
|
.replace("libdir=", f"libdir={get_prefix('librhash')}/lib")
|
||||||
|
.replace("includedir=", f"includedir={get_prefix('librhash-dev')}/include")
|
||||||
|
.replace("Version:", f"Version: {upstream_version}")
|
||||||
|
)
|
||||||
|
file.write(librhash_pc)
|
||||||
|
|
||||||
|
|
||||||
on_build(build)
|
on_build(build)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user