From 82fefd0cb1240bb2dc4433b63bd58d027014ffc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Tue, 20 Feb 2024 00:08:01 +0100 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 libsigc++3 revision 934286e3c8845f996d1ef895595e839b --- .gitattributes | 23 ++++ baselibs.conf | 3 + libsigc++-3.6.0.tar.xz | 3 + libsigc++3.changes | 300 +++++++++++++++++++++++++++++++++++++++++ libsigc++3.spec | 102 ++++++++++++++ 5 files changed, 431 insertions(+) create mode 100644 .gitattributes create mode 100644 baselibs.conf create mode 100644 libsigc++-3.6.0.tar.xz create mode 100644 libsigc++3.changes create mode 100644 libsigc++3.spec 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..f2cb391 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,3 @@ +libsigc-3_0-0 + provides "libsigc++3- = " + obsoletes "libsigc++3- < " diff --git a/libsigc++-3.6.0.tar.xz b/libsigc++-3.6.0.tar.xz new file mode 100644 index 0000000..bdbfacd --- /dev/null +++ b/libsigc++-3.6.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3d23b37dfd6e39f2e09f091b77b1541fbfa17c4f0b6bf5c89baef7229080e17 +size 991392 diff --git a/libsigc++3.changes b/libsigc++3.changes new file mode 100644 index 0000000..2d039be --- /dev/null +++ b/libsigc++3.changes @@ -0,0 +1,300 @@ +------------------------------------------------------------------- +Sun Oct 1 09:21:53 UTC 2023 - Bjørn Lie + +- Update to version 3.6.0: + + sigc++config.h.*: Update and clean up a bit for Visual Studio + + scoped_connection: New wrapper to auto-disconnect a slot + + signal: Add connect_first() + + Documentation: + - connection: Improve the class documentation + - Improve Visual Studio build documentation + - Remove AUTHORS and add general information to README.md + - manual: Add paragraph about new scoped_connection + + Tests: Add test_scoped_connection + + Build: + - Meson: + . Don't copy files with configure_file() + . Fix the evaluation of is_git_build on Windows + . Don't require the 'dot' command to build the documentation + - CMake: Prevent multiple target declaration for uninstall + - Visual Studio: Support static builds +- Use autosetup macro. + +------------------------------------------------------------------- +Sun Oct 1 08:25:14 UTC 2023 - Bjørn Lie + +- Update to version 3.4.0: + + Add track_object(), deprecate track_obj() + + Add trackable_signal_with_accumulator and trackable_signal + + Examples, tests: + - examples/member_method: Make on_print() non-virtual + - test_accumulated.cc: clang++ requires another 'template' + - test_limit_reference.cc: Don't use auto where a slot is + required + + Documentation: signal::make_slot(): Note that signal does not + derive from trackable + + Build: + - Meson, MSVC: Compensate for the lack of + msvc_recommended_pragmas.h + - Fix build with -Dbuild-deprecated-api=false + - Meson: + . Avoid configuration warnings + . Detect if we build from a git subtree + . Simplify lookup of python command + . Add build_tests option +- Use ldconfig_scriptlets macro for post(un) handling. +- Update URL to new home. + +------------------------------------------------------------------- +Fri Feb 11 17:14:39 UTC 2022 - Bjørn Lie + +- Update to version 3.2.0: + + Allow slots with rvalue reference parameters + + 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 + - ptr_fun(), mem_fun() docs: Remove left-overs from sigc++-2.0 + - Fix links to sigc::slot and sigc::signal + +------------------------------------------------------------------- +Wed Nov 25 21:27:33 UTC 2020 - Bjørn Lie + +- Update to version 3.0.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 +- Remove mm-common BuildRequires: no longer needed after the switch + to meson. + +------------------------------------------------------------------- +Mon Nov 23 17:48:01 UTC 2020 - dimstar@opensuse.org + +- Update to version 3.0.4: + + Build: + - Meson build: Set default value of the 'warnings' option to + 'min'. + - NMake Makefiles: Several improvements + - Update for Doxygen >= 1.8.16 + + Updated documentation. +- Switch to meson build system: + + Add meson BuildRequires. + + Replace configure/make/make_install macros with their meson + counterparts. + + No longer ship the htmldoc as part of the devel package. + +------------------------------------------------------------------- +Wed Mar 25 13:46:32 UTC 2020 - Bjørn Lie + +- Update to version 3.0.3: + + Build: + - docs/docs/reference/meson.build: Check if perl is found. + - README.md: Describe building with Meson. + + Examples: Add example of using libsigc++ with Qt. + + Tests: Replace C-style casts with static_cast<>. + +------------------------------------------------------------------- +Wed Jan 1 19:20:52 UTC 2020 - Bjørn Lie + +- Update to version 3.0.2: + + Build: Meson build improvements. +- Changes from version 3.0.1: + + Build: + - Add meson build, alongside the existing autotools and CMake + builds. + - CMake: Fix the MSVC build, enable warnings, and disable + unnecessary warnings, with MVSC. + + connection: Allow copying of empty connections. + + sigc++/adaptors/bind.h: Make bind_functor::bound_ public. + + test_limit_reference: Avoid virtual-move-assign warning. + + signal: slot_iterator_buf: Remove unused T_result default type. + + tests: Slight cleanups. + + Remove unused #ifdefed code. + +------------------------------------------------------------------- +Sat Sep 7 17:43:38 UTC 2019 - Bjørn Lie + +- Update to version 3.0.0: + + Fix tuple_transform_each() for libc++. + + Documentation: Remove some obsolete documentation. + + Tests: + - Make test_track_obj.cc compile with clang++. + - Don't call static method via instance. + +------------------------------------------------------------------- +Wed Aug 28 14:31:39 CST 2019 - yfjiang@suse.com + +- Update to version 2.99.13: + + Replace the deprecated std::result_of with std::invoke_result. + + Build: CMake: Supply SIGC_BUILD and use CMAKE_CXX_STANDARD. + + Documentation: + - Remove some obsolete documentation. + - Rename README to README.md and update it. + - Reference docs generated by Doxygen 1.8.11. Hopefully it will + show up at https://developer.gnome.org/libsigc++/unstable/ + + Tests: Add some necessary #include directives. + +------------------------------------------------------------------- +Mon Dec 3 18:01:19 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 2.99.12: + + Avoid compiler warnings from function pointer conversions. + + Build: + - Replace the Visual Studio project files with MSVC NMake + project files. + - Add MSVC_NMake/README.txt for Visual Studio builds. + - cmake: Require C++17 support. + + Documentation: + - Update links in README, configure.ac, libsigcplusplus.doap. + - README: Update compiler requirement. + +------------------------------------------------------------------- +Tue Apr 10 21:07:35 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 2.99.11: + + libsigc++-3.0 now requires C++17. Use of C++17: + - Use std::apply to simplify implementation. + - Use std::invoke to make implementation more generic. + - Use constexpr if to simplify implementation. + + Build: Require mm-common 0.9.12. +- Add mm-common BuildRequires: New dependency. + +------------------------------------------------------------------- +Wed Feb 28 16:36:25 UTC 2018 - dimstar@opensuse.org + +- Modernize spec-file by calling spec-cleaner + +------------------------------------------------------------------- +Thu Jan 11 01:37:44 UTC 2018 - luc14n0@linuxmail.org + +- Update to version 2.99.10: + + slot_base::set_parent(): Create a dummy slot_rep if necessary + (bgo#167714). +- Adopt the use of %make_build macro rather than raw make command, + following the best practices. + +------------------------------------------------------------------- +Mon Aug 7 12:14:55 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.99.9: + + signal_impl::clear(): Don't clear the slot list during signal + emission, to prevent a segfault. And add a test for this + (bgo#784550). + + Remove signal_base::erase() and signal_impl::erase() + (bgo#784550). + + Various minor code cleanups. + + Windows: Update the MS Visual Studio build. +- Move AUTHORS, ChangeLog, NEWS, README to devel package, mainly + developers would care for those files, silence a rpmlint warning. + +------------------------------------------------------------------- +Tue Feb 14 23:01:42 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.99.8: + + signal_impl: + - Use std::weak_ptr in connected slots, to avoid a + memory leak (bgo#775871). + - clear(): Really avoid erasing the slots prematurely. + + slot_rep: Make destructor, destroy, and clone() virtual, + instead of using function pointers that do the same thing + (bgo#777618). + + Build: + - Visual Studio builds: Require Visual Studio 2017. + - Add tests/memleakcheck.sh, to run the tests under valgrind + (bgo#775871). + + Make --disable-benchmark work (bgo#774732). + + Make silent builds really silent (bgo#768797). + +------------------------------------------------------------------- +Mon Dec 5 14:23:11 UTC 2016 - jengelh@inai.de + +- RPM group reassignment + +------------------------------------------------------------------- +Mon Jun 27 16:37:24 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.99.7: + + connection, slot_base: Use an internal::weak_raw_ptr<> to + simplify the code. + + signal_base: Do not derive from trackable. + + slot_rep: Pass a slot_rep*, not notifiable*, to destroy(). + + signal_impl: Do not derive from notifiable. + +------------------------------------------------------------------- +Thu May 5 11:23:45 UTC 2016 - jengelh@inai.de + +- Remove pointless --with-pic because shared libs are always + built with it anyway + +------------------------------------------------------------------- +Sat Apr 30 18:47:06 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.99.6: + + signal: + - Remove slots() and the container that it returns, and the + iterator for that container. + - connect(): Return a connection, instead of an iterator that + can be implicitly converted to a connection. + + Use std::shared_ptr<> for signal_impl reference-counting. + Instead of manual reference-counting (bgo#764935). + + slot: Use unique_ptr<> to avoid direct call of destructor + (bgo#764935). + + Add optional benchmark code, using boost::timer. + + Make some single-item constructors explicit. + + Make some member variables and methods private. + + Remove _ and __ prefixes on variables and parameters. + + Header guards: Remove leading underscores (and trailing + underscores). + + limit_derived_target: Rename to + limit_trackable_target<> and visit_each_type() to + visit_each_trackable() to make their purpose more obvious. + +------------------------------------------------------------------- +Thu Apr 14 15:24:48 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.99.5: + + Functors (mem_functor, ptr_functor) no longer need to derive + from a common functor_base base class, and functors no longer + need to have a result_type typedef or alias. + + Emitters and accumulators no longer need to have a result_type + typedef or alias. + + Remove now-unnecessary adaptor_type type aliases. + + Remove some more unused and unnecessary public type aliases. + +------------------------------------------------------------------- +Fri Apr 8 14:18:58 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.99.4: + + Minor documentation improvements. + + Make some constructors explicit. + + Some more minor uses of C++11 syntax. + + Remove unused SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. + + Reformat code with clang-format. + +------------------------------------------------------------------- +Fri Mar 18 11:06:07 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.99.3: + + bgo#763616: Correct the license of some header files from GPL + to LGPL. +- Change License to LGPL-3.0+ following upstreams changes. + +------------------------------------------------------------------- +Thu Mar 17 08:58:23 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.99.2: + + slots and signal: These should now be declared with the + sigc::slot and sigc::signal + syntax, like std::function<>. Version 2.9/2.10 of libsigc++-2.0 + supports both the old and new syntax. + + sigc::men_fun(): Take the instance by reference only. + +------------------------------------------------------------------- +Wed Mar 9 11:18:46 UTC 2016 - zaitor@opensuse.org + +- Initial packaging of libsigc++3 based on libsigc++2. + diff --git a/libsigc++3.spec b/libsigc++3.spec new file mode 100644 index 0000000..68a6356 --- /dev/null +++ b/libsigc++3.spec @@ -0,0 +1,102 @@ +# +# spec file for package libsigc++3 +# +# 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++3 +Version: 3.6.0 +Release: 0 +Summary: Typesafe Signal Framework for C++ +License: LGPL-3.0-or-later +Group: Development/Libraries/C and C++ +URL: https://libsigcplusplus.github.io/libsigcplusplus/ +Source0: https://download.gnome.org/sources/libsigc++/3.6/%{_name}-%{version}.tar.xz +Source99: baselibs.conf + +BuildRequires: gcc-c++ +BuildRequires: meson +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-3_0-0 +Summary: Typesafe Signal Framework for C++ +Group: System/Libraries +Provides: %{name} = %{version} +Obsoletes: %{name} < %{version} + +%description -n libsigc-3_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-3_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 +%autosetup -p1 -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_ + +%ldconfig_scriptlets -n libsigc-3_0-0 + +%files -n libsigc-3_0-0 +%license COPYING +%doc NEWS README.md +%{_libdir}/libsigc-3.0.so.* + +%files devel +%doc ChangeLog +%{_libdir}/libsigc-3.0.so +%{_libdir}/pkgconfig/*.pc +%{_libdir}/sigc++-3.0 +%{_includedir}/sigc++-3.0/ + +%changelog