aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroki Tagato <tagattie@FreeBSD.org>2025-05-27 13:30:17 +0000
committerHiroki Tagato <tagattie@FreeBSD.org>2025-05-27 13:30:17 +0000
commit39cb8160cb9095ee6f9d3c34f45ab2b6f37cb502 (patch)
tree57c92a84b6961f26a639d04b79fe63eec66d714e
parentade43e0886e0902fe7c4c1b7da28d41288ec28a1 (diff)
sysutils/rldd: add port: Print shared object dependencies
The rldd tool resolves and prints the binary or shared library dependencies with different visualization options. In opposite to the Linux ldd tool, it does not invoke the system loader but instead parses the loading information directly from either ELF or Mach-O files, along with any required system files (such as loader cache or extra configuration files). WWW: https://github.com/zatrazz/rldd
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/rldd/Makefile27
-rw-r--r--sysutils/rldd/Makefile.crates40
-rw-r--r--sysutils/rldd/distinfo83
-rw-r--r--sysutils/rldd/files/patch-Cargo.toml11
-rw-r--r--sysutils/rldd/pkg-descr6
6 files changed, 168 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 5dc2b2126b92..9da0d38c2751 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1124,6 +1124,7 @@
SUBDIR += rhc
SUBDIR += rinse
SUBDIR += rkbin
+ SUBDIR += rldd
SUBDIR += rmlint
SUBDIR += rocinante
SUBDIR += rocr
diff --git a/sysutils/rldd/Makefile b/sysutils/rldd/Makefile
new file mode 100644
index 000000000000..40d840e35ce1
--- /dev/null
+++ b/sysutils/rldd/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= rldd
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.3.0
+CATEGORIES= sysutils
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Print shared object dependencies
+WWW= https://github.com/zatrazz/rldd
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cargo
+
+USE_GITHUB= yes
+GH_ACCOUNT= zatrazz
+
+PLIST_FILES= bin/rldd
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/sysutils/rldd/Makefile.crates b/sysutils/rldd/Makefile.crates
new file mode 100644
index 000000000000..1774d207cbcf
--- /dev/null
+++ b/sysutils/rldd/Makefile.crates
@@ -0,0 +1,40 @@
+CARGO_CRATES= argh-0.1.13 \
+ argh_derive-0.1.13 \
+ argh_shared-0.1.13 \
+ bitflags-1.3.2 \
+ bitflags-2.8.0 \
+ cfg-if-1.0.0 \
+ errno-0.3.10 \
+ fastrand-2.3.0 \
+ getrandom-0.3.1 \
+ glob-0.3.2 \
+ libc-0.2.169 \
+ linux-raw-sys-0.4.15 \
+ memchr-2.7.4 \
+ memmap2-0.5.10 \
+ object-0.29.0 \
+ once_cell-1.20.2 \
+ proc-macro2-1.0.93 \
+ quote-1.0.38 \
+ raw-cpuid-10.7.0 \
+ rust-fuzzy-search-0.1.1 \
+ rustix-0.38.44 \
+ serde-1.0.217 \
+ serde_derive-1.0.217 \
+ syn-2.0.96 \
+ tempfile-3.16.0 \
+ termcolor-1.4.1 \
+ unicode-ident-1.0.16 \
+ wasi-0.13.3+wasi-0.2.2 \
+ winapi-util-0.1.9 \
+ windows-sys-0.59.0 \
+ windows-targets-0.52.6 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_msvc-0.52.6 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_msvc-0.52.6 \
+ wit-bindgen-rt-0.33.0
diff --git a/sysutils/rldd/distinfo b/sysutils/rldd/distinfo
new file mode 100644
index 000000000000..cefd94fd5d94
--- /dev/null
+++ b/sysutils/rldd/distinfo
@@ -0,0 +1,83 @@
+TIMESTAMP = 1748351833
+SHA256 (rust/crates/argh-0.1.13.crate) = 34ff18325c8a36b82f992e533ece1ec9f9a9db446bd1c14d4f936bac88fcd240
+SIZE (rust/crates/argh-0.1.13.crate) = 28366
+SHA256 (rust/crates/argh_derive-0.1.13.crate) = adb7b2b83a50d329d5d8ccc620f5c7064028828538bdf5646acd60dc1f767803
+SIZE (rust/crates/argh_derive-0.1.13.crate) = 23278
+SHA256 (rust/crates/argh_shared-0.1.13.crate) = a464143cc82dedcdc3928737445362466b7674b5db4e2eb8e869846d6d84f4f6
+SIZE (rust/crates/argh_shared-0.1.13.crate) = 5230
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.8.0.crate) = 8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36
+SIZE (rust/crates/bitflags-2.8.0.crate) = 47482
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/errno-0.3.10.crate) = 33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d
+SIZE (rust/crates/errno-0.3.10.crate) = 11824
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/getrandom-0.3.1.crate) = 43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8
+SIZE (rust/crates/getrandom-0.3.1.crate) = 42449
+SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2
+SIZE (rust/crates/glob-0.3.2.crate) = 22359
+SHA256 (rust/crates/libc-0.2.169.crate) = b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a
+SIZE (rust/crates/libc-0.2.169.crate) = 757901
+SHA256 (rust/crates/linux-raw-sys-0.4.15.crate) = d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab
+SIZE (rust/crates/linux-raw-sys-0.4.15.crate) = 2150898
+SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
+SIZE (rust/crates/memchr-2.7.4.crate) = 96670
+SHA256 (rust/crates/memmap2-0.5.10.crate) = 83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327
+SIZE (rust/crates/memmap2-0.5.10.crate) = 26847
+SHA256 (rust/crates/object-0.29.0.crate) = 21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53
+SIZE (rust/crates/object-0.29.0.crate) = 237723
+SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775
+SIZE (rust/crates/once_cell-1.20.2.crate) = 33394
+SHA256 (rust/crates/proc-macro2-1.0.93.crate) = 60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99
+SIZE (rust/crates/proc-macro2-1.0.93.crate) = 52388
+SHA256 (rust/crates/quote-1.0.38.crate) = 0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc
+SIZE (rust/crates/quote-1.0.38.crate) = 31252
+SHA256 (rust/crates/raw-cpuid-10.7.0.crate) = 6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332
+SIZE (rust/crates/raw-cpuid-10.7.0.crate) = 107292
+SHA256 (rust/crates/rust-fuzzy-search-0.1.1.crate) = a157657054ffe556d8858504af8a672a054a6e0bd9e8ee531059100c0fa11bb2
+SIZE (rust/crates/rust-fuzzy-search-0.1.1.crate) = 1198984
+SHA256 (rust/crates/rustix-0.38.44.crate) = fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154
+SIZE (rust/crates/rustix-0.38.44.crate) = 379347
+SHA256 (rust/crates/serde-1.0.217.crate) = 02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70
+SIZE (rust/crates/serde-1.0.217.crate) = 79019
+SHA256 (rust/crates/serde_derive-1.0.217.crate) = 5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0
+SIZE (rust/crates/serde_derive-1.0.217.crate) = 57749
+SHA256 (rust/crates/syn-2.0.96.crate) = d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80
+SIZE (rust/crates/syn-2.0.96.crate) = 297497
+SHA256 (rust/crates/tempfile-3.16.0.crate) = 38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91
+SIZE (rust/crates/tempfile-3.16.0.crate) = 38550
+SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755
+SIZE (rust/crates/termcolor-1.4.1.crate) = 18773
+SHA256 (rust/crates/unicode-ident-1.0.16.crate) = a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034
+SIZE (rust/crates/unicode-ident-1.0.16.crate) = 47684
+SHA256 (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2
+SIZE (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 136754
+SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb
+SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c
+SIZE (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3357
+SHA256 (zatrazz-rldd-v0.3.0_GH0.tar.gz) = 7c84f08d598c81c1575e24ca99082757c5e833d6be80fa355f7f2bd07e37fdca
+SIZE (zatrazz-rldd-v0.3.0_GH0.tar.gz) = 205150
diff --git a/sysutils/rldd/files/patch-Cargo.toml b/sysutils/rldd/files/patch-Cargo.toml
new file mode 100644
index 000000000000..5273833d9113
--- /dev/null
+++ b/sysutils/rldd/files/patch-Cargo.toml
@@ -0,0 +1,11 @@
+--- Cargo.toml.orig 2025-05-27 13:19:29 UTC
++++ Cargo.toml
+@@ -31,7 +31,7 @@ raw-cpuid = "10.6.0"
+ [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies]
+ raw-cpuid = "10.6.0"
+
+-[target.'cfg(target_os = "android")'.dev-dependencies]
++[target.'cfg(any(target_os = "android", target_os = "freebsd"))'.dev-dependencies]
+ tempfile = "3.3.0"
+
+ [profile.release]
diff --git a/sysutils/rldd/pkg-descr b/sysutils/rldd/pkg-descr
new file mode 100644
index 000000000000..453b7e6eb7e0
--- /dev/null
+++ b/sysutils/rldd/pkg-descr
@@ -0,0 +1,6 @@
+The rldd tool resolves and prints the binary or shared library
+dependencies with different visualization options. In opposite to the
+Linux ldd tool, it does not invoke the system loader but instead
+parses the loading information directly from either ELF or Mach-O
+files, along with any required system files (such as loader cache or
+extra configuration files).