diff --git a/packages/ffmpeg.shrap b/packages/ffmpeg.shrap new file mode 100644 index 0000000..d61a7a4 --- /dev/null +++ b/packages/ffmpeg.shrap @@ -0,0 +1,11 @@ +(package + (name "ffmpeg") + (version "8.0.1") + (homepage "https://www.ffmpeg.org/") + (dependencies xz nasm) + (src (tar + (url "https://ffmpeg.org/releases/ffmpeg-8.0.1.tar.xz") + (dir "ffmpeg-8.0.1") + (blake3 "9b0da96f97d9e7c23e7df73d348e7491030e8ed51dcc491ee029dc8785350997"))) + (build + (configure_make))) diff --git a/packages/gcc.shrap b/packages/gcc.shrap new file mode 100644 index 0000000..0318db2 --- /dev/null +++ b/packages/gcc.shrap @@ -0,0 +1,12 @@ +(package + (name "gcc") + (version "15.2.0") + (homepage "https://gcc.gnu.org/") + (dependencies libgmp libmpfr libmpc) + (src (tar + (url "https://ftp.gnu.org/gnu/gcc/gcc-15.2.0/gcc-15.2.0.tar.gz") + (dir "gcc-15.2.0") + (blake3 "88c8a6933c7aa42521577ab3933dd75d79250731870d330c81cbcb84900e3f03"))) + (build + (configure_make + (configure_flags "--enable-languages=c,c++ --disable-multilib")))) diff --git a/packages/libalsa.shrap b/packages/libalsa.shrap new file mode 100644 index 0000000..6016201 --- /dev/null +++ b/packages/libalsa.shrap @@ -0,0 +1,11 @@ +(package + (name "libalsa") + (version "1.2.15.3") + (homepage "https://www.alsa-project.org/") + (dependencies bzip2) + (src (tar + (url "https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.15.3.tar.bz2") + (dir "alsa-lib-1.2.15.3") + (blake3 "5ff23aeab7b00ba7c5113d52b5ff491515566a7fad412f8c467511948707003c"))) + (build + (configure_make))) diff --git a/packages/libdb.shrap b/packages/libdb.shrap new file mode 100644 index 0000000..0fafb0b --- /dev/null +++ b/packages/libdb.shrap @@ -0,0 +1,12 @@ +(package + (name "libdb") + (version "5.3.28") + (homepage "https://libdb.org/") + (dependencies make) + (src (tar + (url "https://github.com/berkeleydb/libdb/releases/download/v5.3.28/db-5.3.28.tar.gz") + (dir "db-5.3.28/build_unix") + (blake3 "1d62eee13dca6367321613ac5a8b410c30545eee79d0ed1915d171651e43a258"))) + (build + (shell "../dist/configure --prefix=/usr CFLAGS=-Wno-error=implicit-function-declaration") + (make))) diff --git a/packages/libfaad2.shrap b/packages/libfaad2.shrap new file mode 100644 index 0000000..b91b3fe --- /dev/null +++ b/packages/libfaad2.shrap @@ -0,0 +1,11 @@ +(package + (name "libfaad2") + (version "2.11.2") + (homepage "https://github.com/knik0/faad2") + (dependencies cmake) + (src (tar + (url "https://github.com/knik0/faad2/archive/refs/tags/2.11.2.tar.gz") + (dir "faad2-2.11.2") + (blake3 "8e0977ec028792b85f293aba9d096dbac5bc4f7b9114c6fb92dad125394f4b32"))) + (build + (cmake))) diff --git a/packages/libflac.shrap b/packages/libflac.shrap new file mode 100644 index 0000000..7be1c07 --- /dev/null +++ b/packages/libflac.shrap @@ -0,0 +1,11 @@ +(package + (name "libflac") + (version "1.5.0") + (homepage "https://xiph.org/flac/") + (dependencies xz) + (src (tar + (url "https://ftp.osuosl.org/pub/xiph/releases/flac/flac-1.5.0.tar.xz") + (dir "flac-1.5.0") + (blake3 "2adca3cd8da4b577ebb9c12e73c91cf6f6a7feb7485b3f003853b82710bada84"))) + (build + (configure_make))) diff --git a/packages/libid3tag.shrap b/packages/libid3tag.shrap new file mode 100644 index 0000000..fbd73ae --- /dev/null +++ b/packages/libid3tag.shrap @@ -0,0 +1,12 @@ +(package + (name "libid3tag") + (version "0.16.3") + (homepage "https://codeberg.org/tenacityteam/libid3tag") + (dependencies cmake zlib) + (src (tar + (url "https://codeberg.org/tenacityteam/libid3tag/archive/0.16.3.tar.gz") + (dir "libid3tag") + (blake3 "66b55d3f79a1f35f44a2b659f91df22b098c55ddf52ab95a1daadb7f717c552a"))) + (build + (cmake + (configure_flags "-DCMAKE_POLICY_VERSION_MINIMUM=3.5")))) diff --git a/packages/libjpeg-turbo.shrap b/packages/libjpeg-turbo.shrap index fc490f4..09d2d44 100644 --- a/packages/libjpeg-turbo.shrap +++ b/packages/libjpeg-turbo.shrap @@ -2,12 +2,12 @@ (name "libjpeg-turbo") (version "3.1.3") (homepage "https://libjpeg-turbo.org/") - (dependencies cmake ninja nasm) + (dependencies cmake nasm) (src (tar (url "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.1.3/libjpeg-turbo-3.1.3.tar.gz") (dir "libjpeg-turbo-3.1.3") (blake3 "fbcee6fae3d00fd550af865bec1af4d363f5e1feeaf85b60247ca6db1908b10e"))) (build - (cmake_ninja) + (cmake) (shell "ln -sf /usr/lib/x86_64-linux-gnu/libjpeg.a /usr/lib/") (shell "ln -sf /usr/lib/x86_64-linux-gnu/pkgconfig/libjpeg.pc /usr/lib/pkgconfig/"))) diff --git a/packages/libmad.shrap b/packages/libmad.shrap new file mode 100644 index 0000000..f3e5788 --- /dev/null +++ b/packages/libmad.shrap @@ -0,0 +1,13 @@ +(package + (name "libmad") + (version "0.15.1b") + (homepage "https://www.underbit.com/products/mad/") + (dependencies make) + (src (tar + (url "https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz") + (dir "libmad-0.15.1b") + (blake3 "709ab5ff15f963ed5301ab164f621c6a5bf06a8b7db4b953bb604573735b97ee"))) + (build + (shell "./configure --prefix=/usr") + (shell "sed -i 's/^CFLAGS =.*/CFLAGS = -Wall -g -O/' Makefile") + (make))) diff --git a/packages/libogg.shrap b/packages/libogg.shrap new file mode 100644 index 0000000..c69f317 --- /dev/null +++ b/packages/libogg.shrap @@ -0,0 +1,11 @@ +(package + (name "libogg") + (version "1.3.6") + (homepage "https://xiph.org/vorbis/") + (dependencies make) + (src (tar + (url "https://downloads.xiph.org/releases/ogg/libogg-1.3.6.tar.gz") + (dir "libogg-1.3.6") + (blake3 "15700f821ca755821c0646eec5b965491e27578a241490bef9f89cf5f2597042"))) + (build + (configure_make))) diff --git a/packages/libopenssl.shrap b/packages/libopenssl.shrap index d96f9d0..c710433 100644 --- a/packages/libopenssl.shrap +++ b/packages/libopenssl.shrap @@ -8,7 +8,7 @@ (dir "openssl-3.6.1") (blake3 "90c0c093c5f09397f840cce374e4e6f56134727ac0867aaeccb5314aa3196544"))) (build - (perl_configure_make - (configure_flags "linux-x86_64 shared --prefix=/usr --libdir=lib")) + (shell "./Configure linux-x86_64 shared --prefix=/usr --libdir=lib") + (make) (shell "cp -v /usr/lib/libssl.so.3 /lib/x86_64-linux-gnu/libssl.so.3 || true") (shell "cp -v /usr/lib/libcrypto.so.3 /lib/x86_64-linux-gnu/libcrypto.so.3 || true"))) diff --git a/packages/libvorbis.shrap b/packages/libvorbis.shrap new file mode 100644 index 0000000..feac4b3 --- /dev/null +++ b/packages/libvorbis.shrap @@ -0,0 +1,11 @@ +(package + (name "libvorbis") + (version "1.3.7") + (homepage "https://xiph.org/vorbis/") + (dependencies libogg) + (src (tar + (url "https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.gz") + (dir "libvorbis-1.3.7") + (blake3 "a8e88482b8d70321c8435616b0cec1a931b11445f003649774fd6940e593a254"))) + (build + (configure_make))) diff --git a/packages/llvm.shrap b/packages/llvm.shrap index 8e1be9c..01ede37 100644 --- a/packages/llvm.shrap +++ b/packages/llvm.shrap @@ -2,11 +2,11 @@ (name "llvm") (version "21.1.8") (homepage "https://llvm.org/") - (dependencies xz cmake python ninja) + (dependencies xz cmake python) (src (tar (url "https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-21.1.8.tar.gz") (dir "llvm-project-llvmorg-21.1.8/llvm") (blake3 "1f31353d644097c18a13ffc0a5d5ec5ba8d5926c836e27101cd749beeff246a9"))) (build - (cmake_ninja + (cmake (configure_flags "-DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=\"X86\" -DLLVM_ENABLE_PROJECTS=\"clang;lld;lldb\"")))) diff --git a/packages/moc.shrap b/packages/moc.shrap new file mode 100644 index 0000000..524912d --- /dev/null +++ b/packages/moc.shrap @@ -0,0 +1,11 @@ +(package + (name "moc") + (version "2.5.2") + (homepage "https://moc.daper.net/") + (dependencies bzip2 libdb pkg-config libncurses libtool libfaad2 libmad libflac libvorbis libid3tag libalsa) + (src (tar + (url "http://ftp.daper.net/pub/soft/moc/stable/moc-2.5.2.tar.bz2") + (dir "moc-2.5.2") + (blake3 "cd1751cf75da6632ffd08bec5ab4f61fcf00f289b4fe873742359c4ba9a74c16"))) + (build + (configure_make))) diff --git a/packages/neovim.shrap b/packages/neovim.shrap new file mode 100644 index 0000000..10c8b9b --- /dev/null +++ b/packages/neovim.shrap @@ -0,0 +1,12 @@ +(package + (name "neovim") + (version "0.11.6") + (homepage "https://neovim.io/") + (dependencies make cmake) + (src (tar + (url "https://github.com/neovim/neovim/archive/refs/tags/v0.11.6.tar.gz") + (dir "neovim-0.11.6") + (blake3 "ebcd5fed78910cd34be9ec4fe443a12fbe2f1f8c0397d76b015a774cebcf7dbe"))) + (build + (make + (make_flags "CMAKE_BUILD_TYPE=RelWithDebInfo")))) diff --git a/packages/perl.shrap b/packages/perl.shrap index 9bdecbc..55b3a31 100644 --- a/packages/perl.shrap +++ b/packages/perl.shrap @@ -8,5 +8,5 @@ (dir "perl-5.42.0") (blake3 "9d3e6aee850d69fb90c629a9e435da75f67c9ee0461d6e3e2c100e64f27fa9a5"))) (build - (perl_configure_make - (configure_flags "-des")))) + (shell "./Configure -des") + (make))) diff --git a/src/main.cc b/src/main.cc index 27247e5..fa9411e 100644 --- a/src/main.cc +++ b/src/main.cc @@ -129,16 +129,6 @@ void install_package(const std::string &name) { src_path); Util::shell_command("make -j " + jobs, src_path); Util::shell_command("make install", src_path); - } else if (step_type == "perl_configure_make") { - std::string configure_flags; - try { - configure_flags = step.get_one("configure_flags").value; - } catch (std::out_of_range &) { - } - - Util::shell_command("./Configure " + configure_flags, src_path); - Util::shell_command("make -j " + jobs, src_path); - Util::shell_command("make install", src_path); } else if (step_type == "make") { std::string make_flags; try { @@ -153,7 +143,7 @@ void install_package(const std::string &name) { Util::shell_command("make " + make_flags + " -j " + jobs, src_path); Util::shell_command("make install " + install_flags, src_path); - } else if (step_type == "cmake_ninja") { + } else if (step_type == "cmake") { std::string configure_flags; try { configure_flags = step.get_one("configure_flags").value; @@ -161,11 +151,11 @@ void install_package(const std::string &name) { } Util::shell_command("mkdir -p build", src_path); - Util::shell_command("cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr " + + Util::shell_command("cmake -DCMAKE_INSTALL_PREFIX=/usr " + configure_flags + " ..", src_path + "/build"); - Util::shell_command("ninja -j" + jobs, src_path + "/build"); - Util::shell_command("ninja install", src_path + "/build"); + Util::shell_command("make -j" + jobs, src_path + "/build"); + Util::shell_command("make install", src_path + "/build"); } else if (step_type == "meson") { std::string configure_flags; try {