about summary refs log tree commit diff
path: root/pkgs/development/libraries/serd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/serd/default.nix')
-rw-r--r--pkgs/development/libraries/serd/default.nix52
1 files changed, 45 insertions, 7 deletions
diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix
index 1a1f3475c3531..8bb82d4809431 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
+  ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  passthru = {
+    updateScript = writeScript "update-poke" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p curl pcre common-updater-scripts
 
-  nativeBuildInputs = [ pkg-config python3 wafHook ];
+      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";