pkgsrc/x11/gtk3/Makefile
prlw1 b45d6d1004 Update gtk3 to 3.14.1
Highlights from release notes:


* GtkMisc::xalign has been undeprecated for now, it is still needed

* GtkIconView
 - Always draw cell background
 - Fix handling of prelight items

* GtkWindow
 - Fix growing nautilus windows

* Theming:
 - Use sass functions more
 - Theme .app-notification instead of .app-notification.frame
 - Lots of button fine-tuning
 - Avoid double background rendering in tooltips
 - Much faster blur implementation for shadows
 - Support symbolic, recolorable pngs
 - Many improvements in details
 - Style .needs-attention in GtkStackSwitcher
 - Adwaita is much more complete
 - Shadows, reliefs and frames in GtkScrolledWindow, GtkViewport,
   GtkButton, GtkEntry, GtkFrame, etc are now translated to style
   classes and themed
 - Use client-side shadows for menus and tooltips
 - Include the Adwaita theme
 - The default theme is now Adwaita
 - Icon loading now respects limits specified in the icon theme,
   unless GTK_ICON_LOOKUP_FORCE_SIZE is set
 - Don't include image content in icon caches, to avoid huge caches
 - GtkSwitch gained a hover state
 - Use outlines to render focus rings
 - Use icons to render spinners, expanders and arrows
 - GtkIconTheme can force symbolic or regular
   icon variants
 - GtkIconTheme will automatically load rtl
   icon variants

* Inspector:
 - Show widget allocations
 - Show hidden windows
 - Fix initial state of dark switch
 - Show some widget states and buildable ids
 - Add GtkTreeSelection to object tree
 - Add an easy way to change the font
 - Can change hi-dpi scale on the fly
 - Can simulate touchscreen at runtime
 - Shows style properties
 - Ctrl-Shift-I selects the widget under the pointer
 - Property editors show property and settings bindings
 - Support saving custom CSS
 - Show GMenus and GActions
 - Show combobox menus and submenus
 - Lower the inspector window when picking
 - Misc. navigation improvements

* Show widget state and other misc. info

* Wayland:
 - Implement Drag-and-Drop
 - Use subsurfaces for entry completion popups
 - Use subsurfaces for tooltips
 - Support newer protocol versions
 - Fix repaint artifacts
 - Update xdg-shell
 - Always use CSD under Wayland
 - Avoid a crash on pointer-less systems
 - Context menus work now
 - Support GNOME classic mode
 - Update to the latest xdg-shell protocol
 - Updates for xdg_shell protocol changes
 - Touch support

* To align better with css, button and menuitem subclasses now use a
  :checked state to indicate their checkedness, instead of :active or
  :selected.

* Deprecations, removals:
 - GtkStatusIcon, GtkThemingEngine
 - GtkWindow no longer supports resize grips
 - builtin icons have been deprecated in favor of loading icons
   from resources
 - Style regions
 - Support for .icon files
 - gdk_window_flush, drawing outside of begin/end paint
 - GdkColor
 - GtkMisc
 - GtkArrow
 - focus-line-width style property
 - GtkNumerableIcon
 - GtkButton::x/yalign
 - gtk_widget_reparent
 - gtk_widget_region_intersect
 - gtk_container_set_reallocate_redraws

* GtkFileChooser
 - Fix editing of bookmarks
 - Use symbolic icons in the path bar
 - received some design improvements

* GtkTextView
 - Add a vfunc to allow subclasses to draw above/below text

* GtkImage
 - Support scale factor when loading from resources

* Windows:
 - Fix handling of input shapes
 - Support font scaling
 - Dialog theming fixes
 - Several crash fixes
 - Fix icon theme loading
 - *Many* theme improvements
 - Add popover theming
 - Enable introspection
 - Theme improvements

* CSS:
 - Selectors can now match state pseudo classes on
   all elements
 - Support outline-radius in CSS
 - Implement 'unset' and 'all'
 - Support -gtk-icontheme
 - Support -gtk-icon-source
 - Add -gtk-icon-transform, supporting the 2D
   parts of CSS transforms
 - Support -gtk-icon-style

* GtkListBox:
 - Rows now have a selectable property and will be
   styled accordingly
 - GtkListBox can now do multi-selection

* GtkApplication:
 - gtk_application_prefers_app_menu is a new function to facility
   adapting UIs to platform expectations
 - GtkApplication now tries to load menus from resources in the
   resource path that is defined by GApplication
 - GtkApplication set up a resource path for loading icons as well

* GtkScrolledWindow:
 - Scrolling in response to user input (scrollbar clicks, keynav)
   is now animated
 - The displacement animation has been replaced edge gradients

* GtkScaleButton:
 - The orientation is now changed on the fly to make the popup
   fit into small windows

* GtkEntry:
 - Activity mode progress is now smooth

* Client-side decorations
 - The default button layout includes minimize and maximize again
 - Dialogs are no longer using client-side decorations when
   use-header-bar is unset

* GTK+ now ships a simple icon theme browser, gtk3-icon-browser

* Gestures:
 - Convert most widgets to use gestures internally

* Widget factory:
 - Improve coverage of GTK+ features

* Interactive debugging support. The GtkInspector
  window can be triggered with the Ctrl-Shift-I
  or Ctrl-Shift-D keyboard shortcuts, or via the
  GTK_DEBUG environment variable.

* Gesture support has landed. New classes include
  GtkGestureLongPress, GtkGestureMultiPress, GtkGestureSwipe,
  GtkGesturePan, GtkGestureRotate, GtkGestureZoom. Many GTK+
  widgets already use gestures internally. Gestures also
  show up in GtkInspector.
  The gesture-related APIs are still subject to change.

* GTK+ widgets can now draw outside their allocation,
  by setting a clip with gtk_widget_set_clip().
  The clip-related APIs are still subject to change.

* GtkStack has added a few more transition types

* GtkProgressBar is now narrower

* GtkSwitch has a way to delay state changes

* GtkMenuButton is using a popover for menu models by default

* GtkPopover can have horizontal sections

* GtkBuilder
 - Supports property binding
 - Supports dialog actions

* Client-side decorations
 - The requirement for _GTK_FRAME_EXTENTS has been dropped
   to avoid 'double headers' with most window managers
 - Drawing of DND highlights around the entire window works

* Broadway backend
 - Now builds on OpenBSD

* Many bug fixes

* Translation updates

For full details see:

https://git.gnome.org/browse/gtk+/tree/NEWS?id=3.14.1
2014-10-07 23:52:08 +00:00

105 lines
3.5 KiB
Makefile

# $NetBSD: Makefile,v 1.54 2014/10/07 23:52:08 prlw1 Exp $
DISTNAME= gtk+-3.14.1
PKGNAME= ${DISTNAME:S/gtk/gtk3/}
CATEGORIES= x11 gnome
MASTER_SITES= ftp://ftp.gtk.org/pub/gtk/${PKGVERSION_NOREV:R}/ \
${MASTER_SITE_GNOME:=sources/gtk+/${PKGVERSION_NOREV:R}/}
EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.gtk.org/
COMMENT= GIMP Toolkit v3 - libraries for building X11 user interfaces
LICENSE= gnu-lgpl-v2.1
USE_PKGLOCALEDIR= yes
USE_TOOLS+= gmake msgfmt perl pkg-config bash
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
PTHREAD_AUTO_VARS= yes
BUILD_DEPENDS+= gdbus-codegen-[0-9]*:../../devel/gdbus-codegen
GNU_CONFIGURE= yes
# XXX there is a subtle bashism in "configure" or a bug in NetBSD's sh
CONFIG_SHELL= ${TOOLS_PATH.bash}
CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/libdata
# Work around build problems, disable unstable PAPI, PR #41608:
CONFIGURE_ARGS+= --disable-papi
# XXX for now, to avoid conflict
CONFIGURE_ARGS+= --enable-gtk2-dependency
# Avoid regeneration of Makefile.in after configure.ac patch
CONFIGURE_ARGS+= --disable-maintainer-mode
DEPENDS+= gtk2+-[0-9]*:../../x11/gtk2
MAKE_ENV+= PKGLOCALEDIR=${PKGLOCALEDIR}
TEST_TARGET= check
PKGCONFIG_OVERRIDE+= gdk-3.0.pc.in
PKGCONFIG_OVERRIDE+= gtk+-3.0.pc.in
PKGCONFIG_OVERRIDE+= gtk+-unix-print-3.0.pc.in
PKGCONFIG_OVERRIDE+= gail-3.0.pc.in
INSTALLATION_DIRS+= lib/gtk-3.0/immodules
INSTALLATION_DIRS+= lib/gtk-3.0/modules
INSTALLATION_DIRS+= lib/gtk-3.0/3.0.0/filesystems
#REQD_DIRS+= ${PREFIX}/libdata/gtk-2.0
BUILD_DIRS= . demos/gtk-demo
.include "../../mk/bsd.prefs.mk"
# gtk/Makefile.am hardcodes 'grep -o' so require GNU grep on platforms
# which do not have it.
.if ${OPSYS} == "SunOS"
BUILD_DEPENDS+= grep-[0-9]*:../../textproc/grep
TOOLS_PATH.grep= ${LOCALBASE}/bin/ggrep
.endif
# isnan and isinf are part of libc, not libm on DragonFly
# conf tests fail detection due to conflicting definitions, just skip them
.if ${OPSYS} == "DragonFly"
CONFIGURE_ENV+= ac_cv_func_isnan=yes
CONFIGURE_ENV+= ac_cv_func_isinf=yes
.endif
CFLAGS.SunOS+= -std=gnu99
CPPFLAGS+= -DPREFIX="\"${PREFIX}\""
# We remove the module databases during post-install since we create them
# anew in the +INSTALL script as part of the POST-INSTALL action.
#
post-install:
${RM} -f ${DESTDIR}${GTK3_IMMODULES_DB}
_BUILDING_GTK3= yes
.include "modules.mk"
.include "../../databases/shared-mime-info/buildlink3.mk"
BUILDLINK_API_DEPENDS.atk+= atk>=2.7.5
.include "../../devel/atk/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
BUILDLINK_API_DEPENDS.glib2+= glib2>=2.37.5
.include "../../devel/glib2/buildlink3.mk"
BUILDLINK_API_DEPENDS.gdk-pixbuf2+= gdk-pixbuf2>=2.27.1
.include "../../graphics/gdk-pixbuf2/buildlink3.mk"
BUILDLINK_DEPMETHOD.gobject-introspection:= build
BUILDLINK_API_DEPENDS.gobject-introspection+= gobject-introspection>=1.32
.include "../../devel/gobject-introspection/buildlink3.mk"
.include "options.mk"
.include "../../devel/glib2/schemas.mk"
BUILDLINK_API_DEPENDS.pango+= pango>=1.32.4
.include "../../devel/pango/buildlink3.mk"
.include "../../fonts/fontconfig/buildlink3.mk"
BUILDLINK_API_DEPENDS.cairo+= cairo>=1.12.0
.include "../../graphics/cairo/buildlink3.mk"
.include "../../graphics/cairo-gobject/buildlink3.mk"
.include "../../graphics/freetype2/buildlink3.mk"
# gtk-update-icon-cache --source is called during build
NOOP_GTK_UPDATE_ICON_CACHE=
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/bsd.pkg.mk"