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).