serd: 0.30.10 -> 0.30.16

On top of upstream changes `nixpkgs` changes are:
- switch from waf to meson
- aded trivial auto-updater
- added multiple outputs to accomodate for added html docs

Changes: https://drobilla.net/category/serd/
This commit is contained in:
Sergei Trofimovich 2023-02-11 18:04:06 +00:00
parent 1a1ce8fe66
commit 624b1ee560

View file

@ -1,21 +1,59 @@
{ lib, stdenv, fetchurl, pkg-config, python3, wafHook }:
{ lib
, stdenv
, fetchurl
, doxygen
, mandoc
, meson
, ninja
, pkg-config
, python3
, sphinx
, writeScript
}:
stdenv.mkDerivation rec {
pname = "serd";
version = "0.30.10";
version = "0.30.16";
outputs = [ "out" "dev" "doc" "man" ];
src = fetchurl {
url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
sha256 = "sha256-r/qA3ux4kh+GM15vw/GLgK7+z0JPaldV6fL6DrBxDt8=";
url = "https://download.drobilla.net/${pname}-${version}.tar.xz";
hash = "sha256-9Q9IbaUZzdjQOyDJ5CQU5FkTP1okRBHY5jyu+NmskUY=";
};
dontAddWafCrossFlags = true;
nativeBuildInputs = [
doxygen
mandoc
meson
ninja
pkg-config
python3
sphinx
];
nativeBuildInputs = [ pkg-config python3 wafHook ];
postPatch = ''
patchShebangs .
'';
passthru = {
updateScript = writeScript "update-poke" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre common-updater-scripts
set -eu -o pipefail
# Expect the text in format of 'download.drobilla.net/serd-0.30.16.tar.xz">'
new_version="$(curl -s https://drobilla.net/category/serd/ |
pcregrep -o1 'download.drobilla.net/serd-([0-9.]+).tar.xz' |
head -n1)"
update-source-version ${pname} "$new_version"
'';
};
meta = with lib; {
description = "A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples";
homepage = "http://drobilla.net/software/serd";
homepage = "https://drobilla.net/software/serd";
license = licenses.mit;
maintainers = [ maintainers.goibhniu ];
mainProgram = "serdi";