From 624b1ee5605cecfc4fd47bb375861be9102802f7 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 11 Feb 2023 18:04:06 +0000 Subject: [PATCH] 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/ --- pkgs/development/libraries/serd/default.nix | 52 ++++++++++++++++++--- 1 file changed, 45 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix index 1a1f3475c353..8bb82d480943 100644 --- a/pkgs/development/libraries/serd/default.nix +++ b/pkgs/development/libraries/serd/default.nix @@ -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";