libchop: drop

This commit is contained in:
awwpotato 2025-05-02 20:27:33 -07:00
parent f58fe55208
commit 5a2f8889e0
No known key found for this signature in database
5 changed files with 1 additions and 211 deletions

View file

@ -1,41 +0,0 @@
From 86fd3be1d31d2e7c09603aa3a8966537ac01bb07 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Tue, 11 Aug 2020 20:30:16 +0200
Subject: [PATCH] Fix RPC compilation when using libtirpc rather than glibc
---
src/block-server.c | 3 +++
utils/chop-block-server.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/src/block-server.c b/src/block-server.c
index 3f97417..29b299e 100644
--- a/src/block-server.c
+++ b/src/block-server.c
@@ -18,6 +18,9 @@
/* Server-side stubs. */
+#include <rpc/types.h>
+#include <rpc/xdr.h>
+#include <rpc/auth.h>
#include <rpc/svc.h>
#include <chop/block-server.h>
diff --git a/utils/chop-block-server.c b/utils/chop-block-server.c
index a2076c0..9462f5d 100644
--- a/utils/chop-block-server.c
+++ b/utils/chop-block-server.c
@@ -19,6 +19,9 @@
store, e.g. a GDBM block store, and serves it remotely. A lot of code is
borrowed from `chop-archiver.c'. */
+#include <rpc/types.h>
+#include <rpc/xdr.h>
+#include <rpc/auth.h>
#include <chop/chop-config.h>
#include <alloca.h>
--
2.25.4

View file

@ -1,71 +0,0 @@
This patch is needed to allow builds with newer versions of
the GNU libc (2.16+).
commit 66712c23388e93e5c518ebc8515140fa0c807348
Author: Eric Blake <eblake@redhat.com>
Date: Thu Mar 29 13:30:41 2012 -0600
stdio: don't assume gets any more
Gnulib intentionally does not have a gets module, and now that C11
and glibc have dropped it, we should be more proactive about warning
any user on a platform that still has a declaration of this dangerous
interface.
* m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
support.
* modules/stdio (Makefile.am): Likewise.
* lib/stdio-read.c (gets): Likewise.
* tests/test-stdio-c++.cc: Likewise.
* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
* lib/stdio.in.h (gets): Make warning occur in more places.
* doc/posix-functions/gets.texi (gets): Update documentation.
Reported by Christer Solskogen.
Signed-off-by: Eric Blake <eblake@redhat.com>
diff --git a/lib/stdio.in.h b/lib/stdio.in.h
index aa7b599..c377b6e 100644
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
# endif
#endif
-#if @GNULIB_GETS@
-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef gets
-# define gets rpl_gets
-# endif
-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (gets, char *, (char *s));
-# else
-_GL_CXXALIAS_SYS (gets, char *, (char *s));
-# undef gets
-# endif
-_GL_CXXALIASWARN (gets);
/* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning. Assume it is
- always declared, since it is required by C89. */
+ so any use of gets warrants an unconditional warning; besides, C11
+ removed it. */
+#undef gets
+#if HAVE_RAW_DECL_GETS
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
# endif
#endif
-/* Some people would argue that sprintf should be handled like gets
- (for example, OpenBSD issues a link warning for both functions),
- since both can cause security holes due to buffer overruns.
+/* Some people would argue that all sprintf uses should be warned about
+ (for example, OpenBSD issues a link warning for it),
+ since it can cause security holes due to buffer overruns.
However, we believe that sprintf can be used safely, and is more
efficient than snprintf in those safe cases; and as proof of our
belief, we use sprintf in several gnulib modules. So this header

View file

@ -1,88 +0,0 @@
{
fetchurl,
lib,
stdenv,
zlib,
bzip2,
libgcrypt,
gdbm,
gperf,
tdb,
gnutls,
db,
libuuid,
lzo,
pkg-config,
guile,
rpcsvc-proto,
libtirpc,
}:
stdenv.mkDerivation rec {
pname = "libchop";
version = "0.5.2";
src = fetchurl {
url = "mirror://savannah/libchop/libchop-${version}.tar.gz";
sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g";
};
patches = [
./gets-undeclared.patch
./size_t.patch
./0001-Fix-RPC-compilation-when-using-libtirpc-rather-than-.patch
];
nativeBuildInputs = [
pkg-config
gperf
rpcsvc-proto
];
env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-ltirpc" ];
buildInputs = [
zlib
bzip2
lzo
libgcrypt
gdbm
db
tdb
gnutls
libuuid
guile
libtirpc
];
doCheck = false;
preConfigure = ''
sed -re 's%@GUILE@%&/guile%' -i */Makefile.* Makefile.*
'';
meta = with lib; {
description = "Tools & library for data backup and distributed storage";
longDescription = ''
Libchop is a set of utilities and library for data backup and
distributed storage. Its main application is chop-backup, an
encrypted backup program that supports data integrity checks,
versioning at little cost, distribution among several sites,
selective sharing of stored data, adaptive compression, and more.
The library itself, which chop-backup builds upon, implements
storage techniques such as content-based addressing, content hash
keys, Merkle trees, similarity detection, and lossless compression.
It makes it easy to combine them in different ways. The
chop-archiver and chop-block-server tools, illustrated in the
manual, provide direct access to these facilities from the command
line. It is written in C and has Guile (Scheme) bindings.
'';
homepage = "https://www.nongnu.org/libchop/";
license = licenses.gpl3Plus;
maintainers = [ ];
platforms = platforms.gnu ++ platforms.linux;
};
}

View file

@ -1,11 +0,0 @@
--- a/src/chop.c
+++ b/src/chop.c
@@ -539,7 +539,7 @@ extern const chop_class_t chop_gdbm_bloc
chop_qdbm_block_iterator_class;
const struct chop_class_entry *
-chop_lookup_class_entry (const char *str, unsigned int len);
+chop_lookup_class_entry (const char *str, size_t len);
/* Include the gperf-generated perfect hash table. */
#include "class-lookup.c"

View file

@ -947,6 +947,7 @@ mapAliases {
libbitcoin-explorer = throw "libbitcoin-explorer has been removed as it required an obsolete version of Boost and had no maintainer in Nixpkgs"; # Added 2024-11-24
libbitcoin-network = throw "libbitcoin-network has been removed as it required an obsolete version of Boost and had no maintainer in Nixpkgs"; # Added 2024-11-24
libbitcoin-protocol = throw "libbitcoin-protocol has been removed as it required an obsolete version of Boost and had no maintainer in Nixpkgs"; # Added 2024-11-24
libchop = throw "libchop has been removed due to failing to build and being unmaintained upstream"; # Added 2025-05-02
libdwg = throw "libdwg has been removed as upstream is unmaintained, the code doesn't build without significant patches, and the package had no reverse dependencies"; # Added 2024-12-28
libgcrypt_1_8 = throw "'libgcrypt_1_8' is end-of-life. Consider using 'libgcrypt' instead"; # Added 2025-01-05
libgda = lib.warnOnInstantiate "libgda has been renamed to libgda5" libgda5; # Added 2025-01-21