halfempty: readd, doesn't work well on NetBSD yet.
This commit is contained in:
parent
077f2af09c
commit
999b97501f
24
Makefile
24
Makefile
|
@ -1070,7 +1070,6 @@ SUBDIR+= ghc
|
|||
SUBDIR+= ghc-core
|
||||
SUBDIR+= ghc68
|
||||
SUBDIR+= ghc710
|
||||
SUBDIR+= glusterfs
|
||||
SUBDIR+= ghmm
|
||||
SUBDIR+= ghostpcl-urwfonts-ttf
|
||||
SUBDIR+= ghostscript-cidfonts-ryumin
|
||||
|
@ -1101,6 +1100,7 @@ SUBDIR+= glkterm
|
|||
SUBDIR+= glm
|
||||
SUBDIR+= globulation2
|
||||
SUBDIR+= glulxe
|
||||
SUBDIR+= glusterfs
|
||||
SUBDIR+= gmap
|
||||
SUBDIR+= gmetadom
|
||||
SUBDIR+= gmic
|
||||
|
@ -1286,10 +1286,10 @@ SUBDIR+= gtypist
|
|||
SUBDIR+= gucharmap
|
||||
SUBDIR+= guest-oslogin
|
||||
SUBDIR+= guichan
|
||||
SUBDIR+= guile30
|
||||
SUBDIR+= guile-persist
|
||||
SUBDIR+= guile-reader
|
||||
SUBDIR+= guile-stis-parser
|
||||
SUBDIR+= guile30
|
||||
SUBDIR+= guitone
|
||||
SUBDIR+= guix
|
||||
SUBDIR+= gupnp-ui
|
||||
|
@ -1306,6 +1306,7 @@ SUBDIR+= h8300-elf-binutils
|
|||
SUBDIR+= h8300-elf-gcc
|
||||
SUBDIR+= hackgen-ttf
|
||||
SUBDIR+= haddock
|
||||
SUBDIR+= halfempty
|
||||
SUBDIR+= hammer
|
||||
SUBDIR+= hanazono-ttf
|
||||
SUBDIR+= harmony
|
||||
|
@ -1721,6 +1722,8 @@ SUBDIR+= kdebugsettings
|
|||
SUBDIR+= kdecoration
|
||||
SUBDIR+= kdialog
|
||||
SUBDIR+= kea
|
||||
SUBDIR+= kea-git
|
||||
SUBDIR+= keama-git
|
||||
SUBDIR+= keditbookmarks
|
||||
SUBDIR+= kfind
|
||||
SUBDIR+= kgamma5
|
||||
|
@ -1791,6 +1794,7 @@ SUBDIR+= ldc-git
|
|||
SUBDIR+= lde
|
||||
SUBDIR+= ldtp
|
||||
SUBDIR+= leo
|
||||
SUBDIR+= lf
|
||||
SUBDIR+= lfe
|
||||
SUBDIR+= lgogdownloader-git
|
||||
SUBDIR+= lhapdf
|
||||
|
@ -2190,6 +2194,7 @@ SUBDIR+= mingw-w64-headers
|
|||
SUBDIR+= mingw-w64-libgcc
|
||||
SUBDIR+= mini18n
|
||||
SUBDIR+= minio
|
||||
SUBDIR+= minizip
|
||||
SUBDIR+= minizip192
|
||||
SUBDIR+= minuit2
|
||||
SUBDIR+= mipscope
|
||||
|
@ -2310,6 +2315,8 @@ SUBDIR+= myfitter
|
|||
SUBDIR+= mysql++
|
||||
SUBDIR+= mysql-docs
|
||||
SUBDIR+= mysql-proxy
|
||||
SUBDIR+= mysql80-client
|
||||
SUBDIR+= mysql80-server
|
||||
SUBDIR+= mysqltcl
|
||||
SUBDIR+= n2n
|
||||
SUBDIR+= naev
|
||||
|
@ -2432,7 +2439,6 @@ SUBDIR+= obnc-libstd
|
|||
SUBDIR+= ocaml
|
||||
SUBDIR+= ocaml-bin_prot
|
||||
SUBDIR+= ocaml-biniou
|
||||
SUBDIR+= ocaml-cairo
|
||||
SUBDIR+= ocaml-camomile
|
||||
SUBDIR+= ocaml-comparelib
|
||||
SUBDIR+= ocaml-custom_printf
|
||||
|
@ -2442,7 +2448,6 @@ SUBDIR+= ocaml-fieldslib
|
|||
SUBDIR+= ocaml-gen
|
||||
SUBDIR+= ocaml-gmetadom
|
||||
SUBDIR+= ocaml-herelib
|
||||
SUBDIR+= ocaml-lablgtk3
|
||||
SUBDIR+= ocaml-obuild
|
||||
SUBDIR+= ocaml-odoc
|
||||
SUBDIR+= ocaml-ounit
|
||||
|
@ -4267,6 +4272,7 @@ SUBDIR+= radare2-git
|
|||
SUBDIR+= radiotray
|
||||
SUBDIR+= rainbow
|
||||
SUBDIR+= rakudo-star
|
||||
SUBDIR+= range-v3
|
||||
SUBDIR+= ranmacgen
|
||||
SUBDIR+= rapidxml
|
||||
SUBDIR+= rar4
|
||||
|
@ -4323,6 +4329,7 @@ SUBDIR+= rootcheck
|
|||
SUBDIR+= rootsh
|
||||
SUBDIR+= rosegarden
|
||||
SUBDIR+= rott
|
||||
SUBDIR+= roundcube-plugin-carddav
|
||||
SUBDIR+= roundcube-skin-mvision2
|
||||
SUBDIR+= routersploit
|
||||
SUBDIR+= roxterm
|
||||
|
@ -4448,8 +4455,8 @@ SUBDIR+= scorched3d
|
|||
SUBDIR+= scourge
|
||||
SUBDIR+= scr2png
|
||||
SUBDIR+= scratchpad
|
||||
SUBDIR+= screengrab
|
||||
SUBDIR+= scrc
|
||||
SUBDIR+= screengrab
|
||||
SUBDIR+= scribus
|
||||
SUBDIR+= scsh-install-lib
|
||||
SUBDIR+= scummvm-bass
|
||||
|
@ -4460,6 +4467,11 @@ SUBDIR+= scythe
|
|||
SUBDIR+= sdd
|
||||
SUBDIR+= sdict-tools
|
||||
SUBDIR+= sdif-git
|
||||
SUBDIR+= sdl-hercules-crypto
|
||||
SUBDIR+= sdl-hercules-decnumber
|
||||
SUBDIR+= sdl-hercules-hyperion
|
||||
SUBDIR+= sdl-hercules-softfloat
|
||||
SUBDIR+= sdl-hercules-telnet
|
||||
SUBDIR+= sds
|
||||
SUBDIR+= seafile-client
|
||||
SUBDIR+= seafile-gui
|
||||
|
@ -4713,6 +4725,7 @@ SUBDIR+= tealdeer
|
|||
SUBDIR+= teamspeak
|
||||
SUBDIR+= teco
|
||||
SUBDIR+= telegraf
|
||||
SUBDIR+= telegram-desktop
|
||||
SUBDIR+= telepathy-butterfly
|
||||
SUBDIR+= telepathy-logger
|
||||
SUBDIR+= tendra
|
||||
|
@ -4989,6 +5002,7 @@ SUBDIR+= wkhtmltopdf
|
|||
SUBDIR+= wl-git
|
||||
SUBDIR+= wla-dx
|
||||
SUBDIR+= wla-dx-git
|
||||
SUBDIR+= wlroots
|
||||
SUBDIR+= wmc2d
|
||||
SUBDIR+= wmii-devel
|
||||
SUBDIR+= wmname
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Halfempty is a new testcase minimization tool, designed with
|
||||
parallelization in mind. Halfempty was built to use strategies and
|
||||
techniques that dramatically speed up the minimization process.
|
|
@ -0,0 +1,27 @@
|
|||
# $NetBSD: Makefile,v 1.3 2020/01/14 13:13:14 wiz Exp $
|
||||
|
||||
DISTNAME= halfempty-0.30
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= ${MASTER_SITE_GITHUB:=googleprojectzero/}
|
||||
GITHUB_TAG= v${PKGVERSION_NOREV}
|
||||
|
||||
MAINTAINER= pkgsrc-users@NetBSD.org
|
||||
HOMEPAGE= https://github.com/googleprojectzero/halfempty/
|
||||
COMMENT= Fast, parallel test case minimization tool
|
||||
LICENSE= apache-2.0
|
||||
|
||||
USE_TOOLS+= gmake pkg-config
|
||||
#TEST_TARGET= test
|
||||
|
||||
INSTALLATION_DIRS= bin share/doc/halfempty
|
||||
|
||||
#TEST_DEPENDS+= coreutils-[0-9]*:../../sysutils/coreutils
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/halfempty ${DESTDIR}${PREFIX}/bin
|
||||
${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/share/doc/halfempty
|
||||
|
||||
.include "../../devel/glib2/buildlink3.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
||||
# for putting shuf from coreutils in path
|
||||
#PATH:=${PATH}:${PREFIX}/gnu/bin
|
|
@ -0,0 +1,3 @@
|
|||
@comment $NetBSD: PLIST,v 1.2 2020/01/12 13:22:29 wiz Exp $
|
||||
bin/halfempty
|
||||
share/doc/halfempty/README.md
|
|
@ -0,0 +1,11 @@
|
|||
$NetBSD: distinfo,v 1.2 2020/01/12 13:22:29 wiz Exp $
|
||||
|
||||
SHA1 (halfempty-0.30.tar.gz) = 488244faa408bb33331a30a0e482ad46d0968c85
|
||||
RMD160 (halfempty-0.30.tar.gz) = e4f3b6840c973a116dc066b6bdc7040d848ff39e
|
||||
SHA512 (halfempty-0.30.tar.gz) = 99a78723fd70f06f6059379062cb700e4f571ef476e48b5fa61a3afa2d2290536ad287cee8a62441d4528cb4849755daa36aef9989239bdb59510e562dc0bedd
|
||||
Size (halfempty-0.30.tar.gz) = 1097760 bytes
|
||||
SHA1 (patch-Makefile) = 604dcd52ffd6769ea3b6658126436267a48b7e0b
|
||||
SHA1 (patch-bisect.c) = e78d35cb18ec1d59eff66ee31afac3f42753cdd5
|
||||
SHA1 (patch-limits.c) = 3999440235ddff9b2d48b5f639d1fd22cb37f698
|
||||
SHA1 (patch-proc.c) = 638b8b9b7c0f74b004cf19a40ef7acea1ca9be66
|
||||
SHA1 (patch-util.c) = 9998ae7bf0c860f1c6483010f61a0fa35e2f0554
|
|
@ -0,0 +1,29 @@
|
|||
$NetBSD: patch-Makefile,v 1.2 2020/01/12 13:22:29 wiz Exp $
|
||||
|
||||
Use generic replacement functions for missing symbols on NetBSD.
|
||||
https://github.com/googleprojectzero/halfempty/pull/11
|
||||
|
||||
--- Makefile.orig 2019-03-16 17:55:00.000000000 +0000
|
||||
+++ Makefile
|
||||
@@ -1,7 +1,7 @@
|
||||
CC = gcc
|
||||
-CFLAGS = -Wall -std=gnu99 -O2 -ggdb3 -march=native -fPIC -Wno-format-zero-length -Wno-unused-parameter
|
||||
-LDFLAGS = -pie
|
||||
-CPPFLAGS = -UNDEBUG -UG_DISABLE_ASSERT `getconf LFS_CFLAGS` `pkg-config --cflags glib-2.0` -D_GNU_SOURCE
|
||||
+CFLAGS += -Wall -std=gnu99 -O2 -ggdb3 -march=native -fPIC -Wno-format-zero-length -Wno-unused-parameter
|
||||
+LDFLAGS += -pie
|
||||
+CPPFLAGS += -UNDEBUG -UG_DISABLE_ASSERT `getconf LFS_CFLAGS` `pkg-config --cflags glib-2.0` -D_GNU_SOURCE
|
||||
LDLIBS = `pkg-config --libs glib-2.0`
|
||||
EXTRA =
|
||||
|
||||
@@ -23,6 +23,10 @@ ifeq ($(findstring Microsoft,$(shell una
|
||||
EXTRA = splice_generic.o sendfile_generic.o
|
||||
endif
|
||||
|
||||
+ifeq ($(shell uname),NetBSD)
|
||||
+ EXTRA = sendfile_generic.o splice_generic.o
|
||||
+endif
|
||||
+
|
||||
halfempty: proc.o bisect.o util.o zero.o tree.o flags.o halfempty.o limits.o $(EXTRA)
|
||||
|
||||
util.o: monitor.h util.c
|
|
@ -0,0 +1,25 @@
|
|||
$NetBSD: patch-bisect.c,v 1.1 2020/01/09 12:12:17 wiz Exp $
|
||||
|
||||
%m is only allowed in syslog(3) like functions [-Wformat=]
|
||||
https://github.com/googleprojectzero/halfempty/pull/11
|
||||
|
||||
--- bisect.c.orig 2019-03-16 17:55:00.000000000 +0000
|
||||
+++ bisect.c
|
||||
@@ -202,7 +202,7 @@ static task_t * strategy_bisect_data(GNo
|
||||
source->fd,
|
||||
0,
|
||||
childstatus->offset) == false) {
|
||||
- g_error("sendfile failed while trying to construct new file, %m");
|
||||
+ g_error("sendfile failed while trying to construct new file, %s", strerror(errno));
|
||||
goto nochildunlock;
|
||||
}
|
||||
|
||||
@@ -215,7 +215,7 @@ static task_t * strategy_bisect_data(GNo
|
||||
source->size
|
||||
- childstatus->chunksize
|
||||
- childstatus->offset) == false) {
|
||||
- g_error("sendfile failed while trying to construct new file, %m");
|
||||
+ g_error("sendfile failed while trying to construct new file, %s", strerror(errno));
|
||||
goto nochildunlock;
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
$NetBSD: patch-limits.c,v 1.1 2020/01/09 12:12:17 wiz Exp $
|
||||
|
||||
%m is only allowed in syslog(3) like functions [-Wformat=]
|
||||
https://github.com/googleprojectzero/halfempty/pull/11
|
||||
|
||||
--- limits.c.orig 2019-03-16 17:55:00.000000000 +0000
|
||||
+++ limits.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
+#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/time.h>
|
||||
@@ -127,7 +128,7 @@ static void __attribute__((constructor))
|
||||
|
||||
for (gint i = 0; i < RLIMIT_NLIMITS; i++) {
|
||||
if (getrlimit(i, &kChildLimits[i]) != 0) {
|
||||
- g_warning("failed to getrlimit for %u, %m", i);
|
||||
+ g_warning("failed to getrlimit for %u, %s", i, strerror(errno));
|
||||
}
|
||||
|
||||
g_debug("Configured rlimit %s => { %llu, %llu }",
|
|
@ -0,0 +1,24 @@
|
|||
$NetBSD: patch-proc.c,v 1.1 2020/01/09 12:12:17 wiz Exp $
|
||||
|
||||
warning: %m is only allowed in syslog(3) like functions [-Wformat=]
|
||||
|
||||
use more portable version of setpgrp()
|
||||
https://github.com/googleprojectzero/halfempty/pull/11
|
||||
|
||||
--- proc.c.orig 2019-03-16 17:55:00.000000000 +0000
|
||||
+++ proc.c
|
||||
@@ -50,12 +50,12 @@ static void configure_child_limits(gpoin
|
||||
// Some of these may fail, not sure what to do.
|
||||
for (gint i = 0; i < RLIMIT_NLIMITS; i++) {
|
||||
if (setrlimit(i, &kChildLimits[i]) == -1) {
|
||||
- g_critical("a call to setrlimit for %u failed(), %m", i);
|
||||
+ g_critical("a call to setrlimit for %u failed(), %s", i, strerror(errno));
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure we create a new pgrp so that we can kill all subprocesses.
|
||||
- setpgrp();
|
||||
+ setpgid(0, 0);
|
||||
|
||||
#ifdef __linux__
|
||||
// Try to cleanup if we get killed.
|
|
@ -0,0 +1,16 @@
|
|||
$NetBSD: patch-util.c,v 1.1 2020/01/09 12:12:17 wiz Exp $
|
||||
|
||||
%m is only allowed in syslog(3) like functions [-Wformat=]
|
||||
https://github.com/googleprojectzero/halfempty/pull/11
|
||||
|
||||
--- util.c.orig 2019-03-16 17:55:00.000000000 +0000
|
||||
+++ util.c
|
||||
@@ -129,7 +129,7 @@ gboolean generate_dot_tree(GNode *root,
|
||||
FILE *out = fopen(filename, "w");
|
||||
|
||||
if (!out) {
|
||||
- g_warning("failed to open file `%s` to save dot file, %m", filename);
|
||||
+ g_warning("failed to open file `%s` to save dot file, %s", filename, strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue