Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.5 kB · 119 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120{ lib, stdenv, fetchurl, fetchpatch, pkg-config, intltool, meson, ninja, itstool, libxml2, python3, gtk3, json-glib, isocodes, openssl, gnome, gobject-introspection, vala, libgee, sqlite, gtk-doc, yelp-tools, mysqlSupport ? false, libmysqlclient ? null, postgresSupport ? false, libpq ? null,}:
assert mysqlSupport -> libmysqlclient != null;assert postgresSupport -> libpq != null;
stdenv.mkDerivation rec { pname = "libgda"; version = "6.0.0";
src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "0w564z7krgjk19r39mi5qn4kggpdg9ggbyn9pb4aavb61r14npwr"; };
patches = [ # Fix undefined behavior (fetchpatch { url = "https://gitlab.gnome.org/GNOME/libgda/-/commit/657b2f8497da907559a6769c5b1d2d7b5bd40688.patch"; sha256 = "Qx4S9KQsTAr4M0QJi0Xr5kKuHSp4NwZJHoRPYyxIyTk="; })
# Fix building vapi (fetchpatch { url = "https://gitlab.gnome.org/GNOME/libgda/-/commit/57f618a3b2a3758ee3dcbf9bbdc566122dd8566d.patch"; sha256 = "pyfymUd61m1kHaGyMbUQMma+szB8mlqGWwcFBBQawf8="; })
(fetchpatch { name = "CVE-2021-39359.patch"; url = "https://gitlab.gnome.org/GNOME/libgda/-/commit/bebdffb4de586fb43fd07ac549121f4b22f6812d.patch"; sha256 = "sha256-UjHP1nhb5n6TOdaMdQeE2s828T4wv/0ycG3FAk+I1QA="; }) ];
nativeBuildInputs = [ pkg-config intltool meson ninja itstool libxml2 python3 gobject-introspection vala gtk-doc yelp-tools ];
buildInputs = [ gtk3 json-glib isocodes openssl libgee sqlite ] ++ lib.optionals mysqlSupport [ libmysqlclient ] ++ lib.optionals postgresSupport [ libpq ];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types";
postPatch = '' patchShebangs \ providers/raw_spec.py \ providers/mysql/gen_bin.py '';
passthru = { updateScript = gnome.updateScript { packageName = pname; attrPath = "libgda6"; versionPolicy = "odd-unstable"; }; };
meta = with lib; { description = "Database access library"; homepage = "https://www.gnome-db.org/"; license = with licenses; [ # library lgpl2Plus # CLI tools gpl2Plus ]; teams = [ teams.gnome ]; platforms = platforms.unix; };}