commit 269d311576c2534c1e11475de56907f25c5d08a4 Author: Adrian Schröter Date: Mon Jul 31 13:36:39 2023 +0200 Sync from SUSE:ALP:Source:Standard:1.0 libsigc++2 revision e978eaf55a9fdcda9296b01277a9dda0 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..83cecff --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,3 @@ +libsigc-2_0-0 + provides "libsigc++2- = " + obsoletes "libsigc++2- < " diff --git a/libsigc++-2.12.0.tar.xz b/libsigc++-2.12.0.tar.xz new file mode 100644 index 0000000..3628058 --- /dev/null +++ b/libsigc++-2.12.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c466d2e64b34f9b118976eb21b138c37ed124d0f61497df2a90ce6c3d9fa3b5 +size 5002560 diff --git a/libsigc++2.changes b/libsigc++2.changes new file mode 100644 index 0000000..aa73d82 --- /dev/null +++ b/libsigc++2.changes @@ -0,0 +1,590 @@ +------------------------------------------------------------------- +Mon Feb 27 18:07:38 UTC 2023 - Dominique Leuenberger + +- Update to version 2.12.0: + + Add track_object(), deprecate track_obj(). + + Examples, tests: + - examples/member_method: Make on_print() non-virtual. + - test_limit_reference.cc: Don't use auto where a slot is + required. + + Build: + - Meson: + . Avoid configuration warnings. + . Detect if we build from a git subtree. + . Simplify lookup of python command. + . Add build_tests option. + - Meson, MSVC: Compensate for the lack of + msvc_recommended_pragmas.h. + - Fix build with -Dbuild-deprecated-api=false. + +------------------------------------------------------------------- +Fri Feb 11 17:11:58 UTC 2022 - Bjørn Lie + +- Update to version 2.10.8: + + Build: + - Meson build: Perl is not required by new versions of + mm-common + - NMake Makefiles: Support building with VS2022 + + Documentation: Upgrade the manual from DocBook 4.1 to DocBook + 5.0 + +------------------------------------------------------------------- +Fri May 21 12:03:50 UTC 2021 - Dominique Leuenberger + +- Update to version 2.10.7: + + Meson build: + - Make it possible to use sigc++ as a subproject. + - Fix dependency on files generated from .h.m4 files. + - No implicit_include_directories. + - Make quiet installations possible. + - Fix build as subproject without building documentation. + + Documentation fixes. + +------------------------------------------------------------------- +Wed Nov 25 21:03:48 UTC 2020 - Bjørn Lie + +- Update to version 2.10.6: + + Build: Meson build: Fix versioning on macOS. + + Documentation: + - sigc++/sigc++.h: Describe how to use libsigc++ with Meson. + - Update links to the web page, now at + libsigcplusplus.github.io/libsigcplusplus. + +------------------------------------------------------------------- +Tue Oct 6 07:48:19 UTC 2020 - dimstar@opensuse.org + +- Update to version 2.10.4: + + Build: + - Meson build: Set default value of the 'warnings' option to + 'min' + - NMake Makefiles: Several improvements + - docs/reference/: Update for Doxygen >= 1.8.16 + + Updated documentation. +- Switch to meson build system: + + Add meson, and remove m4 BuildRequires. + + Replace configure/make/make_install with + meson/meson_build/meson_install macros. + + No longer ship the htmldoc as part of the devel package. + +------------------------------------------------------------------- +Wed Mar 25 19:45:38 UTC 2020 - Bjørn Lie + +- Update to version 2.10.3: + + Add Meson build, alongside the existing Autotools build. + + Improve MSVC builds on Windows. + + meson.build: Check if .git is a directory or file. + + docs/reference/meson.build: Check if perl is found. + + README: Describe building with Meson and Autotools. + + Tests: Make test_track_obj.cc compile with clang++. + +------------------------------------------------------------------- +Sat Sep 7 17:58:29 UTC 2019 - Bjørn Lie + +- Drop conditional libsigc++-std-c11.patch: No longer needed for + any currently supported version of openSUSE. +- Use make_build macro. + +------------------------------------------------------------------- +Wed Aug 14 16:45:24 CEST 2019 - bjorn.lie@gmail.com + +- Update to version 2.10.2: + + This release is identical to 2.10.1, except for: Reference docs + generated by Doxygen 1.8.11. Hopefully it will show up at + https://developer.gnome.org/libsigc++/stable/ + +------------------------------------------------------------------- +Fri Nov 30 18:26:50 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 2.10.1: + + signal_impl::clear(): Don't clear the slot list during signal + emission, to prevent a segfault. And add a test for this. + + slot_base::set_parent(): Create a dummy slot_rep if necessary. + + Avoid compiler warnings from function pointer conversions. + + Build: + - Make --disable-benchmark work. + - Replace the Visual Studio project files with MSVC NMake + project files. + - Add MSVC_NMake/README.txt for Visual Studio builds. + + Documentation: + - signal_base: Warn against deletion during emission. + - Update links in README, configure.ac, libsigcplusplus.doap. + +------------------------------------------------------------------- +Wed Feb 28 16:36:21 UTC 2018 - dimstar@opensuse.org + +- Modernize spec-file by calling spec-cleaner + +------------------------------------------------------------------- +Thu Feb 9 14:03:31 UTC 2017 - dimstar@opensuse.org + +- Explicitly BuildRequire m4 + +------------------------------------------------------------------- +Mon Dec 5 14:23:11 UTC 2016 - jengelh@inai.de + +- RPM group reassignment +- Drop --with-pic, we build no static libs for which it is meant + +------------------------------------------------------------------- +Tue Sep 20 10:24:32 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.10.0: + + Fix silent builds (bgo#768797). + +------------------------------------------------------------------- +Wed Jul 6 10:24:53 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.9.3: + + signal: + - Deprecate slots(). + - Deprecate emit_reverse(). + + Benchmark: Update it and use boost::timer, and actually build + it, but not built by default. + + Build: Fix the build on MSVC++ 2013 and 2015 (bgo#767777). + +------------------------------------------------------------------- +Thu Jun 16 19:19:19 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.9.2: + + Minor documentation improvements. + + Some more minor uses of C++11 syntax. +- Changes from version 2.9.1: + + slot: Allow sigc::slot syntax, like std::function, + deprecating the sigc::slot syntax (bgo#763393). + + signal: Allow sigc::signal syntax, like + std::function, deprecating the sigc::signal syntax + (bgo#763393). + +------------------------------------------------------------------- +Thu Jun 16 19:19:09 UTC 2016 - zaitor@opensuse.org + +- No longer apply libsigc++-std-c11.patch for Tumbleweed, not + needed anymore since GCC 6. + +------------------------------------------------------------------- +Wed Mar 16 12:59:06 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.8.0: + + Documentation: Mention use with CMake. + +------------------------------------------------------------------- +Sat Mar 12 12:02:59 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.7.2: + + Deprecate sigc::ref() and sigc::reference_wrapper(), adding + support instead for std::ref(), std::cref(), and + std::reference_wrapper(). + + mem_fun(): Deprecate mem_fun(pointer, func). Leaving just + mem_fun(reference, func) (bgo#763215). + + Make all operator bool() explicit. (A C++11 feature). + + Build: + - Remove some now-unnecessary configure checks (bgo#762065). + - Update MSVC project. + + Documentation: Improve the documentation of mem_fun(), making + it clear that mem_fun() does not return a slot. + +------------------------------------------------------------------- +Tue Mar 1 12:36:55 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.7.1: + + signal: Add a moving connect() method, taking an rvalue + reference to a slot (bgo#756484). + + can_deduce_result_type_with_decltype: Rename the check() + methods to checksize(). check() is a preprocessor macro in Mac + OS X (bgo#759315). + + Temporarily undefine the nil macro, if it's defined. nil is a + preprocessor macro in Objective-C++ and Mac OS X (bgo#695235). + + Correct the mem_functor<> declarations. + +------------------------------------------------------------------- +Thu Feb 4 23:11:56 UTC 2016 - dimstar@opensuse.org + +- Add libsigc++-std-c11.patch: Add -std=c11 to CFLAGS in the .pc + file. This allows other packages building against libsigc++ to + be aware of the C11 requirement we bring. libsigc++ itself checks + for the availability during configure, so it is safe to pass this + requirement on. + +------------------------------------------------------------------- +Sun Nov 22 15:17:41 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.6.2: + + slot: Handle auto-disconnection when a slot contains a slot + (bgo#755003). + + slot and signal: Correct move constructors and move + assignments (bgo#756484). + + trackable, slot_base, signal_base, connection: Add some + noexcept specs (bgo#756484). + + trackable, slot, signal: Remove noexcept from move operations + (bgo#756484). + + slot and signal: Add missing move constructors and move + assignments (bgo#756484). + + signal_impl: =delete copy and move operations (bgo#756484). + + typed_slot_rep: =delete unimplemented copy and move operations + (bgo#756484). + + slot_rep: =delete copy and move operations (bgo#756484). + +------------------------------------------------------------------- +Wed Sep 30 10:15:35 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.6.1: + + Add back deprecated adaptors/lambda API to avoid an unintented + ABI break (bgo#755550). + + sigc::trackable: Move operations: Don't move the callback list + (bgo#755393). +- Changes from version 2.6.0: + + C++11: deduce_result_type: Simplify with C++11 variadic + template (bgo#753612). + + Fix the build with MSVC (bgo#754082). + + Update the website. + +------------------------------------------------------------------- +Fri Sep 4 19:34:47 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.5.4: + + slot_base::operator=(const &): Copy the blocked too, so the + destionation is blocked if the source is blocked, regardless of + whether the destionation was previously blocked, because this + seems to be what we should expect. + + C++11: slot_base, slot*, signal_base, signal*, trackable: Add + move operations. + + Update MSVC Projects, requiring at least MSVC++ .Net 2013 for + C++11 support. + +------------------------------------------------------------------- +Sat Aug 29 22:11:18 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.5.3: + + Use C++11 "using" aliases to simplify code that uses type + traits (bgo#753580). + +------------------------------------------------------------------- +Thu Aug 20 20:07:47 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.5.2: + + Remove useless headers: + - sigc++/class_slot.h + - sigc++/hide.h + - sigc++/method_slot.h + - sigc++/object.h + - sigc++/object_slot.h + - sigc++/retype.h + Some of these still have equivalents in sigc++/adaptors/ + (bgo#752560). + + C++11: + - Replace deprecated std::auto_ptr by std::unique_ptr. + - Use std::is_base_of<> instead of our + sigc::is_base_and_derived<>, removing + sigc::is_base_and_derived<>. (bgo#752560). + - Use of range-based for loops. + - Use of the auto keyword. + - Use of nullptr instead of 0. + + sigc++/slot.h: Use a regular .h file instead of generating it + from an .m4 file (bgo#752560). + + Visual Studio Builds: Move 2010 Projects to 2012 to support + C++11. + + Use -Wformat-security and -Wshadow with + --enable-warnings=fatal. + +------------------------------------------------------------------- +Sun Jul 19 19:51:14 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.5.1: + + Use (and require) C++11. + + Using C++11 lambda functions to create sigc::slots: Avoid the + need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. + + Remove the already-deprecated sigc::lambda (and sigc::group) + API. This is an API change but should not be an ABI change, so + it should only affect you when rebuilding applications, if you + use this API. + +------------------------------------------------------------------- +Sun Mar 1 13:14:41 UTC 2015 - badshah400@gmail.com + +- Update to version 2.4.1: + + A slot's functor is destroyed when an empty slot is assigned + to the slot (bgo#738602). + + test_disconnect_during_emit tests that the slot is really + disconnected during signal emission. + +------------------------------------------------------------------- +Mon Sep 15 16:26:15 UTC 2014 - zaitor@opensuse.org + +- Update to version 2.4.0: + + Fix the test_lambda test case for MS Visual C++ 2013 and other + C++11-compliant compilers (bgo#734368). + + Add a missing #include in limit_reference.h. + + Documentation: Use doxygen-extra.css from the mm-common + package. Requires mm-common 0.9.7 when configured to use + maintainer-mode. +- Drop libsigc++2-includes.patch: Fixed upstream. + +------------------------------------------------------------------- +Tue Aug 26 20:09:45 UTC 2014 - dimstar@opensuse.org + +- Add libsigc++2-includes.patch: Add an include in + limit_reference.h. + +------------------------------------------------------------------- +Fri Aug 1 09:24:57 UTC 2014 - zaitor@opensuse.org + +- Update to version 2.3.2: + + Note: The implementation of bgo#724496 breaks API for some + users, but it does not break ABI. Only users who have added + their own visit_each() overloads are affected by the API break. + Their programs will still compile, but there will be run-time + errors, if they rely on auto-disconnection of slots. Updated + instructions for users who implement their own adaptors are + found in the description of sigc::adapts<>. + + Replace visit_each() overloads by struct visitor<>. Add the + test_visit_each test case (bgo#724496). + + signal_impl::notify(): Don't delete signal_impl during erase() + (bgo#564005). + + Fix 'make check' with clang++ 3.4 and --enable-warnings=fatal + (bgo#724496). + + Fix test_cpp11_lambda for gcc 4.8. + + Speed up disconnection of slots (bgo#167714). + + Auto-generate the ChangeLog from the git log for 'make dist'. + + Don't use __file__ in the FIREWALL m4 macro (bgo#699168). + + Add the track_obj() adaptor and test_track_obj test case. + Deprecate libsigc++ lambdas, sigc::group() and sigc::var(). Use + C++11 lambda expressions instead (bgo#672555). + + Documentation: + - Emphasize that signals are reference counted (bgo#611941). + - Mention std::function<> and std::bind() where appropriate. + - Use DOXYGEN_SHOULD_SKIP_THIS consistently to exclude internal + functions from the reference documentation. + + Windows: + - Enable C++11 lambda expressions with MS Visual Studio 2012 + and later (bgo#733752). + - Update MSVC_Net2010 (bgo#724496). + +------------------------------------------------------------------- +Sat Oct 20 19:59:15 UTC 2012 - zaitor@opensuse.org + +- Update to version 2.3.1: + + signal_base: Add blocked(), block(), unblock(). (bgo#153780). + +------------------------------------------------------------------- +Mon Sep 24 07:57:39 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.2.11: + + Fix comma operator in libsigc++ lambda expressions (bgo#342911) + + Added SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE + (bgo#672555) + + Use std::size_t and std::ptrdiff_t instead + + Fix 'make check' with gcc 4.7. + + Enable test_lambda in 'make check' (bgo#669128). +- Clean spec-file using spec-cleaner. + +------------------------------------------------------------------- +Mon Jul 25 11:01:18 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.2.10: + + slot_rep: Avoid access to deleted object in notify(), and test + case (bgo#564005). + + Mention visit_each() in the documentation of sigc::adapts. + +------------------------------------------------------------------- +Wed May 4 10:33:03 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.2.9: + + trackable: Avoid calling the same callback function twice, + fixing some memory corruption (bgo#589202) + + Minor documentation corrections + + Fix the build with GCC 4.6 + + Windows build fixes for MSVC++ .Net 2005 and 2010 +- Drop libsigc++2-gcc46.patch: fixed upstream. +- Change libsigc++2 Obsoletes from <= to < now that we have a new + upstream version. + +------------------------------------------------------------------- +Wed Mar 16 08:57:51 UTC 2011 - ismail@namtrac.org + +- Add libsigc++2-gcc46.patch: Patch from upstream + to fix compilation with gcc 4.6 + +------------------------------------------------------------------- +Mon Oct 11 19:53:12 CEST 2010 - vuntz@opensuse.org + +- Update packaging to use the shared library packaging policy: + + Create libsigc-2_0-0 subpackage. + + Add Provides/Obsoletes for libsigc++2 to libsigc-2_0-0. + + Update baselibs.conf accordingly. + +------------------------------------------------------------------- +Fri Jul 23 12:51:34 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.2.8: + + Nothing interesting. Just a small change for library.gnome.org. + +------------------------------------------------------------------- +Fri May 7 00:40:13 CEST 2010 - dimstar@opensuse.org + +- Update to version 2.2.7: + + Documentation: + - Added main page text with doxygen. + - Fix the functors Doxygen group. + - bgo#417924: Tutorial: Removed outdated marshallers section + that had no working example. +- Changes from version 2.2.6: + + bgo#614741: Slight documentation changes. + +------------------------------------------------------------------- +Sat Apr 24 10:20:09 UTC 2010 - coolo@novell.com + +- buildrequire pkg-config to fix provides + +------------------------------------------------------------------- +Mon Mar 29 12:35:13 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.2.5: + + Accumulators: Allow return types that are different to the + signal's. + + Documentation: + - Disable collaboration graphs in documentation + - Use non-blurry font for graph labels. + - sigc::hide() correction: It always only hides one signal + argument. + + Fix the MSVC++ build. + +------------------------------------------------------------------- +Mon Feb 1 11:54:24 UTC 2010 - jengelh@medozas.de + +- Package baselibs.conf + +------------------------------------------------------------------- +Thu Sep 3 10:01:53 CEST 2009 - vuntz@novell.com + +- Update to version 2.2.4.2: + + Namespace sigc is now documented, in order to make large chunks + of the reference reappear. + + The shipped reference documentation has been regenerated using + Doxygen 1.6.1, so that the document type is now XHTML 1.0. + + The shipped Devhelp file has been generated with a newer + version of the XSLT script in mm-common, so that documentation + groups no longer appear as namespace prefixes in the keyword + list. + +------------------------------------------------------------------- +Fri Aug 28 20:30:51 CEST 2009 - vuntz@novell.com + +- Update to version 2.2.4.1: + + Reenable the per-class hierarchy graphs in the reference + documentation. + + Drop the custom HTML header and footer, and use the shared + doxygen.css file from mm-common. +- Simplify the packaging: we were doing complex things for + documentation, that are really not needed; no need to package the + tests either. + +------------------------------------------------------------------- +Thu Aug 27 09:40:30 CEST 2009 - dimstar@opensuse.org + +- Update to version 2.2.4: + + New build system based on mm-common. The mm-common module is + now required for building from the git repository, but not for + builds of release archives. + + The public reference documentation is now hosted on + library.gnome.org + +------------------------------------------------------------------- +Fri Jan 23 03:02:57 CET 2009 - vuntz@novell.com + +- Drop libsigc++2-gcc43.patch: seems to build fine without it now. + +------------------------------------------------------------------- +Sat Dec 20 11:31:16 EST 2008 - mboman@suse.de + +- Update to version 2.2.3: + - Added project files (and property sheets) for + MSVC++ 2005 and 2008. + - Removed unnecessary dependency on afxrefs.h, so it builds + with MSVC++ Express editions. + +------------------------------------------------------------------- +Sun Sep 14 04:36:50 CEST 2008 - crrodriguez@suse.de + +- remove static libraries and useless "la" file +- run test suite + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Wed Apr 2 16:46:39 CEST 2008 - rodrigo@suse.de + +- Update to version 2.2.2: + * Added an include of functors/slot.h that was mistakenly removed + during the 2.1 series (bgo#521418) + +------------------------------------------------------------------- +Fri Oct 12 11:37:19 CEST 2007 - rguenther@suse.de + +- Add patch to fix C++ problems, enables building with GCC 4.3. + +------------------------------------------------------------------- +Wed Sep 19 16:32:29 CEST 2007 - sbrabec@suse.cz + +- Updated to version 2.0.18: + * Fix a build error in the examples, on Sun CC. + +------------------------------------------------------------------- +Tue Jan 23 01:48:42 CET 2007 - ro@suse.de + +- drop requires for gnome-filesystem + +------------------------------------------------------------------- +Fri Jan 12 15:09:37 CET 2007 - sbrabec@suse.cz + +- Spec file cleanup. + +------------------------------------------------------------------- +Mon Dec 18 11:53:28 CST 2006 - maw@suse.de + +- Move to /usr. + +------------------------------------------------------------------- +Wed Jan 25 21:32:26 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Jan 17 12:29:36 CET 2006 - lmichnovic@suse.cz + +- Updated to version 2.0.17 + +------------------------------------------------------------------- +Thu Aug 4 15:42:16 CEST 2005 - sbrabec@suse.cz + +- Updated to version 2.0.16. + +------------------------------------------------------------------- +Mon Jun 13 14:53:58 CEST 2005 - sbrabec@suse.cz + +- Updated to version 2.0.14. + +------------------------------------------------------------------- +Thu Feb 10 16:05:31 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.0.6 (branch 2.0). + +------------------------------------------------------------------- +Mon Feb 23 17:45:25 CET 2004 - ro@suse.de + +- fix pkgconfig file on lib64 + +------------------------------------------------------------------- +Wed Feb 18 18:19:24 CET 2004 - ro@suse.de + +- fix build on recent platforms by running autoreconf + (configure.in hacks from libsigc++ package) + +------------------------------------------------------------------- +Fri Feb 13 14:01:32 CET 2004 - sbrabec@suse.cz + +- Initial SuSE package version 1.2.5. + diff --git a/libsigc++2.spec b/libsigc++2.spec new file mode 100644 index 0000000..ca65e4e --- /dev/null +++ b/libsigc++2.spec @@ -0,0 +1,102 @@ +# +# spec file for package libsigc++2 +# +# Copyright (c) 2023 SUSE LLC +# +# 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 https://bugs.opensuse.org/ +# + + +%define _name libsigc++ +Name: libsigc++2 +Version: 2.12.0 +Release: 0 +Summary: Typesafe Signal Framework for C++ +License: LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: http://libsigc.sourceforge.net/ +Source0: https://download.gnome.org/sources/libsigc++/2.12/%{_name}-%{version}.tar.xz +Source99: baselibs.conf + +BuildRequires: gcc-c++ +BuildRequires: meson >= 0.54.0 +BuildRequires: pkgconfig + +%description +This library implements a full callback system for use in widget +libraries, abstract interfaces, and general programming. It is the most +complete library of its kind with the ability to connect an abstract +callback to a class method, function, or function object. It contains +adaptor classes for connection of dissimilar callbacks and has an ease +of use unmatched by other C++ callback libraries. + +%package -n libsigc-2_0-0 +Summary: Typesafe Signal Framework for C++ +Group: System/Libraries +Provides: %{name} = %{version} +Obsoletes: %{name} < %{version} + +%description -n libsigc-2_0-0 +This library implements a full callback system for use in widget +libraries, abstract interfaces, and general programming. It is the most +complete library of its kind with the ability to connect an abstract +callback to a class method, function, or function object. It contains +adaptor classes for connection of dissimilar callbacks and has an ease +of use unmatched by other C++ callback libraries. + +%package devel +Summary: Typesafe Signal Framework for C++ +Group: Development/Libraries/C and C++ +Requires: libsigc-2_0-0 = %{version} +Requires: libstdc++-devel + +%description devel +This library implements a full callback system for use in widget +libraries, abstract interfaces, and general programming. It is the most +complete library of its kind with the ability to connect an abstract +callback to a class method, function, or function object. It contains +adaptor classes for connection of dissimilar callbacks and has an ease +of use unmatched by other C++ callback libraries. + +%prep +%setup -q -n %{_name}-%{version} + +# Remove executable bit in NEWS... +chmod -x NEWS + +%build +%meson +%meson_build + +%install +%meson_install + +%check +export MALLOC_CHECK_=2 MALLOC_PERTURB_=$((${RANDOM:-256} % 256)) +%meson_test +unset MALLOC_CHECK_ MALLOC_PERTURB_ + +%post -n libsigc-2_0-0 -p /sbin/ldconfig +%postun -n libsigc-2_0-0 -p /sbin/ldconfig + +%files -n libsigc-2_0-0 +%license COPYING +%doc AUTHORS ChangeLog NEWS +%{_libdir}/libsigc-2.0.so.* + +%files devel +%{_libdir}/libsigc-2.0.so +%{_libdir}/pkgconfig/*.pc +%{_libdir}/sigc++-2.0 +%{_includedir}/sigc++-2.0/ + +%changelog