[polybori] New upstream release. Fix desktop file. Build no longer succeeds with external CUDD; the polybori de
Jerry James
jjames at fedoraproject.org
Tue Mar 20 22:25:23 UTC 2012
commit 8ae9d504d66ef4b743acbb4e4815da4f4908efb7
Author: Jerry James <loganjerry at gmail.com>
Date: Tue Mar 20 16:24:47 2012 -0600
New upstream release.
Fix desktop file.
Build no longer succeeds with external CUDD; the polybori developers have
stripped down and altered the CUDD sources, forcing us to use their version.
.gitignore | 2 +-
polybori-gcc47.patch | 10 +-
polybori-import.patch | 17 ----
polybori-m4ri.patch | 11 ---
polybori-system-cudd.patch | 89 --------------------
polybori-warning.patch | 197 +-------------------------------------------
polybori.desktop | 2 +-
polybori.spec | 101 ++++++++---------------
sources | 2 +-
9 files changed, 45 insertions(+), 386 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index d187c81..db00372 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-/polybori-0.8.0.tar.gz
/polybori-logos.tar.xz
+/polybori-0.8.1.tar.gz
diff --git a/polybori-gcc47.patch b/polybori-gcc47.patch
index 366a1e2..2fdec54 100644
--- a/polybori-gcc47.patch
+++ b/polybori-gcc47.patch
@@ -1,5 +1,5 @@
---- ./libpolybori/include/polybori/orderings/CBlockOrderingFacade.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/orderings/CBlockOrderingFacade.h 2012-01-10 13:10:32.797502088 -0700
+--- ./libpolybori/include/polybori/orderings/CBlockOrderingFacade.h.orig 2012-03-16 15:41:09.000000000 -0600
++++ ./libpolybori/include/polybori/orderings/CBlockOrderingFacade.h 2012-03-19 14:45:20.712316696 -0600
@@ -91,7 +91,7 @@ public:
CacheManager<order_lead_tag> cache_mgr(poly.ring());
typename base_type::descending_property descending;
@@ -9,9 +9,9 @@
poly.navigation(), m_indices.begin(),
set_type(poly.ring()), descending) );
}
---- ./libpolybori/include/polybori/iterators/CTermStack.h.orig 2012-01-10 13:08:03.692057537 -0700
-+++ ./libpolybori/include/polybori/iterators/CTermStack.h 2012-01-10 13:11:14.958658727 -0700
-@@ -853,7 +853,7 @@ public:
+--- ./libpolybori/include/polybori/iterators/CTermStack.h.orig 2012-03-16 15:41:09.000000000 -0600
++++ ./libpolybori/include/polybori/iterators/CTermStack.h 2012-03-19 14:45:20.712316696 -0600
+@@ -854,7 +854,7 @@ public:
PBORI_ASSERT(m_zero.isValid());
PBORI_ASSERT(m_zero.isEmpty());
diff --git a/polybori-warning.patch b/polybori-warning.patch
index d071cba..0aa1b8e 100644
--- a/polybori-warning.patch
+++ b/polybori-warning.patch
@@ -1,198 +1,5 @@
---- ./libpolybori/include/polybori/factories/VariableFactory.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/factories/VariableFactory.h 2011-09-29 15:26:37.579079066 -0600
-@@ -6,7 +6,7 @@
- * @date 2011-05-05
- *
- * This file defines the base class VariableFactory which is used for
-- * @i currying the constructors of @c BooleVariable with a BoolePolyRing.
-+ * @em currying the constructors of @c BooleVariable with a BoolePolyRing.
- *
- * @par Copyright:
- * (c) by The PolyBoRi Team
-@@ -25,8 +25,8 @@
- BEGIN_NAMESPACE_PBORI
-
- /** @class VariableFactory
-- * @brief This base class VariableFactory is used for @i currying
-- * monimial constructors with a BoolePolyRing.
-+ * @brief This base class VariableFactory is used for @em currying
-+ * variable constructors with a BoolePolyRing.
- *
- **/
-
---- ./libpolybori/include/polybori/factories/MonomialFactory.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/factories/MonomialFactory.h 2011-09-29 15:26:37.579079066 -0600
-@@ -6,7 +6,7 @@
- * @date 2011-05-05
- *
- * This file defines the base class MonomialFactory which is used for
-- * @i currying the constructors of @c BooleMonomial with a BoolePolyRing.
-+ * @em currying the constructors of @c BooleMonomial with a BoolePolyRing.
- *
- * @par Copyright:
- * (c) by The PolyBoRi Team
-@@ -25,8 +25,8 @@
- BEGIN_NAMESPACE_PBORI
-
- /** @class MonomialFactory
-- * @brief This base class MonomialFactory is used for @i currying
-- * monimial constructors with a BoolePolyRing.
-+ * @brief This base class MonomialFactory is used for @em currying
-+ * monomial constructors with a BoolePolyRing.
- *
- **/
-
---- ./libpolybori/include/polybori/factories/SetFactory.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/factories/SetFactory.h 2011-09-29 15:26:37.580079044 -0600
-@@ -6,7 +6,7 @@
- * @date 2011-05-056
- *
- * This file defines the base class SetFactory which is used for
-- * @i currying the constructors of @c BooleSet with a BoolePolyRing.
-+ * @em currying the constructors of @c BooleSet with a BoolePolyRing.
- *
- * @par Copyright:
- * (c) by The PolyBoRi Team
-@@ -25,8 +25,8 @@
- BEGIN_NAMESPACE_PBORI
-
- /** @class SetFactory
-- * @brief This base class SetFactory is used for @i currying
-- * monimial constructors with a BoolePolyRing.
-+ * @brief This base class SetFactory is used for @em currying
-+ * set constructors with a BoolePolyRing.
- *
- **/
-
---- ./libpolybori/include/polybori/factories/CFactoryBase.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/factories/CFactoryBase.h 2011-09-29 15:26:37.580079044 -0600
-@@ -5,7 +5,7 @@
- * @author Alexander Dreyer
- * @date 2011-05-05
- *
-- * This file defines the base class CFactoryBase which is used for @i currying
-+ * This file defines the base class CFactoryBase which is used for @em currying
- * other constructors with a BoolePolyRing.
- *
- * @par Copyright:
-@@ -25,7 +25,7 @@
- BEGIN_NAMESPACE_PBORI
-
- /** @class CFactoryBase
-- * @brief This base class CFactoryBase is used for @i currying
-+ * @brief This base class CFactoryBase is used for @em currying
- * other constructors with a BoolePolyRing.
- *
- * We generate psuedo constructors that a ring to be provided, because the
---- ./libpolybori/include/polybori/factories/PolynomialFactory.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/factories/PolynomialFactory.h 2011-09-29 15:26:37.581079022 -0600
-@@ -6,7 +6,7 @@
- * @date 2011-05-056
- *
- * This file defines the base class PolynomialFactory which is used for
-- * @i currying the constructors of @c BoolePolynomial with a BoolePolyRing.
-+ * @em currying the constructors of @c BoolePolynomial with a BoolePolyRing.
- *
- * @par Copyright:
- * (c) by The PolyBoRi Team
-@@ -25,8 +25,8 @@
- BEGIN_NAMESPACE_PBORI
-
- /** @class PolynomialFactory
-- * @brief This base class PolynomialFactory is used for @i currying
-- * monimial constructors with a BoolePolyRing.
-+ * @brief This base class PolynomialFactory is used for @em currying
-+ * polynomial constructors with a BoolePolyRing.
- *
- **/
-
---- ./libpolybori/include/polybori/ring/CCallbackWrapper.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/ring/CCallbackWrapper.h 2011-09-29 15:26:37.582079000 -0600
-@@ -30,7 +30,7 @@
- * If applies a stored member function pointer (together with a stored object
- * reference) to the argument of operator().
- *
-- * It is to be used as a face of @Type, e. g. for @c CCallbackWrapper below.
-+ * It is to be used as a face of @c Type, e. g. for @c CCallbackWrapper below.
- *
- * @note Specialized variant to void member functions
- * @attention Currently, the class supports unary functions only.
---- ./libpolybori/include/polybori/ring/CCuddInterface.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/ring/CCuddInterface.h 2011-09-29 15:26:37.581079022 -0600
-@@ -44,15 +44,15 @@
- // get cudd error texts
- inline const char* error_text(DdManager* mgr) {
- switch (Cudd_ReadErrorCode(mgr)) {
-- CUDD_MEMORY_OUT:
-+ case CUDD_MEMORY_OUT:
- return("Out of memory.");
-- CUDD_TOO_MANY_NODES:
-+ case CUDD_TOO_MANY_NODES:
- return("To many nodes.");
-- CUDD_MAX_MEM_EXCEEDED:
-+ case CUDD_MAX_MEM_EXCEEDED:
- return("Maximum memory exceeded.");
-- CUDD_INVALID_ARG:
-+ case CUDD_INVALID_ARG:
- return("Invalid argument.");
-- CUDD_INTERNAL_ERROR:
-+ case CUDD_INTERNAL_ERROR:
- return("Internal error.");
- }
- return("Unexpected error.");
---- ./libpolybori/include/polybori/iterators/CTermStack.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/iterators/CTermStack.h 2011-09-29 15:26:37.582079000 -0600
-@@ -411,7 +411,7 @@
- bool invalid = true;
- while (!base::empty() && invalid) {
- incrementElse();
-- if (invalid = base::isInvalid())
-+ if ((invalid = base::isInvalid()))
- base::decrementNode();
- }
- }
-@@ -627,7 +627,7 @@
- while (!atBegin() && invalid) {
- PBORI_ASSERT(!base::isConstant());
- base::incrementElse();
-- if (invalid = base::isInvalid())
-+ if ((invalid = base::isInvalid()))
- base::decrementNode();
- }
- }
-@@ -810,7 +810,7 @@
- }
- base::gotoEnd();
-
-- if (doloop = (base::isInvalid() || (base::size() != size)) )
-+ if ((doloop = (base::isInvalid() || (base::size() != size)) ))
- base::decrementNode();
-
- } while (!base::empty() && doloop);
---- ./libpolybori/include/polybori/orderings/order_tags.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./libpolybori/include/polybori/orderings/order_tags.h 2011-09-29 15:26:37.578079087 -0600
-@@ -36,7 +36,7 @@
- **/
- struct dp_asc_tag {};
-
--/**@class block_tag<Tag>
-+/**@class block_tag
- * @brief Marker for block orderings.
- **/
- template <class TagType>
---- ./PyPolyBoRi/main_wrapper.cc.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./PyPolyBoRi/main_wrapper.cc 2011-09-29 15:26:37.583078979 -0600
-@@ -126,7 +126,7 @@
- export_poly();
- export_nav();
- export_test_util();
-- #ifdef HANVE_NTL
-+ #ifdef HAVE_NTL
- export_ntl();
- #endif
- enum_<COrderEnums::ordercodes>("OrderCode")
---- ./groebner/include/polybori/groebner/ExpLexLess.h.orig 2011-09-07 14:25:22.000000000 -0600
-+++ ./groebner/include/polybori/groebner/ExpLexLess.h 2011-09-29 15:27:22.129121193 -0600
+--- ./groebner/include/polybori/groebner/ExpLexLess.h.orig 2012-03-16 15:41:09.000000000 -0600
++++ ./groebner/include/polybori/groebner/ExpLexLess.h 2012-03-19 14:44:32.532374477 -0600
@@ -1,6 +1,6 @@
// -*- c++ -*-
//*****************************************************************************
diff --git a/polybori.desktop b/polybori.desktop
index 7e3c3d7..a8dcf1f 100644
--- a/polybori.desktop
+++ b/polybori.desktop
@@ -4,7 +4,7 @@ Type=Application
Name=PolyBoRi
GenericName=Boolean Rings
Comment=PolyBoRi GUI
-Exec=PolyGUI %U
+Exec=PolyGUI %f
TryExec=PolyGUI
Terminal=false
StartupNotify=false
diff --git a/polybori.spec b/polybori.spec
index c580548..e809ad9 100644
--- a/polybori.spec
+++ b/polybori.spec
@@ -2,8 +2,8 @@
# it must be present anyway. DO NOT REMOVE IT.
Name: polybori
-Version: 0.8.0
-Release: 7%{?dist}
+Version: 0.8.1
+Release: 1%{?dist}
Summary: Framework for Boolean Rings
Group: Development/Libraries
License: GPLv2+
@@ -12,23 +12,12 @@ Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.
Source1: %{name}.desktop
# These logos were created with gimp from the official polybori logo
Source2: %{name}-logos.tar.xz
-# This patch is specific to Fedora. Use system CUDD libraries instead of
-# building the included CUDD sources
-Patch0: %{name}-system-cudd.patch
-# Sent upstream 7 Sep 2011. Fix some broken code that leads to compiler
-# warnings.
-Patch1: %{name}-warning.patch
-# Sent upstream 7 Sep 2011. Fix a broken Python import.
-Patch2: %{name}-import.patch
-# Sent upstream 14 Oct 2011. The __M4RI_HAVE_ macros may be defined, but have
-# the value 0.
-Patch3: %{name}-m4ri.patch
-# Not yet sent upstream. Adapt to GCC 4.7 C++ scope rules.
-Patch4: %{name}-gcc47.patch
+# Sent upstream 20 Mar 2012. Fix a doxygen warning.
+Patch0: %{name}-warning.patch
+# Sent upstream 20 Mar 2012. Adapt to GCC 4.7 C++ scope rules.
+Patch1: %{name}-gcc47.patch
BuildRequires: boost-devel
-BuildRequires: cudd-devel
-BuildRequires: cudd-static
BuildRequires: desktop-file-utils
BuildRequires: doxygen
BuildRequires: gd-devel
@@ -59,7 +48,6 @@ Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: boost-devel%{?_isa}
-Requires: cudd-devel%{?_isa}
Provides: python-%{name}-devel = %{version}-%{release}
Obsoletes: python-%{name}-devel < 0.8.0-1
@@ -121,41 +109,31 @@ Qt GUI for %{name}.
%setup -q
%patch0
%patch1
-%patch2
-%patch3
-%patch4
-
-# Remove private copy of system libs (cudd, m4ri, and pyparsing) and obsolete
-# Singular interface
-rm -rf Cudd M4RI Singular PyPolyBoRi/pyparsing.py
-
-# Fix up includes of cudd header files, without changing timestamps
-for fil in libpolybori/include/polybori/diagram/CCuddDDFacade.h \
- libpolybori/include/polybori/diagram/CDDOperations.h \
- libpolybori/include/polybori/pbori_defs.h \
- libpolybori/include/polybori/ring/CCuddInterface.h \
- libpolybori/include/polybori/routines/pbori_algo.h \
- libpolybori/src/BoolePolyRing.cc \
- libpolybori/src/pbori_routines.cc; do
- sed 's|polybori/cudd|cudd|' ${fil} > ${fil}.new
- touch -r ${fil} ${fil}.new
- mv ${fil}.new ${fil}
-done
+
+# Remove private copy of system libs (m4ri and pyparsing)
+rm -rf M4RI PyPolyBoRi/pyparsing.py
# Fix library path for 64 bit systems
if [ %{__isa_bits} = "64" ]; then
sed -i "s|'\$DEVEL_PREFIX/lib'|'\$DEVEL_PREFIX/lib64'|" SConstruct
fi
-# Fix a dependency
-sed "s|/usr/bin/env python|/usr/bin/python|" pyroot/polybori/cluster.py > foo
-touch -r pyroot/polybori/cluster.py foo
-mv -f foo pyroot/polybori/cluster.py
+# Fix RPM dependency generation
+for fil in gui/PolyGUI ipbori/ipbori; do
+ sed "s|/usr/bin/env python|/usr/bin/python|" ${fil} > ${fil}.new
+ touch -r ${fil} ${fil}.new
+ mv ${fil}.new ${fil}
+done
+
+# Eliminate rpaths
+sed -i "s/'\${_relative_rpath.*/''])/" SConstruct
%build
scons %{?_smp_mflags} prepare-install \
- CCFLAGS="%{optflags} -I%{_includedir}/m4ri" \
- LIBS="-lcudd"
+ PREFIX=%{buildroot}%{_prefix} \
+ DEVEL_PREFIX=%{buildroot}%{_prefix} \
+ CPPPATH="-I%{_includedir}/m4ri" \
+ M4RI_RPM="True"
%install
scons %{?_smp_mflags} install devel-install \
@@ -165,25 +143,13 @@ scons %{?_smp_mflags} install devel-install \
MANDIR=%{buildroot}%{_mandir} \
PYINSTALLPREFIX=%{buildroot}%{python_sitearch} \
DEVEL_PREFIX=%{buildroot}%{_prefix} \
- CCFLAGS="%{optflags} -I%{_includedir}/m4ri" \
- LIBS="-lcudd"
-
-# Relink against a minimal set of libraries to eliminate rpmlint warnings
-# about unused direct dependencies on libraries. Also PyPolyBoRi.so is created
-# to contain all of the object files in both libpolybori and
-# libpolybori_groebner, instead of linking against them.
-g++ -o %{buildroot}%{_libdir}/libpolybori-%{version}.so.0.0.0 -shared \
- -Wl,-soname,lib%{name}-%{version}.so.0 libpolybori/src/*.os %{optflags} \
- -Wl,--as-needed -lcudd
-
-g++ -o %{buildroot}%{_libdir}/libpolybori_groebner-%{version}.so.0.0.0 \
- -shared -Wl,-soname,lib%{name}_groebner-%{version}.so.0 groebner/src/*.os \
- %{optflags} -Wl,--as-needed -L%{buildroot}%{_libdir} -l%{name}-%{version} \
- -lcudd -lgd -lm4ri
-
-g++ -o %{buildroot}%{python_sitearch}/polybori/dynamic/PyPolyBoRi.so -shared \
- PyPolyBoRi/*.os %{optflags} -Wl,--as-needed -L%{buildroot}%{_libdir} \
- -l%{name}_groebner-%{version} -l%{name}-%{version} -lboost_python
+ CPPPATH="-I%{_includedir}/m4ri" \
+ SHLINKFLAGS="$RPM_LD_FLAGS -Wl,--as-needed" \
+ M4RI_RPM="True"
+
+# The install step doesn't set shared object permissions correctly
+chmod 0755 %{buildroot}%{_libdir}/*.so.0.0.0
+chmod 0755 %{buildroot}%{python_sitearch}/%{name}/dynamic/PyPolyBoRi.so
# Install the desktop file
cp -p %{SOURCE1} .
@@ -193,9 +159,6 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{name}.desktop
mkdir -p %{buildroot}%{icondir}
tar xJf %{SOURCE2} -C %{buildroot}%{icondir}
-# Add a missing executable bit
-chmod a+x %{buildroot}%{python_sitearch}/%{name}/cluster.py
-
# Move the ipbori script to bindir
rm -f %{buildroot}%{_bindir}/ipbori
sed "s|^THIS=.*|THIS=%{_datadir}/%{name}/ipbori|" \
@@ -253,6 +216,12 @@ gtk-update-icon-cache %{icondir} >&/dev/null ||:
%{_mandir}/man1/PolyGUI.1*
%changelog
+* Mon Mar 20 2012 Jerry James <loganjerry at gmail.com> - 0.8.1-1
+- New upstream release
+- Fix desktop file
+- Build no longer succeeds with external CUDD; the polybori developers have
+ stripped down and altered the CUDD sources, forcing us to use their version
+
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.8.0-7
- Rebuilt for c++ ABI breakage
diff --git a/sources b/sources
index 4a271aa..f514747 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-5024b793bc086c81f1a56be8309a0137 polybori-0.8.0.tar.gz
+bd5e8cac09df08afa0edaa48e60581b4 polybori-0.8.1.tar.gz
099395c28ed53d45853be366b9a58036 polybori-logos.tar.xz
More information about the scm-commits
mailing list