diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libosinfo')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libosinfo/default.nix | 84 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch | 11 |
2 files changed, 95 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libosinfo/default.nix b/nixpkgs/pkgs/development/libraries/libosinfo/default.nix new file mode 100644 index 000000000000..39a3bf6b2c55 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libosinfo/default.nix @@ -0,0 +1,84 @@ +{ stdenv +, fetchurl +, fetchpatch +, pkgconfig +, meson +, ninja +, gettext +, gobject-introspection +, gtk-doc +, docbook_xsl +, glib +, libsoup +, libxml2 +, libxslt +, check +, curl +, perl +, hwdata +, osinfo-db +, substituteAll +, vala ? null +}: + +stdenv.mkDerivation rec { + pname = "libosinfo"; + version = "1.7.1"; + + src = fetchurl { + url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.xz"; + sha256 = "1s97sv24bybggjx6hgqba2qdqz3ivfpd4cmkh4zm5y59sim109mv"; + }; + + outputs = [ "out" "dev" "devdoc" ]; + + nativeBuildInputs = [ + pkgconfig + meson + ninja + vala + gettext + gobject-introspection + gtk-doc + docbook_xsl + perl # for pod2man + ]; + buildInputs = [ + glib + libsoup + libxml2 + libxslt + ]; + checkInputs = [ + check + curl + perl + ]; + + patches = [ + (substituteAll { + src = ./osinfo-db-data-dir.patch; + osinfo_db_data_dir = "${osinfo-db}/share"; + }) + ]; + + mesonFlags = [ + "-Dwith-usb-ids-path=${hwdata}/share/hwdata/usb.ids" + "-Dwith-pci-ids-path=${hwdata}/share/hwdata/pci.ids" + "-Denable-gtk-doc=true" + ]; + + preCheck = '' + patchShebangs ../osinfo/check-symfile.pl ../osinfo/check-symsorting.pl + ''; + + doCheck = true; + + meta = with stdenv.lib; { + description = "GObject based library API for managing information about operating systems, hypervisors and the (virtual) hardware devices they can support"; + homepage = "https://libosinfo.org/"; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch b/nixpkgs/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch new file mode 100644 index 000000000000..2197eca23d9d --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch @@ -0,0 +1,11 @@ +--- a/osinfo/osinfo_loader.c ++++ b/osinfo/osinfo_loader.c +@@ -2304,7 +2304,7 @@ + } else { + path = g_getenv("OSINFO_SYSTEM_DIR"); + if (!path) +- path = DATA_DIR "/osinfo"; ++ path = "@osinfo_db_data_dir@/osinfo"; + + file = g_file_new_for_path(path); + } |