diff options
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/rubygem-rbtrace/Makefile | 20 | ||||
-rw-r--r-- | devel/rubygem-rbtrace/distinfo | 2 | ||||
-rw-r--r-- | devel/rubygem-rbtrace/files/patch-ext__rbtrace.c | 34 | ||||
-rw-r--r-- | devel/rubygem-rbtrace/pkg-descr | 4 |
5 files changed, 61 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index 0c65e6f58685..d11fb152ad95 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -4466,6 +4466,7 @@ SUBDIR += rubygem-rb-fsevent SUBDIR += rubygem-rb-inotify SUBDIR += rubygem-rb-kqueue + SUBDIR += rubygem-rbtrace SUBDIR += rubygem-rcov SUBDIR += rubygem-rdoc SUBDIR += rubygem-recaptcha diff --git a/devel/rubygem-rbtrace/Makefile b/devel/rubygem-rbtrace/Makefile new file mode 100644 index 000000000000..5c2e68b3fe54 --- /dev/null +++ b/devel/rubygem-rbtrace/Makefile @@ -0,0 +1,20 @@ +# Created by: Steve Wills <swills@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= rbtrace +PORTVERSION= 0.4.5 +CATEGORIES= devel rubygems +MASTER_SITES= RG + +MAINTAINER= ruby@FreeBSD.org +COMMENT= Shows method calls inside another ruby process in real time + +RUN_DEPENDS= rubygem-ffi>=1.0.6:${PORTSDIR}/devel/rubygem-ffi \ + rubygem-trollop>=1.16.2:${PORTSDIR}/devel/rubygem-trollop \ + rubygem-msgpack>=0.4.3:${PORTSDIR}/devel/rubygem-msgpack + +USE_RUBY= yes +USE_RUBYGEMS= yes +RUBYGEM_AUTOPLIST=yes + +.include <bsd.port.mk> diff --git a/devel/rubygem-rbtrace/distinfo b/devel/rubygem-rbtrace/distinfo new file mode 100644 index 000000000000..247081245bbd --- /dev/null +++ b/devel/rubygem-rbtrace/distinfo @@ -0,0 +1,2 @@ +SHA256 (rubygem/rbtrace-0.4.5.gem) = da3c1bb8a356e11bc96ac466d8d374478511beb55643c0a85f379f4a255d714e +SIZE (rubygem/rbtrace-0.4.5.gem) = 431616 diff --git a/devel/rubygem-rbtrace/files/patch-ext__rbtrace.c b/devel/rubygem-rbtrace/files/patch-ext__rbtrace.c new file mode 100644 index 000000000000..f14efe66d913 --- /dev/null +++ b/devel/rubygem-rbtrace/files/patch-ext__rbtrace.c @@ -0,0 +1,34 @@ +--- ext/rbtrace.c ++++ ext/rbtrace.c +@@ -40,6 +40,16 @@ + #define RSTRING_LEN(str) RSTRING(str)->len + #endif + ++ ++#ifdef __FreeBSD__ ++ #define PLATFORM_FREEBSD ++#endif ++ ++#ifdef __linux__ ++ #define PLATFORM_LINUX ++#endif ++ ++ + static uint64_t + ru_utime_usec() + { +@@ -953,7 +963,14 @@ rbtrace__process_event(msgpack_object cmd) + + if (outer == 0) { + rb_eval_string_protect("$0 = \"[DEBUG] #{Process.ppid}\"", 0); ++ ++#ifdef PLATFORM_FREEBSD ++ // The call setpgrp() is equivalent to setpgid(0,0). ++ setpgid(0,0); ++#else + setpgrp(); ++#endif ++ + pid_t inner = fork(); + + if (inner == 0) { diff --git a/devel/rubygem-rbtrace/pkg-descr b/devel/rubygem-rbtrace/pkg-descr new file mode 100644 index 000000000000..0453268dc8e0 --- /dev/null +++ b/devel/rubygem-rbtrace/pkg-descr @@ -0,0 +1,4 @@ +rbtrace shows you method calls happening inside another ruby process in real +time. + +WWW: http://github.com/tmm1/rbtrace |