gdbm: enable parallel building and use pname

This commit is contained in:
Benjamin Hipple 2019-05-24 17:06:17 -04:00 committed by Frederik Rietdijk
parent eb43568409
commit 62f9685a60

View File

@ -1,12 +1,14 @@
{ stdenv, lib, fetchurl }: { stdenv, lib, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gdbm-1.18.1"; pname = "gdbm";
version = "1.18.1";
# FIXME: remove on update to > 1.18.1 # FIXME: remove on update to > 1.18.1
NIX_CFLAGS_COMPILE = if stdenv.cc.isClang then "-Wno-error=return-type" else null; NIX_CFLAGS_COMPILE = if stdenv.cc.isClang then "-Wno-error=return-type" else null;
src = fetchurl { src = fetchurl {
url = "mirror://gnu/gdbm/${name}.tar.gz"; url = "mirror://gnu/gdbm/${pname}-${version}.tar.gz";
sha256 = "1p4ibds6z3ccy65lkmd6lm7js0kwifvl53r0fd759fjxgr917rl6"; sha256 = "1p4ibds6z3ccy65lkmd6lm7js0kwifvl53r0fd759fjxgr917rl6";
}; };
@ -25,10 +27,12 @@ stdenv.mkDerivation rec {
substituteInPlace tests/testsuite.at --replace \ substituteInPlace tests/testsuite.at --replace \
'm4_include([dbmfetch03.at])' "" 'm4_include([dbmfetch03.at])' ""
''; '';
enableParallelBuilding = true;
configureFlags = [ "--enable-libgdbm-compat" ]; configureFlags = [ "--enable-libgdbm-compat" ];
# create symlinks for compatibility
postInstall = '' postInstall = ''
# create symlinks for compatibility
install -dm755 $out/include/gdbm install -dm755 $out/include/gdbm
( (
cd $out/include/gdbm cd $out/include/gdbm
@ -40,26 +44,24 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "GNU dbm key/value database library"; description = "GNU dbm key/value database library";
longDescription = ''
GNU dbm (or GDBM, for short) is a library of database functions that
use extensible hashing and work similar to the standard UNIX dbm.
These routines are provided to a programmer needing to create and
manipulate a hashed database.
longDescription = The basic use of GDBM is to store key/data pairs in a data file.
'' GNU dbm (or GDBM, for short) is a library of database functions that Each key must be unique and each key is paired with only one data
use extensible hashing and work similar to the standard UNIX dbm. item.
These routines are provided to a programmer needing to create and
manipulate a hashed database.
The basic use of GDBM is to store key/data pairs in a data file. The library provides primitives for storing key/data pairs,
Each key must be unique and each key is paired with only one data searching and retrieving the data by its key and deleting a key
item. along with its data. It also support sequential iteration over all
key/data pairs in a database.
The library provides primitives for storing key/data pairs, For compatibility with programs using old UNIX dbm function, the
searching and retrieving the data by its key and deleting a key package also provides traditional dbm and ndbm interfaces.
along with its data. It also support sequential iteration over all
key/data pairs in a database.
For compatibility with programs using old UNIX dbm function, the
package also provides traditional dbm and ndbm interfaces.
''; '';
homepage = https://www.gnu.org/software/gdbm/; homepage = https://www.gnu.org/software/gdbm/;
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.all; platforms = platforms.all;