@m040601 the -musl build lacks luau, hence it is lighter.
Search Criteria
Package Details: qsv 1.0.0-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/qsv.git (read-only, click to copy) |
---|---|
Package Base: | qsv |
Description: | CSV data-wrangling toolkit (fork of xsv) |
Upstream URL: | https://github.com/dathere/qsv |
Licenses: | MIT, Unlicense |
Submitter: | dansecob |
Maintainer: | alerque |
Last Packager: | alerque |
Votes: | 3 |
Popularity: | 0.056751 |
First Submitted: | 2022-08-01 23:41 (UTC) |
Last Updated: | 2024-12-02 14:09 (UTC) |
Dependencies (12)
- bzip2 (bzip2-gitAUR)
- gcc-libs (gcc-libs-gitAUR, gccrs-libs-gitAUR, gcc11-libsAUR, gcc-libs-snapshotAUR)
- glibc (glibc-gitAUR, glibc-linux4AUR, glibc-eacAUR, glibc-eac-binAUR, glibc-eac-rocoAUR)
- libbz2.so (bzip2-gitAUR, bzip2)
- libwayland-client.so (wayland-asan-gitAUR, wayland-chromiumAUR, lib32-wayland, wayland)
- python (python37AUR, python311AUR, python310AUR)
- python-xlsxwriter
- wayland (wayland-gitAUR, wayland-asan-gitAUR, wayland-chromiumAUR)
- cargo (rustup-gitAUR, rust-nightly-binAUR, rust-gitAUR, rust-beta-binAUR, rustup-stubAUR, rust, rustup) (make)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR, clang17-binAUR) (make)
- cmake (cmake-gitAUR) (make)
- luauAUR (luau-gitAUR, luau-binAUR) (make)
Required by (0)
Sources (1)
Latest Comments
tee commented on 2024-09-01 04:49 (UTC)
m040601 commented on 2024-08-10 06:15 (UTC) (edited on 2024-08-10 06:32 (UTC) by m040601)
Thanks @alerque for providing this PKGBUILD.
Any chance this might one day be an "official" Arch package ?
Very nice and interesting "mega-powerfull" toolkit. Just bumped into it by chance. And still a lot to learn. Trying to compare it to all others csv/data CLI toolkits solutions.
Some things got me really intrigued. Forgive me my ignorance.
$ gh thoseleases https://github.com/jqnatividad/qsv
TITLE TYPE TAG NAME PUBLISHED
0.131.1 Latest 0.131.1 about 15 hours ago
0.131.0 0.131.0 about 1 day ago
0.130.0 0.130.0 about 11 days ago
0.129.1 0.129.1 about 25 days ago
0.129.0 0.129.0 about 26 days ago
Ah. So they realease often and a lot. Nice
$ gh thatlease https://github.com/jqnatividad/qsv 0.131.1
Assets
qsv-0.131.1-aarch64-apple-darwin.zip 132.36 MiB
qsv-0.131.1-aarch64-unknown-linux-gnu-portable.zip 17.55 MiB
qsv-0.131.1-aarch64-unknown-linux-gnu.zip 17.55 MiB
qsv-0.131.1-geocode-index.bincode 14.27 MiB
qsv-0.131.1-geocode-index.bincode.cities15000 14.27 MiB
qsv-0.131.1-geocode-index.bincode.cities15000.sz 5.64 MiB
qsv-0.131.1-i686-pc-windows-msvc-portable.zip 17.58 MiB
qsv-0.131.1-i686-pc-windows-msvc.zip 17.57 MiB
qsv-0.131.1-i686-unknown-linux-gnu-portable.zip 18.30 MiB
qsv-0.131.1-i686-unknown-linux-gnu.zip 18.30 MiB
qsv-0.131.1-x86_64-apple-darwin.zip 79.07 MiB
qsv-0.131.1-x86_64-pc-windows-gnu-portable.zip 33.27 MiB
qsv-0.131.1-x86_64-pc-windows-gnu.zip 33.28 MiB
qsv-0.131.1-x86_64-pc-windows-msvc-portable.zip 38.17 MiB
qsv-0.131.1-x86_64-pc-windows-msvc.zip 82.63 MiB
qsv-0.131.1-x86_64-unknown-linux-gnu-portable.zip 48.91 MiB
qsv-0.131.1-x86_64-unknown-linux-gnu.zip 144.66 MiB
qsv-0.131.1-x86_64-unknown-linux-musl-portable.zip 19.22 MiB
qsv-0.131.1-x86_64-unknown-linux-musl.zip 65.58 MiB
qsv-0.131.1.msi 35.06 MiB
Question1 . The huge size of the binaries.
Why ? Is it somewhat related to the "complicated" building process (rust ? python ?)
Question 2. Musl ? Gnu ? Portable ?
I choose the "musl portable" and seems to work fine on my standard Archlinux desktop.
I know barely what "musl" and "gnu" mean. But "portable" ? What does it mean in the Linux context ? Are there any pros/cons choosing one or the other, beside the size ?
Question 3. The "docs"
This tool is powerfull, and so also hard to learn. Needs a lot of time and reading. And proper guides/man pages. Hope they can improve that. I guess it's some big company with a paid web version behind it ?
install -Dm644 contrib/completions/examples/qsv.bash "$pkgdir/usr/share/bash-completion/completions/qsv"
install -Dm644 contrib/completions/examples/qsv.zsh "$pkgdir/usr/share/zsh/site-functions/_qsv"
So. Not much there except for the "bash completions".
Any chance of pulling more stuff from their github repo to fill
/usr/share/docs/qsv/... lots of md's
They have this "docs" on the github repo,
/dev/shm/w3mclony/qsv/docs
BENCHMARKS.md images slides
Benchmark_stats.txt INTERPRETERS.md user_helper.py
cookbook Logging.md Validate.md
Describegpt.md PERFORMANCE.md whirlwind_tour.md
ENVIRONMENT_VARIABLES.md publishing_assets with_index_Benchmark.csv
FEATURES.md qsv-benchmarks.svg without_index_Benchmark.csv
Fetch.md qsv-benchmarks.xlsx
At least those "whirlwind_tour.md" "FEATURES.md" "Fetch.md" would be nice.
alerque commented on 2023-11-20 06:13 (UTC)
Upstream has released 0.119.0. I ran into some issues building it though: even after setting CXX=clang++
it still has issues with the C++ build toolchain. If anybody figures out how to build it I'm open to submissions here.
alerque commented on 2023-11-20 06:10 (UTC)
@dansecob To get email notifications on your packages you have to hit the "enable notifications" link. Response to packaging issues by about the 2 week mark is pretty much expected of AUR packages, especially when an orphan request is submitted. An orphan request can be 2 weeks from an initial comment, and then takes at least 2 weeks to clear. Basically that means if you're unresponsive to a broken package for a month then it can get orphaned for the next person to try. That's what happened here, although the timeline was much extended from the minimum.
I have no problem having you on as a co-maintainer if you like, just let me know if you want to be back on.
dansecob commented on 2023-11-10 14:15 (UTC)
I’m sorry for not noticing the patch here: the AUR evidently doesn’t send emails to a linked address (by default, at least) and I have not been checking this page. Seeing as you fixed up the package and are updating it (I initially did a chroot build and subsequently only did regular system builds for all subsequent updates, not recognizing the new Python etc. deps I needed to add) I went ahead and dropped ownership so you are the sole maintainer. Feel free to delete my maintainer line on the next update.
alerque commented on 2023-11-10 05:35 (UTC)
PSA: Like most of the PKGBUILDs that I (co-)maintain, I host prebuilt packages for this in my user repository and all its dependencies for those who wish to install it using pacman
without messing around with building from the AUR. Issue reports or contributions are welcome either in comments below or via this GitHub repository.
alerque commented on 2023-10-19 19:58 (UTC) (edited on 2023-10-19 20:06 (UTC) by alerque)
Not only did you bump this a couple times since my last comment without fixing the broken dependency situation, but it has gotten worse because upstream introduced a new one you're missing.
I rebased and update my patch to cover the new dependencies, again copy (with the trailing blank line) into a file and apply with git am < file.patch
:
From 9fb9f922f53993630d82a543523be7156b95e674 Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Wed, 27 Sep 2023 15:39:55 +0300
Subject: [PATCH] Fixup dependencies so build in clean chroot works
* Build requires clang
* Build requires luau
* Correct LTO flags
* New dependency on xlswriter
* Version restriction not necessary
(Arch's only supported python is new enough)
Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
.SRCINFO | 11 ++++++-----
PKGBUILD | 23 ++++++++++++-----------
2 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/.SRCINFO b/.SRCINFO
index 1d7cc56..41b44e8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,17 @@
pkgbase = qsv
pkgdesc = A command line program for CSV files. Fork of xsv.
pkgver = 0.117.0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/jqnatividad/qsv
arch = any
license = MIT
license = Unlicense
makedepends = cargo
- depends = python>=3.8
- optdepends = bash-completion: tab completion for bash
+ makedepends = clang
+ makedepends = luau
+ depends = python
+ depends = python-xlsxwriter
source = qsv-0.117.0.tar.gz::https://github.com/jqnatividad/qsv/archive/refs/tags/0.117.0.tar.gz
- md5sums = fb6bb78cd5e05757b17311411ad503c5
- sha512sums = 89107394baa468bf12bfcce874047773d26cd2c258c9808164a588b231cc07ca0f033073f45183f07292a43da78bbd349df77979b951bbb1aef1e55e0b6fdf0f
+ sha256sums = 5f74e4380a1fea1b2fb8ae41c852f3fcde3021780e2352351ab20869913ac578
pkgname = qsv
diff --git a/PKGBUILD b/PKGBUILD
index 4dae8f4..5527426 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,19 +1,19 @@
# Maintainer: Bennett Petzold <dansecob.aur gmail com>
+# Contributor: Caleb Maclennan <caleb@alerque.com>
-pkgname='qsv'
-pkgver='0.117.0'
-pkgrel='1'
+BUILDENV+=(!check)
+
+pkgname=qsv
+pkgver=0.117.0
+pkgrel=2
pkgdesc='A command line program for CSV files. Fork of xsv.'
-arch=('any')
+arch=(any)
url='https://github.com/jqnatividad/qsv'
-license=('MIT' 'Unlicense')
-depends=('python>=3.8')
-makedepends=('cargo')
-optdepends=('bash-completion: tab completion for bash')
+license=(MIT Unlicense)
+depends=(python python-xlsxwriter)
+makedepends=(cargo clang luau)
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz")
-
-md5sums=('fb6bb78cd5e05757b17311411ad503c5')
-sha512sums=('89107394baa468bf12bfcce874047773d26cd2c258c9808164a588b231cc07ca0f033073f45183f07292a43da78bbd349df77979b951bbb1aef1e55e0b6fdf0f')
+sha256sums=('5f74e4380a1fea1b2fb8ae41c852f3fcde3021780e2352351ab20869913ac578')
_features='feature_capable,apply,fetch,foreach,generate,luau,polars,python,to,geocode'
@@ -26,6 +26,7 @@ build() {
cd $pkgname-$pkgver
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
+ CFLAGS+=" -ffat-lto-objects"
cargo build --frozen --release --features "$_features"
}
--
2.42.0
alerque commented on 2023-09-27 18:04 (UTC)
Thanks for packaging this. At first blush this looked pretty good, but then I tried to build it using Arch official tooling in a chroot and it wouldn't build. I worked on it a while and found some missing build time dependencies and options that needed fixing relative to Arch default build time flags in order for this to build cleanly in a chroot (as recommended for all packages!).
Here is a patch you can copy to a file and apply using git am < file.patch
that fixes the build issues. Note that it currently skips tests because they don't work yet. If I get a change to look into why the tests are failing I will get back to you on that.
From 6481fb32b29154b58b935740c7c745e1d79de1ea Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Wed, 27 Sep 2023 15:39:55 +0300
Subject: [PATCH] Fix dependencies and remove unnecessary quoting
Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
.SRCINFO | 10 +++++-----
PKGBUILD | 23 ++++++++++++-----------
2 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/.SRCINFO b/.SRCINFO
index 0493101..d575c09 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,16 @@
pkgbase = qsv
pkgdesc = A command line program for CSV files. Fork of xsv.
pkgver = 0.114.0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/jqnatividad/qsv
arch = any
license = MIT
license = Unlicense
makedepends = cargo
- depends = python>=3.8
- optdepends = bash-completion: tab completion for bash
+ makedepends = clang
+ makedepends = luau
+ depends = python
source = qsv-0.114.0.tar.gz::https://github.com/jqnatividad/qsv/archive/refs/tags/0.114.0.tar.gz
- md5sums = 3a847da3cef349b141ecfd3ffd61acf0
- sha512sums = ebb4a25bff302f4321ce885972ebe00375f05acb959b16177aef263cfffde956b500361e5547a6a9ac936700a59a5e358a639772b4c812d9e85c2044fd1b7631
+ sha256sums = 12fa3b54ff805ef9b6e72b29d8355b5b4085a8cda4042a1be790ddd1dca7945b
pkgname = qsv
diff --git a/PKGBUILD b/PKGBUILD
index 8bee187..7ddf485 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,19 +1,19 @@
# Maintainer: Bennett Petzold <dansecob.aur gmail com>
+# Contributor: Caleb Maclennan <caleb@alerque.com>
-pkgname='qsv'
-pkgver='0.114.0'
-pkgrel='1'
+BUILDENV+=(!check)
+
+pkgname=qsv
+pkgver=0.114.0
+pkgrel=2
pkgdesc='A command line program for CSV files. Fork of xsv.'
-arch=('any')
+arch=(any)
url='https://github.com/jqnatividad/qsv'
-license=('MIT' 'Unlicense')
-depends=('python>=3.8')
-makedepends=('cargo')
-optdepends=('bash-completion: tab completion for bash')
+license=(MIT Unlicense)
+depends=(python)
+makedepends=(cargo clang luau)
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz")
-
-md5sums=('3a847da3cef349b141ecfd3ffd61acf0')
-sha512sums=('ebb4a25bff302f4321ce885972ebe00375f05acb959b16177aef263cfffde956b500361e5547a6a9ac936700a59a5e358a639772b4c812d9e85c2044fd1b7631')
+sha256sums=('12fa3b54ff805ef9b6e72b29d8355b5b4085a8cda4042a1be790ddd1dca7945b')
_features='feature_capable,apply,fetch,foreach,generate,luau,polars,python,to,geocode'
@@ -26,6 +26,7 @@ build() {
cd $pkgname-$pkgver
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
+ CFLAGS+=" -ffat-lto-objects"
cargo build --frozen --release --features "$_features"
}
--
2.42.0
Pinned Comments
alerque commented on 2023-11-10 05:35 (UTC)
PSA: Like most of the PKGBUILDs that I (co-)maintain, I host prebuilt packages for this in my user repository and all its dependencies for those who wish to install it using
pacman
without messing around with building from the AUR. Issue reports or contributions are welcome either in comments below or via this GitHub repository.