- update to 14.2.5:
* reproc_strerror: avoid undefined behaviour for error == INT_MIN - drop gcc13.patch (upstream) - update to 14.1.0 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/reproc?expand=0&rev=10
This commit is contained in:
commit
20a340dff9
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal 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
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
136
gcc13.patch
Normal file
136
gcc13.patch
Normal file
@ -0,0 +1,136 @@
|
||||
From 0b23d88894ccedde04537fa23ea55cb2f8365342 Mon Sep 17 00:00:00 2001
|
||||
From: Daan De Meyer <daan.j.demeyer@gmail.com>
|
||||
Date: Sat, 18 Mar 2023 19:38:19 +0100
|
||||
Subject: [PATCH] reproc++: Try to fix gcc 13 build
|
||||
|
||||
---
|
||||
reproc++/include/reproc++/reproc.hpp | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: reproc-14.2.4/reproc++/include/reproc++/reproc.hpp
|
||||
===================================================================
|
||||
--- reproc-14.2.4.orig/reproc++/include/reproc++/reproc.hpp
|
||||
+++ reproc-14.2.4/reproc++/include/reproc++/reproc.hpp
|
||||
@@ -88,7 +88,7 @@ struct redirect {
|
||||
|
||||
struct options {
|
||||
struct {
|
||||
- env::type behavior;
|
||||
+ enum env::type behavior;
|
||||
/*! Implicitly converts from any STL container of string pairs to the
|
||||
environment format expected by `reproc_start`. */
|
||||
class env extra;
|
||||
@@ -97,9 +97,9 @@ struct options {
|
||||
const char *working_directory = nullptr;
|
||||
|
||||
struct {
|
||||
- redirect in;
|
||||
- redirect out;
|
||||
- redirect err;
|
||||
+ struct redirect in;
|
||||
+ struct redirect out;
|
||||
+ struct redirect err;
|
||||
bool parent;
|
||||
bool discard;
|
||||
FILE *file;
|
||||
@@ -138,30 +138,12 @@ enum class stream {
|
||||
err,
|
||||
};
|
||||
|
||||
-class process;
|
||||
-
|
||||
namespace event {
|
||||
|
||||
-enum {
|
||||
- in = 1 << 0,
|
||||
- out = 1 << 1,
|
||||
- err = 1 << 2,
|
||||
- exit = 1 << 3,
|
||||
- deadline = 1 << 4,
|
||||
-};
|
||||
-
|
||||
-struct source {
|
||||
- class process &process;
|
||||
- int interests;
|
||||
- int events;
|
||||
-};
|
||||
+class source;
|
||||
|
||||
}
|
||||
|
||||
-REPROCXX_EXPORT std::error_code poll(event::source *sources,
|
||||
- size_t num_sources,
|
||||
- milliseconds timeout = infinite);
|
||||
-
|
||||
/*! Improves on reproc's API by adding RAII and changing the API of some
|
||||
functions to be more idiomatic C++. */
|
||||
class process {
|
||||
@@ -220,4 +202,26 @@ private:
|
||||
std::unique_ptr<reproc_t, reproc_t *(*) (reproc_t *)> impl_;
|
||||
};
|
||||
|
||||
+namespace event {
|
||||
+
|
||||
+enum {
|
||||
+ in = 1 << 0,
|
||||
+ out = 1 << 1,
|
||||
+ err = 1 << 2,
|
||||
+ exit = 1 << 3,
|
||||
+ deadline = 1 << 4,
|
||||
+};
|
||||
+
|
||||
+struct source {
|
||||
+ class process process;
|
||||
+ int interests;
|
||||
+ int events;
|
||||
+};
|
||||
+
|
||||
+}
|
||||
+
|
||||
+REPROCXX_EXPORT std::error_code poll(event::source *sources,
|
||||
+ size_t num_sources,
|
||||
+ milliseconds timeout = infinite);
|
||||
+
|
||||
}
|
||||
Index: reproc-14.2.4/reproc++/src/reproc.cpp
|
||||
===================================================================
|
||||
--- reproc-14.2.4.orig/reproc++/src/reproc.cpp
|
||||
+++ reproc-14.2.4/reproc++/src/reproc.cpp
|
||||
@@ -86,8 +86,9 @@ std::pair<bool, std::error_code> process
|
||||
std::pair<int, std::error_code> process::poll(int interests,
|
||||
milliseconds timeout)
|
||||
{
|
||||
- event::source source{ *this, interests, 0 };
|
||||
+ event::source source{ std::move(*this), interests, 0 };
|
||||
std::error_code ec = ::reproc::poll(&source, 1, timeout);
|
||||
+ *this = std::move(source.process);
|
||||
return { source.events, ec };
|
||||
}
|
||||
|
||||
|
||||
From 9f399675b821e175f85ac3ee6e3fd2e6056573eb Mon Sep 17 00:00:00 2001
|
||||
From: Daan De Meyer <daan.j.demeyer@gmail.com>
|
||||
Date: Fri, 21 Apr 2023 19:36:45 +0200
|
||||
Subject: [PATCH] Fix gcc 13 build
|
||||
|
||||
---
|
||||
reproc++/include/reproc++/reproc.hpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/reproc++/include/reproc++/reproc.hpp b/reproc++/include/reproc++/reproc.hpp
|
||||
index b52f495e..7b614a94 100644
|
||||
--- a/reproc++/include/reproc++/reproc.hpp
|
||||
+++ b/reproc++/include/reproc++/reproc.hpp
|
||||
@@ -88,10 +88,10 @@ struct redirect {
|
||||
|
||||
struct options {
|
||||
struct {
|
||||
- enum env::type behavior;
|
||||
+ reproc::env::type behavior;
|
||||
/*! Implicitly converts from any STL container of string pairs to the
|
||||
environment format expected by `reproc_start`. */
|
||||
- class env extra;
|
||||
+ reproc::env extra;
|
||||
} env = {};
|
||||
|
||||
const char *working_directory = nullptr;
|
3
reproc-14.2.4.tar.gz
Normal file
3
reproc-14.2.4.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:55c780f7faa5c8cabd83ebbb84b68e5e0e09732de70a129f6b3c801e905415dd
|
||||
size 64956
|
3
reproc-14.2.5.tar.gz
Normal file
3
reproc-14.2.5.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69467be0cfc80734b821c54ada263c8f1439f964314063f76b7cf256c3dc7ee8
|
||||
size 65290
|
53
reproc.changes
Normal file
53
reproc.changes
Normal file
@ -0,0 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 10 13:26:04 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 14.2.5:
|
||||
* reproc_strerror: avoid undefined behaviour for error == INT_MIN
|
||||
- drop gcc13.patch (upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 19 08:08:57 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- gcc13.patch: refresh with the patch that landed upstream
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 4 21:15:55 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add gcc13.patch to fix build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 24 08:58:37 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 14.2.4:
|
||||
* Bugfix: Fix a memory leak in `reproc_start()` on Windows
|
||||
* Bugfix: Fix a memory leak in reproc++ `array` class move
|
||||
constructor.
|
||||
* Allow passing zero-sized array's to reproc's `input` option
|
||||
* Bugfix: Fix sign of EWOULDBLOCK error returned from
|
||||
`reproc_read`.
|
||||
* Bugfix: Disallow using `fork` option when using `reproc_run`.
|
||||
* Bugfix: `reproc_run` now handles forked child processes
|
||||
correctly.
|
||||
* Bugfix: Sinks of different types can now be passed to
|
||||
`reproc::drain`.
|
||||
* Bugfix: Processes on Windows returning negative exit codes
|
||||
don't cause asserts anymore.
|
||||
* Bugfix: Dependency on librt on POSIX (except osx) systems is
|
||||
now explicit in CMake.
|
||||
* Bugfix: Added missing stdout redirect option to reproc++.
|
||||
* Added `reproc_pid`/`process::pid` to get the pid of the
|
||||
process
|
||||
* Fixed compilation error when including reproc/drain.h in C++
|
||||
code
|
||||
* Added missing extern "C" block to reproc/run.h
|
||||
- run tests
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 31 15:00:45 UTC 2020 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- update to 14.1.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 31 00:32:43 UTC 2020 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- initial
|
95
reproc.spec
Normal file
95
reproc.spec
Normal file
@ -0,0 +1,95 @@
|
||||
#
|
||||
# spec file for package reproc
|
||||
#
|
||||
# Copyright (c) 2024 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 lib_name libreproc14
|
||||
%define libpp_name libreproc++14
|
||||
Name: reproc
|
||||
Version: 14.2.5
|
||||
Release: 0
|
||||
Summary: A cross-platform (C99/C++11) process library
|
||||
License: MIT
|
||||
URL: https://github.com/DaanDeMeyer/reproc
|
||||
Source: https://github.com/DaanDeMeyer/reproc/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pkgconfig
|
||||
|
||||
%description
|
||||
reproc (Redirected Process) is a cross-platform C/C++ library that simplifies starting, stopping and communicating with external programs. The main use case is executing command line applications directly from C or C++ code and retrieving their output.
|
||||
|
||||
%package -n %{lib_name}
|
||||
Summary: Shared library for reproc
|
||||
|
||||
%description -n %{lib_name}
|
||||
reproc (Redirected Process) is a cross-platform C/C++ library that simplifies starting, stopping and communicating with external programs. The main use case is executing command line applications directly from C or C++ code and retrieving their output.
|
||||
|
||||
This package holds the shared library for reproc.
|
||||
|
||||
%package -n %{libpp_name}
|
||||
Summary: Shared library for reproc
|
||||
|
||||
%description -n %{libpp_name}
|
||||
reproc (Redirected Process) is a cross-platform C/C++ library that simplifies starting, stopping and communicating with external programs. The main use case is executing command line applications directly from C or C++ code and retrieving their output.
|
||||
|
||||
This package holds the shared library for reproc.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for reproc
|
||||
Requires: %{lib_name} = %{version}
|
||||
Requires: %{libpp_name} = %{version}
|
||||
|
||||
%description devel
|
||||
reproc (Redirected Process) is a cross-platform C/C++ library that simplifies starting, stopping and communicating with external programs. The main use case is executing command line applications directly from C or C++ code and retrieving their output.
|
||||
|
||||
This package holds the development files for reproc.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%cmake -DREPROC++:BOOL=ON -DREPROC_TEST=ON
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
%check
|
||||
%ctest
|
||||
|
||||
%post -n %{lib_name} -p /sbin/ldconfig
|
||||
%postun -n %{lib_name} -p /sbin/ldconfig
|
||||
%post -n %{libpp_name} -p /sbin/ldconfig
|
||||
%postun -n %{libpp_name} -p /sbin/ldconfig
|
||||
|
||||
%files -n %{lib_name}
|
||||
%license LICENSE
|
||||
%doc *.md
|
||||
%{_libdir}/libreproc.so.*
|
||||
|
||||
%files -n %{libpp_name}
|
||||
%license LICENSE
|
||||
%doc *.md
|
||||
%{_libdir}/libreproc++.so.*
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libreproc*.so
|
||||
%{_includedir}/reproc*/
|
||||
%{_libdir}/cmake/reproc*/
|
||||
%{_libdir}/pkgconfig/reproc*.pc
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user