diff options
| author | Hiroki Tagato <tagattie@FreeBSD.org> | 2025-05-27 13:30:17 +0000 |
|---|---|---|
| committer | Hiroki Tagato <tagattie@FreeBSD.org> | 2025-05-27 13:30:17 +0000 |
| commit | 39cb8160cb9095ee6f9d3c34f45ab2b6f37cb502 (patch) | |
| tree | 57c92a84b6961f26a639d04b79fe63eec66d714e | |
| parent | ade43e0886e0902fe7c4c1b7da28d41288ec28a1 (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/Makefile | 1 | ||||
| -rw-r--r-- | sysutils/rldd/Makefile | 27 | ||||
| -rw-r--r-- | sysutils/rldd/Makefile.crates | 40 | ||||
| -rw-r--r-- | sysutils/rldd/distinfo | 83 | ||||
| -rw-r--r-- | sysutils/rldd/files/patch-Cargo.toml | 11 | ||||
| -rw-r--r-- | sysutils/rldd/pkg-descr | 6 |
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). |
