openSUSE Commits
Threads by month
- ----- 2024 -----
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
January 2017
- 1 participants
- 679 discussions
Hello community,
here is the log from the commit of package grilo-plugins for openSUSE:Factory checked in at 2017-01-25 23:35:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grilo-plugins (Old)
and /work/SRC/openSUSE:Factory/.grilo-plugins.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grilo-plugins"
Changes:
--------
--- /work/SRC/openSUSE:Factory/grilo-plugins/grilo-plugins.changes 2016-09-23 11:32:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.grilo-plugins.new/grilo-plugins.changes 2017-01-25 23:35:52.429383459 +0100
@@ -1,0 +2,6 @@
+Tue Jan 24 19:10:13 UTC 2017 - zaitor(a)opensuse.org
+
+- Add armv7hl to conditional gstreamer1(element-chromaprint)
+ BuildRequires: Build for armv7.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ grilo-plugins.spec ++++++
--- /var/tmp/diff_new_pack.z6sBgb/_old 2017-01-25 23:35:52.989299097 +0100
+++ /var/tmp/diff_new_pack.z6sBgb/_new 2017-01-25 23:35:52.993298494 +0100
@@ -53,7 +53,7 @@
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0)
%if %{with chroma}
-%ifarch i586
+%ifarch armv7hl i586
BuildRequires: gstreamer1(element-chromaprint)
%else
BuildRequires: gstreamer1(element-chromaprint)()(64bit)
1
0
Hello community,
here is the log from the commit of package dmtcp for openSUSE:Factory checked in at 2017-01-25 23:35:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dmtcp (Old)
and /work/SRC/openSUSE:Factory/.dmtcp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dmtcp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/dmtcp/dmtcp.changes 2016-06-14 23:08:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dmtcp.new/dmtcp.changes 2017-01-25 23:35:41.371049632 +0100
@@ -1,0 +2,23 @@
+Fri Jan 20 11:45:14 UTC 2017 - shshyukriev(a)suse.com
+
+- Update to v 2.5.0.
+ This release includes a few new plugins and several bug fixes for robustness.
+ Some of the highlights include:
+ * Support for InfiniBand UD (in addition to the more common InfiniBand RC).
+ * Added support for CMA (Cross-Memory Attach):
+ process_vm_readv and process_vm_writev
+ * Improved multi-arch (mixed 32-/64- bit) support.
+ * Re-added --enable-fast-restart.
+ * Added a new commandline option --with-plugin-32 for dmtcp_launch to specify
+ 32-bit plugins in a 64-bit environment.
+ * Added --enable-pthread-mutex-wrappers configure flag to enable
+ pthread_mutex_{lock,unlock} wrappers needed for Open MPI.
+ * Added ability to specify environment file used in the modify-env plugin.
+ * Allow dmtcp_restart to be invoked by root.
+ * The following new plugins were added:
+ pathvirt: to virtualize filesystem paths.
+ delayresume: for finer-grained control over resuming of user threads
+ during resume/restart.
+
+
+-------------------------------------------------------------------
Old:
----
dmtcp-2.4.4.tar.gz
New:
----
2.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dmtcp.spec ++++++
--- /var/tmp/diff_new_pack.RSam3b/_old 2017-01-25 23:35:41.914967679 +0100
+++ /var/tmp/diff_new_pack.RSam3b/_new 2017-01-25 23:35:41.918967076 +0100
@@ -1,7 +1,7 @@
#
# spec file for package dmtcp
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012-2014 Kapil Arya
#
# All modifications and additions to the file contributed by third parties
@@ -17,28 +17,21 @@
#
-%define shaid 30d2101
Name: dmtcp
-Version: 2.4.4
+Version: 2.5.0
Release: 0
Summary: Checkpoint/Restart functionality for Linux processes
License: LGPL-3.0+
Group: System/Packages
-Url: http://dmtcp.sourceforge.net
-Source0: %{name}-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Url: https://github.com/%{name}
+Source0: https://github.com/%{name}/%{name}/archive/%{version}.tar.gz
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glibc-devel
-BuildRequires: glibc-devel
-%if 0%{?suse_version} >= 1100
BuildRequires: python-base
-%else
-BuildRequires: python
-%endif
-
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
# This package is functional only on i386 and x86_64 architectures.
-ExclusiveArch: %ix86 x86_64
+ExclusiveArch: %{ix86} x86_64
%description
DMTCP (Distributed MultiThreaded Checkpointing) is a tool to transparently
@@ -63,7 +56,7 @@
This package provides dmtcp.h for developing plugins.
%prep
-%setup -q -n %{name}-dmtcp-%{shaid}
+%setup -q
sed -i -e 's,enable_option_checking=fatal,enable_option_checking=no,' configure
%build
@@ -71,7 +64,7 @@
make %{?_smp_mflags}
%check
-make tests
+make %{?_smp_mflags} tests
./test/autotest.py --retry-once --slow || :
%install
++++++ dmtcp-2.4.4.tar.gz -> 2.5.0.tar.gz ++++++
++++ 17234 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package dunelegacy for openSUSE:Factory checked in at 2017-01-25 23:35:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dunelegacy (Old)
and /work/SRC/openSUSE:Factory/.dunelegacy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dunelegacy"
Changes:
--------
New Changes file:
--- /dev/null 2016-12-08 12:47:06.134691974 +0100
+++ /work/SRC/openSUSE:Factory/.dunelegacy.new/dunelegacy.changes 2017-01-25 23:35:28.912926732 +0100
@@ -0,0 +1,43 @@
+-------------------------------------------------------------------
+Sun Jan 22 13:10:57 UTC 2017 - mailaender(a)opensuse.org
+
+- update to version 0.96.4
+- drop fix-gcc6.patch (included upstream)
+- drop dunelegacy-0.96.3-configure-CXXFLAGS.diff (included upstream)
+
+-------------------------------------------------------------------
+Thu Jun 30 19:58:52 UTC 2016 - dap.darkness(a)gmail.com
+
+- Added dunelegacy-0.96.3-configure-CXXFLAGS.diff to not override
+ system's CXXFLAGS and to not use -O3.
+- Added man page.
+- Enabled verbose make output.
+
+-------------------------------------------------------------------
+Thu Jun 30 18:29:25 UTC 2016 - rpm(a)fthiessen.de
+
+- Added fix-gcc6.patch to fix build with gcc6 (c++14)
+
+-------------------------------------------------------------------
+Sun Aug 16 05:48:03 UTC 2015 - mailaender(a)opensuse.org
+
+- Run unit tests
+- Fix rpmlint warnings
+
+-------------------------------------------------------------------
+Mon Mar 25 06:44:06 UTC 2013 - mailaender(a)opensuse.org
+
+- Update to 0.96.3
+- Use https://en.opensuse.org/SourceUrls
+
+-------------------------------------------------------------------
+Mon Apr 30 19:25:20 UTC 2012 - jengelh(a)medozas.de
+
+- Enable parallel build with %_smp_mflags
+- Remove seemingly unneeded calls to autotools regeneration
+
+-------------------------------------------------------------------
+Fri Jul 22 00:00:00 UTC 2011 - mailaender(a)opensuse.org
+
+- Initial package for build.opensuse.org, based upon
+ http://cvs.pld-linux.org/cgi-bin/cvsweb/packages/dunelegacy/dunelegacy.spec…
New:
----
dunelegacy-0.96.4-src.tar.bz2
dunelegacy.6
dunelegacy.changes
dunelegacy.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dunelegacy.spec ++++++
#
# spec file for package dunelegacy
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: dunelegacy
Version: 0.96.4
Release: 0
Summary: A modern Dune II reimplementation
License: GPL-2.0+
Group: Amusements/Games/Strategy/Real Time
Url: http://dunelegacy.sourceforge.net/
Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}-src.tar.bz2
# PATCH-FEATURE-UPSTREAM https://sourceforge.net/p/dunelegacy/patches/7/
Source9: %{name}.6
BuildRequires: cppunit-devel
BuildRequires: dos2unix
BuildRequires: gcc-c++
BuildRequires: libstdc++-devel
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(SDL2_mixer)
BuildRequires: pkgconfig(sdl2)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Lead one of three interplanetary houses, Atreides, Harkonnen or Ordos,
in an attempt to harvest the largest amount of spice from the sand
dunes. Exchange your spice stockpiles for credits through refinement
and build an army capable of thwarting attempts of the other houses to
stop your harvesting!
Dune Legacy is an effort by a handful of developers to revitalize the
first-ever real-time strategy game. The original game was the basis
for the hugely successful Command and Conquer series, and the gameplay
has been replicated an extended to a wide variety of storylines and
series.
NOTE: Original Dune 2 game files are needed.
%prep
%setup -q
dos2unix ToDo.txt
%build
%configure
make V=1 %{?_smp_mflags}
%check
make V=1 %{?_smp_mflags} distclean
./runUnitTests.sh
%install
%make_install V=1
# Install .desktop file and icon
%suse_update_desktop_file -i %{name}
install -D -p -m 0644 %{name}-128x128.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
# Install man page
mkdir -p %{buildroot}%{_mandir}/man6
cp %{SOURCE9} %{buildroot}%{_mandir}/man6
%files
%defattr(644,root,root,755)
%doc README ToDo.txt NEWS COPYING AUTHORS ChangeLog
%attr(755,root,root) %{_bindir}/%{name}
%{_mandir}/man?/%{name}.?.*
%{_datadir}/%{name}/
%attr(755,root,root) %{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%changelog
++++++ dunelegacy.6 ++++++
.TH "dunelegacy" "6" "0.96.4" "Dmitriy A. Perlow aka DAP-DarkneSS" ""
.SH "NAME"
A modern Dune II reimplementation.
.br
.SH "SYNTAX"
dunelegacy [--showlog] [--fullscreen|--window] [--PlayerName=X] [--ServerPort=X]
.br
.SH "DESCRIPTION"
Lead one of three interplanetary houses, Atreides, Harkonnen or Ordos, in an attempt to harvest the largest amount of spice from the sand dunes. Exchange your spice stockpiles for credits through refinement and build an army capable of thwarting attempts of the other houses to stop your harvesting!
.br
Dune Legacy is an effort by a handful of developers to revitalize the first-ever real-time strategy game. The original game was the basis for the hugely successful Command and Conquer series, and the gameplay has been replicated an extended to a wide variety of storylines and series.
.br
NOTE: Original Dune 2 game files are needed.
.br
.SH "SEE ALSO"
IRC: #dunelegacy @ irc.freenode.net
.br
Web: http://sourceforge.net/projects/dunelegacy
.br
1
0
Hello community,
here is the log from the commit of package cairomm for openSUSE:Factory checked in at 2017-01-25 23:35:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cairomm (Old)
and /work/SRC/openSUSE:Factory/.cairomm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cairomm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cairomm/cairomm.changes 2016-12-15 10:42:51.286446525 +0100
+++ /work/SRC/openSUSE:Factory/.cairomm.new/cairomm.changes 2017-01-25 23:35:05.424465869 +0100
@@ -1,0 +2,9 @@
+Fri Jan 20 09:11:49 UTC 2017 - zaitor(a)opensuse.org
+
+- Update to version 1.15.3:
+ + RefPtr: This is now an alias for std::shared_ptr<>. These
+ should be instatiated via Cairo::make_refptr_for_instance(),
+ though that should never be necessary anyway outside of the
+ cairomm implementation itself.
+
+-------------------------------------------------------------------
Old:
----
cairomm-1.15.2.tar.xz
New:
----
cairomm-1.15.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cairomm.spec ++++++
--- /var/tmp/diff_new_pack.zvEfWS/_old 2017-01-25 23:35:06.180351974 +0100
+++ /var/tmp/diff_new_pack.zvEfWS/_new 2017-01-25 23:35:06.188350769 +0100
@@ -1,7 +1,7 @@
#
# spec file for package cairomm
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: cairomm
-Version: 1.15.2
+Version: 1.15.3
Release: 0
Summary: C++ Interface for Cairo
License: LGPL-2.1+
++++++ _service ++++++
--- /var/tmp/diff_new_pack.zvEfWS/_old 2017-01-25 23:35:06.268338716 +0100
+++ /var/tmp/diff_new_pack.zvEfWS/_new 2017-01-25 23:35:06.276337511 +0100
@@ -2,8 +2,8 @@
<service name="tar_scm" mode="disabled">
<param name="url">git://anongit.freedesktop.org/cairomm</param>
<param name="scm">git</param>
- <param name="versionformat">1.15.2</param>
- <param name="revision">refs/tags/v1.15.2</param>
+ <param name="versionformat">1.15.3</param>
+ <param name="revision">refs/tags/v1.15.3</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
++++++ cairomm-1.15.2.tar.xz -> cairomm-1.15.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/NEWS new/cairomm-1.15.3/NEWS
--- old/cairomm-1.15.2/NEWS 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/NEWS 2016-12-13 17:54:24.000000000 +0100
@@ -1,3 +1,12 @@
+1.15.3 (unstable):
+(Distros should probably not package this yet.)
+
+* RefPtr: This is now an alias for std::shared_ptr<>.
+ These should be instatiated via
+ Cairo::make_refptr_for_instance(), though that should
+ never be necessary anyway outside of the cairomm
+ implementation itself.
+
1.15.2 (unstable):
(Distros should probably not package this yet.)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/context.cc new/cairomm-1.15.3/cairomm/context.cc
--- old/cairomm-1.15.2/cairomm/context.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/context.cc 2016-12-13 17:54:24.000000000 +0100
@@ -17,9 +17,9 @@
*/
/* M_PI is defined in math.h in the case of Microsoft Visual C++ */
-#if defined(_MSC_VER)
+#if defined(_WIN32)
#define _USE_MATH_DEFINES
-#endif
+#endif
#include <cairommconfig.h>
#include <cairomm/context.h>
@@ -29,11 +29,6 @@
#include <cairomm/script_surface.h>
#include <cairomm/scaledfont.h>
-/* M_PI is defined in math.h in the case of Microsoft Visual C++ */
-#if defined(_MSC_VER)
-#define _USE_MATH_DEFINES
-#endif
-
/* Solaris et. al. need math.h for M_PI too */
#include <cmath>
@@ -51,7 +46,7 @@
RefPtr<Context> Context::create(const RefPtr<Surface>& target)
{
- return RefPtr<Context>(new Context(target));
+ return make_refptr_for_instance<Context>(new Context(target));
}
Context::Context(cairo_t* cobject, bool has_reference)
@@ -511,7 +506,7 @@
{
auto font = cairo_get_scaled_font(cobj());
check_object_status_and_throw_exception(*this);
- return RefPtr<ScaledFont>(new ScaledFont(font, false /* does not have reference */));
+ return make_refptr_for_instance<ScaledFont>(new ScaledFont(font, false /* does not have reference */));
}
void Context::show_text(const std::string& utf8)
@@ -546,14 +541,14 @@
{
auto cfontface = cairo_get_font_face(cobj());
check_object_status_and_throw_exception(*this);
- return RefPtr<FontFace>(new FontFace(cfontface, false /* does not have reference */));
+ return make_refptr_for_instance<FontFace>(new FontFace(cfontface, false /* does not have reference */));
}
RefPtr<const FontFace> Context::get_font_face() const
{
auto cfontface = cairo_get_font_face(const_cast<cobject*>(cobj()));
check_object_status_and_throw_exception(*this);
- return RefPtr<const FontFace>(new FontFace(cfontface, false /* does not have reference */));
+ return make_refptr_for_instance<const FontFace>(new FontFace(cfontface, false /* does not have reference */));
}
void Context::get_font_extents(FontExtents& extents) const
@@ -610,19 +605,19 @@
switch (pattern_type)
{
case CAIRO_PATTERN_TYPE_SOLID:
- return RefPtr<SolidPattern>(new SolidPattern(pattern, false /* does not have reference */));
+ return make_refptr_for_instance<SolidPattern>(new SolidPattern(pattern, false /* does not have reference */));
break;
case CAIRO_PATTERN_TYPE_SURFACE:
- return RefPtr<SurfacePattern>(new SurfacePattern(pattern, false /* does not have reference */));
+ return make_refptr_for_instance<SurfacePattern>(new SurfacePattern(pattern, false /* does not have reference */));
break;
case CAIRO_PATTERN_TYPE_LINEAR:
- return RefPtr<LinearGradient>(new LinearGradient(pattern, false /* does not have reference */));
+ return make_refptr_for_instance<LinearGradient>(new LinearGradient(pattern, false /* does not have reference */));
break;
case CAIRO_PATTERN_TYPE_RADIAL:
- return RefPtr<RadialGradient>(new RadialGradient(pattern, false /* does not have reference */));
+ return make_refptr_for_instance<RadialGradient>(new RadialGradient(pattern, false /* does not have reference */));
break;
default:
- return RefPtr<Pattern>(new Pattern(pattern, false /* does not have reference */));
+ return make_refptr_for_instance<Pattern>(new Pattern(pattern, false /* does not have reference */));
}
}
@@ -637,7 +632,7 @@
{
auto pattern = cairo_get_source(const_cast<cobject*>(cobj()));
check_object_status_and_throw_exception(*this);
- return RefPtr<const Pattern>::cast_const (get_pattern_wrapper (pattern));
+ return get_pattern_wrapper(pattern);
}
double Context::get_tolerance() const
@@ -735,16 +730,16 @@
switch (surface_type)
{
case CAIRO_SURFACE_TYPE_IMAGE:
- return RefPtr<ImageSurface>(new ImageSurface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<ImageSurface>(new ImageSurface(surface, false /* does not have reference */));
break;
#if CAIRO_HAS_PDF_SURFACE
case CAIRO_SURFACE_TYPE_PDF:
- return RefPtr<PdfSurface>(new PdfSurface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<PdfSurface>(new PdfSurface(surface, false /* does not have reference */));
break;
#endif
#if CAIRO_HAS_PS_SURFACE
case CAIRO_SURFACE_TYPE_PS:
- return RefPtr<PsSurface>(new PsSurface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<PsSurface>(new PsSurface(surface, false /* does not have reference */));
break;
#endif
#if CAIRO_HAS_XLIB_SURFACE
@@ -754,7 +749,7 @@
#endif
#if CAIRO_HAS_GLITZ_SURFACE
case CAIRO_SURFACE_TYPE_GLITZ:
- return RefPtr<GlitzSurface>(new GlitzSurface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<GlitzSurface>(new GlitzSurface(surface, false /* does not have reference */));
break;
#endif
#if CAIRO_HAS_QUARTZ_SURFACE
@@ -764,7 +759,7 @@
#endif
#if CAIRO_HAS_SCRIPT_SURFACE
case CAIRO_SURFACE_TYPE_SCRIPT:
- return RefPtr<ScriptSurface>(new ScriptSurface(surface, false));
+ return make_refptr_for_instance<ScriptSurface>(new ScriptSurface(surface, false));
break;
#endif
#if CAIRO_HAS_WIN32_SURFACE
@@ -774,7 +769,7 @@
#endif
#if CAIRO_HAS_SVG_SURFACE
case CAIRO_SURFACE_TYPE_SVG:
- return RefPtr<SvgSurface>(new SvgSurface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<SvgSurface>(new SvgSurface(surface, false /* does not have reference */));
break;
#endif
// the following surfaces are not directly supported in cairomm yet
@@ -783,7 +778,7 @@
case CAIRO_SURFACE_TYPE_BEOS:
case CAIRO_SURFACE_TYPE_XCB:
default:
- return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<Surface>(new Surface(surface, false /* does not have reference */));
}
}
@@ -798,7 +793,7 @@
{
auto surface = cairo_get_target(const_cast<cobject*>(cobj()));
check_object_status_and_throw_exception(*this);
- return RefPtr<const Surface>::cast_const (get_surface_wrapper (surface));
+ return get_surface_wrapper(surface);
}
Path* Context::copy_path() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/context_surface_quartz.cc new/cairomm-1.15.3/cairomm/context_surface_quartz.cc
--- old/cairomm-1.15.2/cairomm/context_surface_quartz.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/context_surface_quartz.cc 2016-12-13 17:54:24.000000000 +0100
@@ -29,9 +29,9 @@
RefPtr<Surface> wrap_surface_quartz(cairo_surface_t* surface)
{
#if CAIRO_HAS_QUARTZ_SURFACE
- return RefPtr<QuartzSurface>(new QuartzSurface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<QuartzSurface>(new QuartzSurface(surface, false /* does not have reference */));
#else
- return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<Surface>(new Surface(surface, false /* does not have reference */));
#endif
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/context_surface_win32.cc new/cairomm-1.15.3/cairomm/context_surface_win32.cc
--- old/cairomm-1.15.2/cairomm/context_surface_win32.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/context_surface_win32.cc 2016-12-13 17:54:24.000000000 +0100
@@ -29,9 +29,9 @@
RefPtr<Surface> wrap_surface_win32(cairo_surface_t* surface)
{
#if CAIRO_HAS_WIN32_SURFACE
- return RefPtr<Win32Surface>(new Win32Surface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<Win32Surface>(new Win32Surface(surface, false /* does not have reference */));
#else
- return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<Surface>(new Surface(surface, false /* does not have reference */));
#endif
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/context_surface_xlib.cc new/cairomm-1.15.3/cairomm/context_surface_xlib.cc
--- old/cairomm-1.15.2/cairomm/context_surface_xlib.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/context_surface_xlib.cc 2016-12-13 17:54:24.000000000 +0100
@@ -29,9 +29,9 @@
RefPtr<Surface> wrap_surface_xlib(cairo_surface_t* surface)
{
#if CAIRO_HAS_XLIB_SURFACE
- return RefPtr<XlibSurface>(new XlibSurface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<XlibSurface>(new XlibSurface(surface, false /* does not have reference */));
#else
- return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<Surface>(new Surface(surface, false /* does not have reference */));
#endif
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/fontface.cc new/cairomm-1.15.3/cairomm/fontface.cc
--- old/cairomm-1.15.2/cairomm/fontface.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/fontface.cc 2016-12-13 17:54:24.000000000 +0100
@@ -83,7 +83,7 @@
RefPtr<ToyFontFace>
ToyFontFace::create(const std::string& family, FontSlant slant, FontWeight weight)
{
- return RefPtr<ToyFontFace>(new ToyFontFace(family, slant, weight));
+ return make_refptr_for_instance<ToyFontFace>(new ToyFontFace(family, slant, weight));
}
ToyFontFace::ToyFontFace(const std::string& family, FontSlant slant, FontWeight weight) :
@@ -142,8 +142,8 @@
{
try
{
- return instance->init(RefPtr<ScaledFont>(new ScaledFont(scaled_font)),
- RefPtr<Context>(new Context(cr)),
+ return instance->init(make_refptr_for_instance<ScaledFont>(new ScaledFont(scaled_font)),
+ make_refptr_for_instance<Context>(new Context(cr)),
static_cast<FontExtents&>(*metrics));
}
catch(const std::exception& ex)
@@ -189,7 +189,7 @@
{
try
{
- return instance->unicode_to_glyph(RefPtr<ScaledFont>(new ScaledFont(scaled_font)),
+ return instance->unicode_to_glyph(make_refptr_for_instance<ScaledFont>(new ScaledFont(scaled_font)),
unicode, *glyph);
}
catch(const std::exception& ex)
@@ -242,7 +242,7 @@
auto local_flags = static_cast<TextClusterFlags>(0);
auto status =
- instance->text_to_glyphs(RefPtr<ScaledFont>(new
+ instance->text_to_glyphs(make_refptr_for_instance<ScaledFont>(new
ScaledFont(scaled_font)),
utf8_str, glyph_v, cluster_v, local_flags);
@@ -335,8 +335,8 @@
{
try
{
- return instance->render_glyph(RefPtr<ScaledFont>(new ScaledFont(scaled_font)),
- glyph, RefPtr<Context>(new Context(cr)),
+ return instance->render_glyph(make_refptr_for_instance<ScaledFont>(new ScaledFont(scaled_font)),
+ glyph, make_refptr_for_instance<Context>(new Context(cr)),
static_cast<TextExtents&>(*metrics));
}
catch(const std::exception& ex)
@@ -380,7 +380,7 @@
RefPtr<FtFontFace>
FtFontFace::create(FT_Face face, int load_flags)
{
- return RefPtr<FtFontFace>(new FtFontFace(face, load_flags));
+ return make_refptr_for_instance<FtFontFace>(new FtFontFace(face, load_flags));
}
FtFontFace::FtFontFace(FT_Face face, int load_flags) :
@@ -394,7 +394,7 @@
RefPtr<FtFontFace>
FtFontFace::create(FcPattern* pattern)
{
- return RefPtr<FtFontFace>(new FtFontFace(pattern));
+ return make_refptr_for_instance<FtFontFace>(new FtFontFace(pattern));
}
FtFontFace::FtFontFace(FcPattern* pattern) :
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/fontface.h new/cairomm-1.15.3/cairomm/fontface.h
--- old/cairomm-1.15.2/cairomm/fontface.h 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/fontface.h 2016-12-13 17:54:24.000000000 +0100
@@ -164,7 +164,7 @@
*
* public:
* static Cairo::RefPtr<MyUserFont> create() {
- * return Cairo::RefPtr<MyUserFont>(new MyUserFont);
+ * return Cairo::make_refptr_for_instance<MyUserFont>(new MyUserFont);
*
* protected:
* // implement render_glyph() and any other virtual functions you want to override
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/pattern.cc new/cairomm-1.15.3/cairomm/pattern.cc
--- old/cairomm-1.15.2/cairomm/pattern.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/pattern.cc 2016-12-13 17:54:24.000000000 +0100
@@ -114,14 +114,14 @@
{
auto cobject = cairo_pattern_create_rgb(red, green, blue);
check_status_and_throw_exception(cairo_pattern_status(cobject));
- return RefPtr<SolidPattern>(new SolidPattern(cobject, true /* has reference */));
+ return make_refptr_for_instance<SolidPattern>(new SolidPattern(cobject, true /* has reference */));
}
RefPtr<SolidPattern> SolidPattern::create_rgba(double red, double green, double blue, double alpha)
{
cairo_pattern_t* cobject = cairo_pattern_create_rgba(red, green, blue, alpha);
check_status_and_throw_exception(cairo_pattern_status(cobject));
- return RefPtr<SolidPattern>(new SolidPattern(cobject, true /* has reference */));
+ return make_refptr_for_instance<SolidPattern>(new SolidPattern(cobject, true /* has reference */));
}
@@ -138,7 +138,7 @@
// we can ignore the return value since we know this is a surface pattern
cairo_pattern_get_surface(const_cast<cairo_pattern_t*>(m_cobject), &surface);
check_object_status_and_throw_exception(*this);
- return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
+ return make_refptr_for_instance<Surface>(new Surface(surface, false /* does not have reference */));
}
RefPtr<const Surface>
@@ -149,7 +149,7 @@
RefPtr<SurfacePattern> SurfacePattern::create(const RefPtr<Surface>& surface)
{
- return RefPtr<SurfacePattern>(new SurfacePattern(surface));
+ return make_refptr_for_instance<SurfacePattern>(new SurfacePattern(surface));
}
SurfacePattern::SurfacePattern(cairo_pattern_t* cobject, bool has_reference)
@@ -242,7 +242,7 @@
RefPtr<LinearGradient> LinearGradient::create(double x0, double y0, double x1, double y1)
{
- return RefPtr<LinearGradient>(new LinearGradient(x0, y0, x1, y1));
+ return make_refptr_for_instance<LinearGradient>(new LinearGradient(x0, y0, x1, y1));
}
LinearGradient::LinearGradient(cairo_pattern_t* cobject, bool has_reference)
@@ -275,7 +275,7 @@
RefPtr<RadialGradient> RadialGradient::create(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1)
{
- return RefPtr<RadialGradient>(new RadialGradient(cx0, cy0, radius0, cx1, cy1, radius1));
+ return make_refptr_for_instance<RadialGradient>(new RadialGradient(cx0, cy0, radius0, cx1, cy1, radius1));
}
RadialGradient::RadialGradient(cairo_pattern_t* cobject, bool has_reference)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/quartz_font.cc new/cairomm-1.15.3/cairomm/quartz_font.cc
--- old/cairomm-1.15.2/cairomm/quartz_font.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/quartz_font.cc 2016-12-13 17:54:24.000000000 +0100
@@ -32,7 +32,7 @@
RefPtr<QuartzFontFace> QuartzFontFace::create(CGFontRef font)
{
- return RefPtr<QuartzFontFace>(new QuartzFontFace(font));
+ return make_refptr_for_instance<QuartzFontFace>(new QuartzFontFace(font));
}
@@ -45,7 +45,7 @@
RefPtr<QuartzFontFace> QuartzFontFace::create(ATSUFontID font_id)
{
- return RefPtr<QuartzFontFace>(new QuartzFontFace(font_id));
+ return make_refptr_for_instance<QuartzFontFace>(new QuartzFontFace(font_id));
}
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/quartz_surface.cc new/cairomm-1.15.3/cairomm/quartz_surface.cc
--- old/cairomm-1.15.2/cairomm/quartz_surface.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/quartz_surface.cc 2016-12-13 17:54:24.000000000 +0100
@@ -43,14 +43,14 @@
auto cobject = cairo_quartz_surface_create_for_cg_context(cg_context,
width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<QuartzSurface>(new QuartzSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<QuartzSurface>(new QuartzSurface(cobject, true /* has reference */));
}
RefPtr<QuartzSurface> QuartzSurface::create(Format format, int width, int height)
{
auto cobject = cairo_quartz_surface_create((cairo_format_t)format, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<QuartzSurface>(new QuartzSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<QuartzSurface>(new QuartzSurface(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_QUARTZ_SURFACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/refptr.h new/cairomm-1.15.3/cairomm/refptr.h
--- old/cairomm-1.15.2/cairomm/refptr.h 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/refptr.h 2016-12-13 17:54:24.000000000 +0100
@@ -2,6 +2,8 @@
#ifndef _cairo_REFPTR_H
#define _cairo_REFPTR_H
+#include <memory>
+
/* $Id: refptr.h,v 1.6 2006-09-27 18:38:57 murrayc Exp $ */
/* Copyright 2005 The cairomm Development Team
@@ -27,7 +29,15 @@
namespace Cairo
{
-//TODO: Use std::shared_ptr<> instead when we can break ABI.
+template <class T_CppObject>
+void RefPtrDeleter(T_CppObject* object)
+{
+ if (!object)
+ return;
+
+ object->unreference();
+}
+
/** RefPtr<> is a reference-counting shared smartpointer.
*
* Reference counting means that a shared reference count is incremented each
@@ -41,428 +51,17 @@
* and unreference() cairo objects.
*/
template <class T_CppObject>
-class RefPtr
-{
-public:
- // Let the cast constructors and assignement operators access private data.
- template <typename T_CastFrom>
- friend class RefPtr;
-
- /** Default constructor
- *
- * Afterwards it will be null and use of -> will cause a segmentation fault.
- */
- inline RefPtr() noexcept;
-
- /// Destructor - decrements reference count.
- inline ~RefPtr() noexcept;
-
- /** For use only in the internal implementation of cairomm, gtkmm, etc.
- *
- * This takes ownership of @a pCppObject, so it will be deleted when the
- * last RefPtr is deleted, for instance when it goes out of scope.
- *
- * This assumes that @a pCppObject already has a starting reference for its underlying cairo object,
- * so that destruction of @a @pCppObject will cause a corresponding unreference of its underlying
- * cairo object. For instance, a cairo_*_create() function usually provides a starting reference,
- * but a cairo_*_get_*() function requires the caller to manually reference the returned object.
- * In this case, you should call reference() on @a pCppObject before passing it to this constructor.
- */
- explicit inline RefPtr(T_CppObject* pCppObject) noexcept;
-
- /// For use only in the internal implementation of sharedptr.
- explicit inline RefPtr(T_CppObject* pCppObject, int* refcount) noexcept;
-
- /** Move constructor
- */
- inline RefPtr(RefPtr&& src) noexcept;
-
- /** Move constructor (from different, but castable type).
- */
- template <class T_CastFrom>
- inline RefPtr(RefPtr<T_CastFrom>&& src) noexcept;
-
- /** Copy constructor
- *
- * This increments the shared reference count.
- */
- inline RefPtr(const RefPtr<T_CppObject>& src) noexcept;
-
- /** Copy constructor (from different, but castable type).
- *
- * Increments the reference count.
- */
- template <class T_CastFrom>
- inline RefPtr(const RefPtr<T_CastFrom>& src) noexcept;
-
- /** Swap the contents of two RefPtr<>.
- * This method swaps the internal pointers to T_CppObject. This can be
- * done safely without involving a reference/unreference cycle and is
- * therefore highly efficient.
- */
- inline void swap(RefPtr<T_CppObject>& other) noexcept;
-
- /// Copy from another RefPtr:
- inline RefPtr<T_CppObject>& operator=(const RefPtr<T_CppObject>& src) noexcept;
-
- /** Copy from different, but castable type).
- *
- * Increments the reference count.
- */
- template <class T_CastFrom>
- inline RefPtr<T_CppObject>& operator=(const RefPtr<T_CastFrom>& src) noexcept;
-
- /// Move assignment operator:
- inline RefPtr& operator=(RefPtr&& src) noexcept;
-
- /// Move assignment operator (from different, but castable type):
- template <class T_CastFrom>
- inline RefPtr& operator=(RefPtr<T_CastFrom>&& src) noexcept;
-
- /// Tests whether the RefPtr<> point to the same underlying instance.
- inline bool operator==(const RefPtr<T_CppObject>& src) const noexcept;
-
- /// See operator==().
- inline bool operator!=(const RefPtr<T_CppObject>& src) const noexcept;
-
- /** Dereferencing.
- *
- * Use the methods of the underlying instance like so:
- * <code>refptr->memberfun()</code>.
- */
- inline T_CppObject* operator->() const noexcept;
-
- /** Test whether the RefPtr<> points to any underlying instance.
- *
- * Mimics usage of ordinary pointers:
- * @code
- * if (ptr)
- * do_something();
- * @endcode
- */
- inline explicit operator bool() const noexcept;
-
- /// Set underlying instance to 0, decrementing reference count of existing instance appropriately.
- inline void clear() noexcept;
-
-
- /** Dynamic cast to derived class.
- *
- * The RefPtr can't be cast with the usual notation so instead you can use
- * @code
- * ptr_derived = RefPtr<Derived>::cast_dynamic(ptr_base);
- * @endcode
- */
- template <class T_CastFrom>
- static inline RefPtr<T_CppObject> cast_dynamic(const RefPtr<T_CastFrom>& src) noexcept;
-
- /** Static cast to derived class.
- *
- * Like the dynamic cast; the notation is
- * @code
- * ptr_derived = RefPtr<Derived>::cast_static(ptr_base);
- * @endcode
- */
- template <class T_CastFrom>
- static inline RefPtr<T_CppObject> cast_static(const RefPtr<T_CastFrom>& src) noexcept;
-
- /** Cast to non-const.
- *
- * The RefPtr can't be cast with the usual notation so instead you can use
- * @code
- * ptr_unconst = RefPtr<UnConstType>::cast_const(ptr_const);
- * @endcode
- */
- template <class T_CastFrom>
- static inline RefPtr<T_CppObject> cast_const(const RefPtr<T_CastFrom>& src) noexcept;
-
-
-#ifndef DOXYGEN_IGNORE_THIS
-
- // Warning: This is for internal use only. Do not manually modify the
- // reference count with this pointer.
- inline int* refcount_() const noexcept { return pCppRefcount_; }
-
-#endif // DOXYGEN_IGNORE_THIS
-
-private:
- void unref() noexcept;
-
- T_CppObject* pCppObject_;
- mutable int* pCppRefcount_;
-};
-
-
-#ifndef DOXYGEN_IGNORE_THIS
-
-// RefPtr<>::operator->() comes first here since it's used by other methods.
-// If it would come after them it wouldn't be inlined.
-
-template <class T_CppObject> inline
-T_CppObject* RefPtr<T_CppObject>::operator->() const noexcept
-{
- return pCppObject_;
-}
-
-template <class T_CppObject> inline
-RefPtr<T_CppObject>::RefPtr() noexcept
-:
- pCppObject_(nullptr),
- pCppRefcount_(nullptr)
-{}
-
-template <class T_CppObject> inline
-RefPtr<T_CppObject>::~RefPtr() noexcept
-{
- unref();
-}
-
-template <class T_CppObject> inline
-void RefPtr<T_CppObject>::unref() noexcept
-{
- if(pCppRefcount_)
- {
- --(*pCppRefcount_);
-
- if(*pCppRefcount_ == 0)
- {
- if(pCppObject_)
- {
- delete pCppObject_;
- pCppObject_ = nullptr;
- }
-
- delete pCppRefcount_;
- pCppRefcount_ = nullptr;
- }
- }
-}
-
-
-template <class T_CppObject> inline
-RefPtr<T_CppObject>::RefPtr(T_CppObject* pCppObject) noexcept
-:
- pCppObject_(pCppObject),
- pCppRefcount_(nullptr)
-{
- if(pCppObject)
- {
- pCppRefcount_ = new int;
- *pCppRefcount_ = 1; //This will be decremented in the destructor.
- }
-}
-
-//Used by cast_*() implementations:
-template <class T_CppObject> inline
-RefPtr<T_CppObject>::RefPtr(T_CppObject* pCppObject, int* refcount) noexcept
-:
- pCppObject_(pCppObject),
- pCppRefcount_(refcount)
-{
- if(pCppObject_ && pCppRefcount_)
- ++(*pCppRefcount_);
-}
-
-template <class T_CppObject> inline
-RefPtr<T_CppObject>::RefPtr(const RefPtr<T_CppObject>& src) noexcept
-:
- pCppObject_ (src.pCppObject_),
- pCppRefcount_(src.pCppRefcount_)
-{
- if(pCppObject_ && pCppRefcount_)
- ++(*pCppRefcount_);
-}
-
-template <class T_CppObject> inline
-RefPtr<T_CppObject>::RefPtr(RefPtr&& src) noexcept
-:
- pCppObject_ (src.pCppObject_),
- pCppRefcount_ (src.pCppRefcount_)
-{
- src.pCppObject_ = nullptr;
- src.pCppRefcount_ = nullptr;
-}
-
-template <class T_CppObject>
- template <class T_CastFrom>
-inline
-RefPtr<T_CppObject>::RefPtr(RefPtr<T_CastFrom>&& src) noexcept
-:
- pCppObject_ (src.pCppObject_),
- pCppRefcount_ (src.pCppRefcount_)
-{
- src.pCppObject_ = nullptr;
- src.pCppRefcount_ = nullptr;
-}
-
-// The templated ctor allows copy construction from any object that's
-// castable. Thus, it does downcasts:
-// base_ref = derived_ref
-template <class T_CppObject>
- template <class T_CastFrom>
-inline
-RefPtr<T_CppObject>::RefPtr(const RefPtr<T_CastFrom>& src) noexcept
-:
- // Without the friend delaration,
- // a different RefPtr<> will not allow us access to pCppObject_. We need
- // to add a get_underlying() for this, but that would encourage incorrect
- // use, so we use the less well-known operator->() accessor:
- pCppObject_ (src.operator->()),
- pCppRefcount_(src.refcount_())
-{
- if(pCppObject_ && pCppRefcount_)
- ++(*pCppRefcount_);
-}
-
-template <class T_CppObject> inline
-void RefPtr<T_CppObject>::swap(RefPtr<T_CppObject>& other) noexcept
-{
- T_CppObject *const temp = pCppObject_;
- int* temp_count = pCppRefcount_;
-
- pCppObject_ = other.pCppObject_;
- pCppRefcount_ = other.pCppRefcount_;
-
- other.pCppObject_ = temp;
- other.pCppRefcount_ = temp_count;
-}
-
-template <class T_CppObject> inline
-RefPtr<T_CppObject>& RefPtr<T_CppObject>::operator=(const RefPtr<T_CppObject>& src) noexcept
-{
- // In case you haven't seen the swap() technique to implement copy
- // assignment before, here's what it does:
- //
- // 1) Create a temporary RefPtr<> instance via the copy ctor, thereby
- // increasing the reference count of the source object.
- //
- // 2) Swap the internal object pointers of *this and the temporary
- // RefPtr<>. After this step, *this already contains the new pointer,
- // and the old pointer is now managed by temp.
- //
- // 3) The destructor of temp is executed, thereby unreferencing the
- // old object pointer.
- //
- // This technique is described in Herb Sutter's "Exceptional C++", and
- // has a number of advantages over conventional approaches:
- //
- // - Code reuse by calling the copy ctor.
- // - Strong exception safety for free.
- // - Self assignment is handled implicitely.
- // - Simplicity.
- // - It just works and is hard to get wrong; i.e. you can use it without
- // even thinking about it to implement copy assignment whereever the
- // object data is managed indirectly via a pointer, which is very common.
-
- RefPtr<T_CppObject> temp (src);
- this->swap(temp);
- return *this;
-}
-
-template <class T_CppObject> inline
-RefPtr<T_CppObject>& RefPtr<T_CppObject>::operator=(RefPtr&& src) noexcept
-{
- RefPtr<T_CppObject> temp (std::move(src));
- this->swap(temp);
- src.pCppObject_ = nullptr;
- src.pCppRefcount_ = nullptr;
-
- return *this;
-}
-
-template <class T_CppObject>
- template <class T_CastFrom>
-inline
-RefPtr<T_CppObject>& RefPtr<T_CppObject>::operator=(RefPtr<T_CastFrom>&& src) noexcept
-{
- RefPtr<T_CppObject> temp (std::move(src));
- this->swap(temp);
- src.pCppObject_ = nullptr;
- src.pCppRefcount_ = nullptr;
-
- return *this;
-}
+using RefPtr = std::shared_ptr<T_CppObject>;
template <class T_CppObject>
- template <class T_CastFrom>
-inline
-RefPtr<T_CppObject>& RefPtr<T_CppObject>::operator=(const RefPtr<T_CastFrom>& src) noexcept
-{
- RefPtr<T_CppObject> temp (src);
- this->swap(temp);
- return *this;
-}
-
-template <class T_CppObject> inline
-bool RefPtr<T_CppObject>::operator==(const RefPtr<T_CppObject>& src) const noexcept
+RefPtr<T_CppObject>
+make_refptr_for_instance(T_CppObject* object)
{
- return (pCppObject_ == src.pCppObject_);
-}
-
-template <class T_CppObject> inline
-bool RefPtr<T_CppObject>::operator!=(const RefPtr<T_CppObject>& src) const noexcept
-{
- return (pCppObject_ != src.pCppObject_);
-}
-
-template <class T_CppObject> inline
-RefPtr<T_CppObject>::operator bool() const noexcept
-{
- return (pCppObject_ != nullptr);
-}
-
-template <class T_CppObject> inline
-void RefPtr<T_CppObject>::clear() noexcept
-{
- RefPtr<T_CppObject> temp; // swap with an empty RefPtr<> to clear *this
- this->swap(temp);
-}
-
-template <class T_CppObject>
- template <class T_CastFrom>
-inline
-RefPtr<T_CppObject> RefPtr<T_CppObject>::cast_dynamic(const RefPtr<T_CastFrom>& src) noexcept
-{
- T_CppObject *const pCppObject = dynamic_cast<T_CppObject*>(src.operator->());
-
- if(pCppObject) //Check whether dynamic_cast<> succeeded so we don't pass a null object with a used refcount:
- return RefPtr<T_CppObject>(pCppObject, src.refcount_());
- else
- return RefPtr<T_CppObject>();
-}
-
-template <class T_CppObject>
- template <class T_CastFrom>
-inline
-RefPtr<T_CppObject> RefPtr<T_CppObject>::cast_static(const RefPtr<T_CastFrom>& src) noexcept
-{
- T_CppObject *const pCppObject = static_cast<T_CppObject*>(src.operator->());
-
- return RefPtr<T_CppObject>(pCppObject, src.refcount_());
-}
-
-template <class T_CppObject>
- template <class T_CastFrom>
-inline
-RefPtr<T_CppObject> RefPtr<T_CppObject>::cast_const(const RefPtr<T_CastFrom>& src) noexcept
-{
- T_CppObject *const pCppObject = const_cast<T_CppObject*>(src.operator->());
-
- return RefPtr<T_CppObject>(pCppObject, src.refcount_());
-}
-
-#endif /* DOXYGEN_IGNORE_THIS */
-
-/** @relates Glib::RefPtr */
-template <class T_CppObject> inline
-void swap(RefPtr<T_CppObject>& lhs, RefPtr<T_CppObject>& rhs) noexcept
-{
- lhs.swap(rhs);
+ return RefPtr<T_CppObject>(object, &RefPtrDeleter<T_CppObject>);
}
} // namespace Cairo
-
#endif /* _cairo_REFPTR_H */
// vim: ts=2 sw=2 et
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/region.cc new/cairomm-1.15.3/cairomm/region.cc
--- old/cairomm-1.15.2/cairomm/region.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/region.cc 2016-12-13 17:54:24.000000000 +0100
@@ -68,27 +68,27 @@
RefPtr<Region> Region::create()
{
- return RefPtr<Region>(new Region());
+ return make_refptr_for_instance<Region>(new Region());
}
RefPtr<Region> Region::create(const RectangleInt& rectangle)
{
- return RefPtr<Region>(new Region(rectangle));
+ return make_refptr_for_instance<Region>(new Region(rectangle));
}
RefPtr<Region> Region::create(const std::vector<RectangleInt>& rects)
{
- return RefPtr<Region>(new Region(rects));
+ return make_refptr_for_instance<Region>(new Region(rects));
}
RefPtr<Region> Region::create(const RectangleInt *rects, int count)
{
- return RefPtr<Region>(new Region(rects, count));
+ return make_refptr_for_instance<Region>(new Region(rects, count));
}
RefPtr<Region> Region::copy() const
{
- return RefPtr<Region> (new Region (cairo_region_copy (m_cobject), true));
+ return make_refptr_for_instance<Region>(new Region (cairo_region_copy (m_cobject), true));
}
Region::~Region()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/scaledfont.cc new/cairomm-1.15.3/cairomm/scaledfont.cc
--- old/cairomm-1.15.2/cairomm/scaledfont.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/scaledfont.cc 2016-12-13 17:54:24.000000000 +0100
@@ -53,7 +53,7 @@
RefPtr<ScaledFont> ScaledFont::create(const RefPtr<FontFace>& font_face, const Matrix& font_matrix,
const Matrix& ctm, const FontOptions& options)
{
- return RefPtr<ScaledFont>(new ScaledFont(font_face, font_matrix, ctm, options));
+ return make_refptr_for_instance<ScaledFont>(new ScaledFont(font_face, font_matrix, ctm, options));
}
void ScaledFont::get_extents(FontExtents& extents) const
@@ -66,7 +66,7 @@
{
auto face = cairo_scaled_font_get_font_face(m_cobject);
check_object_status_and_throw_exception(*this);
- return RefPtr<FontFace>(new FontFace(face, false /* returned face doesn't have a reference */));
+ return make_refptr_for_instance<FontFace>(new FontFace(face, false /* returned face doesn't have a reference */));
}
void ScaledFont::get_font_options(FontOptions& options) const
@@ -148,7 +148,7 @@
const Matrix& font_matrix, const Matrix& ctm,
const FontOptions& options)
{
- return RefPtr<FtScaledFont>(new FtScaledFont(font_face, font_matrix, ctm, options));
+ return make_refptr_for_instance<FtScaledFont>(new FtScaledFont(font_face, font_matrix, ctm, options));
}
FT_Face FtScaledFont::lock_face()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/script.cc new/cairomm-1.15.3/cairomm/script.cc
--- old/cairomm-1.15.2/cairomm/script.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/script.cc 2016-12-13 17:54:24.000000000 +0100
@@ -58,7 +58,7 @@
{
auto cobject = cairo_script_create(filename.c_str());
check_status_and_throw_exception(cairo_device_status(cobject));
- return RefPtr<Script>(new Script(cobject, true /* has reference */));
+ return make_refptr_for_instance<Script>(new Script(cobject, true /* has reference */));
}
static cairo_user_data_key_t USER_DATA_KEY_DEVICE_WRITE_FUNC = {0};
@@ -95,7 +95,7 @@
slot_copy);
check_status_and_throw_exception(cairo_device_status(cobject));
set_write_slot(cobject, slot_copy);
- return RefPtr<Script>(new Script(cobject, true /* has reference */));
+ return make_refptr_for_instance<Script>(new Script(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_SCRIPT_SURFACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/script_surface.cc new/cairomm-1.15.3/cairomm/script_surface.cc
--- old/cairomm-1.15.2/cairomm/script_surface.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/script_surface.cc 2016-12-13 17:54:24.000000000 +0100
@@ -40,7 +40,7 @@
cairo_script_surface_create(script->cobj(), static_cast<cairo_content_t>(content),
width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<ScriptSurface>(new ScriptSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<ScriptSurface>(new ScriptSurface(cobject, true /* has reference */));
}
RefPtr<ScriptSurface>
@@ -50,7 +50,7 @@
auto cobject =
cairo_script_surface_create_for_target(script->cobj(), target->cobj());
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<ScriptSurface>(new ScriptSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<ScriptSurface>(new ScriptSurface(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_SCRIPT_SURFACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/surface.cc new/cairomm-1.15.3/cairomm/surface.cc
--- old/cairomm-1.15.2/cairomm/surface.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/surface.cc 2016-12-13 17:54:24.000000000 +0100
@@ -246,11 +246,11 @@
{
#if CAIRO_HAS_SCRIPT_SURFACE
case CAIRO_SURFACE_TYPE_SCRIPT:
- return RefPtr<Script>(new Script(d, true /* has reference */));
+ return make_refptr_for_instance<Script>(new Script(d, true /* has reference */));
break;
#endif
default:
- return RefPtr<Device>(new Device(d, true /* has reference */));
+ return make_refptr_for_instance<Device>(new Device(d, true /* has reference */));
}
}
@@ -268,14 +268,14 @@
{
auto cobject = cairo_surface_create_similar(other->cobj(), (cairo_content_t)content, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<Surface>(new Surface(cobject, true /* has reference */));
+ return make_refptr_for_instance<Surface>(new Surface(cobject, true /* has reference */));
}
RefPtr<Surface> Surface::create(const RefPtr<Surface>& target, double x, double y, double width, double height)
{
auto cobject = cairo_surface_create_for_rectangle(target->cobj(), x, y, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<Surface>(new Surface(cobject, true /* has reference */));
+ return make_refptr_for_instance<Surface>(new Surface(cobject, true /* has reference */));
}
@@ -292,14 +292,14 @@
{
auto cobject = cairo_image_surface_create((cairo_format_t)format, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
}
RefPtr<ImageSurface> ImageSurface::create(unsigned char* data, Format format, int width, int height, int stride)
{
auto cobject = cairo_image_surface_create_for_data(data, (cairo_format_t)format, width, height, stride);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
}
#ifdef CAIRO_HAS_PNG_FUNCTIONS
@@ -308,7 +308,7 @@
{
auto cobject = cairo_image_surface_create_from_png(filename.c_str());
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
}
RefPtr<ImageSurface> ImageSurface::create_from_png_stream(const SlotReadFunc& read_func)
@@ -318,7 +318,7 @@
cairo_image_surface_create_from_png_stream(&read_func_wrapper, slot_copy);
check_status_and_throw_exception(cairo_surface_status(cobject));
set_read_slot(cobject, slot_copy);
- return RefPtr<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_PNG_FUNCTIONS
@@ -378,14 +378,14 @@
{
auto cobject = cairo_recording_surface_create((cairo_content_t)content, NULL);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<RecordingSurface>(new RecordingSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<RecordingSurface>(new RecordingSurface(cobject, true /* has reference */));
}
RefPtr<RecordingSurface> RecordingSurface::create(const Rectangle& extents, Content content)
{
auto cobject = cairo_recording_surface_create((cairo_content_t)content, &extents);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<RecordingSurface>(new RecordingSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<RecordingSurface>(new RecordingSurface(cobject, true /* has reference */));
}
Rectangle RecordingSurface::ink_extents() const
@@ -425,7 +425,7 @@
{
auto cobject = cairo_pdf_surface_create(filename.c_str(), width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<PdfSurface>(new PdfSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<PdfSurface>(new PdfSurface(cobject, true /* has reference */));
}
RefPtr<PdfSurface> PdfSurface::create_for_stream(const SlotWriteFunc& write_func, double
@@ -437,7 +437,7 @@
width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
set_write_slot(cobject, slot_copy);
- return RefPtr<PdfSurface>(new PdfSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<PdfSurface>(new PdfSurface(cobject, true /* has reference */));
}
void PdfSurface::set_size(double width_in_points, double height_in_points)
@@ -493,7 +493,7 @@
{
auto cobject = cairo_ps_surface_create(filename.c_str(), width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<PsSurface>(new PsSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<PsSurface>(new PsSurface(cobject, true /* has reference */));
}
RefPtr<PsSurface> PsSurface::create_for_stream(const SlotWriteFunc& write_func, double
@@ -505,7 +505,7 @@
width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
set_write_slot(cobject, slot_copy);
- return RefPtr<PsSurface>(new PsSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<PsSurface>(new PsSurface(cobject, true /* has reference */));
}
void PsSurface::set_size(double width_in_points, double height_in_points)
@@ -594,7 +594,7 @@
{
auto cobject = cairo_svg_surface_create(filename.c_str(), width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<SvgSurface>(new SvgSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<SvgSurface>(new SvgSurface(cobject, true /* has reference */));
}
RefPtr<SvgSurface> SvgSurface::create_for_stream(const SlotWriteFunc& write_func,
@@ -607,7 +607,7 @@
width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
set_write_slot(cobject, slot_copy);
- return RefPtr<SvgSurface>(new SvgSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<SvgSurface>(new SvgSurface(cobject, true /* has reference */));
}
void SvgSurface::restrict_to_version(SvgVersion version)
@@ -658,7 +658,7 @@
{
auto cobject = cairo_glitz_surface_create(surface);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<GlitzSurface>(new GlitzSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<GlitzSurface>(new GlitzSurface(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_GLITZ_SURFACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/win32_font.cc new/cairomm-1.15.3/cairomm/win32_font.cc
--- old/cairomm-1.15.2/cairomm/win32_font.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/win32_font.cc 2016-12-13 17:54:24.000000000 +0100
@@ -44,17 +44,17 @@
RefPtr<Win32FontFace> Win32FontFace::create(LOGFONTW* logfont)
{
- return RefPtr<Win32FontFace>(new Win32FontFace(logfont));
+ return make_refptr_for_instance<Win32FontFace>(new Win32FontFace(logfont));
}
RefPtr<Win32FontFace> Win32FontFace::create(HFONT font)
{
- return RefPtr<Win32FontFace>(new Win32FontFace(font));
+ return make_refptr_for_instance<Win32FontFace>(new Win32FontFace(font));
}
RefPtr<Win32FontFace> Win32FontFace::create(LOGFONTW* logfont, HFONT font)
{
- return RefPtr<Win32FontFace>(new Win32FontFace(logfont, font));
+ return make_refptr_for_instance<Win32FontFace>(new Win32FontFace(logfont, font));
}
// ScaledFont
@@ -72,7 +72,7 @@
const Matrix& font_matrix, const Matrix& ctm,
const FontOptions& options)
{
- return RefPtr<Win32ScaledFont>(new Win32ScaledFont(font_face, font_matrix,
+ return make_refptr_for_instance<Win32ScaledFont>(new Win32ScaledFont(font_face, font_matrix,
ctm, options));
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/win32_surface.cc new/cairomm-1.15.3/cairomm/win32_surface.cc
--- old/cairomm-1.15.2/cairomm/win32_surface.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/win32_surface.cc 2016-12-13 17:54:24.000000000 +0100
@@ -50,7 +50,7 @@
{
auto cobject = cairo_win32_surface_create(hdc);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<Win32Surface>(new Win32Surface(cobject, true /* has reference */));
+ return make_refptr_for_instance<Win32Surface>(new Win32Surface(cobject, true /* has reference */));
}
RefPtr<Win32Surface> Win32Surface::create(Format format, int width, int height)
@@ -62,7 +62,7 @@
{
auto cobject = cairo_win32_surface_create_with_dib((cairo_format_t)format, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<Win32Surface>(new Win32Surface(cobject, true /* has reference */));
+ return make_refptr_for_instance<Win32Surface>(new Win32Surface(cobject, true /* has reference */));
}
RefPtr<Win32Surface> Win32Surface::create_with_ddb(HDC hdc, Format format, int width, int height)
@@ -70,7 +70,7 @@
auto cobject =
cairo_win32_surface_create_with_ddb(hdc, (cairo_format_t)format, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<Win32Surface>(new Win32Surface(cobject, true /* has reference */));
+ return make_refptr_for_instance<Win32Surface>(new Win32Surface(cobject, true /* has reference */));
}
Win32PrintingSurface::Win32PrintingSurface(cairo_surface_t* cobject, bool has_reference)
@@ -87,7 +87,7 @@
{
auto cobject = cairo_win32_surface_create(hdc);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<Win32PrintingSurface>(new Win32PrintingSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<Win32PrintingSurface>(new Win32PrintingSurface(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_WIN32_SURFACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/cairomm/xlib_surface.cc new/cairomm-1.15.3/cairomm/xlib_surface.cc
--- old/cairomm-1.15.2/cairomm/xlib_surface.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/cairomm/xlib_surface.cc 2016-12-13 17:54:24.000000000 +0100
@@ -38,14 +38,14 @@
{
auto cobject = cairo_xlib_surface_create(dpy, drawable, visual, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<XlibSurface>(new XlibSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<XlibSurface>(new XlibSurface(cobject, true /* has reference */));
}
RefPtr<XlibSurface> XlibSurface::create(Display* dpy, Pixmap bitmap, Screen* screen, int width, int height)
{
auto cobject = cairo_xlib_surface_create_for_bitmap(dpy, bitmap, screen, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<XlibSurface>(new XlibSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<XlibSurface>(new XlibSurface(cobject, true /* has reference */));
}
void XlibSurface::set_size(int width, int height)
@@ -144,7 +144,7 @@
screen, format,
width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
- return RefPtr<XlibSurface>(new XlibSurface(cobject, true /* has reference */));
+ return make_refptr_for_instance<XlibSurface>(new XlibSurface(cobject, true /* has reference */));
}
XRenderPictFormat*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/configure.ac new/cairomm-1.15.3/configure.ac
--- old/cairomm-1.15.2/configure.ac 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/configure.ac 2016-12-13 17:54:24.000000000 +0100
@@ -15,7 +15,7 @@
## You should have received a copy of the GNU Lesser General Public License
## along with this library. If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([cairomm], [1.15.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=cairomm],
+AC_INIT([cairomm], [1.15.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=cairomm],
[cairomm], [http://www.cairographics.org/cairomm/])
AC_PREREQ([2.62])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/examples/text/user-font.cc new/cairomm-1.15.3/examples/text/user-font.cc
--- old/cairomm-1.15.2/examples/text/user-font.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/examples/text/user-font.cc 2016-12-13 17:54:24.000000000 +0100
@@ -36,7 +36,7 @@
// and return it with a RefPtr
static Cairo::RefPtr<BoxFontFace> create()
{
- return Cairo::RefPtr<BoxFontFace>(new BoxFontFace());
+ return Cairo::make_refptr_for_instance<BoxFontFace>(new BoxFontFace());
}
Cairo::ErrorStatus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cairomm-1.15.2/tests/test-user-font.cc new/cairomm-1.15.3/tests/test-user-font.cc
--- old/cairomm-1.15.2/tests/test-user-font.cc 2016-12-07 11:24:02.000000000 +0100
+++ new/cairomm-1.15.3/tests/test-user-font.cc 2016-12-13 17:54:24.000000000 +0100
@@ -55,7 +55,7 @@
class ImplTextUserFont: public NullRenderUserFont
{
public:
- static RefPtr<ImplTextUserFont> create() { return RefPtr<ImplTextUserFont>(new ImplTextUserFont());};
+ static RefPtr<ImplTextUserFont> create() { return make_refptr_for_insance<ImplTextUserFont>(new ImplTextUserFont());};
ErrorStatus text_to_glyphs(const RefPtr<ScaledFont>& /*scaled_font*/,
const std::string& /*utf8*/,
std::vector<Glyph>& glyphs,
@@ -90,7 +90,7 @@
class ImplUnicodeUserFont: public NullRenderUserFont
{
public:
- static RefPtr<ImplUnicodeUserFont> create() { return RefPtr<ImplUnicodeUserFont>(new ImplUnicodeUserFont());};
+ static RefPtr<ImplUnicodeUserFont> create() { return make_refptr_for_instance<ImplUnicodeUserFont>(new ImplUnicodeUserFont());};
ErrorStatus unicode_to_glyph(const RefPtr<ScaledFont>& /*scaled_font*/,
unsigned long /*unicode*/,
unsigned long& /*glyph*/) override
@@ -117,7 +117,7 @@
class ImplBothUserFont: public NullRenderUserFont
{
public:
- static RefPtr<ImplBothUserFont> create() { return RefPtr<ImplBothUserFont>(new ImplBothUserFont());};
+ static RefPtr<ImplBothUserFont> create() { return make_refptr_for_instance<ImplBothUserFont>(new ImplBothUserFont());};
ErrorStatus unicode_to_glyph(const RefPtr<ScaledFont>& /*scaled_font*/,
unsigned long /*unicode*/,
unsigned long& /*glyph*/) override
@@ -161,7 +161,7 @@
class ImplNeitherUserFont: public NullRenderUserFont
{
public:
- static RefPtr<ImplNeitherUserFont> create() { return RefPtr<ImplNeitherUserFont>(new ImplNeitherUserFont());};
+ static RefPtr<ImplNeitherUserFont> create() { return make_refptr_for_instance<ImplNeitherUserFont>(new ImplNeitherUserFont());};
protected:
ImplNeitherUserFont() : NullRenderUserFont() {}
@@ -182,7 +182,7 @@
class ImplInitUserFont: public NullRenderUserFont
{
public:
- static RefPtr<ImplInitUserFont> create() { return RefPtr<ImplInitUserFont>(new ImplInitUserFont());};
+ static RefPtr<ImplInitUserFont> create() { return make_refptr_for_instance<ImplInitUserFont>(new ImplInitUserFont());};
ErrorStatus init(const RefPtr<ScaledFont>& /*scaled_font*/,
const RefPtr<Context>& /*cr*/,
FontExtents& /*extents*/) override
@@ -207,7 +207,7 @@
class ExceptionUserFont : public UserFontFace
{
public:
- static RefPtr<ExceptionUserFont> create(int flags) { return RefPtr<ExceptionUserFont>(new ExceptionUserFont(flags));};
+ static RefPtr<ExceptionUserFont> create(int flags) { return make_refptr_for_instance<ExceptionUserFont>(new ExceptionUserFont(flags));};
ErrorStatus
render_glyph(const RefPtr<ScaledFont>& /*scaled_font*/,
1
0
Hello community,
here is the log from the commit of package nextcloud-client for openSUSE:Factory checked in at 2017-01-25 23:34:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nextcloud-client (Old)
and /work/SRC/openSUSE:Factory/.nextcloud-client.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nextcloud-client"
Changes:
--------
--- /work/SRC/openSUSE:Factory/nextcloud-client/nextcloud-client.changes 2016-10-02 00:09:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.nextcloud-client.new/nextcloud-client.changes 2017-01-25 23:34:54.410125488 +0100
@@ -1,0 +2,6 @@
+Tue Jan 24 17:08:34 UTC 2017 - sor.alexei(a)meowr.ru
+
+- Add nextcloud-client-fix-tray-workaround.patch: fix the tray
+ workaround (from commit 98efb07 of owncloud-client).
+
+-------------------------------------------------------------------
New:
----
nextcloud-client-fix-tray-workaround.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nextcloud-client.spec ++++++
--- /var/tmp/diff_new_pack.gi07tb/_old 2017-01-25 23:34:55.741924814 +0100
+++ /var/tmp/diff_new_pack.gi07tb/_new 2017-01-25 23:34:55.745924212 +0100
@@ -1,7 +1,7 @@
#
# spec file for package nextcloud-client
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -33,6 +33,8 @@
Patch1: nextcloud-client-fix-nemo-appname.patch
# PATCH-FIX-OPENSUSE nextcloud-client-fix-ru-typo.patch sor.alexei(a)meowr.ru -- Fix Russian localisation.
Patch2: nextcloud-client-fix-ru-typo.patch
+# PATCH-FIX-UPSTREAM nextcloud-client-fix-tray-workaround.patch -- Fix the tray workaround (from commit 98efb07 of owncloud-client).
+Patch3: nextcloud-client-fix-tray-workaround.patch
BuildRequires: cmake >= 2.8.0
BuildRequires: doxygen
BuildRequires: fdupes
@@ -173,6 +175,7 @@
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
cp -f %{SOURCE1} sysctl-sync-inotify.conf
# A workaround for gh#owncloud/ownbrander#322
@@ -189,8 +192,8 @@
-DBUILD_WITH_QT4=ON \
%endif
-DOEM_THEME_DIR="$nextcloud_theme"
-make %{?_smp_mflags}
-make doc %{?_smp_mflags}
+make %{?_smp_mflags} V=1
+make doc %{?_smp_mflags} V=1
popd
%install
++++++ nextcloud-client-fix-tray-workaround.patch ++++++
--- a/client/src/gui/owncloudgui.cpp
+++ b/client/src/gui/owncloudgui.cpp
@@ -465,13 +465,17 @@ void ownCloudGui::setupContextMenu()
// The Qt version check intentionally uses 5.0.0 (where platformMenu()
// was introduced) instead of 5.5.0 to avoid issues where the Qt
// version used to build is different from the one used at runtime.
+ // If we build with 5.6.1 or newer, we can skip this because the
+ // bugs should be fixed there.
#ifdef Q_OS_LINUX
-#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
- QObject* platformMenu = reinterpret_cast<QObject*>(_tray->contextMenu()->platformMenu());
- if (platformMenu
- && platformMenu->metaObject()->className() == QLatin1String("QDBusPlatformMenu")) {
- _qdbusmenuWorkaround = true;
- qDebug() << "Enabled QDBusPlatformMenu workaround";
+#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) && (QT_VERSION < QT_VERSION_CHECK(5, 6, 0))
+ if (qVersion() == QByteArray("5.5.0")) {
+ QObject* platformMenu = reinterpret_cast<QObject*>(_tray->contextMenu()->platformMenu());
+ if (platformMenu &&
+ platformMenu->metaObject()->className() == QLatin1String("QDBusPlatformMenu")) {
+ _qdbusmenuWorkaround = true;
+ qDebug() << "Enabled QDBusPlatformMenu workaround";
+ }
}
#endif
#endif
1
0
Hello community,
here is the log from the commit of package ubuntu-mate-artwork for openSUSE:Factory checked in at 2017-01-25 23:34:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ubuntu-mate-artwork (Old)
and /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ubuntu-mate-artwork"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ubuntu-mate-artwork/ubuntu-mate-artwork.changes 2016-10-24 14:44:38.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new/ubuntu-mate-artwork.changes 2017-01-25 23:34:46.447325319 +0100
@@ -1,0 +2,16 @@
+Wed Jan 18 17:18:58 UTC 2017 - sor.alexei(a)meowr.ru
+
+- Update to version 17.04.1 (changes since 16.10.9):
+ * Update Directory icons.
+ * Update assets with pixel doubled variants.
+ * Add CSS for pixel doubled assets.
+ * Fix Monospace fonts.
+ * Fix notebook background colour.
+ * Fix dimming of disabled icons.
+ * Fix GTK+ 3.22 deprecations.
+ * Remove deprecated settings from gtk-widgets.css.
+ * Add Computer, Desktop and Ubiquity icons.
+ * Correct battery icon size (lp#1637005).
+- Add the 16.04.7 version conditionally for Gtk 3.18 and older.
+
+-------------------------------------------------------------------
Old:
----
ubuntu-mate-artwork_16.10.9.tar.xz
New:
----
ubuntu-mate-artwork_16.04.7.tar.xz
ubuntu-mate-artwork_17.04.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ubuntu-mate-artwork.spec ++++++
--- /var/tmp/diff_new_pack.Rin4K4/_old 2017-01-25 23:34:53.118320136 +0100
+++ /var/tmp/diff_new_pack.Rin4K4/_new 2017-01-25 23:34:53.122319533 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ubuntu-mate-artwork
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,19 +16,23 @@
#
+%define gtk3_version %(pkg-config --modversion gtk+-3.0 | awk -F. '{printf\("%%02d%%02d", $1, $2\)}')
%define _name ubuntu-mate
Name: ubuntu-mate-artwork
-Version: 16.10.9
+Version: 17.04.1
Release: 0
Summary: Ubuntu MATE themes and artwork
License: GPL-3.0+ and CC-BY-SA-4.0 and CC-BY-SA-3.0
Group: System/GUI/Other
Url: https://launchpad.net/ubuntu-mate
-Source: https://launchpad.net/ubuntu/+archive/primary/+files/%{name}_%{version}.tar…
+Source0: https://launchpad.net/ubuntu/+archive/primary/+files/%{name}_%{version}.tar…
+Source1: https://launchpad.net/ubuntu/+archive/primary/+files/%{name}_16.04.7.tar.xz
# PATCH-FIX-UPSTREAM themes-light-menubars.patch sor.alexei(a)meowr.ru -- Make light menus in Ambiance (Gtk2), dark menus are buggy in Qt4 QGtk2Style.
Patch0: themes-light-menubars.patch
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(gtk+-3.0) >= 3.14
BuildArch: noarch
%description
@@ -122,10 +126,17 @@
The default Ubuntu MATE wallpapers for the Ubuntu MATE releases.
%prep
+%if 0%{?gtk3_version} >= 0320
%setup -q -n %{name}
+%else
+%setup -q -T -n %{name}-xenial -b1
+%endif
%patch0 -p1
# Remove unwanted: Debian package, GRUB theme, Plymouth theme, odd script, LightDM defaults.
rm -rf debian symlink.sh .%{_sysconfdir} .%{_datadir}/%{_name} .%{_datadir}/plymouth
+%if 0%{?gtk3_version} < 0320
+rm .%{_datadir}/gtksourceview-?.0/styles/Yuyo*.xml
+%endif
%build
# Nothing to build.
++++++ ubuntu-mate-artwork_16.10.9.tar.xz -> ubuntu-mate-artwork_16.04.7.tar.xz ++++++
/work/SRC/openSUSE:Factory/ubuntu-mate-artwork/ubuntu-mate-artwork_16.10.9.tar.xz /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new/ubuntu-mate-artwork_16.04.7.tar.xz differ: char 26, line 1
++++++ ubuntu-mate-artwork_16.10.9.tar.xz -> ubuntu-mate-artwork_17.04.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/ubuntu-mate-artwork/ubuntu-mate-artwork_16.10.9.tar.xz /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new/ubuntu-mate-artwork_17.04.1.tar.xz differ: char 26, line 1
1
0
Hello community,
here is the log from the commit of package phantomjs for openSUSE:Factory checked in at 2017-01-25 23:34:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/phantomjs (Old)
and /work/SRC/openSUSE:Factory/.phantomjs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "phantomjs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/phantomjs/phantomjs.changes 2017-01-10 10:43:19.460687004 +0100
+++ /work/SRC/openSUSE:Factory/.phantomjs.new/phantomjs.changes 2017-01-25 23:34:38.328548661 +0100
@@ -1,0 +2,8 @@
+Tue Jan 24 16:38:04 UTC 2017 - msuchanek(a)suse.com
+
+ Bump build requirement to 8GB ram.
+ The package fails to build in IBS on particular hosts with gcc crashing and
+ the only obvious difference between the failing and successful hosts is RAM
+ amount.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ phantomjs.spec ++++++
--- /var/tmp/diff_new_pack.fgL3mQ/_old 2017-01-25 23:34:40.380239510 +0100
+++ /var/tmp/diff_new_pack.fgL3mQ/_new 2017-01-25 23:34:40.388238305 +0100
@@ -1,7 +1,7 @@
#
# spec file for package phantomjs
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.fgL3mQ/_old 2017-01-25 23:34:40.436231073 +0100
+++ /var/tmp/diff_new_pack.fgL3mQ/_new 2017-01-25 23:34:40.436231073 +0100
@@ -5,7 +5,7 @@
<size unit="G">4</size>
</disk>
<memory>
- <size unit="M">4096</size>
+ <size unit="M">8192</size>
</memory>
</hardware>
</constraints>
1
0
Hello community,
here is the log from the commit of package froxlor for openSUSE:Factory checked in at 2017-01-25 23:34:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/froxlor (Old)
and /work/SRC/openSUSE:Factory/.froxlor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "froxlor"
Changes:
--------
--- /work/SRC/openSUSE:Factory/froxlor/froxlor.changes 2016-12-05 16:34:44.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.froxlor.new/froxlor.changes 2017-01-25 23:34:16.371857158 +0100
@@ -1,0 +2,5 @@
+Tue Jan 17 14:49:18 CET 2017 - asemen(a)suse.de
+
+- upstream upgrade to version 0.9.38.6 (bnc#846355)
+
+-------------------------------------------------------------------
Old:
----
froxlor-0.9.38.4.tar.bz2
New:
----
froxlor-0.9.38.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ froxlor.spec ++++++
--- /var/tmp/diff_new_pack.VuCwja/_old 2017-01-25 23:34:16.863783033 +0100
+++ /var/tmp/diff_new_pack.VuCwja/_new 2017-01-25 23:34:16.867782430 +0100
@@ -1,7 +1,7 @@
#
# spec file for package froxlor
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%define apache_serverroot /srv/www/htdocs
Name: froxlor
-Version: 0.9.38.4
+Version: 0.9.38.6
Release: 0
Source0: froxlor-%{version}.tar.bz2
Source1: froxlor-httpd.conf
++++++ froxlor-0.9.38.4.tar.bz2 -> froxlor-0.9.38.6.tar.bz2 ++++++
++++ 12122 lines of diff (skipped)
++++++ froxlor.sql.patch ++++++
--- /var/tmp/diff_new_pack.VuCwja/_old 2017-01-25 23:34:17.703656477 +0100
+++ /var/tmp/diff_new_pack.VuCwja/_new 2017-01-25 23:34:17.707655874 +0100
@@ -1,6 +1,6 @@
---- install/froxlor.sql.orig 2016-11-28 12:09:50.153886445 +0100
-+++ install/froxlor.sql 2016-11-28 12:10:29.281828384 +0100
-@@ -1,3 +1,13 @@
+--- install/froxlor.sql.orig 2017-01-17 14:35:57.036194735 +0100
++++ install/froxlor.sql 2017-01-17 14:37:54.967711558 +0100
+@@ -1,3 +1,15 @@
+# change path from /var to /srv
+# webspaces: /srv/customers/webs
+# logs: /srv/customers/logs/
@@ -8,13 +8,15 @@
+# tmp: /srv/customers/tmp
+# cgi: /srv/www/cgi-bin/
+# fcgi: /srv/www/php-fcgi-scripts
++# backup: /srv/customers/backups/
+# doc documentroot_prefix /srv/customers/webs/
-+# asemen 20161128
++# asemen 20170117
++
+
DROP TABLE IF EXISTS `ftp_groups`;
CREATE TABLE `ftp_groups` (
`id` int(20) NOT NULL auto_increment,
-@@ -393,7 +403,7 @@
+@@ -396,7 +408,7 @@
('customredirect', 'enabled', '1'),
('customredirect', 'default', '1'),
('perl', 'suexecworkaround', '0'),
@@ -23,7 +25,7 @@
('login', 'domain_login', '0'),
('login', 'maxloginattempts', '3'),
('login', 'deactivatetime', '900'),
-@@ -406,13 +416,13 @@
+@@ -409,13 +421,13 @@
('phpfpm', 'min_spare_servers', '5'),
('phpfpm', 'max_spare_servers', '35'),
('phpfpm', 'max_requests', '0'),
@@ -39,7 +41,7 @@
('phpfpm', 'defaultini', '1'),
('phpfpm', 'vhost_defaultini', '2'),
('phpfpm', 'fastcgi_ipcdir', '/var/lib/apache2/fastcgi/'),
-@@ -420,14 +430,14 @@
+@@ -423,14 +435,14 @@
('nginx', 'fastcgiparams', '/etc/nginx/fastcgi_params'),
('system', 'lastaccountnumber', '0'),
('system', 'lastguid', '9999'),
@@ -57,18 +59,40 @@
('system', 'vmail_maildirname', 'Maildir'),
('system', 'bind_enable', '1'),
('system', 'bindconf_directory', '/etc/bind/'),
-@@ -448,8 +458,8 @@
+@@ -451,9 +463,9 @@
('system', 'apacheconf_htpasswddir', '/etc/apache2/htpasswd/'),
('system', 'webalizer_quiet', '2'),
('system', 'last_archive_run', '000000'),
- ('system', 'mod_fcgid_configdir', '/var/www/php-fcgi-scripts'),
- ('system', 'mod_fcgid_tmpdir', '/var/customers/tmp'),
+- ('system', 'ssl_cert_file', '/etc/apache2/apache2.pem'),
+ ('system', 'mod_fcgid_configdir', '/srv/www/php-fcgi-scripts'),
+ ('system', 'mod_fcgid_tmpdir', '/srv/customers/tmp'),
- ('system', 'ssl_cert_file', '/etc/apache2/apache2.pem'),
++ ('system', 'ssl_cert_file', '/etc/apache2/ssl.crt/apache2.pem'),
('system', 'use_ssl', '0'),
('system', 'default_vhostconf', ''),
-@@ -523,7 +533,7 @@
+ ('system', 'mail_quota_enabled', '0'),
+@@ -468,7 +480,7 @@
+ ('system', 'mod_fcgid_peardir', '/usr/share/php/:/usr/share/php5/'),
+ ('system', 'index_file_extension', 'html'),
+ ('system', 'mod_fcgid_maxrequests', '250'),
+- ('system', 'ssl_key_file','/etc/apache2/apache2.key'),
++ ('system', 'ssl_key_file','/etc/apache2/ssl.key/apache2.key'),
+ ('system', 'ssl_ca_file', ''),
+ ('system', 'debug_cron', '0'),
+ ('system', 'store_index_file_subs', '1'),
+@@ -509,8 +521,8 @@
+ ('system', 'customer_ssl_path', '/etc/ssl/froxlor-custom/'),
+ ('system', 'allow_error_report_admin', '1'),
+ ('system', 'allow_error_report_customer', '0'),
+- ('system', 'mdalog', '/var/log/mail.log'),
+- ('system', 'mtalog', '/var/log/mail.log'),
++ ('system', 'mdalog', '/var/log/mail'),
++ ('system', 'mtalog', '/var/log/mail'),
+ ('system', 'mdaserver', 'dovecot'),
+ ('system', 'mtaserver', 'postfix'),
+ ('system', 'mailtraffic_enabled', '1'),
+@@ -526,7 +538,7 @@
('system', 'letsencryptca', 'production'),
('system', 'letsencryptcountrycode', 'DE'),
('system', 'letsencryptstate', 'Hessen'),
1
0
25 Jan '17
Hello community,
here is the log from the commit of package perl-Mojolicious-Plugin-AssetPack for openSUSE:Factory checked in at 2017-01-25 23:34:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious-Plugin-AssetPack"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack/perl-Mojolicious-Plugin-AssetPack.changes 2017-01-18 21:43:34.913517629 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new/perl-Mojolicious-Plugin-AssetPack.changes 2017-01-25 23:34:10.488743655 +0100
@@ -1,0 +2,9 @@
+Tue Jan 24 06:05:44 UTC 2017 - coolo(a)suse.com
+
+- updated to 1.38
+ see /usr/share/doc/packages/perl-Mojolicious-Plugin-AssetPack/Changes
+
+ 1.38 2017-01-23T14:12:31+0100
+ - Fix missing path() function in Pipe::Sass
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-Plugin-AssetPack-1.37.tar.gz
New:
----
Mojolicious-Plugin-AssetPack-1.38.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious-Plugin-AssetPack.spec ++++++
--- /var/tmp/diff_new_pack.ktnIE5/_old 2017-01-25 23:34:10.948674350 +0100
+++ /var/tmp/diff_new_pack.ktnIE5/_new 2017-01-25 23:34:10.952673747 +0100
@@ -17,7 +17,7 @@
Name: perl-Mojolicious-Plugin-AssetPack
-Version: 1.37
+Version: 1.38
Release: 0
%define cpan_name Mojolicious-Plugin-AssetPack
Summary: Compress and convert css, less, sass, javascript and coffeescript files
++++++ Mojolicious-Plugin-AssetPack-1.37.tar.gz -> Mojolicious-Plugin-AssetPack-1.38.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.37/Changes new/Mojolicious-Plugin-AssetPack-1.38/Changes
--- old/Mojolicious-Plugin-AssetPack-1.37/Changes 2017-01-12 20:52:18.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.38/Changes 2017-01-23 14:12:31.000000000 +0100
@@ -1,5 +1,8 @@
Revision history for perl distribution Mojolicious-Plugin-AssetPack
+1.38 2017-01-23T14:12:31+0100
+ - Fix missing path() function in Pipe::Sass
+
1.37 2017-01-12T20:52:18+0100
- Add support for sass source maps
- No need to delete known media types in AssetPack::Store
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.37/META.json new/Mojolicious-Plugin-AssetPack-1.38/META.json
--- old/Mojolicious-Plugin-AssetPack-1.37/META.json 2017-01-12 20:52:19.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.38/META.json 2017-01-23 14:12:32.000000000 +0100
@@ -48,6 +48,6 @@
"url" : "https://github.com/jhthorsen/mojolicious-plugin-assetpack.git"
}
},
- "version" : "1.37",
+ "version" : "1.38",
"x_serialization_backend" : "JSON::PP version 2.27300"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.37/META.yml new/Mojolicious-Plugin-AssetPack-1.38/META.yml
--- old/Mojolicious-Plugin-AssetPack-1.37/META.yml 2017-01-12 20:52:19.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.38/META.yml 2017-01-23 14:12:32.000000000 +0100
@@ -25,5 +25,5 @@
bugtracker: https://github.com/jhthorsen/mojolicious-plugin-assetpack/issues
homepage: https://github.com/jhthorsen/mojolicious-plugin-assetpack
repository: https://github.com/jhthorsen/mojolicious-plugin-assetpack.git
-version: '1.37'
+version: '1.38'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.37/README new/Mojolicious-Plugin-AssetPack-1.38/README
--- old/Mojolicious-Plugin-AssetPack-1.37/README 2017-01-12 20:52:19.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.38/README 2017-01-23 14:12:31.000000000 +0100
@@ -3,7 +3,7 @@
javascript and coffeescript files
VERSION
- 1.37
+ 1.38
SYNOPSIS
Application
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.37/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm new/Mojolicious-Plugin-AssetPack-1.38/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm
--- old/Mojolicious-Plugin-AssetPack-1.37/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm 2017-01-12 20:45:08.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.38/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm 2017-01-23 11:37:00.000000000 +0100
@@ -2,6 +2,7 @@
use Mojo::Base 'Mojolicious::Plugin::AssetPack::Pipe';
use Mojolicious::Plugin::AssetPack::Util qw(checksum diag dumper load_module DEBUG);
+use Mojo::File;
use Mojo::JSON qw(decode_json encode_json);
use Mojo::Util;
@@ -145,7 +146,7 @@
my $self = shift;
$self->run([qw(ruby -rubygems -e), 'puts Gem.user_dir'], undef, \my $base);
chomp $base;
- my $path = path($base, qw(bin sass));
+ my $path = Mojo::File->new($base, qw(bin sass));
return $path if -e $path;
$self->app->log->warn(
'Installing sass... Please wait. (gem install --user-install sass)');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.37/lib/Mojolicious/Plugin/AssetPack.pm new/Mojolicious-Plugin-AssetPack-1.38/lib/Mojolicious/Plugin/AssetPack.pm
--- old/Mojolicious-Plugin-AssetPack-1.37/lib/Mojolicious/Plugin/AssetPack.pm 2017-01-12 20:52:18.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.38/lib/Mojolicious/Plugin/AssetPack.pm 2017-01-23 14:12:31.000000000 +0100
@@ -6,7 +6,7 @@
use Mojolicious::Plugin::AssetPack::Store;
use Mojolicious::Plugin::AssetPack::Util qw(diag has_ro load_module DEBUG);
-our $VERSION = '1.37';
+our $VERSION = '1.38';
my %TAG_TEMPLATE;
$TAG_TEMPLATE{css} = [qw(link rel stylesheet href)];
@@ -277,7 +277,7 @@
=head1 VERSION
-1.37
+1.38
=head1 SYNOPSIS
1
0
Hello community,
here is the log from the commit of package uthash for openSUSE:Factory checked in at 2017-01-25 23:34:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/uthash (Old)
and /work/SRC/openSUSE:Factory/.uthash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "uthash"
Changes:
--------
--- /work/SRC/openSUSE:Factory/uthash/uthash.changes 2016-07-03 12:28:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.uthash.new/uthash.changes 2017-01-25 23:34:03.425807940 +0100
@@ -1,0 +2,18 @@
+Tue Jan 24 09:53:06 UTC 2017 - jengelh(a)inai.de
+
+- Rename soname to sover to reflect use of the variable
+- Update description to point out the implementation (and
+ therefore, restrictions). Update RPM group.
+
+-------------------------------------------------------------------
+Sun Jul 10 04:01:35 UTC 2016 - i(a)marguerite.su
+
+- update version 2.0.1
+ * add libut library
+ * fix build for GCC 6
+- upstream fixed boo#985142
+- add patch libut-shared.patch
+ * build shared version of libut
+- split new subpackage -devel and libut2
+
+-------------------------------------------------------------------
Old:
----
v1.9.9.tar.gz
New:
----
libut-shared.patch
uthash-2.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ uthash.spec ++++++
--- /var/tmp/diff_new_pack.6da1j8/_old 2017-01-25 23:34:03.873740443 +0100
+++ /var/tmp/diff_new_pack.6da1j8/_new 2017-01-25 23:34:03.881739237 +0100
@@ -1,7 +1,7 @@
#
# spec file for package uthash
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Pascal Bleser <pascal.bleser(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
@@ -17,48 +17,83 @@
#
+%define sover 2
Name: uthash
-Version: 1.9.9
+Version: 2.0.1
Release: 0
-Summary: Hash Table for C Structures
+Summary: Inline hash table for C structures
License: BSD-3-Clause
Group: Development/Libraries/C and C++
-Url: http://uthash.sourceforge.net/
-Source: https://github.com/troydhanson/uthash/archive/v%{version}.tar.gz
+Url: https://github.com/troydhanson/uthash
+Source: https://github.com/troydhanson/uthash/archive/v%{version}/%{name}-%{version…
Patch1: uthash-proceed_with_tests_without_prompt.patch
Patch2: uthash-optflags.patch
+Patch3: libut-shared.patch
BuildRequires: pkgconfig
-Provides: uthash-devel = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildArch: noarch
%description
-Any C structure can be stored in a hash table using uthash. Just add a
-UT_hash_handle to the structure and choose one or more fields in your structure
-to act as the key. Then use these macros to store, retrieve or delete items
-from the hash table.
+uthash implements a hash table for C structures. It requires adding
+a UT_hash_handle-typed member to your existing structure definition.
+
+%package devel
+Summary: Development headers for uthash
+Group: Development/Libraries/C and C++
+Requires: libut%{sover} = %{version}
+Obsoletes: uthash <= 1.9.9
+
+%description devel
+This package provides development headers for uthash, a hash table
+implementation for C structures.
+
+%package -n libut2
+Summary: Inline hash table for C structures
+Group: System/Libraries
+
+%description -n libut2
+uthash implements a hash table for C structures. It requires adding
+a UT_hash_handle-typed member to your existing structure definition.
%prep
%setup -q
-%patch1
-%patch2
-chmod 644 LICENSE
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
+pushd libut
+make DESTDIR=%{buildroot} LIBDIR=%{_libdir} OPTFLAGS="%{optflags}"
+popd
%install
-install -d "%{buildroot}%{_includedir}"
-cp -a src/*.h "%{buildroot}%{_includedir}/"
+pushd libut
+make install DESTDIR=%{buildroot} LIBDIR=%{_libdir} OPTFLAGS="%{optflags}"
+popd
+find %{buildroot} -type f -name "*.a" -delete -print
+
+%check
+pushd libut/tests
+make OPTFLAGS="%{optflags}"
+popd
+pushd tests
+OPTFLAGS="%{optflags}" \
+./all_funcs
+popd
-#%check
-#pushd tests
-##OPTFLAGS="%{optflags}" \
-#./all_funcs
-#popd
+%post -n libut%{sover} -p /sbin/ldconfig
-%files
+%postun -n libut%{sover} -p /sbin/ldconfig
+
+%files -n libut%{sover}
%defattr(-,root,root)
%doc LICENSE README.md
+%{_libdir}/libut.so.%{version}
+%{_libdir}/libut.so.%{sover}
+
+%files devel
+%defattr(-,root,root)
%{_includedir}/*.h
+%{_libdir}/libut.so
+%{_libdir}/pkgconfig/uthash.pc
%changelog
++++++ libut-shared.patch ++++++
Index: b/libut/Makefile
===================================================================
--- a/libut/Makefile
+++ b/libut/Makefile
@@ -1,33 +1,37 @@
-OBJS=libut.a
-all: $(OBJS)
+SOURCES = src/libut.c src/ringbuf.c src/utmm.c src/utvector.c
+HEADERS = include/libut.h include/ringbuf.h include/utarray.h include/uthash.h include/utlist.h include/utmm.h include/utringbuffer.h include/utstring.h include/utvector.h
+OBJS=$(SOURCES:.c=.o)
+all: libut.a libut.so.2.0.1
INCDIR=./include
+LIBDIR=/usr/lib
CFLAGS+=-I$(INCDIR)
-CFLAGS+=-Wall -Wextra
-CFLAGS+=-g
+CFLAGS+=-Wall -Wextra -Werror -fPIC
+CFLAGS+=$(OPTFLAGS)
-libut.a: libut.o utvector.o utmm.o ringbuf.o
+libut.a: $(OBJS)
ar r $@ $^
-libut.o: src/libut.c $(INCDIR)/libut.h
- $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-utvector.o: src/utvector.c $(INCDIR)/utvector.h
- $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-utmm.o: src/utmm.c $(INCDIR)/utmm.h
- $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-ringbuf.o: src/ringbuf.c $(INCDIR)/ringbuf.h
- $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+libut.so.2.0.1: $(OBJS)
+ $(CC) $(CFLAGS) -shared -Wl,-soname,libut.so.2 $^ -o $@
.PHONY: clean tests install
clean:
- rm -f $(OBJS) *.o
+ rm -f *.o *.a *.so*
make -C tests clean
tests: libut.a
make -C tests
-install: libut.a
- cp $< /usr/local/lib
+install: libut.a libut.so.2.0.1
+ mkdir -p $(DESTDIR)$(LIBDIR)
+ mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
+ mkdir -p $(DESTDIR)/usr/include
+ cp libut.a $(DESTDIR)$(LIBDIR)
+ cp libut.so.2.0.1 $(DESTDIR)$(LIBDIR)
+ ln -sf $(LIBDIR)/libut.so.2.0.1 $(DESTDIR)$(LIBDIR)/libut.so.2
+ ln -sf $(LIBDIR)/libut.so.2.0.1 $(DESTDIR)$(LIBDIR)/libut.so
+ cp ./include/*.h $(DESTDIR)/usr/include
+ sed -i -e "s|VERSION|2.0.1|" uthash.pc.in
+ sed -i -e "s|LIBDIR|$(LIBDIR)|" uthash.pc.in
+ cp uthash.pc.in $(DESTDIR)$(LIBDIR)/pkgconfig/uthash.pc
Index: b/libut/tests/Makefile
===================================================================
--- a/libut/tests/Makefile
+++ b/libut/tests/Makefile
@@ -3,8 +3,8 @@ PROGS=test1 test2 test3 test4 test5 test
OBJS=$(patsubst %,%.o,$(PROGS))
CFLAGS += -I../include
-CFLAGS += -g
-CFLAGS += -Wall -Wextra
+CFLAGS += -Wall -Wextra -Werror -fPIC
+CFLAGS += $(OPTFLAGS)
LDFLAGS += -L.. -lut
TEST_TARGET=run_tests
Index: b/libut/uthash.pc.in
===================================================================
--- /dev/null
+++ b/libut/uthash.pc.in
@@ -0,0 +1,9 @@
+prefix=/usr
+libdir=LIBDIR
+includedir=/usr/include
+
+Name: uthash
+Description: C macros for hash tables and more
+Version: VERSION
+Libs: -L${libdir} -lut
+Cflags: -I${includedir}
++++++ uthash-optflags.patch ++++++
--- /var/tmp/diff_new_pack.6da1j8/_old 2017-01-25 23:34:03.937730800 +0100
+++ /var/tmp/diff_new_pack.6da1j8/_new 2017-01-25 23:34:03.937730800 +0100
@@ -1,14 +1,13 @@
---- tests/Makefile.orig 2012-02-28 06:59:43.004039444 +0100
-+++ tests/Makefile 2012-02-28 07:00:11.846041678 +0100
-@@ -13,9 +13,9 @@
- CFLAGS = -I$(HASHDIR)
+Index: b/tests/Makefile
+===================================================================
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -17,7 +17,7 @@ PROGS = test1 test2 test3 test4 test5 te
+ CFLAGS += -I$(HASHDIR)
#CFLAGS += -DHASH_BLOOM=16
#CFLAGS += -O2
-CFLAGS += -g
+CFLAGS += $(OPTFLAGS)
#CFLAGS += -Wstrict-aliasing=2
--CFLAGS += -Wall
-+CFLAGS += -Wall
- #CFLAGS += -std=c89
- CFLAGS += ${EXTRA_CFLAGS}
-
+ CFLAGS += -Wall
+ #CFLAGS += -Wextra
++++++ uthash-proceed_with_tests_without_prompt.patch ++++++
--- /var/tmp/diff_new_pack.6da1j8/_old 2017-01-25 23:34:03.949728992 +0100
+++ /var/tmp/diff_new_pack.6da1j8/_new 2017-01-25 23:34:03.949728992 +0100
@@ -1,12 +1,14 @@
---- tests/all_funcs.orig 2012-02-28 06:53:50.612011981 +0100
-+++ tests/all_funcs 2012-02-28 06:58:50.329035345 +0100
+Index: b/tests/all_funcs
+===================================================================
+--- a/tests/all_funcs
++++ b/tests/all_funcs
@@ -1,8 +1,7 @@
- #!/bin/sh
+ #!/bin/bash
function proceed {
- read -p "proceed ? [n] " response
- if [ "$response" != "y" ]; then exit -1; fi
-+ :
++ :
}
make clean tests_only EXTRA_CFLAGS='-DHASH_FUNCTION=HASH_BER'; proceed
1
0