git: 39cb8160cb90 - main - sysutils/rldd: add port: Print shared object dependencies
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 27 May 2025 13:31:18 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=39cb8160cb9095ee6f9d3c34f45ab2b6f37cb502
commit 39cb8160cb9095ee6f9d3c34f45ab2b6f37cb502
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-05-27 13:30:17 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-05-27 13:30:17 +0000
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
---
sysutils/Makefile | 1 +
sysutils/rldd/Makefile | 27 ++++++++++++
sysutils/rldd/Makefile.crates | 40 +++++++++++++++++
sysutils/rldd/distinfo | 83 ++++++++++++++++++++++++++++++++++++
sysutils/rldd/files/patch-Cargo.toml | 11 +++++
sysutils/rldd/pkg-descr | 6 +++
6 files changed, 168 insertions(+)
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).