Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 866359

Summary: Package request for Relational pipes
Product: Gentoo Linux Reporter: woljiri
Component: New packagesAssignee: Default Assignee for New Packages <maintainer-wanted>
Status: UNCONFIRMED ---    
Severity: normal CC: woljiri
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: The metapackage
One of the ebuilds for applications
One of library ebuilds
Tarball of all ebuilds
Dependency graph

Description woljiri 2022-08-24 17:37:22 UTC
Relational pipes is a toolkit for tabular data processing. The current version is not stable yet, but I think that some people (like me) could find this useful.

The project (I actually mean the reference implementation of Relpipes) consists of many modules (projects with executables), divided into three major parts:

  • input – taking input (from file, network, input devices etc.) and producing data in Relpipes internal format

  • output – taking input in Relpipes format and producing output, visualizing it or doing something else with it

  • transformation – allow running awk-like and sed-like modifications or custom Guile or Python programs on the data (and some other things)

The current version (v0.19) is not yet well-documented. I asked the developer and he told me that docs are work-in-progress and will be published soon.

These tools can be used for conversion of many formats storing tables or table-like data and processing them. Many major formats, like CSV, JSON, XML or YAML are supported, along with utilities like table formatter for monospace text or fstab parser.

I have created ebuilds for each of the modules and a metapackage. I have to tune few details and I will be able to publish them. There are some problems:

  • relpipe-tr-python needs Python 3.6 header files. I will try to patch it to use the latest version installed or use PYTHON_SINGLE_TARGET.

  • relpipe-in-mimetable needs libvmime. There is a bug report for that package and I also have working ebuild for its Git version.

I named the packages for utilities using the names used in the source code repository. For example, relpipe-out-tabular is provided by app-misc/relpipe-out-tabular or relpipe-out-gui.qt is provided by app-misc/relpipe-out-gui-qt.

The project uses some libraries for common functionality. These will be provided by packages dev-libs/relpipe-lib-*.

The metapackage app-misc/relational-pipes depends on all the utilities. The dependencies are configurable using USE flags.


Website: https://relational-pipes.globalcode.info/v_0/index.xhtml

Usage examples: https://relational-pipes.globalcode.info/v_0/examples.xhtml
Comment 1 woljiri 2022-08-28 16:26:59 UTC
Created attachment 801688 [details]
The metapackage
Comment 2 woljiri 2022-08-28 16:33:33 UTC
Created attachment 801691 [details]
One of the ebuilds for applications
Comment 3 woljiri 2022-08-28 16:34:12 UTC
Created attachment 801694 [details]
One of library ebuilds
Comment 4 woljiri 2022-08-28 16:34:47 UTC
Created attachment 801697 [details]
Tarball of all ebuilds
Comment 5 woljiri 2022-08-28 16:36:24 UTC
Created attachment 801700 [details]
Dependency graph
Comment 6 woljiri 2022-08-28 16:41:19 UTC
The ebuilds for Relational pipes are in the attachments. Since there is quite a lot of ebuilds, I selected three representative ebuilds (all the ebuilds are ± the same, except the metapackage) and all the ebuilds are in the tarball. There is also a dependency graph in an attachment.

I am awaiting descriptions of the packages from the developer. If he does not send them in few days, I will write them. (Or, if it is fine to have one description for all the packages, we can leave the universal description there.)

The metapackage uses local USE flags heavily. How should I provide descriptions for them?
Comment 7 woljiri 2022-08-28 16:44:56 UTC
Also, one additional thing:

The relpipe-in-mimetable needs dev-cpp/vmime that is not currently present in the repo, but there is a pending bug for it (#148250) with working live ebuild.

The relpipe-tr-python was patched to not use old Python 3.6.

The relpipe-tr-sql is masked and it does not run because of problems with unixODBC. (Does anyone know where to get driver SQLite3? It needs it.)