public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michael Orlitzky" <mjo@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/topcom/files/, sci-mathematics/topcom/
Date: Wed, 15 May 2024 22:51:24 +0000 (UTC)	[thread overview]
Message-ID: <1715809329.0c9c98de9bb757a4a2cd0857df6d0e98eb7a6837.mjo@gentoo> (raw)

commit:     0c9c98de9bb757a4a2cd0857df6d0e98eb7a6837
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 21:40:18 2024 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Wed May 15 21:42:09 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c9c98de

sci-mathematics/topcom: add 1.1.2

Closes: https://bugs.gentoo.org/928063
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 sci-mathematics/topcom/Manifest                    |   2 +
 .../topcom/files/topcom-1.1.2-buildsystem.patch    | 295 +++++++++++++++++++++
 sci-mathematics/topcom/topcom-1.1.2.ebuild         |  54 ++++
 3 files changed, 351 insertions(+)

diff --git a/sci-mathematics/topcom/Manifest b/sci-mathematics/topcom/Manifest
index 7838ec1e93cf..328160036c78 100644
--- a/sci-mathematics/topcom/Manifest
+++ b/sci-mathematics/topcom/Manifest
@@ -1,2 +1,4 @@
 DIST TOPCOM-0_17_8.tgz 8994044 BLAKE2B 27426b9fd9da8bc51e3632483cdd1c3f878a03d22dcad637c1c26368d58dbc9a9ef4c6918e314484336b1355cdf703287bf50d248e257773729a4d9fd012c0ca SHA512 2ddab2f30bf3adf93f0bb76c50bc70a5927fe2a9561a59df0ac7bec193b9a9b231eecb58c69840247536b73fda5298955518e798c3b5f8d2961ca09dfdc81cce
+DIST TOPCOM-1_1_2.tgz 7924000 BLAKE2B 4e489c2ee1682ca4612eaef785134711d9cd1b61a225b811015fcf8b3db057d83169fb251f61f4b8f983bfd450515619f01664789f7f5dbe2a076d2af0ab6a28 SHA512 acdfcd11d4d6d6b3d21f90313d413a0d6a753a982d1090de5ed2cdd011dec98e04058f79679772bb911c5c2f23834477c5fff9511ca0cd67a392c6b24347ef7d
 DIST TOPCOM-manual.html 19251 BLAKE2B 8e361fd81bed45b552766a86a856ed1411154b5c523e14463750651d1c8d7b0f1f25a7c29bfdc34910fad3d19a1df94ded47b63a973f22baf3d60a7c5f0e1578 SHA512 5d0303f141bce12e0354c2fb65420102aa198e2271c0e901621f850b47f9cf9642659b0cf8e9bcc7a6da3b39914c20e47c67e72aa9cf999892f80855daa25c67
+DIST TOPCOM-manual.pdf 173775 BLAKE2B 6bc7a68c17b514d0ceb1d7ee69fd9c943078ceb88c6b98a12cb88447cf5720d47aa9db70b0c584ccd6900d186822176cd949b55f4d6badb8ffa997ed1fcba799 SHA512 820f26075d3416264ebece7b218f4c5cdfea0f465fe71724d799e4f0375c44e16f80e49f1f184d48d9699fb42379a27924f4c01385d85216d099e3e1c557389f

diff --git a/sci-mathematics/topcom/files/topcom-1.1.2-buildsystem.patch b/sci-mathematics/topcom/files/topcom-1.1.2-buildsystem.patch
new file mode 100644
index 000000000000..77982286acf2
--- /dev/null
+++ b/sci-mathematics/topcom/files/topcom-1.1.2-buildsystem.patch
@@ -0,0 +1,295 @@
+From 4e0185faf3f97f0d027cf74df54d4b08adf1d355 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 15 May 2024 09:51:06 -0400
+Subject: [PATCH 1/1] */*: patch build system for Gentoo
+
+  - No "external" anything
+  - Use libtool for libraries
+  - Unbundle gmp and cddlib
+  - Use modern cddlib include path
+  - Detect deps with pkg-config
+  - Build lib-reg after lib
+  - Don't hide all symbols with -fvisibility=hidden???
+---
+ Makefile.am                |  8 +---
+ configure.ac               | 92 +++++++-------------------------------
+ lib-src-reg/LPinterface.hh |  4 +-
+ lib-src-reg/Makefile.am    |  7 +--
+ lib-src/Makefile.am        |  5 +--
+ src-reg/Makefile.am        | 19 +-------
+ src/Makefile.am            | 19 +-------
+ wrap-gmp-gmpxx/Makefile.am |  1 -
+ 8 files changed, 29 insertions(+), 126 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 17f6960..02f80f3 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,7 +1 @@
+-SUBDIRS      = wrap-gmp-gmpxx lib-src-reg lib-src src-reg src examples share
+-EXTRA_DIST   = external/Makefile
+-EXTRA_DIST  += external/gmp-6.2.1.tar.bz2
+-EXTRA_DIST  += external/cddlib-0.94j-TOPCOMb.tar.gz
+-EXTRA_DIST  += external/qsopt_ex-2.5.10.3.tar.gz
+-EXTRA_DIST  += external/gmpxx-patch
+-
++SUBDIRS      = wrap-gmp-gmpxx lib-src lib-src-reg src src-reg examples share
+diff --git a/configure.ac b/configure.ac
+index 2372711..0e6efd7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -10,96 +10,36 @@ AC_SUBST([TOPCOMROOT], [`pwd`])
+ 
+ dnl set some compilation switches consistently:
+ AC_SUBST([AM_CPPFLAGS], ["-DSTL_SYMMETRIES -DSTL_CONTAINERS -DSTL_FLIPS -DSTL_CHIROTOPE -DGMPRATIONAL -DPERMLIB_DOMAIN_INT -DUSE_LEXORDER]")
+-AC_SUBST([AM_CXXFLAGS], [" -fvisibility=hidden -fvisibility-inlines-hidden -pthread -std=c++17"])
+-AC_SUBST([AM_LDFLAGS], ["-L../external/lib]")
+-
+-dnl backup the user variable LDFLAGS:
+-dnl AC_SUBST([LDFLAGS_backup], [${LDFLAGS}])
+-
+-dnl add local libraries to LDFLAGS so that AC_CHECK_LIB will find them:
+-dnl AC_SUBST([LDFLAGS], ["-L${TOPCOMROOT}/external/lib"])
++AC_SUBST([AM_CXXFLAGS], ["-std=c++17"])
+ 
+ dnl Checks for programs.
+ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_CXX
+-AC_PROG_RANLIB
++LT_INIT
+ 
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+ 
+ 
+ dnl Check for libraries:
+-dnl Make libgmp if requested:
+-AC_LANG_PUSH(C++)
+-AC_CHECK_HEADERS([gmpxx.h])
+-AC_LANG_POP
+-AM_CONDITIONAL(USE_LOCAL_GMP, [test "x$ac_cv_header_gmpxx_h" = "xno"])
+-if test "x$ac_cv_header_gmpxx_h" = "xyes"; then
+-  AC_MSG_NOTICE([system libgmp is used])
+-else
+-  AC_MSG_NOTICE([gmpxx.h not found on system - building gmp locally ...])
+-  make -C external gmp
+-  AC_MSG_NOTICE([... done])
+-fi
+-
+-dnl Make libcddgmp:
+-make -C external cdd
+-
+-dnl Check for requests for third-party packages:
+-dnl Check for qsopt_ex:
+-AC_MSG_CHECKING(whether QSOpt_ex support was enabled)
+-AC_ARG_ENABLE([qsoptex],
+-  AS_HELP_STRING([--enable-qsoptex],
+-                 [use QSOpt_ex as an LP solver for regularity checks (requires QSOpt_ex includes in ${TOPCOM}/external/include and libqsopt_ex.a in ${TOPCOM}/external/lib (built automatically during configure)])
++PKG_CHECK_MODULES(
++  [GMPXX],
++  [gmpxx],[
++    LIBS="${LIBS} ${GMPXX_LIBS}"
++    CPPFLAGS="${CPPFLAGS} ${GMPXX_CFLAGS}"
++  ],
++  [AC_MSG_ERROR([gmpxx not found])]
+ )
+-AM_CONDITIONAL(USE_QSOPTEX, [test "x$enable_qsoptex" = "xyes"])
+-if test "x$enable_qsoptex" = "xyes"; then
+-  AC_MSG_RESULT(yes)
+-  AC_DEFINE(HAVE_LIBQSOPTEX)
+-
+-  dnl Check for compression libraries (qsopt_ex uses them if they are present):
+-  AC_CHECK_LIB([z], [gzopen], [], AC_MSG_NOTICE([compiling without libz]))
+-  AC_CHECK_LIB([bz2], [BZ2_bzopen], [], AC_MSG_NOTICE([compiling without libbz2]))
+-
+-  dnl Make libqsopt_ex:
+-  make -C external qso
+-else
+-  AC_MSG_RESULT(no)
+-fi
+-
+-dnl Check for soplex:
+-AC_MSG_CHECKING(whether soplex support was enabled)
+-AC_ARG_ENABLE([soplex],
+-  AS_HELP_STRING([--enable-soplex],
+-                 [use soplex as an LP solver for regularity checks (requires soplex includes and boost in ${TOPCOM}/external/include and libsoplex.a in ${TOPCOM}/external/lib)])
++PKG_CHECK_MODULES(
++  [CDDLIB],
++  [cddlib],[
++    LIBS="${LIBS} ${CDDLIB_LIBS}"
++    CPPFLAGS="${CPPFLAGS} ${CDDLIB_CFLAGS}"
++  ],
++  [AC_MSG_ERROR([cddlib not found])]
+ )
+-if test "x$enable_soplex" = "xyes"; then  
+-  AC_MSG_RESULT(yes)
+-
+-  dnl Check for compression library (soplex needs it):
+-  AC_CHECK_LIB([z], [gzopen], [LIBS="-lsoplex $LIBS"; AC_DEFINE(HAVE_LIBSOPLEX)], AC_MSG_NOTICE([libz missing => soplex not enabled]))
+-else
+-  AC_MSG_RESULT(no)
+-fi
+-AM_CONDITIONAL(USE_SOPLEX, [test "x$ac_cv_lib_z_gzopen" = "xyes" -a "x$enable_soplex" = "xyes"])
+-
+-dnl Check for Permlib:
+-dnl AC_MSG_CHECKING(whether permlib support was enabled)
+-dnl AC_ARG_ENABLE([permlib],
+-dnl   AS_HELP_STRING([--enable-permlib],
+-dnl                  [support permlib for symmetry checks (requires permlib-includes and boost in ${TOPCOM}/external/include)])
+-dnl )
+-dnl AM_CONDITIONAL(USE_PERMLIB, [test "x$enable_permlib" = "xyes"])
+-dnl if test "x$enable_permlib" = "xyes"; then
+-dnl   AC_DEFINE(HAVE_LIBPERMLIB)
+-dnl   AC_MSG_RESULT(yes)
+-dnl else
+-dnl   AC_MSG_RESULT(no)
+-dnl fi
+ 
+-dnl restore the user variable LDLFAGS:
+-dnl AC_SUBST([LDFLAGS], [${LDFLAGS_backup}])
+ 
+ AC_CONFIG_FILES([wrap-gmp-gmpxx/Makefile lib-src/Makefile lib-src-reg/Makefile src/Makefile src-reg/Makefile examples/Makefile share/Makefile Makefile])
+ AC_OUTPUT
+diff --git a/lib-src-reg/LPinterface.hh b/lib-src-reg/LPinterface.hh
+index 6522dbe..c376887 100644
+--- a/lib-src-reg/LPinterface.hh
++++ b/lib-src-reg/LPinterface.hh
+@@ -21,8 +21,8 @@
+ #include "LabelSet.hh"
+ #include "Rational.h"
+ 
+-#include "setoper.h"
+-#include "cdd.h"
++#include "cddlib/setoper.h"
++#include "cddlib/cdd.h"
+ 
+ namespace topcom {
+ 
+diff --git a/lib-src-reg/Makefile.am b/lib-src-reg/Makefile.am
+index fa8de11..13a0c87 100644
+--- a/lib-src-reg/Makefile.am
++++ b/lib-src-reg/Makefile.am
+@@ -1,6 +1,6 @@
+-lib_LIBRARIES = libCHECKREG.a
++lib_LTLIBRARIES = libCHECKREG.la
+ 
+-libCHECKREG_a_SOURCES = \
++libCHECKREG_la_SOURCES = \
+ QSOinterface.cc \
+ SPXinterface.cc \
+ LPinterface.cc \
+@@ -12,9 +12,10 @@ SPXinterface.hh \
+ RegularityCheck.hh \
+ LPinterface.hh
+ 
++libCHECKREG_la_LIBADD   = ../lib-src/libTOPCOM.la
++
+ AM_CPPFLAGS    += -I../lib-src
+ AM_CPPFLAGS    += -I../wrap-gmp-gmpxx
+-AM_CPPFLAGS    += -I../external/include
+ AM_CPPFLAGS    += -I$(includedir)
+ 
+ AM_CPPFLAGS    += -ftemplate-depth=100
+diff --git a/lib-src/Makefile.am b/lib-src/Makefile.am
+index c048061..dbaa888 100644
+--- a/lib-src/Makefile.am
++++ b/lib-src/Makefile.am
+@@ -1,6 +1,6 @@
+-lib_LIBRARIES       = libTOPCOM.a
++lib_LTLIBRARIES       = libTOPCOM.la
+ 
+-libTOPCOM_a_SOURCES = \
++libTOPCOM_la_SOURCES = \
+ Admissibles.cc \
+ CheckTriang.cc \
+ Circuits.cc \
+@@ -134,7 +134,6 @@ Volumes.hh
+ 
+ AM_CPPFLAGS    += -I../lib-src-reg
+ AM_CPPFLAGS    += -I../wrap-gmp-gmpxx
+-AM_CPPFLAGS    += -I../external/include
+ AM_CPPFLAGS    += -I$(includedir)
+ 
+ AM_CPPFLAGS    += -ftemplate-depth=100
+diff --git a/src-reg/Makefile.am b/src-reg/Makefile.am
+index ed4a016..78e9c44 100644
+--- a/src-reg/Makefile.am
++++ b/src-reg/Makefile.am
+@@ -2,27 +2,12 @@ bin_PROGRAMS = checkregularity
+ 
+ checkregularity_SOURCES = checkregularity.cc
+ 
+-LDADD           = ../lib-src/libTOPCOM.a \
+-                  ../lib-src-reg/libCHECKREG.a \
+-                  ../external/lib/libcddgmp.a
+-if USE_QSOPTEX
+-LDADD          += ../external/lib/libqsopt_ex.a
+-endif
+-
+-if USE_SOPLEX
+-LDADD          += ../external/lib/libsoplex.a
+-endif
+-if USE_LOCAL_GMP
+-LDADD          += ../external/lib/libgmpxx.a \
+-                  ../external/lib/libgmp.a
+-else
+-LIBS           += -lgmpxx -lgmp
+-endif
++checkregularity_LDADD   = ../lib-src/libTOPCOM.la \
++                          ../lib-src-reg/libCHECKREG.la
+ 
+ AM_CPPFLAGS    += -I../lib-src
+ AM_CPPFLAGS    += -I../lib-src-reg
+ AM_CPPFLAGS    += -I../wrap-gmp-gmpxx
+-AM_CPPFLAGS    += -I../external/include
+ AM_CPPFLAGS    += -I$(includedir)
+ 
+ AM_CPPFLAGS    += -ftemplate-depth=100
+diff --git a/src/Makefile.am b/src/Makefile.am
+index c97ecc5..ce723fb 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -121,27 +121,12 @@ santos_triang_SOURCES              = santos_triang.cc
+ santos_dim4_triang_SOURCES         = santos_dim4_triang.cc
+ santos_22_triang_SOURCES           = santos_22_triang.cc
+ 
+-LDADD           = ../lib-src/libTOPCOM.a \
+-                  ../lib-src-reg/libCHECKREG.a \
+-                  ../external/lib/libcddgmp.a
+-if USE_QSOPTEX
+-LDADD          += ../external/lib/libqsopt_ex.a
+-endif
+-if USE_SOPLEX
+-LDADD          += ../external/lib/libsoplex.a
+-endif
+-if USE_LOCAL_GMP
+-LDADD          += ../external/lib/libgmpxx.a \
+-                  ../external/lib/libgmp.a
+-else
+-LIBS           += -lgmpxx -lgmp
+-endif
+-
++LDADD           = ../lib-src/libTOPCOM.la \
++                  ../lib-src-reg/libCHECKREG.la
+ 
+ AM_CPPFLAGS    += -I../lib-src
+ AM_CPPFLAGS    += -I../lib-src-reg
+ AM_CPPFLAGS    += -I../wrap-gmp-gmpxx
+-AM_CPPFLAGS    += -I../external/include
+ AM_CPPFLAGS    += -I$(includedir)
+ 
+ AM_CPPFLAGS    += -ftemplate-depth=100
+diff --git a/wrap-gmp-gmpxx/Makefile.am b/wrap-gmp-gmpxx/Makefile.am
+index f85cfc5..41ad248 100644
+--- a/wrap-gmp-gmpxx/Makefile.am
++++ b/wrap-gmp-gmpxx/Makefile.am
+@@ -2,5 +2,4 @@ include_HEADERS = \
+ Integer.h \
+ Rational.h
+ 
+-AM_CPPFLAGS       += -I../external/include
+ AM_CPPFLAGS       += -I$(includedir)
+-- 
+2.43.2
+

diff --git a/sci-mathematics/topcom/topcom-1.1.2.ebuild b/sci-mathematics/topcom/topcom-1.1.2.ebuild
new file mode 100644
index 000000000000..2093e331468c
--- /dev/null
+++ b/sci-mathematics/topcom/topcom-1.1.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_PV=$(ver_rs 0-2 _)
+MY_P="${PN^^}-${MY_PV}"
+
+DESCRIPTION="Computing Triangulations Of Point Configurations and Oriented Matroids"
+HOMEPAGE="https://www.wm.uni-bayreuth.de/de/team/rambau_joerg/TOPCOM/index.html"
+SRC_URI="
+	https://www.wm.uni-bayreuth.de/de/team/rambau_joerg/TOPCOM-Downloads/${MY_P}.tgz
+	doc? ( https://www.wm.uni-bayreuth.de/de/team/rambau_joerg/TOPCOM-Manual/TOPCOM-manual.pdf )
+"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="doc examples"
+
+DEPEND="
+	dev-libs/gmp:0[cxx]
+	sci-libs/cddlib
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-buildsystem.patch" )
+
+src_prepare () {
+	default
+	eautoreconf
+	find external -delete || die
+}
+
+src_install () {
+	default
+
+	use doc && dodoc "${DISTDIR}/TOPCOM-manual.pdf"
+
+	if use examples; then
+		docompress -x "/usr/share/doc/${PF}/examples"
+		dodoc -r examples
+	fi
+
+	mv "${ED}/usr/bin/cube" "${ED}/usr/bin/topcom_cube" || die
+
+	find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+	elog "Due to a file collision with media-libs/lib3ds the helper"
+	elog "'cube' has been installed as topcom_cube (see bug #547030)."
+}


             reply	other threads:[~2024-05-15 22:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-15 22:51 Michael Orlitzky [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-05-07 22:31 [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/topcom/files/, sci-mathematics/topcom/ Michael Orlitzky
2022-05-07 22:31 Michael Orlitzky
2021-03-07 22:18 Michael Orlitzky
2016-09-25 18:36 Thomas Kahle
2016-09-25 18:27 Thomas Kahle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1715809329.0c9c98de9bb757a4a2cd0857df6d0e98eb7a6837.mjo@gentoo \
    --to=mjo@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox