Package Details: icann-rdap-bin 0.0.22-1

Git Clone URL: https://aur.archlinux.org/icann-rdap-bin.git (read-only, click to copy)
Package Base: icann-rdap-bin
Description: ICANN implementation of the Registry Data Access Protocol [RDAP] (pre-compiled)
Upstream URL: https://github.com/icann/icann-rdap
Keywords: cli icann rdap registry whois
Licenses: Apache-2.0 OR MIT
Conflicts: icann-rdap, openrdap-client, rdap
Provides: icann-rdap, rdap
Submitter: kseistrup
Maintainer: kseistrup
Last Packager: kseistrup
Votes: 4
Popularity: 2.93
First Submitted: 2025-03-17 13:44 (UTC)
Last Updated: 2025-03-28 15:44 (UTC)

Pinned Comments

kseistrup commented on 2025-03-17 17:22 (UTC)

https://aur.archlinux.org/packages/icann-rdap is alive (and did compile/link correctly when I uploaded it). I hope somebody will adopt it.

Latest Comments

kseistrup commented on 2025-03-17 17:22 (UTC)

https://aur.archlinux.org/packages/icann-rdap is alive (and did compile/link correctly when I uploaded it). I hope somebody will adopt it.

kseistrup commented on 2025-03-17 16:50 (UTC)

@tengel Sounds like a plan. Thanks!

tengel commented on 2025-03-17 16:45 (UTC)

@kselstrup in my humble opinion, upload your functional work (rdap-client pkg) add a comment with details why you're orphaning it (link to this bin pkg, "not a rust guy", etc.) and then Orphan. I feel it's important to share the work done (and !lto hurdle overcome!) if you ask me, help the next AUR maintainer out, give the next AUR maintainer a head start with your work. Definitely link to that upstream ring bug report.

kseistrup commented on 2025-03-17 16:39 (UTC) (edited on 2025-03-17 16:44 (UTC) by kseistrup)

@tengel I managed to build the binaries from a PKGBUILD where I had set options=('!lto'). Perhaps I should just upload the PKGBUILD and hope that somebody with Rust skill will adopt it. I know nothing about Rust.

tengel commented on 2025-03-17 16:19 (UTC)

ksestrup: It was only then that I attempted to use a PKGBUILD — and failed. Could it be some compiler flags?

...I think I found the source of the problem - "ring" (as the error is libring) and I found this bug report: https://github.com/briansmith/ring/issues/2378 - "fixed in 0.17.9"

I took a quick look in the .cargo "src/" dir for the offender(s) (wiped the cache first, etc.):

~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f$ find . -name Cargo\.lock | xargs grep -B1 -F 0.17.8
./h2-0.4.6/Cargo.lock-name = "ring"
./h2-0.4.6/Cargo.lock:version = "0.17.8"
--
./rustls-0.21.12/Cargo.lock-name = "ring"
./rustls-0.21.12/Cargo.lock:version = "0.17.8"
--
./reqwest-0.12.9/Cargo.lock-name = "ring"
./reqwest-0.12.9/Cargo.lock:version = "0.17.8"
--
./tokio-rustls-0.26.1/Cargo.lock-name = "ring"
./tokio-rustls-0.26.1/Cargo.lock:version = "0.17.8"
--
./rustls-0.23.19/Cargo.lock-name = "ring"
./rustls-0.23.19/Cargo.lock:version = "0.17.8"

Oy veh, so we have 5 sub-sub-dependencies all specifically asking to use this "broken" version of "ring" $0.02! I'm happy to use this precompiled bin package to be honest, just like I do for pandoc-bin and shellcheck-bin for the same general aversion to carrying 469 compile-time-dep-heavy AUR source builds around.

kseistrup commented on 2025-03-17 15:37 (UTC)

@tengel Thank you, great mind, for thinking with me! :)

The funny thing is, when I:

» git clone https://github.com/icann/icann-rdap.git
» cd icann-rdap
» cargo build --release

then I end up with lovely binaries. It was only then that I attemted to use a PKGBUILD — and failed. Could it be some compiler flags? I have no idea, so I created this -bin package instead.

It kind of suits me well, because cargo pulls in 469 crates and it takes forever to compile on my old machine. ;)

Thanks for the suggestion for the aarch64 binatries, I'll take a look at it.

tengel commented on 2025-03-17 14:51 (UTC)

Great minds think alike, I was building the same package after reading the Hacker News link to the ICANN article and had the exact same linking problem, something in the rust "sqlx" (sqlx-macros) won't link:

.../icann-rdap-0.0.21/target/release/deps/libring-161d413643b7edf0.rlib(e7a8c4f698753110-chacha-x86_64-elf.o): relocation R_X86_64_PC32 against undefined hidden symbol `ring_core_0_17_8_OPENSSL_ia32cap_P' can not be used when making a shared object

Anyways, my thoughts after looking at the other options and working on my package - de we want to provide the groundwork for other conflicting packages? I'd like to recommend also adding aarch64 since it's on their downloads page:

...
arch=('x86_64' 'aarch64')
conflicts=("icann-rdap" "openrdap-client")
provides=("icann-rdap")
...
source_aarch64=("https://github.com/icann/icann-rdap/releases/download/v${pkgver}/icann-rdap-aarch64-unknown-linux-gnu.tar.gz")
sha256sums_aarch64=('7657a8c799ccccff2077c131ca813b2807599810edb376dbff47778d8a89a706')

kseistrup commented on 2025-03-17 13:48 (UTC) (edited on 2025-03-17 16:45 (UTC) by kseistrup)

If somebody wants to package the icann-rdap, built from source, I have a full PKGBUILD file. Caveat: It doesn't currently link properly, and I do not know how to fix it, which is why I made this package instead.