From fac91b39f5d7fb1d842cb6f80a85683b1e856aa4 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Tue, 29 May 2018 12:32:52 +0200 Subject: gnu: Add libblockdev. * gnu/package/disk.scm (libblockdev): New variable. --- gnu/packages/disk.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 222469f88d..608d2c1648 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -65,7 +65,8 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages web) #:use-module (gnu packages documentation) - #:use-module (gnu packages bash)) + #:use-module (gnu packages bash) + #:use-module (gnu packages c)) (define-public parted (package @@ -691,3 +692,50 @@ removal, rebuild and display of properties for ATARAID/DDF1 metadata. @command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime to create devices with respective mappings for the ATARAID sets discovered.") (license license:gpl2+))) + +(define-public libblockdev + (package + (name "libblockdev") + (version "2.18") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/storaged-project/libblockdev/releases/download/" + version "-1/libblockdev-" version ".tar.gz")) + (sha256 + (base32 + "1a3kpdr9s6g7nfibazi92i27wbv692b5gm2r24gimis6l6jq4pbh")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("util-linux" ,util-linux))) + (inputs + `(("btrfs-progs" ,btrfs-progs) + ("cryptsetup" ,cryptsetup) + ("dosfstools" ,dosfstools) + ("dmraid" ,dmraid) + ("eudev" ,eudev) + ("glib" ,glib) + ("gobject-introspection" ,gobject-introspection) + ("kmod" ,kmod) + ("libbytesize" ,libbytesize) + ("libyaml" ,libyaml) + ("lvm2" ,lvm2) + ("mdadm" ,mdadm) + ("ndctl" ,ndctl) + ("nss" ,nss) + ("parted" ,parted) + ("volume-key" ,volume-key) + ;; ("xfsprogs" ,xfsprogs) ; TODO: Package? + )) + (home-page "https://github.com/storaged-project/libblockdev") + (synopsis "Library for manipulating block devices") + (description + "libblockdev is a C library supporting GObject introspection for +manipulation of block devices. It has a plugin-based architecture where each +technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate +plugin, possibly with multiple implementations (e.g. using LVM CLI or the new +LVM D-Bus API).") + ;; XXX: Copying says LGPL2.1, but the source files with license + ;; information are GPL2+. + (license license:gpl2+))) -- cgit v1.2.3