Compare commits

...
Sign in to create a new pull request.

98 commits

Author SHA1 Message Date
Python Maint
30c8491338 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 14:59:34 +02:00
Python Maint
fb39649d74 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 15:20:11 +02:00
Fedora Release Engineering
1f82334fa8 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 19:16:25 +00:00
Python Maint
a727f7d828 Rebuilt for Python 3.14 2025-06-03 14:30:38 +02:00
Yaakov Selkowitz
2a9d5eb2df Fix build with GCC 15
https://github.com/apache/thrift/pull/3078
2025-03-18 23:29:17 -04:00
Fedora Release Engineering
99d304634a Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 12:45:33 +00:00
Fedora Release Engineering
5a6065456a Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 07:24:12 +00:00
Python Maint
029eb5b076 Rebuilt for Python 3.13 2024-06-08 22:34:18 +02:00
Orion Poplawski
42d2167811 Update to 0.20.0 2024-05-22 20:40:46 -06:00
Yaakov Selkowitz
dcddbdde35 Fix flatpak build
Python is part of the flatpak runtime and has its own macro to locate it.
Boost is not part of the runtime and therefore ends up in the same prefix.
Also, use %_prefix instead of /usr in the perl install fixups.
2024-05-16 14:25:07 -04:00
Fedora Release Engineering
4ced255634 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 06:04:56 +00:00
Fedora Release Engineering
d89e43e7d6 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 16:16:56 +00:00
Orion Poplawski
acc001c47a Re-enable LTO, seems to be working again 2023-06-16 10:05:49 -06:00
Orion Poplawski
7543be7106 Update to 0.15.0 2023-06-15 21:40:31 -06:00
Python Maint
f9e02420c8 Rebuilt for Python 3.12 2023-06-13 23:29:33 +02:00
Fedora Release Engineering
2e71c67eee Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 05:00:18 +00:00
Jitka Plesnikova
3c63baeede Remove perl(MODULE_COMPAT), it will be replaced by generators 2023-01-13 21:16:43 +01:00
Christopher Tubbs
c5f5a28be9 Convert license tags to SPDX 2022-11-18 11:16:37 -05:00
Fedora Release Engineering
a9d14cfc62 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 10:26:05 +00:00
Python Maint
a065d79174 Rebuilt for Python 3.11 2022-06-13 19:54:14 +02:00
Benjamin A. Beasley
634e406a86 Work around GCC 12 error by disabling LTO (close RHBZ#2046213) 2022-06-07 18:16:19 -04:00
Jitka Plesnikova
c03542a9b1 Perl 5.36 rebuild 2022-06-01 08:27:44 +02:00
Fedora Release Engineering
809f46c810 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 02:39:12 +00:00
Sahana Prasad
45924cc483 Rebuilt with OpenSSL 3.0.0 2021-09-14 19:16:31 +02:00
Fedora Release Engineering
a7ff3c27c9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 19:12:48 +00:00
Python Maint
6888753b89 Rebuilt for Python 3.10 2021-06-04 21:16:37 +02:00
Jitka Plesnikova
a5abe5fb6f Perl 5.34 rebuild 2021-05-23 02:21:08 +02:00
Orion Poplawski
4de2b22333 Add patch to fix compilation on non-x86 2021-02-17 18:50:01 -07:00
Orion Poplawski
2e9246ff7f Update to 0.14.0 (bz#1928172) CVE-2020-13949 2021-02-15 08:19:27 -07:00
Fedora Release Engineering
8b82732945 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 21:54:29 +00:00
Tom Stellard
a39efdcfc3 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-12 00:47:31 +00:00
Orion Poplawski
c7836e8a60 Add BR python3-setuptools 2020-10-05 19:44:17 -06:00
Christopher Tubbs
f37407955c rebuilt for side tag f34-build-side-30069 2020-09-23 09:07:32 -04:00
Orion Poplawski
eddb9dc730 Drop unneeded BR on flex-devel (bz#1871095) 2020-09-17 21:04:16 -06:00
Fedora Release Engineering
fa2b09f645 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 12:26:26 +00:00
Jitka Plesnikova
2567e0e791 Perl 5.32 rebuild 2020-06-23 11:39:46 +02:00
Miro Hrončok
a78384718c Rebuilt for Python 3.9 2020-05-26 03:51:54 +02:00
Fedora Release Engineering
73b2bcebf7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 01:30:12 +00:00
Orion Poplawski
4f8d42901c Fix perl dependencies
Explicitly disable lua
2019-12-04 20:49:42 -07:00
Orion Poplawski
68dbcde685 One more qt -> qt5 change 2019-12-02 21:57:10 -07:00
Orion Poplawski
2181c09e6f Update pom 2019-12-02 21:51:01 -07:00
Orion Poplawski
7b110fb215 Fix changelog date 2019-12-02 21:48:03 -07:00
Orion Poplawski
4242bafd94 - Update to 0.13.0 (bz#1778343)
- Drops fb303 package
- Switch to Qt5
2019-12-01 20:56:42 -07:00
Miro Hrončok
0d7379a253 Rebuilt for Python 3.8.0rc1 (#1748018) 2019-10-03 14:39:27 +02:00
Christopher Tubbs
1b0847d5b9 Fix FTBFS (by removing Java support) and fix Python3 issues (rhbz#1738810 and rhbz#1533306) 2019-08-20 14:04:30 -04:00
8d3e48896b Revert "thrift fails to build from source: https://bugzilla.redhat.com/show_bug.cgi?id=1676140"
This reverts commit 3f15a694db.

Unretirement request: https://pagure.io/releng/issue/8634
2019-08-20 08:48:25 +02:00
Fedora Release Engineering
3f15a694db thrift fails to build from source: https://bugzilla.redhat.com/show_bug.cgi?id=1676140 2019-08-08 16:44:55 +00:00
Fedora Release Engineering
e014bd753d - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-27 01:23:10 +00:00
Jitka Plesnikova
23934e6948 Perl 5.30 rebuild 2019-06-01 20:22:28 +02:00
Fedora Release Engineering
945537dbf9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 09:47:29 +00:00
Igor Gnatenko
45572459a3 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:52 +01:00
Igor Gnatenko
c168bd9f74
Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:41:09 +01:00
Christopher Tubbs
8e3a938d6b Rebuild to address transient error 2018-07-18 02:33:10 -04:00
Christopher Tubbs
4cdd59c42d Migrate to python3; rhbz#1533306 2018-07-18 01:59:18 -04:00
Fedora Release Engineering
dc4d73bb49 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 07:32:35 +00:00
Jitka Plesnikova
d348efa593 Perl 5.28 rebuild 2018-06-29 22:09:31 +02:00
Christopher Tubbs
0e241cd08a Fix FTBFS; update servlet-api dependency (rhbz#1581175) 2018-05-30 19:41:09 -04:00
Christopher Tubbs
f02e4292b5 Add gcc-c++ BuildRequires 2018-03-07 20:20:31 -05:00
Fedora Release Engineering
047ca65adf - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 18:54:58 +00:00
Christopher Tubbs
69be3d5433 Merge branch 'f26' into f27 2017-12-22 00:02:08 -05:00
Christopher Tubbs
123a89d00c Fix for rhbz#1507518 2017-12-21 23:46:44 -05:00
Fedora Release Engineering
bf1bea70d2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 09:23:30 +00:00
Fedora Release Engineering
d7dd118cbf - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 20:15:05 +00:00
Christopher Tubbs
16021f27d1 Fix FTBFS in rawhide: add BR javapackages-local 2017-07-06 15:46:47 -04:00
Jitka Plesnikova
708e41e099 Perl 5.26 rebuild 2017-06-05 01:34:25 +02:00
Fedora Release Engineering
8948eb896e - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild 2017-05-15 20:29:34 +00:00
Christopher Tubbs
bf1db3ac97 Fix ppc64le builds 2017-03-14 05:22:22 -04:00
Christopher Tubbs
9cb9bef0ac Build TNonblockingServer, remove useless man page, and use java-headless 2017-03-13 19:58:01 -04:00
Christopher Tubbs
3632b2acec Update to thrift 0.10.0 2017-03-07 17:20:17 -05:00
Fedora Release Engineering
3a041d9d4d - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 15:54:29 +00:00
Fedora Release Engineering
914411b1b1 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages 2016-07-19 12:51:12 +00:00
Petr Písař
dac3d53538 Mandatory Perl build-requires added <https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl> 2016-06-24 09:41:17 +02:00
Jitka Plesnikova
d7f0c11da1 Perl 5.24 rebuild 2016-05-17 04:49:36 +02:00
Petr Písař
1a66707c39 Adapt to GCC 6 (bug #1306671) 2016-03-30 15:58:44 +02:00
Fedora Release Engineering
f8fd41eccb - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-05 01:34:38 +00:00
Jonathan Wakely
23bd68014b Rebuilt for Boost 1.60 2016-01-16 00:37:14 +00:00
Peter Robinson
137c8a440a fix release 2015-11-23 13:08:21 +00:00
Marcin Juszkiewicz
781b311da5 Backport THRIFT-2214 fix to get package built on aarch64.
Signed-off-by: Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
2015-10-30 10:02:44 +01:00
Jonathan Wakely
36c8431993 Rebuilt for Boost 1.59 2015-08-27 19:39:54 +01:00
Dennis Gilmore
cad633395b - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 2015-07-29 13:26:45 -05:00
David Tardon
cf6430a84b rebuild for Boost 1.58 2015-07-22 19:40:08 +02:00
Dennis Gilmore
55e32b4311 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-19 02:51:39 +00:00
Jitka Plesnikova
bd7af67741 Perl 5.22 rebuild 2015-06-06 18:11:50 +02:00
Michal Srb
676ea30560 Fix FTBFS (Resolves: rhbz#1195364) 2015-04-24 17:11:20 +02:00
William Benton
fb9fad9c30 removed erlang-jsx dep on F22 2015-04-20 20:49:30 -05:00
Haikel Guemar
339818f39f Split Qt4/GLib runtimes into separate subpackages
- Drop mono support, it's broken and not even shipped (and it pulls mono-core)
2015-04-08 16:37:46 +02:00
Petr Machata
f965f68070 Rebuild for boost 1.57.0 2015-01-26 22:02:12 +01:00
Jitka Plesnikova
c1872678fc Perl 5.20 rebuild 2014-08-28 21:24:22 +02:00
Peter Robinson
4151a5dbc6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-18 05:39:14 +00:00
Petr Písař
1514020567 Use add_maven_depmap-generated file lists 2014-06-27 15:18:25 +02:00
Dennis Gilmore
7004fa594a - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-08 03:29:36 -05:00
Petr Machata
a2e6a685cc Rebuild for boost 1.55.0 2014-05-23 04:42:07 +02:00
Lubomir Rintel
c4ec814e71 Fix EPEL build 2014-05-05 11:39:47 +02:00
William Benton
dc1dbff43e fix bz 1068561 2014-02-21 08:53:32 -06:00
William Benton
2f2f8ddbf1 fixes BZ 1045544 2013-12-20 12:07:32 -06:00
William Benton
80f1fe9443 fixed spurious deps and misfiled versioned shlibs 2013-10-16 14:16:08 -05:00
Dan Horák
a429a0696a - Mono available only on selected arches 2013-10-16 12:07:17 +02:00
William Benton
6f3133f4c7 initial import of 0.9.1-7 2013-10-14 12:02:09 -05:00
9 changed files with 1267 additions and 0 deletions

6
.gitignore vendored
View file

@ -0,0 +1,6 @@
/0.9.1.tar.gz
/thrift-0.10.0.tar.gz
/thrift-0.13.0.tar.gz
/thrift-0.14.0.tar.gz
/thrift-0.15.0.tar.gz
/thrift-0.20.0.tar.gz

64
bootstrap.sh Normal file
View file

@ -0,0 +1,64 @@
#!/bin/sh
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
echo -n "make distclean... "
make -k distclean >/dev/null 2>&1
echo "ok"
if test -d lib/php/src/ext/thrift_protocol ; then
if phpize -v >/dev/null 2>/dev/null ; then
(cd lib/php/src/ext/thrift_protocol && phpize)
fi
fi
set -e
# libtoolize is called "glibtoolize" on OSX.
if libtoolize --version 1 >/dev/null 2>/dev/null; then
LIBTOOLIZE=libtoolize
elif glibtoolize --version 1 >/dev/null 2>/dev/null; then
LIBTOOLIZE=glibtoolize
else
echo >&2 "Couldn't find libtoolize!"
exit 1
fi
format_version () {
printf "%03d%03d%03d%03d" $(echo $1 | tr '.' ' ');
}
# we require automake 1.13 or later
# check must happen externally due to use of newer macro
AUTOMAKE_VERSION=`automake --version | grep automake | egrep -o '([0-9]{1,}\.)+[0-9]{1,}'`
if [ $(format_version $AUTOMAKE_VERSION) -lt $(format_version 1.13) ]; then
echo >&2 "automake version $AUTOMAKE_VERSION is too old (need 1.13 or later)"
exit 1
fi
set -e
autoscan
$LIBTOOLIZE --copy --automake
aclocal -I ./aclocal
autoheader
sed '/undef VERSION/d' config.hin > config.hin2
mv config.hin2 config.hin
autoconf
automake --copy --add-missing --foreign

View file

@ -0,0 +1,16 @@
diff --git a/configure.ac b/configure.ac
index 0972abf..77107fc 100755
--- a/configure.ac
+++ b/configure.ac
@@ -34,10 +34,7 @@ AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules.
AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"])
AC_ARG_VAR([JAVA_PREFIX], [Prefix for installing the Java lib jar.
- Default = "/usr/local/lib"])
-AS_IF([test "x$JAVA_PREFIX" != x], [JAVA_PREFIX="$JAVA_PREFIX/usr/local/lib"],
- [test "x$PREFIX" != x], [JAVA_PREFIX="$PREFIX/usr/local/lib"],
- [JAVA_PREFIX="/usr/local/lib"])
+ Default = "/usr/share/java"])
AC_ARG_VAR([RUBY_PREFIX], [Prefix for installing Ruby modules.
(Normal --prefix is ignored for Ruby because

47
gcc15.patch Normal file
View file

@ -0,0 +1,47 @@
From 1920f04398ca32e320f6cf942534ba9d8b3231fd Mon Sep 17 00:00:00 2001
From: Sutou Kouhei <kou@clear-code.com>
Date: Mon, 23 Dec 2024 12:33:22 +0900
Subject: [PATCH] THRIFT-5842: Add missing cstdint include for int64_t in
Mutex.h
Client: cpp
GCC 15 (not released yet) requires `#include <cstdint>` for `int64_t`
but `lib/cpp/src/thrift/concurrency/Mutex.h` doesn't have it. So we
can't build Thrift with GCC 15:
[80/359] Building CXX object lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o
FAILED: lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o
/bin/g++-15 -DBOOST_ALL_DYN_LINK -DBOOST_TEST_DYN_LINK -DTHRIFT_STATIC_DEFINE -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/kou/work/cpp/thrift.kou.build/lib/cpp -I/home/kou/work/cpp/thrift.kou/lib/cpp -I/home/kou/work/cpp/thrift.kou.build -I/home/kou/work/cpp/thrift.kou/lib/cpp/src -g -std=c++11 -MD -MT lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -MF lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o.d -o lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -c /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp
In file included from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TServerSocket.h:25,
from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.h:23,
from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp:21:
/home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:47:26: error: 'int64_t' has not been declared
47 | virtual bool timedlock(int64_t milliseconds) const;
| ^~~~~~~
/home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:25:1: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
24 | #include <thrift/TNonCopyable.h>
+++ |+#include <cstdint>
25 |
/home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: error: 'int64_t' has not been declared
60 | Guard(const Mutex& value, int64_t timeout = 0) : mutex_(&value) {
| ^~~~~~~
/home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
See also: https://github.com/apache/arrow/issues/45096
---
lib/cpp/src/thrift/concurrency/Mutex.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/cpp/src/thrift/concurrency/Mutex.h b/lib/cpp/src/thrift/concurrency/Mutex.h
index 1e5c3fba37c..12f1729d6bf 100644
--- a/lib/cpp/src/thrift/concurrency/Mutex.h
+++ b/lib/cpp/src/thrift/concurrency/Mutex.h
@@ -20,6 +20,7 @@
#ifndef _THRIFT_CONCURRENCY_MUTEX_H_
#define _THRIFT_CONCURRENCY_MUTEX_H_ 1
+#include <cstdint>
#include <memory>
#include <thrift/TNonCopyable.h>

73
libthrift-0.20.0.pom Normal file
View file

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- This module was also published with a richer model, Gradle metadata, -->
<!-- which should be used instead. Do not delete the following line which -->
<!-- is to indicate to Gradle or any Gradle module metadata file consumer -->
<!-- that they should prefer consuming it instead. -->
<!-- do_not_remove: published-with-gradle-metadata -->
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.20.0</version>
<name>Apache Thrift</name>
<description>Thrift is a software framework for scalable cross-language services development.</description>
<url>http://thrift.apache.org</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>dev</id>
<name>Apache Thrift Developers</name>
<email>dev@thrift.apache.org</email>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/apache/thrift.git</connection>
<developerConnection>scm:git:git@github.com:apache/thrift.git</developerConnection>
<url>https://github.com/apache/thrift</url>
</scm>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.2.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.core5</groupId>
<artifactId>httpcore5</artifactId>
<version>5.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>2.1.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</project>

72
python3.patch Normal file
View file

@ -0,0 +1,72 @@
diff --git a/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py b/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py
index 4b1c257..df1c8cc 100644
--- a/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py
+++ b/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py
@@ -57,24 +57,24 @@ def service_ctrl(
msg = fb_status_string(status)
if (len(status_details)):
msg += " - %s" % status_details
- print msg
+ print(msg)
if (status == fb_status.ALIVE):
return 2
else:
return 3
except:
- print "Failed to get status"
+ print("Failed to get status")
return 3
# scalar commands
if command in ["version", "alive", "name"]:
try:
result = fb303_wrapper(command, port, trans_factory, prot_factory)
- print result
+ print(result)
return 0
except:
- print "failed to get ", command
+ print("failed to get ", command)
return 3
# counters
@@ -82,10 +82,10 @@ def service_ctrl(
try:
counters = fb303_wrapper('counters', port, trans_factory, prot_factory)
for counter in counters:
- print "%s: %d" % (counter, counters[counter])
+ print("%s: %d" % (counter, counters[counter]))
return 0
except:
- print "failed to get counters"
+ print("failed to get counters")
return 3
# Only root should be able to run the following commands
@@ -96,19 +96,19 @@ def service_ctrl(
fb303_wrapper(command, port, trans_factory, prot_factory)
return 0
except:
- print "failed to tell the service to ", command
+ print("failed to tell the service to ", command)
return 3
else:
if command in ["stop", "reload"]:
- print "root privileges are required to stop or reload the service."
+ print("root privileges are required to stop or reload the service.")
return 4
- print "The following commands are available:"
+ print("The following commands are available:")
for command in ["counters", "name", "version", "alive", "status"]:
- print "\t%s" % command
- print "The following commands are available for users with root privileges:"
+ print("\t%s" % command)
+ print("The following commands are available for users with root privileges:")
for command in ["stop", "reload"]:
- print "\t%s" % command
+ print("\t%s" % command)
return 0

View file

@ -0,0 +1 @@
SHA512 (thrift-0.20.0.tar.gz) = 8dc77f666e60141a6b3cf7ee1407b08a0e80d176f8ccfee69317d7df89ab87aea2c7b3ba3e59d4561835edf1ce23762443ad5aeed0099bf075b010853d5eb1cd

View file

@ -0,0 +1,235 @@
diff --git a/lib/java/build.xml b/lib/java/build.xml
index 40e5284..db1ce54 100644
--- a/lib/java/build.xml
+++ b/lib/java/build.xml
@@ -17,8 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<project name="libthrift" default="dist" basedir="."
- xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+<project name="libthrift" default="dist" basedir=".">
<description>Thrift Build File</description>
<property name="thrift.root" location="../../"/>
@@ -67,8 +66,15 @@
<property name="pom.xml" location="${build.dir}/${final.name}.pom"/>
<path id="compile.classpath">
- <fileset dir="${build.lib.dir}">
- <include name="**/*.jar"/>
+ <fileset dir="/usr/share/java">
+ <include name="commons-codec.jar"/>
+ <include name="commons-lang.jar"/>
+ <include name="commons-logging.jar"/>
+ <include name="httpcomponents/httpcore.jar"/>
+ <include name="httpcomponents/httpclient.jar"/>
+ <include name="log4j.jar"/>
+ <include name="slf4j/api.jar"/>
+ <include name="glassfish-servlet-api.jar"/>
</fileset>
</path>
@@ -78,11 +84,14 @@
<pathelement location="${build.test.dir}"/>
<pathelement location="${jar.file}"/>
<pathelement location="${test.jar.file}"/>
-
+ <fileset dir="/usr/share/java">
+ <include name="junit.jar"/>
+ <include name="slf4j/log4j12.jar"/>
+ </fileset>
</path>
<!-- Tasks -->
- <target name="init" depends="setup.init,mvn.init" unless="init.finished">
+ <target name="init" depends="setup.init" unless="init.finished">
<property name="init.finished" value="true"/>
</target>
@@ -295,120 +304,12 @@
</target>
<target name="mvn.ant.tasks.download" depends="setup.init,mvn.ant.tasks.check,proxy" unless="mvn.ant.tasks.found">
- <get src="${mvn.ant.task.url}/${mvn.ant.task.jar}" dest="${build.tools.dir}/${mvn.ant.task.jar}" usetimestamp="true"/>
</target>
<target name="mvn.ant.tasks.check">
- <condition property="mvn.ant.tasks.found">
- <typefound uri="antlib:org.apache.maven.artifact.ant" name="artifact"/>
- </condition>
</target>
- <target name="mvn.init" depends="mvn.ant.tasks.download" unless="mvn.finished">
- <!-- Download mvn ant tasks, download dependencies, and setup pom file -->
- <typedef uri="antlib:org.apache.maven.artifact.ant" classpath="${build.tools.dir}/${mvn.ant.task.jar}"/>
-
- <!-- remote repositories used to download dependencies from -->
- <artifact:remoteRepository id="central" url="${mvn.repo}"/>
- <artifact:remoteRepository id="apache" url="${apache.repo}"/>
-
- <!-- Pom file information -->
- <artifact:pom id="pom"
- groupId="${thrift.groupid}"
- artifactId="${thrift.artifactid}"
- version="${version}"
- url="http://thrift.apache.org"
- name="Apache Thrift"
- description="Thrift is a software framework for scalable cross-language services development."
- packaging="pom"
- >
- <remoteRepository refid="central"/>
- <remoteRepository refid="apache"/>
- <license name="The Apache Software License, Version 2.0" url="${license}"/>
- <scm connection="scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git"
- developerConnection="scm:git:https://git-wip-us.apache.org/repos/asf/thrift.git"
- url="https://git-wip-us.apache.org/repos/asf?p=thrift.git"
- />
- <!-- Thrift Developers -->
- <developer id="mcslee" name="Mark Slee"/>
- <developer id="dreiss" name="David Reiss"/>
- <developer id="aditya" name="Aditya Agarwal"/>
- <developer id="marck" name="Marc Kwiatkowski"/>
- <developer id="jwang" name="James Wang"/>
- <developer id="cpiro" name="Chris Piro"/>
- <developer id="bmaurer" name="Ben Maurer"/>
- <developer id="kclark" name="Kevin Clark"/>
- <developer id="jake" name="Jake Luciani"/>
- <developer id="bryanduxbury" name="Bryan Duxbury"/>
- <developer id="esteve" name="Esteve Fernandez"/>
- <developer id="todd" name="Todd Lipcon"/>
- <developer id="geechorama" name="Andrew McGeachie"/>
- <developer id="molinaro" name="Anthony Molinaro"/>
- <developer id="roger" name="Roger Meier"/>
- <developer id="jfarrell" name="Jake Farrell"/>
- <developer id="jensg" name="Jens Geyer"/>
- <developer id="carl" name="Carl Yeksigian"/>
-
- <!-- Thrift dependencies list -->
- <dependency groupId="org.slf4j" artifactId="slf4j-api" version="${slf4j.version}"/>
- <dependency groupId="javax.servlet" artifactId="servlet-api" version="${servlet.version}" scope="provided"/>
- <dependency groupId="org.apache.httpcomponents" artifactId="httpclient" version="${httpclient.version}"/>
- <dependency groupId="org.apache.httpcomponents" artifactId="httpcore" version="${httpcore.version}"/>
- </artifact:pom>
-
- <!-- Generate the pom file -->
- <artifact:writepom pomRefId="pom" file="${pom.xml}"/>
-
- <!-- Download the dependencies -->
- <artifact:dependencies filesetId="build-dependency-jars" pomRefId="pom"/>
-
- <!-- Copy the dependencies to the build/lib dir -->
- <copy todir="${build.dir}/lib">
- <fileset refid="build-dependency-jars"/>
- <mapper type="flatten"/>
- </copy>
-
- <!-- Dependencies needed for testing -->
- <artifact:dependencies filesetId="test-dependency-jars" useScope="runtime">
- <dependency groupId="org.slf4j" artifactId="slf4j-log4j12" version="${slf4j.version}"/>
- <dependency groupId="junit" artifactId="junit" version="4.4"/>
- </artifact:dependencies>
-
- <!-- Copy the test dependencies to the build/lib dir -->
- <copy todir="${build.dir}/lib">
- <fileset refid="test-dependency-jars"/>
- <mapper type="flatten"/>
- </copy>
-
- <property name="mvn.finished" value="true"/>
+ <target name="mvn.init" unless="mvn.finished">
</target>
- <macrodef name="signAndDeploy">
- <!-- Sign and deploy jars to apache repo -->
- <attribute name="file"/>
- <attribute name="classifier" default=""/>
- <attribute name="packaging" default="jar"/>
- <attribute name="pom" default=""/>
- <sequential>
- <artifact:mvn fork="true">
- <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.6:sign-and-deploy-file"/>
- <arg value="-DrepositoryId=${maven-repository-id}"/>
- <arg value="-Durl=${maven-repository-url}"/>
- <arg value="-DpomFile=@{pom}"/>
- <arg value="-Dfile=@{file}"/>
- <arg value="-Dclassifier=@{classifier}"/>
- <arg value="-Dpackaging=@{packaging}"/>
- <arg value="-Pgpg"/>
- </artifact:mvn>
- </sequential>
- </macrodef>
-
- <target name="publish" depends="clean,init,test,dist,javadoc,pack.src">
- <!-- Compile, package, test and then send release to apache maven repo -->
- <!-- run with: ant -Drelease=true publish-->
- <signAndDeploy file="${pom.xml}" packaging="pom" classifier="" pom="${pom.xml}"/>
- <signAndDeploy file="${jar.file}" classifier="" pom="${pom.xml}"/>
- <signAndDeploy file="${javadoc.jar.file}" classifier="javadoc" pom="${pom.xml}"/>
- <signAndDeploy file="${source.jar.file}" classifier="sources" pom="${pom.xml}"/>
- </target>
</project>
diff --git a/tutorial/java/build.xml b/tutorial/java/build.xml
index 7638d5b..c5ca703 100644
--- a/tutorial/java/build.xml
+++ b/tutorial/java/build.xml
@@ -29,13 +29,33 @@
<include name="*.jar" />
<exclude name="-test.jar" />
</fileset>
- <fileset dir="../../lib/java/build/lib">
- <include name="*.jar" />
+ <fileset dir="/usr/share/java">
+ <include name="commons-codec.jar"/>
+ <include name="commons-lang.jar"/>
+ <include name="commons-logging.jar"/>
+ <include name="httpcomponents/httpcore.jar"/>
+ <include name="httpcomponents/httpclient.jar"/>
+ <include name="log4j.jar"/>
+ <include name="slf4j/api.jar"/>
+ <include name="glassfish-servlet-api.jar"/>
</fileset>
</path>
<path id="build.classpath">
- <path refid="libs.classpath" />
<pathelement path="${gen}" />
+ <fileset dir="../../lib/java/build">
+ <include name="*.jar" />
+ <exclude name="-test.jar" />
+ </fileset>
+ <fileset dir="/usr/share/java">
+ <include name="commons-codec.jar"/>
+ <include name="commons-lang.jar"/>
+ <include name="commons-logging.jar"/>
+ <include name="httpcomponents/httpcore.jar"/>
+ <include name="httpcomponents/httpclient.jar"/>
+ <include name="log4j.jar"/>
+ <include name="slf4j/api.jar"/>
+ <include name="glassfish-servlet-api.jar"/>
+ </fileset>
</path>
<path id="tutorial.classpath">
<path refid="build.classpath" />
diff --git a/tutorial/js/build.xml b/tutorial/js/build.xml
index a9a9ad4..2fddf0c 100644
--- a/tutorial/js/build.xml
+++ b/tutorial/js/build.xml
@@ -35,8 +35,16 @@
<include name="*.jar" />
<exclude name="-test.jar" />
</fileset>
- <fileset dir="../../lib/java/build/lib">
- <include name="*.jar" />
+
+ <fileset dir="/usr/share/java">
+ <include name="commons-codec.jar"/>
+ <include name="commons-lang.jar"/>
+ <include name="commons-logging.jar"/>
+ <include name="httpcomponents/httpcore.jar"/>
+ <include name="httpcomponents/httpclient.jar"/>
+ <include name="log4j.jar"/>
+ <include name="slf4j/api.jar"/>
+ <include name="glassfish-servlet-api.jar"/>
</fileset>
</path>
<path id="build.classpath">

753
thrift.spec Normal file
View file

@ -0,0 +1,753 @@
# thrift: FTBFS in Fedora 36: /usr/include/c++/12/bits/new_allocator.h:158:33:
# error: 'operator delete' called on pointer '_605' with nonzero offset [1,
# 9223372036854775800] [-Werror=free-nonheap-object]
# https://bugzilla.redhat.com/show_bug.cgi?id=2046213
#
%global php_extdir %(php-config --extension-dir 2>/dev/null || echo "undefined")
%{?perl_default_filter}
%global __provides_exclude_from ^(%{python3_sitearch}/.*\\.so|%{php_extdir}/.*\\.so)$
%global have_mongrel 0
# erlang-jsx is available in F19 but orphaned in F22
%global have_jsx 0
# We should be able to enable this in the future
%global want_d 0
# Can't do anything with java with all the build deps in modules
%global want_java 0
%if 0%{?want_java} == 0
%global java_configure --without-java
%else
%global java_configure --with-java
%endif
# Thrift's Ruby support depends on Mongrel. Since Mongrel is
# deprecated in Fedora, we can't support Ruby bindings for Thrift
# unless and until Thrift is patched to use a different HTTP server.
%if 0%{?have_mongrel} == 0
%global ruby_configure --without-ruby
%global with_ruby 0
%else
%global ruby_configure --with-ruby
%global want_ruby 1
%endif
# Thrift's Erlang support depends on the JSX library, which is not
# currently available in Fedora.
%if 0%{?have_jsx} == 0
%global erlang_configure --without-erlang
%global want_erlang 0
%else
%global erlang_configure --with-erlang
%global want_erlang 1
%endif
# PHP appears broken in Thrift 0.9.1
%global want_php 0
%if 0%{?want_php} == 0
%global php_langname %{nil}
%global php_configure --without-php
%else
%global php_langname PHP,\
%global php_configure --with-php
%endif
# Thrift's GO support doesn't build under Fedora
%global want_golang 0
%global golang_configure --without-go
# Thrift's Lua support has not yet been worked on
%global want_lua 0
%global lua_configure --without-lua
# NOTE: thrift versions their libraries by package version, so each version
# change is a SONAME change and dependencies need to be rebuilt
Name: thrift
Version: 0.20.0
Release: 8%{?dist}
Summary: Software framework for cross-language services development
# Parts of the source are used under the BSD and zlib licenses, but
# these are OK for inclusion in an Apache 2.0-licensed whole:
# https://www.apache.org/legal/3party.html
# Here's the breakdown:
# ./lib/py/compat/win32/stdint.h is 2-clause BSD
# ./compiler/cpp/src/md5.[ch] are zlib
License: Apache-2.0 AND BSD-3-Clause AND Zlib
URL: https://thrift.apache.org/
Source0: https://archive.apache.org/dist/%{name}/%{version}/%{name}-%{version}.tar.gz
Source1: https://repo1.maven.org/maven2/org/apache/thrift/lib%{name}/%{version}/lib%{name}-%{version}.pom
Source2: https://raw.github.com/apache/%{name}/%{version}/bootstrap.sh
# fix configure.ac insistence on using /usr/local/lib for JAVA_PREFIX
Patch2: configure-java-prefix.patch
# fix build with GCC 15: https://github.com/apache/thrift/pull/3078
Patch3: gcc15.patch
# BuildRequires for language-specific bindings are listed under these
# subpackages, to facilitate enabling or disabling individual language
# bindings in the future
%if 0%{?want_java} > 0
BuildRequires: ant >= 1.7
%endif
BuildRequires: make
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: boost-devel
BuildRequires: boost-static
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: libevent-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool
BuildRequires: openssl-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: texlive
BuildRequires: zlib-devel
%if 0%{?want_golang} > 0
BuildRequires: golang
Requires: golang
%endif
%description
The Apache Thrift software framework for cross-language services
development combines a software stack with a code generation engine to
build services that work efficiently and seamlessly between C++, Java,
Python, %{?php_langname}and other languages.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
Requires: boost-devel
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package qt
Summary: Qt support for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description qt
The %{name}-qt package contains Qt bindings for %{name}.
%package glib
Summary: GLib support for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description glib
The %{name}-qt package contains GLib bindings for %{name}.
%package -n python3-%{name}
Summary: Python 3 support for %{name}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python3
Obsoletes: python-%{name} < 0.10.0-1%{?dist}
Obsoletes: python2-%{name} < 0.10.0-14%{?dist}
%description -n python3-%{name}
The python3-%{name} package contains Python bindings for %{name}.
%package -n perl-%{name}
Summary: Perl support for %{name}
Provides: perl(Thrift) = %{version}-%{release}
BuildRequires: perl(Bit::Vector)
BuildRequires: perl(Class::Accessor)
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl-generators
Requires: perl(Bit::Vector)
Requires: perl(Encode)
Requires: perl(HTTP::Request)
Requires: perl(IO::Select)
Requires: perl(IO::Socket::INET)
Requires: perl(IO::String)
Requires: perl(LWP::UserAgent)
Requires: perl(POSIX)
Requires: perl(base)
Requires: perl(constant)
Requires: perl(strict)
Requires: perl(utf8)
Requires: perl(warnings)
# thrift improperly packages some components in files with names different
# than the package they contain
Provides: perl(Thrift::Exception)
Provides: perl(Thrift::MessageType)
Provides: perl(Thrift::Type)
BuildArch: noarch
%description -n perl-%{name}
The perl-%{name} package contains Perl bindings for %{name}.
%if %{?want_d}
%package -n d-%{name}
Summary: D support for %{name}
BuildRequires: ldc
%description -n d-%{name}
The d-%{name} package contains D bindings for %{name}.
%endif
%if 0%{?want_php} != 0
%package -n php-%{name}
Summary: PHP support for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: php(zend-abi) = %{php_zend_api}
Requires: php(api) = %{php_core_api}
Requires: php(language) >= 5.3.0
Requires: php-date
Requires: php-json
BuildRequires: php-devel
%description -n php-%{name}
The php-%{name} package contains PHP bindings for %{name}.
%endif
%if 0%{?want_java} > 0
%package -n lib%{name}-javadoc
Summary: API documentation for java-%{name}
Requires: lib%{name}-java = %{version}-%{release}
BuildArch: noarch
%description -n lib%{name}-javadoc
The lib%{name}-javadoc package contains API documentation for the
Java bindings for %{name}.
%package -n lib%{name}-java
Summary: Java support for %{name}
BuildRequires: apache-commons-codec
BuildRequires: apache-commons-lang
BuildRequires: apache-commons-logging
BuildRequires: httpcomponents-client
BuildRequires: httpcomponents-core
BuildRequires: java-devel
BuildRequires: javapackages-tools
BuildRequires: javapackages-local
BuildRequires: junit
BuildRequires: log4j
BuildRequires: slf4j
# javax.servlet-api 3.1.0 is provided by glassfish-servlet-api
BuildRequires: mvn(javax.servlet:javax.servlet-api) = 3.1.0
Requires: java-headless >= 1:1.6.0
Requires: javapackages-tools
Requires: mvn(org.slf4j:slf4j-api)
Requires: mvn(commons-lang:commons-lang)
Requires: mvn(org.apache.httpcomponents:httpclient)
Requires: mvn(org.apache.httpcomponents:httpcore)
BuildArch: noarch
%description -n lib%{name}-java
The lib%{name}-java package contains Java bindings for %{name}.
%endif
%if 0%{?want_ruby} > 0
%package -n ruby-%{name}
Summary: Ruby support for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: ruby(release)
BuildRequires: ruby-devel
%description -n ruby-%{name}
The ruby-%{name} package contains Ruby bindings for %{name}.
%endif
%if 0%{?want_erlang} > 0
%package -n erlang-%{name}
Summary: Erlang support for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: erlang
Requires: erlang-jsx
BuildRequires: erlang
BuildRequires: erlang-rebar
%description -n erlang-%{name}
The erlang-%{name} package contains Erlang bindings for %{name}.
%endif
%prep
%autosetup -p1
%{?!el5:sed -i -e 's/^AC_PROG_LIBTOOL/LT_INIT/g' configure.ac}
# avoid spurious executable permissions in debuginfo package
find . -name \*.cpp -or -name \*.cc -or -name \*.h | xargs -r chmod 644
cp -p %{SOURCE2} bootstrap.sh
# work around linking issues
echo 'libthrift_c_glib_la_LIBADD = $(GLIB_LIBS) $(GOBJECT_LIBS) -L../cpp/.libs ' >> lib/c_glib/Makefile.am
echo 'libthriftqt5_la_LIBADD = $(QT_LIBS) -lthrift -L.libs' >> lib/cpp/Makefile.am
echo 'libthriftz_la_LIBADD = $(ZLIB_LIBS) -lthrift -L.libs' >> lib/cpp/Makefile.am
echo 'EXTRA_libthriftqt5_la_DEPENDENCIES = libthrift.la' >> lib/cpp/Makefile.am
echo 'EXTRA_libthriftz_la_DEPENDENCIES = libthrift.la' >> lib/cpp/Makefile.am
# fix broken upstream check for ant version; we enforce this with BuildRequires, so no need to check here
sed -i 's|ANT_VALID=.*|ANT_VALID=1|' aclocal/ax_javac_and_java.m4
# explicitly set python3
shopt -s globstar
sed -i -E 's@^(#!.*/env) *python *$@\1 python3@' **/*.py
%build
export PY_PREFIX=%{_prefix}
export PERL_PREFIX=%{_prefix}
export PHP_PREFIX=%{php_extdir}
export JAVA_PREFIX=%{_javadir}
export RUBY_PREFIX=%{_prefix}
export GLIB_LIBS=$(pkg-config --libs glib-2.0)
export GLIB_CFLAGS=$(pkg-config --cflags glib-2.0)
export GOBJECT_LIBS=$(pkg-config --libs gobject-2.0)
export GOBJECT_CFLAGS=$(pkg-config --cflags gobject-2.0)
find %{_builddir} -name rebar -exec rm -f '{}' \;
find . -name Makefile\* -exec sed -i -e 's/[.][/]rebar/rebar/g' {} \;
# install javadocs in proper places
sed -i 's|-Dinstall.javadoc.path=$(DESTDIR)$(docdir)/java|-Dinstall.javadoc.path=$(DESTDIR)%{_javadocdir}/%{name}|' lib/java/Makefile.*
# build a jar without a version number
#sed -i 's|${thrift.artifactid}-${version}|${thrift.artifactid}|' lib/java/build.xml
# Proper permissions for Erlang files
sed -i 's|$(INSTALL) $$p|$(INSTALL) --mode 644 $$p|g' lib/erl/Makefile.am
sh ./bootstrap.sh
# use unversioned doc dirs where appropriate (via _pkgdocdir macro)
export PYTHON=%{__python3}
%configure --disable-dependency-tracking --disable-static --with-boost=%{_prefix} \
--docdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} \
%{java_configure} %{ruby_configure} %{erlang_configure} %{golang_configure} %{php_configure} %{lua_configure}
# eliminate unused direct shlib dependencies
sed -i -e 's/ -shared / -Wl,--as-needed\0/g' libtool
%make_build
%install
%make_install
find %{buildroot} -name '*.la' -exec rm -f {} ';'
find %{buildroot} -name fastbinary.so | xargs -r chmod 755
find %{buildroot} -name \*.erl -or -name \*.hrl -or -name \*.app | xargs -r chmod 644
# Remove javadocs jar
%if 0%{?want_java} > 0
find %{buildroot}/%{_javadir} -name lib%{name}-javadoc.jar -exec rm -f '{}' \;
# Add POM file and depmap
mkdir -p %{buildroot}%{_mavenpomdir}
install -pm 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP-libthrift.pom
%add_maven_depmap JPP-libthrift.pom libthrift.jar
%endif
# Remove bundled jar files
find %{buildroot} -name \*.jar -a \! -name \*thrift\* -exec rm -f '{}' \;
# Move perl files into appropriate places
find %{buildroot} -name \*.pod -exec rm -f '{}' \;
find %{buildroot} -name .packlist -exec rm -f '{}' \;
find %{buildroot}%{_prefix}/lib/perl5 -type d -empty -delete
mkdir -p %{buildroot}/%{perl_vendorlib}/
mv %{buildroot}%{_prefix}/lib/perl5/* %{buildroot}/%{perl_vendorlib}
%if 0%{?want_php} != 0
# Move arch-independent php files into the appropriate place
mkdir -p %{buildroot}/%{_datadir}/php/
mv %{buildroot}/%{php_extdir}/Thrift %{buildroot}/%{_datadir}/php/
%endif
# Fix permissions on Thread.h
find %{buildroot} -name Thread.h -exec chmod a-x '{}' \;
# Ensure all python scripts are executable
find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r chmod 755
%ldconfig_scriptlets
%files
%doc LICENSE NOTICE
%{_bindir}/thrift
%{_libdir}/libthrift-%{version}.so
%{_libdir}/libthriftz-%{version}.so
%{_libdir}/libthriftnb-%{version}.so
%files glib
%{_libdir}/libthrift_c_glib.so
%{_libdir}/libthrift_c_glib.so.*
%files qt
%{_libdir}/libthriftqt5.so
%{_libdir}/libthriftqt5-%{version}.so
%files devel
%{_includedir}/thrift
%{_libdir}/*.so
%{_libdir}/*.so.0
%{_libdir}/*.so.0.0.0
%exclude %{_libdir}/lib*-%{version}.so
%{_libdir}/pkgconfig/thrift-z.pc
%{_libdir}/pkgconfig/thrift-qt5.pc
%{_libdir}/pkgconfig/thrift-nb.pc
%{_libdir}/pkgconfig/thrift.pc
%{_libdir}/pkgconfig/thrift_c_glib.pc
%doc LICENSE NOTICE
%files -n perl-%{name}
%{perl_vendorlib}/Thrift
%{perl_vendorlib}/Thrift.pm
%doc LICENSE NOTICE
%if 0%{?want_php} != 0
%files -n php-%{name}
%config(noreplace) /etc/php.d/thrift_protocol.ini
%{_datadir}/php/Thrift/
%{php_extdir}/thrift_protocol.so
%doc LICENSE NOTICE
%endif
%if %{?want_erlang} > 0
%files -n erlang-%{name}
%{_libdir}/erlang/lib/%{name}-%{version}/
%doc LICENSE NOTICE
%endif
%files -n python3-%{name}
%{python3_sitearch}/%{name}
%{python3_sitearch}/%{name}-%{version}-py%{python3_version}.egg-info
%doc LICENSE NOTICE
%if 0%{?want_java} > 0
%files -n lib%{name}-javadoc
%{_javadocdir}/%{name}
%doc LICENSE NOTICE
%files -n lib%{name}-java -f .mfiles
%doc LICENSE NOTICE
%endif
%changelog
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 0.20.0-8
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 0.20.0-7
- Rebuilt for Python 3.14.0rc2 bytecode
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 0.20.0-5
- Rebuilt for Python 3.14
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 0.20.0-2
- Rebuilt for Python 3.13
* Fri May 17 2024 Orion Poplawski <orion@nwra.com> - 0.20.0-1
- Update to 0.20.0
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jun 16 2023 Orion Poplawski <orion@nwra.com> - 0.15.0-2
- Re-enable LTO, seems to be working again
* Thu Jun 15 2023 Orion Poplawski <orion@nwra.com> - 0.15.0-1
- Update to 0.15.0
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 0.14.0-14
- Rebuilt for Python 3.12
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Nov 18 2022 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.14.0-12
- Convert license tags to SPDX
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.14.0-10
- Rebuilt for Python 3.11
* Tue Jun 07 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 0.14.0-9
- Work around GCC 12 error by disabling LTO (close RHBZ#2046213)
* Wed Jun 01 2022 Jitka Plesnikova <jplesnik@redhat.com> - 0.14.0-8
- Perl 5.36 rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 0.14.0-6
- Rebuilt with OpenSSL 3.0.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.14.0-4
- Rebuilt for Python 3.10
* Sun May 23 2021 Jitka Plesnikova <jplesnik@redhat.com> - 0.14.0-3
- Perl 5.34 rebuild
* Thu Feb 18 2021 Orion Poplawski <orion@nwra.com> - 0.14.0-2
- Add patch to fix compilation on non-x86
* Mon Feb 15 2021 Orion Poplawski <orion@nwra.com> - 0.14.0-1
- Update to 0.14.0 (bz#1928172) CVE-2020-13949
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Oct 05 2020 Orion Poplawski <orion@nwra.com> - 0.13.0-9
- Add BR python3-setuptools
* Wed Sep 23 2020 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.13.0-8
- rebuilt for side tag f34-build-side-30069
* Thu Sep 17 2020 Orion Poplawski <orion@nwra.com> - 0.13.0-7
- Drop unneeded BR on flex-devel (bz#1871095)
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 0.13.0-5
- Perl 5.32 rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.13.0-4
- Rebuilt for Python 3.9
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Dec 4 2019 Orion Poplawski <orion@nwra.com> - 0.13.0-2
- Fix perl dependencies
- Explicitly disable lua
* Sun Dec 1 2019 Orion Poplawski <orion@nwra.com> - 0.13.0-1
- Update to 0.13.0 (bz#1778343)
- Drops fb303 package
- Switch to Qt5
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.10.0-20
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Tue Aug 20 2019 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.10.0-19
- Fix FTBFS (by removing Java support) and fix Python3 issues (rhbz#1738810 and rhbz#1533306)
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Jun 01 2019 Jitka Plesnikova <jplesnik@redhat.com> - 0.10.0-17
- Perl 5.30 rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jul 18 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.10.0-15
- Rebuild to address transient error
* Wed Jul 18 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.10.0-14
- Migrate to python3; rhbz#1533306
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Jun 29 2018 Jitka Plesnikova <jplesnik@redhat.com> - 0.10.0-12
- Perl 5.28 rebuild
* Wed May 30 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.10.0-11
- Fix FTBFS; update servlet-api dependency (rhbz#1581175)
* Thu Mar 08 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.10.0-10
- Add gcc-c++ BuildRequires
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Dec 22 2017 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.10.0-8
- Fix for rhbz#1507518
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Jul 06 2017 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.10.0-5
- Fix FTBFS in rawhide: add BR javapackages-local
* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 0.10.0-4
- Perl 5.26 rebuild
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
* Mon Mar 13 2017 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.10.0-2
- Build TNonblockingServer, remove useless man page, and use java-headless
* Tue Mar 07 2017 Christopher Tubbs <ctubbsii@fedoraproject.org> - 0.10.0-1
- Update to thrift 0.10.0
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-17.6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-17.5
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Tue May 17 2016 Jitka Plesnikova <jplesnik@redhat.com> - 0.9.1-17.4
- Perl 5.24 rebuild
* Wed Mar 30 2016 Petr Pisar <ppisar@redhat.com> - 0.9.1-17.3
- Adapt to GCC 6 (bug #1306671)
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-17.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Sat Jan 16 2016 Jonathan Wakely <jwakely@redhat.com> - 0.9.1-17.1
- Rebuilt for Boost 1.60
* Mon Nov 23 2015 Peter Robinson <pbrobinson@fedoraproject.org> 0.9.1-17
- Fix release
* Wed Oct 21 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 0.9.1-16.6
- Backport THRIFT-2214 fix to get package built on aarch64.
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 0.9.1-16.5
- Rebuilt for Boost 1.59
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-16.4
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 0.9.1-16.3
- rebuild for Boost 1.58
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-16.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat Jun 06 2015 Jitka Plesnikova <jplesnik@redhat.com> - 0.9.1-16.1
- Perl 5.22 rebuild
* Fri Apr 24 2015 Michal Srb <msrb@redhat.com> - 0.9.1-16
- Fix FTBFS (Resolves: rhbz#1195364)
* Mon Apr 20 2015 Will Benton <willb@redhat.com> - 0.9.1-15
- Dropped Erlang support for F22 and above, since erlang-jsx is orphaned
* Wed Apr 8 2015 Haïkel Guémar <hguemar@fedoraproject.org> - 0.9.1-14
- Split Qt4/GLib runtimes into separate subpackages
- Drop mono support, it's broken and not even shipped (and it pulls mono-core)
* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 0.9.1-13.3
- Rebuild for boost 1.57.0
* Thu Aug 28 2014 Jitka Plesnikova <jplesnik@redhat.com> - 0.9.1-13.2
- Perl 5.20 rebuild
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-13.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Fri Jun 27 2014 Petr Pisar <ppisar@redhat.com> - 0.9.1-13
- Use add_maven_depmap-generated file lists (bug #1107448)
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-12.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 0.9.1-12.1
- Rebuild for boost 1.55.0
* Mon May 05 2014 Lubomir Rintel <lkundrak@v3.sk> - 0.9.1-12
- Fix EPEL build
* Fri Feb 21 2014 willb <willb@redhat> - 0.9.1-11
- fix BZ 1068561
* Fri Dec 20 2013 willb <willb@redhat> - 0.9.1-10
- fix BZ 1045544
* Wed Oct 16 2013 willb <willb@redhat> - 0.9.1-9
- Remove spurious dependencies
- Move some versioned shared libraries from -devel
* Wed Oct 16 2013 Dan Horák <dan[at]danny.cz> - 0.9.1-8
- Mono available only on selected arches
* Sun Oct 13 2013 willb <willb@redhat> - 0.9.1-7
- minor specfile cleanups
* Fri Oct 11 2013 willb <willb@redhat> - 0.9.1-6
- added thrift man page
- integrated fb303
- fixed many fb303 library dependency problems
* Tue Oct 1 2013 willb <willb@redhat> - 0.9.1-5
- fixed extension library linking when an older thrift package is not
already installed
- fixed extension library dependencies in Makefile
* Tue Oct 1 2013 willb <willb@redhat> - 0.9.1-4
- addresses rpmlint warnings and errors
- properly links glib, qt, and z extension libraries
* Mon Sep 30 2013 willb <willb@redhat> - 0.9.1-3
- adds QT support
- clarified multiple licensing
- uses parallel make
- removes obsolete M4 macros
- specifies canonical location for source archive
* Tue Sep 24 2013 willb <willb@redhat> - 0.9.1-2
- fixes for i686
- fixes bogus requires for Java package
* Fri Sep 20 2013 willb <willb@redhat> - 0.9.1-1
- updated to upstream version 0.9.1
- disables PHP support, which FTBFS in this version
* Fri Sep 20 2013 willb <willb@redhat> - 0.9.0-5
- patch build xml to generate unversioned jars instead of moving after the fact
- unversioned doc dirs on Fedora versions where this is appropriate
- replaced some stray hardcoded paths with macros
- thanks to Gil for the above observations and suggestions for fixes
* Thu Aug 22 2013 willb <willb@redhat> - 0.9.0-4
- removed version number from jar name (obs pmackinn)
* Thu Aug 22 2013 willb <willb@redhat> - 0.9.0-3
- Fixes for F19 and Erlang support
* Thu Aug 15 2013 willb <willb@redhat> - 0.9.0-2
- Incorporates feedback from comments on review request
* Mon Jul 1 2013 willb <willb@redhat> - 0.9.0-1
- Initial package