Package Details: ripunzip 2.0.4-2

Git Clone URL: https://aur.archlinux.org/ripunzip.git (read-only, click to copy)
Package Base: ripunzip
Description: Extract zip files in parallel
Upstream URL: https://github.com/google/ripunzip
Licenses: MIT
Submitter: oech3
Maintainer: oech3
Last Packager: oech3
Votes: 1
Popularity: 0.032683
First Submitted: 2025-09-18 11:37 (UTC)
Last Updated: 2025-12-20 10:07 (UTC)

Latest Comments

oech3 commented on 2025-12-20 09:53 (UTC)

Strange... I can add it as a workaround. But this package should support default linker.

bsndrf commented on 2025-12-20 09:45 (UTC)

with mold it works. modified PKGBUILD:

pkgname=ripunzip
pkgver=2.0.4
pkgrel=1
pkgdesc="Extract zip files in parallel"
url=https://github.com/google/ripunzip
license=('MIT')
arch=('x86_64')
depends=(bzip2 gcc-libs glibc openssl xz)
makedepends=(rust pkgconf mold)
optdepends=("rust-src: optimize with RUSTC_BOOTSTRAP=1")
source=("${pkgname}${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('b485dc58777fb8637ff0509c72dc6b50235f6a01fecbf382365437be704a8468')

prepare(){
cd ${pkgname}-$pkgver
cargo fetch --locked --target $(rustc --print host-tuple)
}
unset prepare # DL larger crates

build(){
cd ${pkgname}-$pkgver
test ${RUSTC_BOOTSTRAP} = 1 && _cargoflags="-Zbuild-std=std,panic_abort"
RUSTFLAGS="-C link-arg=-fuse-ld=mold" cargo build --release $_cargoflags #--frozen
}

package(){
unset optdepends
cd ${pkgname}-${pkgver}
install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/${pkgname}
}

oech3 commented on 2025-12-20 09:32 (UTC)

How about other linker e.g. mold?

bsndrf commented on 2025-12-20 09:26 (UTC) (edited on 2025-12-20 09:27 (UTC) by bsndrf)

Does not build for me

= note: some arguments are omitted. use `--verbose` to show all linker arguments
= note: ld.lld: error: undefined symbol: ZSTD_decompressStream
        >>> referenced by lib.rs:1182 (/home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zstd-safe-7.2.4/src/lib.rs:1182)
        >>>               /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/ripunzip-e8cfcf9a6299d4ad.ripunzip.ac1d5b3b6424bb5f-cgu.09.rcgu.o:(zstd_safe::DCtx::decompress_stream::h7e235e3447a1cc10)
        >>> referenced by lib.rs:1182 (/home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zstd-safe-7.2.4/src/lib.rs:1182)
        >>>               ripunzip-331661a66c47df47.ripunzip.c150b436abba9484-cgu.07.rcgu.o:(zstd_safe::DCtx::decompress_stream::h2f6b93a9c64183b5) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libripunzip-331661a66c47df47.rlib

        ld.lld: error: undefined symbol: ZSTD_freeDCtx
        >>> referenced by lib.rs:1263 (src/lib.rs:1263)
        >>>               zstd_safe-727a1f7c2b5452e5.zstd_safe.2cb878f76132f69c-cgu.0.rcgu.o:(_$LT$zstd_safe..DCtx$u20$as$u20$core..ops..drop..Drop$GT$::drop::h01f9bd123be3464b) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libzstd_safe-727a1f7c2b5452e5.rlib

        ld.lld: error: undefined symbol: ZSTD_createDCtx
        >>> referenced by lib.rs:908 (src/lib.rs:908)
        >>>               zstd_safe-727a1f7c2b5452e5.zstd_safe.2cb878f76132f69c-cgu.0.rcgu.o:(_$LT$zstd_safe..DCtx$u20$as$u20$core..default..Default$GT$::default::h840a2ca9c9390763) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libzstd_safe-727a1f7c2b5452e5.rlib

        ld.lld: error: undefined symbol: ZSTD_isError
        >>> referenced by lib.rs:88 (src/lib.rs:88)
        >>>               zstd_safe-727a1f7c2b5452e5.zstd_safe.2cb878f76132f69c-cgu.0.rcgu.o:(zstd_safe::parse_code::h48d77370c80caed3) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libzstd_safe-727a1f7c2b5452e5.rlib
        >>> referenced by lib.rs:88 (src/lib.rs:88)
        >>>               zstd_safe-727a1f7c2b5452e5.zstd_safe.2cb878f76132f69c-cgu.0.rcgu.o:(zstd_safe::DCtx::load_dictionary::haa01b9f1157451d9) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libzstd_safe-727a1f7c2b5452e5.rlib
        >>> referenced by lib.rs:88 (src/lib.rs:88)
        >>>               zstd_safe-727a1f7c2b5452e5.zstd_safe.2cb878f76132f69c-cgu.0.rcgu.o:(zstd_safe::DCtx::init::hd8d9991ea2b3f089) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libzstd_safe-727a1f7c2b5452e5.rlib
        >>> referenced 1 more times

        ld.lld: error: undefined symbol: ZSTD_getErrorName
        >>> referenced by lib.rs:882 (src/lib.rs:882)
        >>>               zstd_safe-727a1f7c2b5452e5.zstd_safe.2cb878f76132f69c-cgu.0.rcgu.o:(zstd_safe::get_error_name::h60634980f71d40b9) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libzstd_safe-727a1f7c2b5452e5.rlib

        ld.lld: error: undefined symbol: ZSTD_DCtx_loadDictionary
        >>> referenced by lib.rs:1069 (src/lib.rs:1069)
        >>>               zstd_safe-727a1f7c2b5452e5.zstd_safe.2cb878f76132f69c-cgu.0.rcgu.o:(zstd_safe::DCtx::load_dictionary::haa01b9f1157451d9) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libzstd_safe-727a1f7c2b5452e5.rlib

        ld.lld: error: undefined symbol: ZSTD_initDStream
        >>> referenced by lib.rs:1009 (src/lib.rs:1009)
        >>>               zstd_safe-727a1f7c2b5452e5.zstd_safe.2cb878f76132f69c-cgu.0.rcgu.o:(zstd_safe::DCtx::init::hd8d9991ea2b3f089) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libzstd_safe-727a1f7c2b5452e5.rlib

        ld.lld: error: undefined symbol: ZSTD_DCtx_reset
        >>> referenced by lib.rs:1052 (src/lib.rs:1052)
        >>>               zstd_safe-727a1f7c2b5452e5.zstd_safe.2cb878f76132f69c-cgu.0.rcgu.o:(zstd_safe::DCtx::reset::hd70d284231fd49b2) in archive /home/user/.cache/paru/clone/ripunzip/src/ripunzip-2.0.4/target/release/deps/libzstd_safe-727a1f7c2b5452e5.rlib
        collect2: error: ld returned 1 exit status


error: could not compile `ripunzip` (bin "ripunzip") due to 1 previous error
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'ripunzip-2.0.4-1':
error: packages failed to build: ripunzip-2.0.4-1

oech3 commented on 2025-10-21 09:46 (UTC)

prepare() DLs crates larger than cargo build only. I'll land on guideline before importing to Extra.

dreieck commented on 2025-10-21 09:22 (UTC) (edited on 2025-10-21 09:25 (UTC) by dreieck)

Please make sure that rust downloads all it's stuff in prepare(), and to a subdirectory of ${srcdir}.

Regards!

dreieck commented on 2025-10-21 09:21 (UTC)

Please make the downloaded source filename pakage specific, e.g. ripunzip-v${pkgver}.

Reason: If environment variable $SRCDEST is set (e.g. in /etc/makepkg.conf), sources of all packages end up in the same place. And the current, generic filename v2.0.3.tar.gz is prone to causing conflicts with other packages.

To do so, change
source=(${url}/archive/refs/tags/v${pkgver}.tar.gz)
to
source=("${pkgname}-v${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz").

Regards and thanks for maintaining!