about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/gtkd/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-01-11 23:37:02 +0000
committerAlyssa Ross <hi@alyssa.is>2020-01-11 23:41:30 +0000
commit6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch)
tree035a071d5d8980df6de0fa42e2ef8fc0cce7055e /nixpkgs/pkgs/development/libraries/gtkd/default.nix
parentda7500bc026e937ac7fce7b50f67a0e1765737a7 (diff)
parente4134747f5666bcab8680aff67fa3b63384f9a0f (diff)
downloadnixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gtkd/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/gtkd/default.nix126
1 files changed, 79 insertions, 47 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gtkd/default.nix b/nixpkgs/pkgs/development/libraries/gtkd/default.nix
index 31a3242cdef5..0b2df597be57 100644
--- a/nixpkgs/pkgs/development/libraries/gtkd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gtkd/default.nix
@@ -1,69 +1,75 @@
-{ stdenv, fetchzip, atk, cairo, dmd, gdk-pixbuf, gnome3, gst_all_1, librsvg
-, glib, gtk3, gtksourceview, libgda, libpeas, pango, pkgconfig, which, vte }:
+{ stdenv, fetchzip, fetchpatch, atk, cairo, dmd, gdk-pixbuf, gnome3, gst_all_1, librsvg
+, glib, gtk3, gtksourceview4, libgda, libpeas, pango, pkgconfig, which, vte }:
 
 let
-  inherit (gst_all_1) gstreamer gst-plugins-base;
+  inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-bad;
 in stdenv.mkDerivation rec {
   pname = "gtkd";
-  version = "3.8.5";
+  version = "3.9.0";
 
   src = fetchzip {
     url = "https://gtkd.org/Downloads/sources/GtkD-${version}.zip";
-    sha256 = "12n2njsaplra7x15nqwrj2hrf8a27pfjj2mck4mkzxv03qk6mqky";
+    sha256 = "12kc4s5gp6gn456d8pzhww1ggi9qbxldmcpp6855297g2x8xxy5p";
     stripRoot = false;
   };
 
   nativeBuildInputs = [ dmd pkgconfig which ];
   propagatedBuildInputs = [
-    atk cairo gdk-pixbuf glib gstreamer gst-plugins-base gtk3 gtksourceview
+    atk cairo gdk-pixbuf glib gstreamer gst-plugins-base gtk3 gtksourceview4
     libgda libpeas librsvg pango vte
   ];
 
+  patches = [
+    # Fix makefile not installing .pc's
+    (fetchpatch {
+      url = "https://github.com/gtkd-developers/GtkD/commit/a9db09117ab27127ca4c3b8d2f308fae483a9199.patch";
+      sha256 = "0ngyqifw1kandc1vk01kms3z65pcisfd75q7z09rml96glhfzjd6";
+    })
+  ];
+
   prePatch = ''
     substituteAll ${./paths.d} generated/gtkd/gtkd/paths.d
-    substituteInPlace src/cairo/c/functions-compiletime.d \
-      --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
-      --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
-    substituteInPlace src/cairo/c/functions-runtime.d \
-      --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
-      --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
-    substituteInPlace generated/gtkd/gdkpixbuf/c/functions.d \
-      --replace libgdk_pixbuf-2.0.so.0 ${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.so.0 \
-      --replace libgdk_pixbuf-2.0.0.dylib ${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gst/app/c/functions.d \
+      --replace libgstapp-1.0.so.0 ${gst-plugins-base}/lib/libgstapp-1.0.so.0 \
+      --replace libgstapp-1.0.0.dylib ${gst-plugins-base}/lib/libgstapp-1.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gst/base/c/functions.d \
+      --replace libgstbase-1.0.so.0 ${gstreamer.out}/lib/libgstbase-1.0.so.0 \
+      --replace libgstbase-1.0.0.dylib ${gstreamer.out}/lib/libgstbase-1.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gst/mpegts/c/functions.d \
+      --replace libgstmpegts-1.0.so.0 ${gst-plugins-bad.out}/lib/libgstmpegts-1.0.so.0 \
+      --replace libgstmpegts-1.0.0.dylib ${gst-plugins-bad.out}/lib/libgstmpegts-1.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gstinterfaces/c/functions.d \
+      --replace libgstvideo-1.0.so.0 ${gst-plugins-base}/lib/libgstvideo-1.0.so.0 \
+      --replace libgstvideo-1.0.0.dylib ${gst-plugins-base}/lib/libgstvideo-1.0.0.dylib
+
+    substituteInPlace generated/gstreamer/gstreamer/c/functions.d \
+      --replace libgstreamer-1.0.so.0 ${gstreamer}/lib/libgstreamer-1.0.so.0 \
+      --replace libgstreamer-1.0.0.dylib ${gstreamer}/lib/libgstreamer-1.0.0.dylib
+
     substituteInPlace generated/gtkd/atk/c/functions.d \
       --replace libatk-1.0.so.0 ${atk}/lib/libatk-1.0.so.0 \
       --replace libatk-1.0.0.dylib ${atk}/lib/libatk-1.0.0.dylib
-    substituteInPlace generated/gtkd/pango/c/functions.d \
-      --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0 \
-      --replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \
-      --replace libpango-1.0.0.dylib ${pango.out}/lib/libpango-1.0.0.dylib \
-      --replace libpangocairo-1.0.0.dylib ${pango.out}/lib/libpangocairo-1.0.0.dylib
-    substituteInPlace generated/gtkd/gobject/c/functions.d \
-      --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
-      --replace libgobject-2.0.0.dylib ${glib.out}/lib/libgobject-2.0.0.dylib
-    substituteInPlace generated/gtkd/rsvg/c/functions.d \
-      --replace librsvg-2.so.2 ${librsvg}/lib/librsvg-2.so.2 \
-      --replace librsvg-2.2.dylib ${librsvg}/lib/librsvg-2.2.dylib
+
     substituteInPlace generated/gtkd/cairo/c/functions.d \
       --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
       --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
+
     substituteInPlace generated/gtkd/gdk/c/functions.d \
       --replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
       --replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib
-    substituteInPlace generated/peas/peas/c/functions.d \
-      --replace libpeas-1.0.so.0 ${libpeas}/lib/libpeas-1.0.so.0 \
-      --replace libpeas-gtk-1.0.so.0 ${libpeas}/lib/libpeas-gtk-1.0.so.0 \
-      --replace libpeas-1.0.0.dylib ${libpeas}/lib/libpeas-1.0.0.dylib \
-      --replace gtk-1.0.0.dylib ${libpeas}/lib/gtk-1.0.0.dylib
-    substituteInPlace generated/vte/vte/c/functions.d \
-      --replace libvte-2.91.so.0 ${vte}/lib/libvte-2.91.so.0 \
-      --replace libvte-2.91.0.dylib ${vte}/lib/libvte-2.91.0.dylib
-    substituteInPlace generated/gstreamer/gstinterfaces/c/functions.d \
-      --replace libgstvideo-1.0.so.0 ${gst-plugins-base}/lib/libgstvideo-1.0.so.0 \
-      --replace libgstvideo-1.0.0.dylib ${gst-plugins-base}/lib/libgstvideo-1.0.0.dylib
-    substituteInPlace generated/sourceview/gsv/c/functions.d \
-      --replace libgtksourceview-3.0.so.1 ${gtksourceview}/lib/libgtksourceview-3.0.so.1 \
-      --replace libgtksourceview-3.0.1.dylib ${gtksourceview}/lib/libgtksourceview-3.0.1.dylib
+
+    substituteInPlace generated/gtkd/gdkpixbuf/c/functions.d \
+      --replace libgdk_pixbuf-2.0.so.0 ${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.so.0 \
+      --replace libgdk_pixbuf-2.0.0.dylib ${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.0.dylib
+
+    substituteInPlace generated/gtkd/gio/c/functions.d \
+      --replace libgio-2.0.so.0 ${glib.out}/lib/libgio-2.0.so.0 \
+      --replace libgio-2.0.0.dylib ${glib.out}/lib/libgio-2.0.0.dylib
+
     substituteInPlace generated/gtkd/glib/c/functions.d \
       --replace libglib-2.0.so.0 ${glib.out}/lib/libglib-2.0.so.0 \
       --replace libgmodule-2.0.so.0 ${glib.out}/lib/libgmodule-2.0.so.0 \
@@ -71,20 +77,46 @@ in stdenv.mkDerivation rec {
       --replace libglib-2.0.0.dylib ${glib.out}/lib/libglib-2.0.0.dylib \
       --replace libgmodule-2.0.0.dylib ${glib.out}/lib/libgmodule-2.0.0.dylib \
       --replace libgobject-2.0.0.dylib ${glib.out}/lib/libgobject-2.0.0.dylib
-    substituteInPlace generated/gtkd/gio/c/functions.d \
-      --replace libgio-2.0.so.0 ${glib.out}/lib/libgio-2.0.so.0 \
-      --replace libgio-2.0.0.dylib ${glib.out}/lib/libgio-2.0.0.dylib
-    substituteInPlace generated/gstreamer/gstreamer/c/functions.d \
-      --replace libgstreamer-1.0.so.0 ${gstreamer}/lib/libgstreamer-1.0.so.0 \
-      --replace libgstreamer-1.0.0.dylib ${gstreamer}/lib/libgstreamer-1.0.0.dylib
+
+    substituteInPlace generated/gtkd/gobject/c/functions.d \
+      --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
+      --replace libgobject-2.0.0.dylib ${glib.out}/lib/libgobject-2.0.0.dylib
+
     substituteInPlace generated/gtkd/gtk/c/functions.d \
       --replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
       --replace libgtk-3.so.0 ${gtk3}/lib/libgtk-3.so.0 \
       --replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib \
       --replace libgtk-3.0.dylib ${gtk3}/lib/libgtk-3.0.dylib
+
+    substituteInPlace generated/gtkd/pango/c/functions.d \
+      --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0 \
+      --replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \
+      --replace libpango-1.0.0.dylib ${pango.out}/lib/libpango-1.0.0.dylib \
+      --replace libpangocairo-1.0.0.dylib ${pango.out}/lib/libpangocairo-1.0.0.dylib
+
+    substituteInPlace generated/gtkd/rsvg/c/functions.d \
+      --replace librsvg-2.so.2 ${librsvg}/lib/librsvg-2.so.2 \
+      --replace librsvg-2.2.dylib ${librsvg}/lib/librsvg-2.2.dylib
+
+    substituteInPlace generated/peas/peas/c/functions.d \
+      --replace libpeas-1.0.so.0 ${libpeas}/lib/libpeas-1.0.so.0 \
+      --replace libpeas-gtk-1.0.so.0 ${libpeas}/lib/libpeas-gtk-1.0.so.0 \
+      --replace libpeas-1.0.0.dylib ${libpeas}/lib/libpeas-1.0.0.dylib \
+      --replace gtk-1.0.0.dylib ${libpeas}/lib/gtk-1.0.0.dylib
+
+    substituteInPlace generated/sourceview/gsv/c/functions.d \
+      --replace libgtksourceview-4.so.0 ${gtksourceview4}/lib/libgtksourceview-4.so.0 \
+      --replace libgtksourceview-4.0.dylib ${gtksourceview4}/lib/libgtksourceview-4.0.dylib
+
+    substituteInPlace generated/vte/vte/c/functions.d \
+      --replace libvte-2.91.so.0 ${vte}/lib/libvte-2.91.so.0 \
+      --replace libvte-2.91.0.dylib ${vte}/lib/libvte-2.91.0.dylib
   '';
 
-  installFlags = "prefix=$(out)";
+  makeFlags  = [
+    "prefix=${placeholder "out"}"
+    "PKG_CONFIG=${pkgconfig}/bin/pkg-config"
+  ];
 
   meta = with stdenv.lib; {
     description = "D binding and OO wrapper for GTK";