A new uptodate package from librsync 2.3.4 after the orphaned 1.0.0

http://szaszg.orgfree.com/cygwin/librsync/

=================
librsync.cygport:

inherit cmake

NAME=librsync
VERSION=2.3.4
RELEASE=1
LICENSE="GNU Lesser General Public License v2.1"
SUMMARY="Free software library that implements the rsync remote-delta 
algorithm."
CATEGORY=Utils
DESCRIPTION="librsync is a free software library that implements the rsync 
remote-delta algorithm. This algorithm allows efficient remote updates of a 
file, without requiring the old and new versions to both be present at the 
sending end. The library uses a streaming design similar to that of zlib with 
the aim of allowing it to be embedded into many different applications."
HOMEPAGE="https://github.com/librsync/librsync";


SRC_URI="https://github.com/librsync/librsync/archive/v${PV}.tar.gz#/${NAME}-${PV}.tar.gz";

#SRC_URI+=" series"
#PATCH_URI="$(grep -v '^#' series)"
#PATCH_URI=

PKG_NAMES="librsync-devel librsync2 rdiff"

rdiff_SUMMARY="Compute and apply signature-based file differences"
rdiff_DESCRIPTION="rdiff is a tool from librsync. It computes and applies 
signature-based file differences."
rdiff_CATEGORY="Utils"
rdiff_CONTENTS="usr/bin/*.exe usr/share/man/man1"

librsync_devel_SUMMARY="${SUMMARY} (devel)"
librsync_devel_CATEGORY="Libs Devel"
librsync_devel_CONTENTS="usr/lib/ usr/include/ usr/share/man/man3"

librsync2_SUMMARY="${SUMMARY} (runtime)"
librsync2_CATEGORY="Libs"
librsync2_CONTENTS="usr/bin/*.dll usr/share/doc"

#DEPEND="automake1.17 pkgconfig(popt) pkgconfig(zlib)"
BUILD_REQUIRES="automake1.17 pkgconfig(popt) pkgconfig(zlib)"
CYGCONF_ARGS="--enable-shared"

===============
cygport test:

>>> Testing librsync-2.3.4-1.x86_64
Test project /home/Rendszergazda/rdiff/librsync-2.3.4-1.x86_64/build
      Start  1: isprefix_test
 1/15 Test  #1: isprefix_test ....................   Passed    0.07 sec
      Start  2: netint_test
 2/15 Test  #2: netint_test ......................   Passed    0.06 sec
      Start  3: rollsum_test
 3/15 Test  #3: rollsum_test .....................   Passed    0.06 sec
      Start  4: rabinkarp_test
 4/15 Test  #4: rabinkarp_test ...................   Passed    0.06 sec
      Start  5: hashtable_test
 5/15 Test  #5: hashtable_test ...................   Passed    0.06 sec
      Start  6: checksum_test
 6/15 Test  #6: checksum_test ....................   Passed    0.08 sec
      Start  7: sumset_test
 7/15 Test  #7: sumset_test ......................   Passed    0.06 sec
      Start  8: rdiff_bad_option
 8/15 Test  #8: rdiff_bad_option .................   Passed    0.31 sec
      Start  9: Help
 9/15 Test  #9: Help .............................   Passed    0.29 sec
      Start 10: Mutate
10/15 Test #10: Mutate ...........................   Passed   50.24 sec
      Start 11: Signature
11/15 Test #11: Signature ........................   Passed   14.25 sec
      Start 12: Sources
12/15 Test #12: Sources ..........................   Passed   57.53 sec
      Start 13: Triple
13/15 Test #13: Triple ...........................   Passed  102.69 sec
      Start 14: Delta
14/15 Test #14: Delta ............................   Passed    2.90 sec
      Start 15: Changes
15/15 Test #15: Changes ..........................   Passed   50.83 sec

100% tests passed, 0 tests failed out of 15

================
News (after 1.0.0):
librsync 2.3.4

Released 2023-02-19

    Fix #248 by putting #include "config.h" with /* IWYU pragma: keep */ in 
most src/*.c files. Add /* IWYU pragma: keep */ to includes in src/fileutil.c 
that are needed on some platforms but not others so we can remove the special 
exemptions to skip this file for the iwyu and iwyu-fix targets in 
CMakeLists.txt. Also add some typecasts to rollsum.[ch] and patch.c to silence 
warnings on Windows. (dbaarda, #249)

librsync 2.3.3

Released 2023-02-16

    Fix #244 Add windows build to stable release. Updated CONTRIBUTING.md 
release instructions to be clearer and include instructions on how to upload 
the win64 install artifact from the github "Check" action. (dbaarda, #245)

    Update github actions and fix iwyu build target. Update checkout and 
upload-artifact to v3. Update lint.yml installed packages for fixed iwyu deps. 
Fix iwyu build target to ignore fileutil.c and use neater clang output with 
noisy "note:" output removed. Run make iwyu-fix to fix includes for 
tests/rabinkarp_perf.c. (dbaarda, #243)

    Add missing word to README.md. (AvdN, #237)

    Make delta directly process the input stream if it has enough data. Delta 
operations will only accumulate data into the internal scoop buffer if the 
input buffer is too small, otherwise it will process the input directly. This 
makes delta calculations 5%~15% faster by avoiding extra data copying. 
(dbaarda, #234)

    Add .gitignore for .cmake created by LSP on Windows. (sourcefrog, #232)

    Upload build and install artifacts from Github actions. This means we get 
downloadable build and install artifacts for all platforms from the "Check" 
action. (sourcefrog, #231)

    Improve documentation so that Doxygen generates more complete documentation 
with diagrams, renders better, and is more navigable as markdown docs on 
GitHub. (dbaarda, #230)

    Add github action and make targets for clang-tidy and iwyu. Added 
clang-tidy and iwyu make targets for checking code and includes, and iwyu-fix 
for fixing includes. Added lint.yml GitHub action to run these checks. Fixed 
all clang-tidy and iwyu warnings except for fileutil.c with platform related 
include complications. Added consistent include guards to all headers. Updated 
and improved documentation in CONTRIBUTING.md to include these changes. 
(rizsotto, dbaarda, #229)

    Tidy rdiff integration test scripts. Made the filenames and shell arguments 
for test scripts consistent. (dbaarda, #227)

    Add better cmake build type configuration support. Added BuildType.cmake 
with better support for selecting the build type and making it default to 
Debug. (dbaarda, #226)

    Fix #215 Migrate from Travis to GitHub Actions. Added a check.yml GitHub 
action with updated test/platform matrix including full testing of rdiff on 
Windows. (rizsotto, dbaarda, #225)

    Fix bash test scripts to work on Windows. Tweaked cmake configuration and 
bash script tests so that full rdiff tests using libpopt from vcpkg work. 
Running cmake --target check with rdiff compiled now works on windows. 
(dbaarda, #224)

    Remove obsolete unused tests. Removed some obsolete mdfour test data files 
and check-rdiff perl script. (dbaarda, #223)

    Fix warning for later CMake versions. New CMake versions started 
complaining about the filename Findlibb2.cmake not matching the LIBB2 variables 
being used. (rizsotto, #221)

librsync 2.3.2

Released 2021-04-10

    Fix #214 heap corruption for too small kbloom. This could have crashed 
delta operations for very small files/signatures. Strangely it didn't seem to 
cause problems for most compilers/platforms, but did trigger errors for new 
versions of MSVC. (ljusten, #213)

    Fix #207 and add Travis Windows checks and improve compatibility. Turn on 
-Wconversion -Wno-sign-conversion warnings for clang. Add MSVC compiler flags 
to turn off posix warnings. Make all code compile clean with no warnings on all 
Travis platforms. Added cmake config checking for windows io.h and improve 
fileutil.c for MSVC. Fix broken error handling in rs_file_copy_cb(). Improved 
trace output, making it less spamy and more consistent. Add patch checking for 
invalid literal lengths. Improve internal variable and argument types. Add 
explicit type conversions. (dbaarda, #208)

    Fix a bug so patch will now fail returning RS_CORRUPT on encountering a 
zero length copy command instead of hanging. Make copy_cb() copying more data 
than requested an assert-fail on debug builds, and a log-warning for release 
builds. Make trace output a little less spammy about copy_cb() return values. 
(dbaarda, #206)

librsync 2.3.1

Released 2020-05-19

    Fix #198 cmake popt detection using pkg-config and #199 test scripts on 
FreeBSD. Fixes and tidies FindPOPT.cmake and Findlibb2.cmake to use pkg-config 
correctly and behave more like official FindPackage() cmake modules. Makes all 
test scripts use /bin/sh instead of /bin/bash. (dbaarda, mandree #200)

    Change default block_len to always be a multiple of the blake2b 128 byte 
blocksize for efficiency. Tidy and update docs to explain using rs_sig_args() 
and rs_build_hash_table(), add rs_file_*() utils, and document new magic types. 
Remove really obsolete entries in TODO.md. Update to Doxygen 1.8.16. (dbaarda, 
#195)

    Improve hashtable performance by adding a small optional bloom filter, 
reducing max loadfactor from 80% to 70%, Fix hashcmp_count stats to include 
comparing against empty buckets. This speeds up deltas by 20%~50%. (dbaarda, 
#192, #193, #196)

    Optimize rabinkarp_update() by correctly using unsigned constants and 
manually unrolling the loop for best performance. (dbaarda, #191)

librsync 2.3.0

Released 2020-04-07

    Bump minor version from 2.2.1 to 2.3.0 to reflect additional rs_sig_args() 
and strong_len=-1 support.

    Add public rs_sig_args() function for getting the recommend signature args 
from the file size. Added support to rdiff for --sum-size=-1 to indicate "use 
minimum size safe against random block collisions". Added warning output for 
sum-sizes that are too small to be safe. Fixed possible rdiff bug affecting 
popt parsing on non-little-endian platforms. (dbaarda, #109)

    Fixed yet more compiler warnings for various platforms/compilers. 
(Adsun701, texierp, #187, #188)

    Improved cmake popt handling to find popt dependencies using PkgConfig. 
(ffontaine, #186)

    Tidied internal code and improved tests for netint.[ch], tube.c, and 
hashtable.h. (dbaarda, #183 #185).

    Improved C99 compatibility. Add -std=c99 -pedantic to CMAKE_C_FLAGS for gcc 
and clang. Fix all C99 warnings by making all code C99 compliant. Tidy all 
CMake checks, #cmakedefines, and #includes. Fix 64bit support for mdfour 
checksums (texierp, dbaarda, #181, #182)

    Usage clarified in rdiff (1) man page. (AaronM04, #180)

librsync 2.2.1

Released 2019-10-16

    Fix #176 hangs calculating deltas for files larger than 4GB. (dbaarda, #177)

librsync 2.2.0

Released 2019-10-12

    Bump minor version from 2.1.0 to 2.2.0 to reflect additional RabinKarp 
rollsum support.

    Fix MSVC builds by adding missing LIBRSYNC_EXPORT to variables in 
librsync.h, add -DLIBRSYNC_STATIC_DEFINE to the sumset_test target, and 
correctly install .dll files in the bin directory. (adsun701, #161)

    Add RabinKarp rollsum support and make it the default. RabinKarp is a much 
better rolling hash, which reduces the risk of hash collision corruption and 
speeds up delta calculations. The rdiff cmd gets a new -R (rollsum|rabinkarp) 
argument with the default being rabinkarp, Use -R rollsum to generate 
backwards-compatible signatures. (dbaarda, #3)

    Use single-byte literal commands for small inserts in deltas. This makes 
each small insert use 1 less byte in deltas. (dbaarda, #120)

    Fix multiple warnings (cross-)compiling for windows. (Adsun701, #165, #166)

    Change rs_file_size() to report -1 instead of 0 for unknown file sizes (not 
a regular file). (dbaarda #168)

    Add cmake BUILD_SHARED_LIBS option for static library support. 
BUILD_SHARED_LIBS defaults to ON, and can be set to OFF using ccmake . to build 
librsync as a static library. (dbaarda #169)

    Fix compile errors and add .gitignore entries for MSVS 2019. Fixes 
hashtable.h to be C99 compliant. (ardovm #170)

librsync 2.1.0

Released 2019-08-19

    Bump minor version from 2.0.3 to 2.1.0 to reflect additions to librsync.h.

    Fix exporting of private symbols from librsync library. Add export of 
useful large file functions rs_file_open(), rs_file_close(), and rs_file_size() 
to librsync.h. Add export of rs_signature_log_stats() to log signature 
hashtable hit/miss stats. Improve rdiff error output. (dbaarda, #130)

    Updated release process to include stable tarballs. (dbaarda, #146)

    Remove redundant and broken --paranoia argument from rdiff. (dbaarda, #155)

    Fix memory leak of rs_signature_t->block_sigs when freeing signatures. 
(telles-simbiose, #147)

    Document delta file format. (zmj, #46)

    Fix up doxygen comments. (dbaarda, #151)

librsync 2.0.2

Released 2018-02-27

    Improve CMake install paths configuration (wRAR, #133) and platform support 
checking when cross-compiling (fornwall, #136).

    Fix Unaligned memory access for rs_block_sig_init() (dbaarda, #135).

    Fix hashtable_test.c name collision for key_t in sys/types.h on some 
platforms (dbaarda, #134)

    Format code with consistent style, adding make tidy and make tidyc targets 
for reformating code and comments. (dbaarda, #125)

    Removed perl as a build dependency. Note it is still required for some 
tests. (dbaarda, #75)

    Update RPM spec file for v2.0.2 and fix cmake man page install. (deajan, 
#47)

librsync 2.0.1

Released 2017-10-17

    Extensively reworked Doxygen documentation, now available at 
http://librsync.sourcefrog.net/ (Martin Pool)

    Removed some declarations from librsync.h that were unimplemented or no 
longer ever useful: rs_work_options, rs_accum_value. Remove declaration of 
unimplemented rs_mdfour_file(). (Martin Pool)

    Remove shipped snprintf code: no longer acutally linked after changing to 
CMake, and since it's part of C99 it should be widely available. (Martin Pool)

    Document that Ninja (http://ninja-build.org/) is supported under CMake. 
It's a bit faster and nicer than Make. (Martin Pool)

    make check (or ninja check etc) will now build and run the tests. 
Previously due to a CMake limitation, make test would only run existing tests 
and could fail if they weren't built. (Martin Pool, #49)

    Added cmake options to exclude rdiff target and compression from build. See 
install documentation for details. Thanks to Michele Bertasi.

    popt is only needed when rdiff is being built. (gulikoza)

    Improved large file support for platforms using different variants of fseek 
(fseeko, fseeko64, _fseeki64), fstat (fstat64, _fstati64), and fileno 
(_fileno). (dbaarda, charlievieth, gulikoza, marius-nicolae)

    rdiff -s option now shows bytes read/written and speed. (gulikoza). For 
delta operations it also shows hashtable match statistics. (dbaarda)

    Running rdiff should not overwrite existing files (signatures, deltas and 
new patched files) by default. If the destination file exists, rdiff will now 
exit with an error. Add new option -f (--force) to overwrite existing files. 
(gulikoza)

    Improve signature memory allocation (doubling size instead of calling 
realloc for every sig block) and added support for preallocation. See 
streaming.md job->estimated_signature_count for usage when using the library. 
rdiff uses this by default if possible. (gulikoza, dbaarda)

    Significantly tidied signature handling code and testing, resulting in more 
consistent error handling behaviour, and making it easier to plug in 
alternative weak and strong sum implementations. Also fixed "slack delta" 
support for delta calculation with no signature. (dbaarda)

    stdint.h and inttypes.h from C99 is now required. Removed redundant 
librsync-config.h header file. (dbaarda)

    Lots of small fixes for windows platforms and building with MSVC. 
(lasalvavida, mbrt, dbaarda)

    New open addressing hashtable implementation that significantly speeds up 
delta operations, particularly for large files. Also fixed degenerate behaviour 
with large number of duplicate blocks like runs of zeros in sparse files. 
(dbaarda)

    Optional support with cmake option for using libb2 blake2 implementation. 
Also updated included reference blake2 implementation with bug fixes (dbaarda).

    Improved default values for input and output buffer sizes. The defaults are 
now --input-size=0 and --output-size=0, which will choose recommended default 
sizes based on the --block-size and the operation being performed. (dbaarda)

    Fixed hanging for truncated input files. It will now correctly report an 
error indicating an unexpected EOF was encountered. (dbaarda, #32)

    Fixed #13 so that faster slack delta's are used for signatures of empty 
files. (dbaarda, #13)

    Fixed #33 so rs_job_iter() doesn't need calling twice with eof=1. Also 
tidied and optimized it a bit. (dbaarda, #33)

    Fixed #55 remove excessive rs_fatal() calls, replacing checks for 
programming errors with assert statements. Now rs_fatal() will only be called 
for rare unrecoverable fatal errors like malloc failures or impossibly large 
inputs. (dbaarda, #55)

librsync 2.0.0

Released 2015-11-29

Note: despite the major version bump, this release has few changes and should 
be binary and API compatible with the previous version.

    Bump librsync version number to 2.0, to match the library soname/dylib 
version. (Martin Pool, #48)

librsync 1.0.1 (2015-11-21)

    Better performance on large files. (VictorDenisov)

    Add comment on usage of rs_build_hash_table(), and assert correct use. 
Callers must call rs_build_hash_table() after loading the signature, and before 
calling rs_delta_begin(). Thanks to Paul Harris paulhar...@computer.org

    Switch from autoconf to CMake.

    Thanks to Adam Schubert.

Reply via email to