aboutsummaryrefslogtreecommitdiff
path: root/srcds-pkgs/bad/libfinite.nix
diff options
context:
space:
mode:
Diffstat (limited to 'srcds-pkgs/bad/libfinite.nix')
-rw-r--r--srcds-pkgs/bad/libfinite.nix20
1 files changed, 20 insertions, 0 deletions
diff --git a/srcds-pkgs/bad/libfinite.nix b/srcds-pkgs/bad/libfinite.nix
new file mode 100644
index 0000000..300bd18
--- /dev/null
+++ b/srcds-pkgs/bad/libfinite.nix
@@ -0,0 +1,20 @@
+# https://sourceware.org/git/?p=glibc.git;a=commit;h=7bdb921d
+{ runCommandWith, multiStdenv, writeText }:
+runCommandWith {
+ stdenv = multiStdenv;
+ name = "libfinite.a";
+} ''
+ cc -o finite.o -m32 -c ${writeText "finite.c" ''
+ #include <math.h>
+ /* metamod */
+ double __pow_finite(double x, double y) { return pow(x, y); }
+ /* sourcemod */
+ float __acosf_finite(float x) { return acosf(x); };
+ double __acos_finite(double x) { return acos(x); };
+ double __asin_finite(double x) { return asin(x); };
+ float __atan2f_finite(double y, double x) { return atan2f(y, x); }
+ double __atan2_finite(double y, double x) { return atan2(y, x); }
+ double __log_finite(double x) { return log(x); }
+ ''}
+ ar rcs $out finite.o
+''