View previous topic :: View next topic |
Author |
Message |
erm67 l33t


Joined: 01 Nov 2005 Posts: 647 Location: EU
|
Posted: Sat Jul 06, 2019 7:27 am Post subject: zlib-ng ebuild |
|
|
anyone?
zlib-ng can use some optional arm cpu features to greatly speed up compression, too bad I could find no ebuild for it (I know I am lazy, but with all the sand in the keyboard I cannot type while at the beach) ...
Apparently the project is mature enough to be used:
https://github.com/zlib-ng/zlib-ng/issues/64
Quote: | We are getting there, slowly.
We want to get a couple new function into the API, for setting and getting settings beyond the scope of normal zlib functionality.
The zlib-ng.h file still needs to get a thorough review to check whether we want/should/need to make any changes before making a stable release.
Those are the API-level blockers for making a 1.0 version.
In addition there are some minor cleanups and changes we could/should do before stable, but nothing really critical.
Documentation of differences from stock zlib is also a major task I'd like to see some progress on before a stable release.
We have also been using zlib-ng in prod for a couple years now, and have not had any real problems during runtime use (compilation issues is another matter, but that is not as critical, and is getting fixed as we find them). |
I think that even the poor raspi user have the crc optional CPU feature so it could be useful on their slow boxes as well. _________________ Ok boomer
True ignorance is not the absence of knowledge, but the refusal to acquire it.
Ab esse ad posse valet, a posse ad esse non valet consequentia
My fediverse account: @erm67@erm67.dynu.net |
|
Back to top |
|
 |
CaptainBlood Advocate


Joined: 24 Jan 2010 Posts: 2020
|
Posted: Sat Jul 06, 2019 3:52 pm Post subject: |
|
|
Yes that would be nice, and maybe no so difficult by itself, BUT: Code: | app-admin/sudo
app-admin/testdisk
app-arch/libarchive
app-crypt/gnupg
app-editors/emacs
app-emulation/qemu
app-emulation/spice
app-forensics/aide
app-office/libreoffice
app-office/texmaker
app-text/evince
app-text/ghostscript-gpl
app-text/libabw
app-text/libebook
app-text/libetonyek
app-text/libmspub
app-text/libmwaw
app-text/libstaroffice
app-text/poppler
app-text/qpdf
app-text/texlive-core
cross-aarch64-unknown-linux-gnu/binutils
cross-aarch64-unknown-linux-gnu/gcc
cross-aarch64-unknown-linux-gnu/gdb
dev-db/mariadb
dev-db/mysql-connector-c
dev-db/postgresql
dev-db/sqlite
dev-java/icedtea-bin
dev-lang/perl
dev-lang/php
dev-lang/python
dev-lang/ruby
dev-lang/rust
dev-lang/spidermonkey
dev-lang/swig
dev-libs/boost
dev-libs/elfutils
dev-libs/glib
dev-libs/libmirage
dev-libs/liborcus
dev-libs/libpcre
dev-libs/libpcre2
dev-libs/librevenge
dev-libs/libxml2
dev-libs/nss
dev-libs/openssl
dev-libs/protobuf
dev-libs/zziplib
dev-python/pillow
dev-qt/qtcore
dev-qt/qtgui
dev-qt/qtnetwork
dev-qt/qtsvg
dev-util/cmake
dev-vcs/git
media-gfx/blender
media-gfx/exiv2
media-gfx/fbgrab
media-gfx/gimp
media-gfx/imagemagick
media-gfx/potrace
media-gfx/splashutils
media-libs/freeimage
media-libs/freetype
media-libs/gegl
media-libs/libcdr
media-libs/libfreehand
media-libs/libid3tag
media-libs/libmng
media-libs/libpng
media-libs/libzmf
media-libs/mesa
media-libs/netpbm
media-libs/openjpeg
media-libs/taglib
media-libs/tiff
media-sound/mpd
media-tv/kodi
media-video/ffmpeg
media-video/mkvtoolnix
media-video/mplayer
media-video/mpv
net-analyzer/snort
net-analyzer/wireshark
net-libs/libssh
net-libs/libssh2
net-libs/neon
net-libs/nghttp2
net-libs/nodejs
net-misc/aria2
net-misc/curl
net-misc/openssh
net-misc/spice-gtk
net-misc/wget
net-p2p/transmission
net-print/cups
net-print/cups-filters
net-vpn/tor
sys-apps/file
sys-apps/kmod
sys-apps/man-db
sys-apps/pciutils
sys-apps/util-linux
sys-auth/consolekit
sys-boot/grub
sys-devel/binutils
sys-devel/gcc
sys-devel/llvm
sys-libs/binutils-libs
sys-libs/slang
www-client/firefox
www-client/httrack
www-client/w3m
www-servers/apache
x11-libs/cairo
x11-libs/libXfont2
x11-libs/libfontenc
x11-libs/libpciaccess
x11-libs/vte
x11-libs/wxGTK | are all the dependencies on sys-libs/zlib which doesn't seem to be virtualized,
which is something I don't know how to do, and is likely to require changes in all dependant packages.
Plz note all these @system packages in the list.
So that ng-zlib gotta be robust and well tested before going into the wild.
Thks 4 ur attention. |
|
Back to top |
|
 |
erm67 l33t


Joined: 01 Nov 2005 Posts: 647 Location: EU
|
Posted: Sun Jul 07, 2019 6:18 am Post subject: |
|
|
Oh well that is a lot of work well maybe it will be necessary anyway once chrome and android adopts it, very likely since they (google) forked zlib already and all changes are being merged in zlib-ng.
Actually atm I want to install it in a separate slot and load it via LD_PRELOAD, which should be easy. _________________ Ok boomer
True ignorance is not the absence of knowledge, but the refusal to acquire it.
Ab esse ad posse valet, a posse ad esse non valet consequentia
My fediverse account: @erm67@erm67.dynu.net |
|
Back to top |
|
 |
Dr.Willy Guru

Joined: 15 Jul 2007 Posts: 529 Location: NRW, Germany
|
Posted: Mon Jul 08, 2019 3:21 pm Post subject: |
|
|
You could also add zlib to package.provided if zlib-ng is a drop-in replacement. |
|
Back to top |
|
 |
CaptainBlood Advocate


Joined: 24 Jan 2010 Posts: 2020
|
Posted: Mon Jul 08, 2019 6:51 pm Post subject: |
|
|
Thks for pointing out that feature package.provided.
Although I've never tried it, it seems a interesting feature, I easily understand, better that LD_PRELOAD which I've never heard before reading this post.
Chance are they might both do the same thing, the former being the Gentoo way, the latter the lUNIX way.
Thks 4 ur attention, interest é support. |
|
Back to top |
|
 |
erm67 l33t


Joined: 01 Nov 2005 Posts: 647 Location: EU
|
Posted: Tue Jul 09, 2019 5:52 am Post subject: |
|
|
package.provided does not solve the problem that the binary zlib-ng library can replace zlib but their zlib.h is not yet mature enough to replace the original and causes compile failures.
Only binary API compatibility is stable, so well unless someone wants to jump in zlib-ng development and fix all the compile failures, LD_PRELOAD is the only way The list of dependent packages is long
I think tmpfiles.d can be used to pass env vars (LD_PRELOAD) to some packages started by openrc. _________________ Ok boomer
True ignorance is not the absence of knowledge, but the refusal to acquire it.
Ab esse ad posse valet, a posse ad esse non valet consequentia
My fediverse account: @erm67@erm67.dynu.net |
|
Back to top |
|
 |
|