Sync from SUSE:SLFO:Main libsigc++3 revision 934286e3c8845f996d1ef895595e839b

This commit is contained in:
Adrian Schröter 2024-05-03 15:51:34 +02:00
commit 0c2ca506eb
5 changed files with 431 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

3
baselibs.conf Normal file
View File

@ -0,0 +1,3 @@
libsigc-3_0-0
provides "libsigc++3-<targettype> = <version>"
obsoletes "libsigc++3-<targettype> < <version>"

BIN
libsigc++-3.6.0.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

300
libsigc++3.changes Normal file
View File

@ -0,0 +1,300 @@
-------------------------------------------------------------------
Sun Oct 1 09:21:53 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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<signal_impl> 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<T_Target>: Rename to
limit_trackable_target<> and visit_each_type<T_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<R(Args...)> and sigc::signal<R(Args...)>
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.

102
libsigc++3.spec Normal file
View File

@ -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