diff --git a/packages/btop.shrap b/packages/btop.shrap new file mode 100644 index 0000000..f93953e --- /dev/null +++ b/packages/btop.shrap @@ -0,0 +1,11 @@ +(package + (name "btop") + (version "1.4.6") + (homepage "https://github.com/aristocratos/btop") + (dependencies make) + (src (tar + (url "https://github.com/aristocratos/btop/archive/refs/tags/v1.4.6.tar.gz") + (dir "btop-1.4.6") + (blake3 "633ca5ec28a991c6d8e1c3208b7126927a443ffeb58481a8156ae619486e3c03"))) + (build + (make))) diff --git a/packages/findutils.shrap b/packages/findutils.shrap new file mode 100644 index 0000000..76888af --- /dev/null +++ b/packages/findutils.shrap @@ -0,0 +1,11 @@ +(package + (name "findutils") + (version "4.10.0") + (homepage "https://www.gnu.org/software/findutils/") + (dependencies xz) + (src (tar + (url "https://ftp.gnu.org/gnu/findutils/findutils-4.10.0.tar.xz") + (dir "findutils-4.10.0") + (blake3 "e8cb4d84891ae4d58a877c0834527b7d0e3d1c76c0bd228834856a26d6cbfd5a"))) + (build + (configure_make))) diff --git a/packages/git.shrap b/packages/git.shrap index 3d4bde8..faebc85 100644 --- a/packages/git.shrap +++ b/packages/git.shrap @@ -2,7 +2,7 @@ (name "git") (version "2.53.0") (homepage "https://git-scm.com/") - (dependencies zlib gettext xz) + (dependencies zlib gettext xz curl) (src (tar (url "https://www.kernel.org/pub/software/scm/git/git-2.53.0.tar.gz") (dir "git-2.53.0") diff --git a/packages/groff.shrap b/packages/groff.shrap new file mode 100644 index 0000000..cfe7be4 --- /dev/null +++ b/packages/groff.shrap @@ -0,0 +1,11 @@ +(package + (name "groff") + (version "1.23.0") + (homepage "https://www.gnu.org/software/groff/") + (dependencies perl m4 make) + (src (tar + (url "https://ftp.gnu.org/gnu/groff/groff-1.23.0.tar.gz") + (dir "groff-1.23.0") + (blake3 "f6f8d6cef4287c8d5b0f3f11c826c47ba25ef8b9e22e1d1fc2727b7930e349e8"))) + (build + (configure_make))) diff --git a/packages/htop.shrap b/packages/htop.shrap new file mode 100644 index 0000000..f5429b7 --- /dev/null +++ b/packages/htop.shrap @@ -0,0 +1,12 @@ +(package + (name "htop") + (version "3.4.1") + (homepage "https://htop.dev/") + (dependencies xz libncurses) + (src (tar + (url "https://github.com/htop-dev/htop/releases/download/3.4.1/htop-3.4.1.tar.xz") + (dir "htop-3.4.1") + (blake3 "e2a02540bd75d1055d77957524a3a3ed89ae61ca10de501becb4f1c87d4fb4fa"))) + (build + (configure_make + (configure_flags "--disable-unicode")))) diff --git a/packages/libevent.shrap b/packages/libevent.shrap new file mode 100644 index 0000000..67829fc --- /dev/null +++ b/packages/libevent.shrap @@ -0,0 +1,11 @@ +(package + (name "libevent") + (version "2.1.12") + (homepage "https://libevent.org/") + (dependencies libopenssl) + (src (tar + (url "https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz") + (dir "libevent-2.1.12-stable") + (blake3 "72be05db4f7879f05fe6fd95e485958223c4a0c6d3ffbb50d5ae5ebc82b8cc0c"))) + (build + (configure_make))) diff --git a/packages/libmilter.shrap b/packages/libmilter.shrap index 221c66c..1ef6c08 100644 --- a/packages/libmilter.shrap +++ b/packages/libmilter.shrap @@ -2,7 +2,7 @@ (name "libmilter") (version "8.18.2") (homepage "https://www.proofpoint.com/us/sendmail-open-source") - (dependencies m4 make) + (dependencies m4) (src (tar (url "https://ftp.sendmail.org/sendmail.8.18.2.tar.gz") (dir "sendmail-8.18.2/libmilter") diff --git a/packages/libxxhash.shrap b/packages/libxxhash.shrap new file mode 100644 index 0000000..7442627 --- /dev/null +++ b/packages/libxxhash.shrap @@ -0,0 +1,11 @@ +(package + (name "libxxhash") + (version "0.8.3") + (homepage "https://xxhash.com/") + (dependencies make) + (src (tar + (url "https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.3.tar.gz") + (dir "xxHash-0.8.3") + (blake3 "64073932284e6076cec589aefbff9df671f8a18042f9ba6474d295179bc5eed2"))) + (build + (make))) diff --git a/packages/libyaml.shrap b/packages/libyaml.shrap new file mode 100644 index 0000000..cb08e6b --- /dev/null +++ b/packages/libyaml.shrap @@ -0,0 +1,10 @@ +(package + (name "libyaml") + (version "0.2.5") + (homepage "https://pyyaml.org/wiki/LibYAML") + (src (tar + (url "https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz") + (dir "yaml-0.2.5") + (blake3 "64cd0f69eb55904fdf4a6f20d46d565ab2433ae494e76edbdf835a25b57c98d9"))) + (build + (configure_make))) diff --git a/packages/lsof.shrap b/packages/lsof.shrap new file mode 100644 index 0000000..3186651 --- /dev/null +++ b/packages/lsof.shrap @@ -0,0 +1,11 @@ +(package + (name "lsof") + (version "4.99.5") + (homepage "https://lsof.readthedocs.io/en/latest/") + (dependencies make groff) + (src (tar + (url "https://github.com/lsof-org/lsof/releases/download/4.99.5/lsof-4.99.5.tar.gz") + (dir "lsof-4.99.5") + (blake3 "d3a052cfbbea5d9be5e453fd1bdc61f8adc9bb38344a5b5e1707667bca7ea02a"))) + (build + (configure_make))) diff --git a/packages/lz4.shrap b/packages/lz4.shrap new file mode 100644 index 0000000..11f0c63 --- /dev/null +++ b/packages/lz4.shrap @@ -0,0 +1,11 @@ +(package + (name "lz4") + (version "1.10.0") + (homepage "https://lz4.org/") + (dependencies make) + (src (tar + (url "https://github.com/lz4/lz4/releases/download/v1.10.0/lz4-1.10.0.tar.gz") + (dir "lz4-1.10.0") + (blake3 "3e69fd475e7852e17594985528b5232afeba7d3d56cfebe2e89071768b2ab36a"))) + (build + (make))) diff --git a/packages/mariadb.shrap b/packages/mariadb.shrap new file mode 100644 index 0000000..dfba490 --- /dev/null +++ b/packages/mariadb.shrap @@ -0,0 +1,11 @@ +(package + (name "mariadb") + (version "12.2.2") + (homepage "https://mariadb.org/") + (dependencies cmake libncurses libgnutls) + (src (tar + (url "https://mirror.vpsfree.cz/mariadb//mariadb-12.2.2/source/mariadb-12.2.2.tar.gz") + (dir "mariadb-12.2.2") + (blake3 "b8f258cb53f7c400db8001de10bc7f0e512a3a170a1155c10e1c35010b066b9e"))) + (build + (cmake))) diff --git a/packages/openssh.shrap b/packages/openssh.shrap new file mode 100644 index 0000000..b66c0b0 --- /dev/null +++ b/packages/openssh.shrap @@ -0,0 +1,11 @@ +(package + (name "openssh") + (version "10.2p1") + (homepage "https://www.openssh.org/") + (dependencies make zlib libopenssl) + (src (tar + (url "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.2p1.tar.gz") + (dir "openssh-10.2p1") + (blake3 "33f19bcecf5641fd65b9d76050e70a57eeee644ea8ca60b0a84508c6aa994550"))) + (build + (configure_make))) diff --git a/packages/procps.shrap b/packages/procps.shrap new file mode 100644 index 0000000..614d2c7 --- /dev/null +++ b/packages/procps.shrap @@ -0,0 +1,12 @@ +(package + (name "procps") + (version "4.0.6") + (homepage "https://gitlab.com/procps-ng/procps") + (dependencies xz pkg-config libncurses) + (src (tar + (url "https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-4.0.6.tar.xz") + (dir "procps-ng-4.0.6") + (blake3 "dbc079e37d8cf530b188a7946d3ad1f4f438a581350741773cd51a480fe8079b"))) + (build + (configure_make + (configure_flags "NCURSES_CFLAGS=-I/usr/include NCURSES_LIBS=-lncurses")))) diff --git a/packages/qemu.shrap b/packages/qemu.shrap index 0e16d71..c1097c8 100644 --- a/packages/qemu.shrap +++ b/packages/qemu.shrap @@ -2,10 +2,11 @@ (name "qemu") (version "10.2.1") (homepage "https://www.qemu.org/") - (dependencies xz python ninja pkg-config libglib) + (dependencies libglib bison flex libpng) (src (tar (url "https://download.qemu.org/qemu-10.2.1.tar.xz") (dir "qemu-10.2.1") (blake3 "c4ac0f9dbe06a68950ef2d999a411584bc8474b8576123848c593af7bc03fb1d"))) (build - (configure_make))) + (configure_make + (configure_flags "--disable-docs --enable-vmdk --enable-tools --enable-png")))) diff --git a/packages/rsync.shrap b/packages/rsync.shrap new file mode 100644 index 0000000..19580f0 --- /dev/null +++ b/packages/rsync.shrap @@ -0,0 +1,11 @@ +(package + (name "rsync") + (version "3.4.1") + (homepage "https://rsync.samba.org/") + (dependencies openssl libxxhash zstd lz4) + (src (tar + (url "https://download.samba.org/pub/rsync/src/rsync-3.4.1.tar.gz") + (dir "rsync-3.4.1") + (blake3 "e1cfdd51a1a89a49e73f8fa730a4321392fe4a29533c0979c2c09c7ce3808b6f"))) + (build + (configure_make))) diff --git a/packages/ruby.shrap b/packages/ruby.shrap new file mode 100644 index 0000000..aef4af6 --- /dev/null +++ b/packages/ruby.shrap @@ -0,0 +1,11 @@ +(package + (name "ruby") + (version "4.0.1") + (homepage "https://www.ruby-lang.org/") + (dependencies make libopenssl zlib libyaml libffi libgmp) + (src (tar + (url "https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.1.tar.gz") + (dir "ruby-4.0.1") + (blake3 "614758d9920d1152b5eeab03d16d50475e38dbe797ae1820898dc90bdfcde775"))) + (build + (configure_make))) diff --git a/packages/strace.shrap b/packages/strace.shrap new file mode 100644 index 0000000..59f1746 --- /dev/null +++ b/packages/strace.shrap @@ -0,0 +1,12 @@ +(package + (name "strace") + (version "6.19") + (homepage "https://strace.io/") + (dependencies xz) + (src (tar + (url "https://strace.io/files/6.19/strace-6.19.tar.xz") + (dir "strace-6.19") + (blake3 "38f70bb3c92dfdd01adafced8efe28866fa6e39ddcb5e765f82ecf4d0346d7c5"))) + (build + (configure_make + (configure_flags "--disable-mpers")))) diff --git a/packages/tmux.shrap b/packages/tmux.shrap new file mode 100644 index 0000000..b661949 --- /dev/null +++ b/packages/tmux.shrap @@ -0,0 +1,11 @@ +(package + (name "tmux") + (version "3.6a") + (homepage "https://github.com/tmux/tmux/wiki") + (dependencies libevent bison libncurses) + (src (tar + (url "https://github.com/tmux/tmux/releases/download/3.6a/tmux-3.6a.tar.gz") + (dir "tmux-3.6a") + (blake3 "43a9a5fd4ebe403efccd666c7b620fcf65489b123092df70113466a2b5aedb5a"))) + (build + (configure_make))) diff --git a/packages/zstd.shrap b/packages/zstd.shrap new file mode 100644 index 0000000..d6deb55 --- /dev/null +++ b/packages/zstd.shrap @@ -0,0 +1,11 @@ +(package + (name "zstd") + (version "1.5.7") + (homepage "https://facebook.github.io/zstd/") + (dependencies make) + (src (tar + (url "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz") + (dir "zstd-1.5.7") + (blake3 "730dca31244abd219e995f03a55d95b2cfb4b3e16cda055a79fa6f30a4f0e1db"))) + (build + (make))) diff --git a/src/main.cc b/src/main.cc index fa9411e..9e9204a 100644 --- a/src/main.cc +++ b/src/main.cc @@ -179,20 +179,21 @@ void generate_graph(const std::vector &to_highlight) { std::ofstream out("/tmp/shrap/graph.dot"); out << "digraph dependencies {\n"; - out << " rankdir=LR;\n"; + if (to_highlight.empty()) { + out << " rankdir=LR;\n"; + } for (const auto &[pkg_name, pkg] : packages) { - if (std::find(to_highlight.begin(), to_highlight.end(), pkg_name) != - to_highlight.end()) { - out << " \"" << pkg_name << "\" [style=filled, fillcolor=yellow];\n"; - } else { + if (to_highlight.empty() || + std::find(to_highlight.begin(), to_highlight.end(), pkg_name) != + to_highlight.end()) { out << " \"" << pkg_name << "\";\n"; - } - try { - for (const auto &dep : pkg.get("dependencies").children) { - out << " \"" << pkg_name << "\" -> \"" << dep.value << "\";\n"; + try { + for (const auto &dep : pkg.get("dependencies").children) { + out << " \"" << pkg_name << "\" -> \"" << dep.value << "\";\n"; + } + } catch (std::out_of_range &) { } - } catch (std::out_of_range &) { } } out << "}\n";