commit f90b8946fcad0731a347d4285e08020c7ae519fa Author: zyppe <210hcl@gmail.com> Date: Thu Feb 29 14:39:42 2024 +0800 Initialize for libsigc++2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fb41395 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +libsigc++-2.10.7.tar.xz diff --git a/.libsigc++2.metadata b/.libsigc++2.metadata new file mode 100644 index 0000000..2e7972f --- /dev/null +++ b/.libsigc++2.metadata @@ -0,0 +1 @@ +e655561eeed1057eb2a6d3765a334c063c46887b63c0a439b2952148584f5bac libsigc++-2.10.7.tar.xz 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-remove-unnecessary-executable-flag-from-file.patch b/libsigc++2-remove-unnecessary-executable-flag-from-file.patch new file mode 100644 index 0000000..d00ea13 --- /dev/null +++ b/libsigc++2-remove-unnecessary-executable-flag-from-file.patch @@ -0,0 +1,3 @@ +diff --git a/NEWS b/NEWS +old mode 100755 +new mode 100644 diff --git a/libsigc++2.changes b/libsigc++2.changes new file mode 100644 index 0000000..774ef7e --- /dev/null +++ b/libsigc++2.changes @@ -0,0 +1,384 @@ +* Mon Apr 17 2023 qzhao@suse.com +- Add libsigc++2-remove-unnecessary-executable-flag-from-file.patch: + cancel executable permission for file + /usr/share/doc/packages/libsigc-2_0-0/NEWS(bsc#1209094,bsc#1209140). +* Fri May 21 2021 dimstar@opensuse.org +- 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 2020 bjorn.lie@gmail.com +- 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 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 2020 bjorn.lie@gmail.com +- 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 2019 bjorn.lie@gmail.com +- Drop conditional libsigc++-std-c11.patch: No longer needed for + any currently supported version of openSUSE. +- Use make_build macro. +* Wed Aug 14 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 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 2018 dimstar@opensuse.org +- Modernize spec-file by calling spec-cleaner +* Thu Feb 9 2017 dimstar@opensuse.org +- Explicitly BuildRequire m4 +* Mon Dec 5 2016 jengelh@inai.de +- RPM group reassignment +- Drop --with-pic, we build no static libs for which it is meant +* Tue Sep 20 2016 dimstar@opensuse.org +- Update to version 2.10.0: + + Fix silent builds (bgo#768797). +* Wed Jul 6 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 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 2016 zaitor@opensuse.org +- No longer apply libsigc++-std-c11.patch for Tumbleweed, not + needed anymore since GCC 6. +* Wed Mar 16 2016 dimstar@opensuse.org +- Update to version 2.8.0: + + Documentation: Mention use with CMake. +* Sat Mar 12 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 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 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 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 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 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 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 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 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 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 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 2014 dimstar@opensuse.org +- Add libsigc++2-includes.patch: Add an include in + limit_reference.h. +* Fri Aug 1 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 2012 zaitor@opensuse.org +- Update to version 2.3.1: + + signal_base: Add blocked(), block(), unblock(). (bgo#153780). +* Mon Sep 24 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 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 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 2011 ismail@namtrac.org +- Add libsigc++2-gcc46.patch: Patch from upstream + to fix compilation with gcc 4.6 +* Mon Oct 11 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 2010 vuntz@opensuse.org +- Update to version 2.2.8: + + Nothing interesting. Just a small change for library.gnome.org. +* Thu May 6 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 2010 coolo@novell.com +- buildrequire pkg-config to fix provides +* Mon Mar 29 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 2010 jengelh@medozas.de +- Package baselibs.conf +* Thu Sep 3 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 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 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 2009 vuntz@novell.com +- Drop libsigc++2-gcc43.patch: seems to build fine without it now. +* Sat Dec 20 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 2008 crrodriguez@suse.de +- remove static libraries and useless "la" file +- run test suite +* Thu Apr 10 2008 ro@suse.de +- added baselibs.conf file to build xxbit packages + for multilib support +* Wed Apr 2 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 2007 rguenther@suse.de +- Add patch to fix C++ problems, enables building with GCC 4.3. +* Wed Sep 19 2007 sbrabec@suse.cz +- Updated to version 2.0.18: + * Fix a build error in the examples, on Sun CC. +* Tue Jan 23 2007 ro@suse.de +- drop requires for gnome-filesystem +* Fri Jan 12 2007 sbrabec@suse.cz +- Spec file cleanup. +* Mon Dec 18 2006 maw@suse.de +- Move to /usr. +* Wed Jan 25 2006 mls@suse.de +- converted neededforbuild to BuildRequires +* Tue Jan 17 2006 lmichnovic@suse.cz +- Updated to version 2.0.17 +* Thu Aug 4 2005 sbrabec@suse.cz +- Updated to version 2.0.16. +* Mon Jun 13 2005 sbrabec@suse.cz +- Updated to version 2.0.14. +* Thu Feb 10 2005 sbrabec@suse.cz +- Updated to version 2.0.6 (branch 2.0). +* Mon Feb 23 2004 ro@suse.de +- fix pkgconfig file on lib64 +* Wed Feb 18 2004 ro@suse.de +- fix build on recent platforms by running autoreconf + (configure.in hacks from libsigc++ package) +* Fri Feb 13 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..679eba2 --- /dev/null +++ b/libsigc++2.spec @@ -0,0 +1,90 @@ +# +# spec file for package libsigc++2 +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +%define _name libsigc++ +Name: libsigc++2 +Version: 2.10.7 +Release: 150400.3.3.1 +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.10/%{_name}-%{version}.tar.xz +Source99: baselibs.conf +# PATCH-FIX-OPENSUSE libsigc++2-remove-unnecessary-executable-flag-from-file.patch bsc#1209094 bsc#1209140 qzhao@suse.com -- cancel executable permission for file /usr/share/doc/packages/libsigc-2_0-0/NEWS +Patch0: libsigc++2-remove-unnecessary-executable-flag-from-file.patch +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} +%patch0 -p1 + +%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 README +%{_libdir}/libsigc-2.0.so.* + +%files devel +%{_libdir}/libsigc-2.0.so +%{_libdir}/pkgconfig/*.pc +%{_libdir}/sigc++-2.0 +%{_includedir}/sigc++-2.0/ + +%changelog