diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix index 9c35d3373505..29692c41c930 100644 --- a/pkgs/development/libraries/libwnck/3.x.nix +++ b/pkgs/development/libraries/libwnck/3.x.nix @@ -1,31 +1,78 @@ -{ stdenv, fetchurl, pkgconfig, libX11, gtk3, intltool, gobject-introspection, gnome3 }: +{ stdenv +, fetchurl +, fetchpatch +, meson +, ninja +, pkgconfig +, gtk-doc +, docbook_xsl +, docbook_xml_dtd_412 +, libX11 +, glib +, gtk3 +, pango +, cairo +, libXres +, libstartup_notification +, gettext +, gobject-introspection +, gnome3 +}: -let +stdenv.mkDerivation rec{ pname = "libwnck"; - version = "3.30.0"; -in stdenv.mkDerivation rec{ - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0f9lvhm3w25046dqq8xyg7nzggxpmdriwrb661nng05a8qk0svdc"; - }; + version = "3.32.0"; outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; - configureFlags = [ "--enable-introspection" ]; + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"; + }; - nativeBuildInputs = [ pkgconfig intltool gobject-introspection ]; - propagatedBuildInputs = [ libX11 gtk3 ]; + patches = [ + # https://gitlab.gnome.org/GNOME/libwnck/issues/139 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/libwnck/commit/0d9ff7db63af568feef8e8c566e249058ccfcb4e.patch; + sha256 = "18f78aayq9jma54v2qz3rm2clmz1cfq5bngxw8p4zba7hplyqsl9"; + }) + # https://gitlab.gnome.org/GNOME/libwnck/merge_requests/12 + ./fix-pc-file.patch + ]; - PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "dev"}/share/gir-1.0"; - PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; + nativeBuildInputs = [ + meson + ninja + pkgconfig + gettext + gobject-introspection + gtk-doc + docbook_xsl + docbook_xml_dtd_412 + ]; + + buildInputs = [ + libX11 + libstartup_notification + pango + cairo + libXres + ]; + + propagatedBuildInputs = [ + glib + gtk3 + ]; + + mesonFlags = [ + "-Dgtk_doc=true" + ]; passthru = { updateScript = gnome3.updateScript { packageName = pname; - attrPath = "gnome3.${pname}"; + attrPath = "${pname}${stdenv.lib.versions.major version}"; }; }; diff --git a/pkgs/development/libraries/libwnck/fix-pc-file.patch b/pkgs/development/libraries/libwnck/fix-pc-file.patch new file mode 100644 index 000000000000..42017a993b51 --- /dev/null +++ b/pkgs/development/libraries/libwnck/fix-pc-file.patch @@ -0,0 +1,24 @@ +diff --git a/meson.build b/meson.build +index 28799d8..047e523 100644 +--- a/meson.build ++++ b/meson.build +@@ -72,11 +72,15 @@ + pc_conf = configuration_data() + pc_conf.set('prefix', get_option('prefix')) + pc_conf.set('exec_prefix', '${prefix}') +-pc_conf.set('libdir', '${exec_prefix}/' + get_option('libdir')) +-pc_conf.set('includedir', '${prefix}/' + get_option('includedir')) +-pc_conf.set('STARTUP_NOTIFICATION_PACKAGE', STARTUP_NOTIFICATION_PACKAGE) ++pc_conf.set('libdir', '${exec_prefix}' / get_option('libdir')) ++pc_conf.set('includedir', '${prefix}' / get_option('includedir')) ++if conf.has('HAVE_' + STARTUP_NOTIFICATION_PACKAGE.to_upper().underscorify()) ++ pc_conf.set('STARTUP_NOTIFICATION_PACKAGE', STARTUP_NOTIFICATION_PACKAGE) ++endif + pc_conf.set('X11_PACKAGE', X11_PACKAGE) +-pc_conf.set('XRES_PACKAGE', XRES_PACKAGE) ++if conf.has('HAVE_' + XRES_PACKAGE.to_upper().underscorify()) ++ pc_conf.set('XRES_PACKAGE', XRES_PACKAGE) ++endif + pc_conf.set('VERSION', meson.project_version()) + + foreach pc: [PACKAGE_NAME, PACKAGE_NAME + '-uninstalled']