aboutsummaryrefslogtreecommitdiff
path: root/devel/rubygem-prometheus-client-mmap/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'devel/rubygem-prometheus-client-mmap/Makefile')
-rw-r--r--devel/rubygem-prometheus-client-mmap/Makefile32
1 files changed, 29 insertions, 3 deletions
diff --git a/devel/rubygem-prometheus-client-mmap/Makefile b/devel/rubygem-prometheus-client-mmap/Makefile
index 331518a486ee..8feeeb77047b 100644
--- a/devel/rubygem-prometheus-client-mmap/Makefile
+++ b/devel/rubygem-prometheus-client-mmap/Makefile
@@ -1,5 +1,6 @@
PORTNAME= prometheus-client-mmap
-DISTVERSION= 0.16.2
+PORTVERSION= 1.1.1
+PORTREVISION= 2
CATEGORIES= devel rubygems
MASTER_SITES= RG
@@ -9,7 +10,32 @@ WWW= https://gitlab.com/gitlab-org/prometheus-client-mmap
LICENSE= APACHE20
-USES= gem
-USE_RUBY= yes
+RUN_DEPENDS= rubygem-rb_sys>=0.9.86<1:lang/rubygem-rb_sys
+
+USES= cargo gem gmake llvm:build
+
+# Required to be able to build the rust library the gem uses
+GEMFILES:= ${DISTNAME}.gem
+DISTFILES+= ${DISTNAME}.gem
+GEMS_SKIP_SUBDIR= 1
+CARGO_VENDOR_DIR= ${WRKSRC}/ext/fast_mmaped_file_rs/cargo-crates
+CARGO_CARGOTOML= ${WRKSRC}/ext/fast_mmaped_file_rs/Cargo.toml
+CARGO_CARGOLOCK= ${WRKSRC}/ext/fast_mmaped_file_rs/Cargo.lock
+CARGO_BUILD= no
+CARGO_INSTALL= no
+GEM_ENV+= MAKE=gmake
+
+# update the crates file with: make cargo-crates > Makefile.crates
+
+# The port installs files writeable
+# Is reported upstream: https://gitlab.com/gitlab-org/ruby/gems/prometheus-client-mmap/-/issues/60
+post-extract:
+ ${CHMOD} -R o-w ${WRKSRC}
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302507 && ${OSVERSION} < 1400000 ))
+RUBYGEM_ARGS+= --with-cflags="-Wno-error=incompatible-function-pointer-types"
+.endif
.include <bsd.port.mk>