Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

giac: fix #include <giac/giac.h> in musl #45735

Merged
merged 1 commit into from
Aug 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions srcpkgs/giac/patches/fix-fgamma.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
Adapted from
https://github.com/geogebra/giac/commit/618a5de3349f8def5bdb909fea42fb447b6aad4a

--- a/src/usual.cc
+++ b/src/usual.cc
@@ -81,6 +81,16 @@ using namespace std;
#define sprintf256 sprintf
#endif

+#if defined HAVE_TGAMMAF || defined __APPLE__ || defined EMCC || defined EMCC2 || defined NO_BSD
+inline float fgamma(float f1){ return tgammaf(f1); }
+#else
+#if defined(__MINGW_H) || defined(VISUALC) || defined(FXCG)// FIXME gamma, not used
+inline float fgamma(float f1){ return f1; }
+#else
+inline float fgamma(float f1){ return gammaf(f1); } // or tgammaf(f1) on some versions of emscripten
+#endif
+#endif
+
#ifndef NO_NAMESPACE_GIAC
namespace giac {
#endif // ndef NO_NAMESPACE_GIAC
--- a/src/first.h
+++ b/src/first.h
@@ -578,15 +578,6 @@ inline float ffloor(float f1){
#endif
}
inline float finv(float f1){ return 1/f1; }
-#if defined HAVE_TGAMMAF || defined __APPLE__ || defined EMCC || defined EMCC2 || defined NO_BSD
-inline float fgamma(float f1){ return tgammaf(f1); }
-#else
-#if defined(__MINGW_H) || defined(VISUALC) || defined(FXCG)// FIXME gamma, not used
-inline float fgamma(float f1){ return f1; }
-#else
-inline float fgamma(float f1){ return gammaf(f1); } // or tgammaf(f1) on some versions of emscripten
-#endif
-#endif
#ifdef FXCG
inline float atan2f(float f1,float f2,int rad){ if (rad) return std::atan2(f1,f2); else return std::atan2(f1,f2)*180/3.14159265358979323846;}
#else
6 changes: 5 additions & 1 deletion srcpkgs/giac/template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Template file for 'giac'
pkgname=giac
version=1.9.0.57
revision=1
revision=2
build_style=gnu-configure
configure_args="--disable-micropy --disable-quickjs"
hostmakedepends="automake gettext-devel libtool"
Expand Down Expand Up @@ -56,6 +56,10 @@ pre_configure() {
post_install() {
# remove duplicates
rm -r ${DESTDIR}/usr/share/doc

echo "giac: check that '#include <giac/giac.h>' works (see #45708)"
echo '#include <giac/giac.h>' |
${CC} -c -isystem "${DESTDIR}/usr/include" -xc++ - -o /dev/null
}

libgiac_package() {
Expand Down