aklomp-base64 for Debian
------------------------

* Why one more base64 library should be packaged for Debian?

  As you know, there is libb64 library in Debian. But they are not
  designed to support SIMD, OpenMP acceleration yet. Additionally
  libb64 inserts newline per 72 characters, so it is not suitable to
  convert block data into base64 string without line breaks.

  There are some other libraries which provides base64 conversion.

  * openssl(BIO_f_base64): it takes extra overhead in BIO layer.
  * libsodium(sodium_bin2base64): slower than openssl.

  That is why aklomp/base64 was packaged in Debian.

* What is difference with original aklomp/base64?

  * aklomp- prefix was added to package name

    There are already base64 packages - libb64-0d and libb64-dev. It
    does not provide base64 command so no conflict with them.

    In contrast to that, coreutils package provides /usr/bin/base64,
    so it conflicts with aklomp/base64 by default.

    aklomp/base64 also provides not only base64, but also test_base64
    and benchmark. In general, binary should be better to bundle as
    base64-tools, but there are naming issues. so decided to add
    aklomp- prefix for that.

    This naming conflicts issue was already filed as:

      https://github.com/aklomp/base64/issues/154

  * use NAMES for find_package if you want to keep portability

    If you want to build your application with aklomp/base64,
    use the following instruction in CMakeLists.txt

      find_package(base64 NAMES base64 aklomp-base64 REQUIRED)

    It will work with both of git cloned aklomp/base64 and
    Debian's libaklomp-base64-dev.

  * No OpenMP support for some architectures

    libomp-dev is not available on s390, alpha, hppa, hurd-amd64,
    hurd-i386, m68k, powerpc, sh4, sparc64 and x32.

  * No support for hurd-amd64 and hurd-i386

    On hurd architectures, no IOV_MAX.

 -- Kentaro Hayashi <kenhys@xdump.org>, Sat,  9 May 2026 17:08:10 +0900
