Kyoto Cabinet is a library of routines for managing a database. The
database is a simple data file containing records, each is a pair of a
key and a value. Every key and value is serial bytes with variable
length. Both binary data and character string can be used as a key and
a value. Each key must be unique within a database. There is neither
concept of data tables nor data types. Records are organized in hash
table or B+ tree.
Kyoto Cabinet runs very fast. For example, elapsed time to store one
million records is 0.9 seconds for hash database, and 1.1 seconds for
B+ tree database. Moreover, the size of database of Kyoto Cabinet is
very small. For example, overhead for a record is 16 bytes for hash
database, and 4 bytes for B+ tree database. Furthermore, scalability
of Kyoto Cabinet is great. The database size can be up to 8EB (9.22e18
bytes).
Kyoto Cabinet is written in the C++ language, and provided as API of
C++, C, Java, Python, Ruby, Perl, and Lua. Kyoto Cabinet is available
on platforms which have API conforming to C++03 with the TR1 library
extensions. Kyoto Cabinet is a free software licensed under the GNU
General Public License.
===> The following configuration options are available for kyotocabinet-1.2.80_2:
DOCS=on: Build and/or install documentation
===> Use 'make config' to modify these settings
databases/kyotocabinet: fix missing prototype warnings
No upstream response in 14 days, let's get this locally, because
else we get all sort of warnings in downstream ports using kc.
PR: 296665
Approved by: sunpoet (maintainer timeout)
MFH: 2026Q3
all: drop support for FreeBSD 13, mips and risc64sf
Reviewed by: many (*)
Differential Revision: https://reviews.freebsd.org/D55624
Differential Revision: https://reviews.freebsd.org/D55642 (merged in from bofh)
many (*)
acm arrowd brooks cmt dch decke dinoex eduardo fluffy fuz gahr garga
jbeich joerg jrm kai kenrap martymac matthew mfechner michaelo mizhka
nobutaka pkubaj se tagattie thj
Anton Saietskii
GenericRikka
Gert Doering
Jan Bramkamp
Oleh Hushchenkov
Oleksandr Kryvulia
Ralf van der Enden
Yamagi
desktop kde python tcltk office
databases/kyotocabinet: Avoid -march=native to avoid SIGILL
which stems from our builders baking AVX512 instructions such as KMOVD
into the kyotocabinet binary packages on amd64, or similar on other
architectures.
Since AVX512 isn't ubiquitous, these need to be removed, and we can't
have -m64 or -march=native for packages.
Patch by Daniel Engberg, Matthias Andree (mandree@) left -fPIC in.
PR: 286182
Approved by: maintainer timeout (sunpoet@, 17 days)
MFH: 2025Q2
databases/kyotocabinet: revert "add prototypes to kclangc.h declarations."
This reverts commit 8b60e005cdb55fcf5100bd295bb9b8940515f63a,
not approved, and escaped after messing up my branches.
databases/kyotocabinet: add prototypes to kclangc.h declarations.
Some function declarations just use () as argument list. This is
valid C++, but not C, and clang-15 complains with -Wstrict-prototypes:
/usr/local/include/kclangc.h:261:13: warning: a function declaration without a
prototype is deprecated in all versions of C [-Wstrict-prototypes]
double kcnan();
^
void
/usr/local/include/kclangc.h:268:13: warning: a function declaration without a
prototype is deprecated in all versions of C [-Wstrict-prototypes]
double kcinf();
^
void
/usr/local/include/kclangc.h:1525:18: warning: a function declaration without a
prototype is deprecated in all versions of C [-Wstrict-prototypes]
KCLIST* kclistnew();
^
void
Add the missing void.
PR: 268313
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Don't quote {} in find -exec calls.
Braces are not shell metacharacters, and they do not need to be quoted.
By the time find parses its arguments and dicovers them, the quoting
will have been removed by the shell anyway.
Sponsored by: Absolight
- Use USE_GCC=any
- Change -lpthread to -pthread
- Strip binary executable and shared library
- Use NOT_FOR_ARCHS
- Remove outdated ARCH check and pkg-message
- Support STAGEDIR
- Update to 1.2.76
Changes:
- kcthread.cc (CondVar::wait): a bug on Win32 was fixed.
- kcdbext.h (IndexDB::set, IndexDB::replace): a bug of updating existing records
was fixed.
- kcdb.h (DB::check): new function.
- Update to 1.2.73
Changes:
- kcutil.h (memdist, strutfdist, strucsdist): new functions.
- kcpolydb.h (PolyDB::match_similar): new funcion.
- kclangc.h (kclevdist, kcdbmatchsimilar): new functions.
- kcfile.cc (File::open): LOCKFILE_FAIL_IMMEDIATELY support was added for Win32.
Feature safe: yes
Unbreak for i386 by forcing CPUTYPE=i586 if not defined.
Give caution to user using PKGMESSAGE that this library relies on some
kinds of CPU instructions that i386 and i486 do not have.