I would like to contribute afflib. Also present in Debian, Fedora, Ubuntu, ... but package naming differs:

Debian/Ubuntu: afflib-tools, libafflib0v5, libafflib-dev
Fedora: afftools, afflib, afflib-devel

It is indented to enable afflib format support for the next version of the sleuthkit package.

SUMMARY="Library and tools for the Advanced Forensic Format"

DESCRIPTION="\
The Advanced Forensic Format (AFF) is a file format for storing computer
forensic information.  It supports metadata, compression, encryption and
signing."

afflib_tools_DESCRIPTION="...
This package contains tools to examine, convert, compare, copy, encrypt,
decrypt and sign AFF files."

afflib-tools-3.7.20-1.tar.xz:
usr/bin/affcat.exe
usr/bin/affcompare.exe
usr/bin/affconvert.exe
usr/bin/affcopy.exe
usr/bin/affcrypto.exe
usr/bin/affdiskprint.exe
usr/bin/affinfo.exe
usr/bin/affix.exe
usr/bin/affrecover.exe
usr/bin/affsegment.exe
usr/bin/affsign.exe
usr/bin/affstats.exe
usr/bin/affverify.exe
usr/bin/affxml.exe
usr/share/doc/afflib/*
usr/share/man/man1/aff*.1.gz

libafflib-3.7.20-1.tar.xz:
usr/bin/cygafflib-0.dll

libafflib-devel-3.7.20-1.tar.xz:
usr/include/afflib/*.h
usr/lib/libafflib.dll.a
usr/lib/pkgconfig/afflib.pc

--
Regards,
Christian

# cygport script for afflib
NAME=afflib
VERSION=3.7.20
RELEASE=1
SOURCE_DATE="2024-03-06 13:00:00 UTC"

SUMMARY="Library and tools for the Advanced Forensic Format"

DESCRIPTION="\
The Advanced Forensic Format (AFF) is a file format for storing computer
forensic information.  It supports metadata, compression, encryption and
signing."

LICENSE="BSD-4-clause"

PKG_NAMES="afflib-tools libafflib libafflib-devel"

afflib_tools_SUMMARY="${SUMMARY} (tools)"
afflib_tools_DESCRIPTION="${DESCRIPTION}  
This package contains tools to examine, convert, compare, copy, encrypt,
decrypt and sign AFF files."

libafflib_SUMMARY="${SUMMARY} (runtime)"
libafflib_DESCRIPTION="${DESCRIPTION}  
This package contains the runtime library for afflib."

libafflib_devel_SUMMARY="${SUMMARY} (development)"
libafflib_devel_DESCRIPTION="${DESCRIPTION}  
This package contains the development files for libafflib."

CATEGORY="Devel Libs Utils"
afflib_tools_CATEGORY="Utils"
libafflib_CATEGORY="Libs"
libafflib_devel_CATEGORY="Devel Libs"

afflib_tools_REQUIRES="" # libafflib libexpat1 libgcc1 libreadline7 libssl3 
libstdc++6
libafflib_REQUIRES="" # libcurl4 libexpat1 libgcc1 libssl3 libstdc++6 zlib0
libafflib_devel_REQUIRES="" # libafflib libssl-devel pkg-config

BUILD_REQUIRES="
  binutils gcc-g++ gzip libcurl-devel libexpat-devel libreadline-devel
  libssl-devel zlib-devel
" # make

HOMEPAGE="https://github.com/sshock/AFFLIBv3";
SRC_URI="https://codeload.github.com/sshock/AFFLIBv3/tar.gz/refs/tags/v${PV}#/${P}.tar.gz";
SRC_DIR="AFFLIBv3-${PV}"

afflib_tools_CONTENTS="
        --exclude=usr/bin/cygafflib-*.dll
        usr/bin
        usr/share
"
libafflib_CONTENTS="
        usr/bin/cygafflib-*.dll
"
libafflib_devel_CONTENTS="
        usr/include/afflib
        usr/lib
"

DIFF_EXCLUDES="lzma443"

export SOURCE_DATE_EPOCH=$(date -d "$SOURCE_DATE" +%s)

src_compile() {
        cd ${S}
        cygautoreconf

        cd ${B}
        cygconf --enable-shared --disable-static \
                --enable-s3 --enable-threading --enable-qemu \
                --with-curl --with-gnu-ld --with-expat \
                --disable-fuse --disable-python

        # configure sets _FORTIFY_SOURCE=2 which would override level 3
        # libtool requires '-no-undefined'
        cygmake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
                LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-no-undefined"
}

src_install() {
        cd ${B}
        cyginstall

        cd ${S}
        dodoc doc/*.txt

        cd ${D}
        rm -v usr/bin/affuse.exe usr/share/man/man1/affuse.1 # --disable-fuse
        gzip -9nv usr/share/doc/${PN}/*.txt
}
--- origsrc/AFFLIBv3-3.7.20/lib/Makefile.am     2024-03-06 13:00:00.000000000 
+0000
+++ src/AFFLIBv3-3.7.20/lib/Makefile.am 2024-03-06 13:00:00.000000000 +0000
@@ -76,7 +76,7 @@ install-exec-hook:
              then echo $(libdir) already installed ; \
              else echo installing $(libdir) in $(DESTDIR)/etc/ld.so.conf ; \
                   echo $(libdir) >> $(DESTDIR)/etc/ld.so.conf ; \
-                 PATH=$(PATH):/sbin; \
+                 PATH="$(PATH):/sbin"; \
                  ldconfig; \
           fi ; \
          echo "*************************************************" ;\
--- origsrc/AFFLIBv3-3.7.20/tools/affcopy.cpp   2024-03-06 13:00:00.000000000 
+0000
+++ src/AFFLIBv3-3.7.20/tools/affcopy.cpp       2024-03-06 13:00:00.000000000 
+0000
@@ -146,7 +146,7 @@ void unlink_outfiles(vector<string> outf
     if(failure) exit(1);
 }
 
-#if !defined( __BSD_VISIBLE) && !defined(isnumber)
+#if (!defined(__BSD_VISIBLE) || defined(__CYGWIN__)) && !defined(isnumber)
 #define isnumber(x) isdigit(x)
 #endif
 

Reply via email to