Bug 183101 - [patch] update sysutils/bulk_extractor to 1.4, unbreak with clang
Summary: [patch] update sysutils/bulk_extractor to 1.4, unbreak with clang
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: MANTANI Nobutaka
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-19 15:00 UTC by Antoine Brodin
Modified: 2013-11-02 20:20 UTC (History)
0 users

See Also:


Attachments
bulk_extractor.diff (16.56 KB, patch)
2013-10-19 15:00 UTC, Antoine Brodin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Antoine Brodin freebsd_committer freebsd_triage 2013-10-19 15:00:00 UTC
- update to 1.4.0
- patches to unbreak with clang and libc++
- LICENSE is GPLv3 because of a file polluting his license
- remove article from COMMENT
- convert to STAGEDIR
- new LIB_DEPENDS syntax
- option to build BEViewer (java frontend)
Comment 1 Antoine Brodin freebsd_committer freebsd_triage 2013-10-19 15:02:49 UTC
State Changed
From-To: open->feedback

Over to maintainer for approval 


Comment 2 Antoine Brodin freebsd_committer freebsd_triage 2013-10-19 15:02:49 UTC
Responsible Changed
From-To: freebsd-ports-bugs->nobutaka

Over to maintainer for approval
Comment 3 dfilter service freebsd_committer freebsd_triage 2013-11-02 20:17:38 UTC
Author: antoine
Date: Sat Nov  2 20:17:28 2013
New Revision: 332540
URL: http://svnweb.freebsd.org/changeset/ports/332540

Log:
  - update to 1.4.0
  - patch to unbreak with clang and libc++
  - LICENSE is GPLv3 due to a file polluting
  - remove article from COMMENT
  - convert to STAGEDIR
  - new LIB_DEPENDS syntax
  - option to build BEViewer (java frontend)
  
  PR:		ports/183101
  Approved by:	maintainer timeout (2 weeks)

Added:
  head/sysutils/bulk_extractor/files/patch-src__be13_api__plugin.cpp   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src__be13_api__sbuf.h   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src__bulk_extractor.cpp   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src__scan_bulk.cpp   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src__scan_exif.cpp   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src__scan_exiv2.cpp   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src__scan_net.cpp   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src__stand.cpp   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src__word_and_context_list.h   (contents, props changed)
Deleted:
  head/sysutils/bulk_extractor/files/patch-configure.ac
  head/sysutils/bulk_extractor/files/patch-src_scan_net.cpp
Modified:
  head/sysutils/bulk_extractor/Makefile
  head/sysutils/bulk_extractor/distinfo

Modified: head/sysutils/bulk_extractor/Makefile
==============================================================================
--- head/sysutils/bulk_extractor/Makefile	Sat Nov  2 20:03:10 2013	(r332539)
+++ head/sysutils/bulk_extractor/Makefile	Sat Nov  2 20:17:28 2013	(r332540)
@@ -2,31 +2,46 @@
 # $FreeBSD$
 
 PORTNAME=	bulk_extractor
-PORTVERSION=	1.2.2
-PORTREVISION=	1
+PORTVERSION=	1.4.0
 CATEGORIES=	sysutils
-MASTER_SITES=	http://cloud.github.com/downloads/simsong/bulk_extractor/
+MASTER_SITES=	http://www.digitalcorpora.org/downloads/bulk_extractor/
 
 MAINTAINER=	nobutaka@FreeBSD.org
-COMMENT=	A program that scans a disk image and extracts useful information
+COMMENT=	Program that scans a disk image and extracts useful information
 
-LICENSE=	PD
-LICENSE_NAME=	public domain
+LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
-LICENSE_PERMS=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
 
-LIB_DEPENDS=	afflib:${PORTSDIR}/sysutils/afflib \
-		ewf:${PORTSDIR}/devel/libewf \
-		exiv2:${PORTSDIR}/graphics/exiv2 \
-		expat:${PORTSDIR}/textproc/expat2
+LIB_DEPENDS=	libafflib.so:${PORTSDIR}/sysutils/afflib \
+		libewf.so:${PORTSDIR}/devel/libewf \
+		libexiv2.so:${PORTSDIR}/graphics/exiv2 \
+		libexpat.so:${PORTSDIR}/textproc/expat2
 
-USE_AUTOTOOLS=	autoconf
 USE_OPENSSL=	yes
-USE_PYTHON=	yes
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--enable-exiv2=true
+CPPFLAGS+=	-I${LOCALBASE}/include
+
+PLIST_FILES=	bin/bulk_extractor bin/plugin_test man/man1/bulk_extractor.1.gz
+
+OPTIONS_DEFINE=	BEVIEWER
+BEVIEWER_DESC=	Build BEViewer (requires Java)
+OPTIONS_DEFAULT=BEVIEWER
+
+BEVIEWER_CONFIGURE_OFF=	--disable-BEViewer
+BEVIEWER_USE=	JAVA=yes
+BEVIEWER_PLIST_FILES=	bin/BEViewer bin/BEViewer.jar
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == i386 && ! ${CFLAGS:M-march=*}
+# Needed for __sync_add_and_fetch_8
+CFLAGS+=	-march=i586
+.endif
+
+.if ${OSVERSION} < 1000033
+BUILD_DEPENDS=	${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex
+CONFIGURE_ENV=	LEX=${LOCALBASE}/bin/flex
+.endif
 
-MAN1=		bulk_extractor.1
-
-PLIST_FILES=	bin/bulk_extractor
-
-NO_STAGE=	yes
 .include <bsd.port.mk>

Modified: head/sysutils/bulk_extractor/distinfo
==============================================================================
--- head/sysutils/bulk_extractor/distinfo	Sat Nov  2 20:03:10 2013	(r332539)
+++ head/sysutils/bulk_extractor/distinfo	Sat Nov  2 20:17:28 2013	(r332540)
@@ -1,2 +1,2 @@
-SHA256 (bulk_extractor-1.2.2.tar.gz) = d53cd3586d7a980fbf8e37eeb7b332a6a1f70f126bd4b2c831be6377b33412cb
-SIZE (bulk_extractor-1.2.2.tar.gz) = 2348436
+SHA256 (bulk_extractor-1.4.0.tar.gz) = 664df29fc0276f8d1b9ff259db13229ea01724915d6ad69493facdc2b4b44dd9
+SIZE (bulk_extractor-1.4.0.tar.gz) = 4346859

Added: head/sysutils/bulk_extractor/files/patch-src__be13_api__plugin.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src__be13_api__plugin.cpp	Sat Nov  2 20:17:28 2013	(r332540)
@@ -0,0 +1,48 @@
+--- ./src/be13_api/plugin.cpp.orig	2013-08-18 16:35:29.000000000 +0000
++++ ./src/be13_api/plugin.cpp	2013-10-19 13:12:21.000000000 +0000
+@@ -9,7 +9,16 @@
+ #include <sys/stat.h>
+ #include <dirent.h>
+ #include <algorithm>
++#ifdef __clang__
++#if __has_include(<unordered_set>)
++#define HAVE_CXX11_UNORDERED_SET 1
++#endif
++#endif
++#ifdef HAVE_CXX11_UNORDERED_SET
++#include <unordered_set>
++#else
+ #include <tr1/unordered_set>
++#endif
+ #ifdef HAVE_ERR_H
+ #include <err.h>
+ #endif
+@@ -23,20 +32,28 @@
+ #include "../dfxml/src/hash_t.h"
+ 
+ namespace std {
++#ifndef HAVE_CXX11_UNORDERED_SET
+     namespace tr1 {
++#endif
+         template<>
+         struct hash<md5_t> {
+             size_t operator()(const md5_t &key) const {
+                 return *(size_t *)(key.final());
+             }
+         };
++#ifndef HAVE_CXX11_UNORDERED_SET
+     }
++#endif
+ }
+ 
+ class atomic_hash_set 
+ {
+     cppmutex M;
++#ifdef HAVE_CXX11_UNORDERED_SET
++    std::unordered_set<md5_t>myset;
++#else
+     std::tr1::unordered_set<md5_t>myset;
++#endif
+ public:
+     atomic_hash_set():M(),myset(){}
+     bool in(const md5_t &s){

Added: head/sysutils/bulk_extractor/files/patch-src__be13_api__sbuf.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src__be13_api__sbuf.h	Sat Nov  2 20:17:28 2013	(r332540)
@@ -0,0 +1,11 @@
+--- ./src/be13_api/sbuf.h.orig	2013-08-19 18:54:59.000000000 +0000
++++ ./src/be13_api/sbuf.h	2013-10-19 13:09:32.000000000 +0000
+@@ -61,7 +61,7 @@
+  * in a 64-bit number.  
+  */
+ 
+-inline int stoi(std::string str){
++inline int be13stoi(std::string str){
+     std::istringstream ss(str);
+     int val(0);
+     ss >> val;

Added: head/sysutils/bulk_extractor/files/patch-src__bulk_extractor.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src__bulk_extractor.cpp	Sat Nov  2 20:17:28 2013	(r332540)
@@ -0,0 +1,15 @@
+--- ./src/bulk_extractor.cpp.orig	2013-09-04 17:58:01.000000000 +0000
++++ ./src/bulk_extractor.cpp	2013-10-19 13:09:32.000000000 +0000
+@@ -1042,9 +1042,9 @@
+             feature_recorder *fr = fs.get_name(params.at(1));
+             const std::string &cmd = params.at(2);
+             if(fr){
+-                if(cmd=="window") fr->set_context_window(stoi(it->second));
+-                if(cmd=="window_before") fr->set_context_window_before(stoi(it->second));
+-                if(cmd=="window_after") fr->set_context_window_after(stoi(it->second));
++                if(cmd=="window") fr->set_context_window(be13stoi(it->second));
++                if(cmd=="window_before") fr->set_context_window_before(be13stoi(it->second));
++                if(cmd=="window_after") fr->set_context_window_after(be13stoi(it->second));
+             }
+         }
+         /* See if there is a scanner? */

Added: head/sysutils/bulk_extractor/files/patch-src__scan_bulk.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src__scan_bulk.cpp	Sat Nov  2 20:17:28 2013	(r332540)
@@ -0,0 +1,11 @@
+--- ./src/scan_bulk.cpp.orig	2013-08-18 16:39:31.000000000 +0000
++++ ./src/scan_bulk.cpp	2013-10-19 13:09:32.000000000 +0000
+@@ -145,7 +145,7 @@
+ 		    exit(1);
+ 		}
+ 
+-		uint32_t len = stoi(vals[1]);
++		uint32_t len = be13stoi(vals[1]);
+ 
+ 		// If no data for this sector, simply append this type
+ 		// and then continue

Added: head/sysutils/bulk_extractor/files/patch-src__scan_exif.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src__scan_exif.cpp	Sat Nov  2 20:17:28 2013	(r332540)
@@ -0,0 +1,24 @@
+--- ./src/scan_exif.cpp.orig	2013-08-18 16:39:17.000000000 +0000
++++ ./src/scan_exif.cpp	2013-10-19 13:09:32.000000000 +0000
+@@ -213,7 +213,7 @@
+  * Used for helping to convert TIFF's GPS format to decimal lat/long
+  */
+ 
+-static double stod(string s)
++static double be13stod(string s)
+ {
+     double d=0;
+     sscanf(s.c_str(),"%lf",&d);
+@@ -223,9 +223,9 @@
+ static double rational(string s)
+ {
+     std::vector<std::string> parts = split(s,'/');
+-    if(parts.size()!=2) return stod(s);	// no slash, so return without
+-    double top = stod(parts[0]);
+-    double bot = stod(parts[1]);
++    if(parts.size()!=2) return be13stod(s);	// no slash, so return without
++    double top = be13stod(parts[0]);
++    double bot = be13stod(parts[1]);
+     return bot>0 ? top / bot : top;
+ }
+ 

Added: head/sysutils/bulk_extractor/files/patch-src__scan_exiv2.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src__scan_exiv2.cpp	Sat Nov  2 20:17:28 2013	(r332540)
@@ -0,0 +1,24 @@
+--- ./src/scan_exiv2.cpp.orig	2013-08-18 16:39:17.000000000 +0000
++++ ./src/scan_exiv2.cpp	2013-10-19 13:09:32.000000000 +0000
+@@ -68,7 +68,7 @@
+  * Used for helping to convert libexiv2's GPS format to decimal lat/long
+  */
+ 
+-static double stod(string s)
++static double be13stod(string s)
+ {
+     double d=0;
+     sscanf(s.c_str(),"%lf",&d);
+@@ -78,9 +78,9 @@
+ static double rational(string s)
+ {
+     std::vector<std::string> parts = split(s,'/');
+-    if(parts.size()!=2) return stod(s);	// no slash, so return without
+-    double top = stod(parts[0]);
+-    double bot = stod(parts[1]);
++    if(parts.size()!=2) return be13stod(s);	// no slash, so return without
++    double top = be13stod(parts[0]);
++    double bot = be13stod(parts[1]);
+     return bot>0 ? top / bot : top;
+ }
+ 

Added: head/sysutils/bulk_extractor/files/patch-src__scan_net.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src__scan_net.cpp	Sat Nov  2 20:17:28 2013	(r332540)
@@ -0,0 +1,31 @@
+--- ./src/scan_net.cpp.orig	2013-08-18 16:39:17.000000000 +0000
++++ ./src/scan_net.cpp	2013-10-19 13:09:32.000000000 +0000
+@@ -27,7 +27,16 @@
+ #include "be13_api/utils.h"
+ 
+ #include <set>
++#ifdef __clang__
++#if __has_include(<unordered_set>)
++#define HAVE_CXX11_UNORDERED_SET 1
++#endif
++#endif
++#ifdef HAVE_CXX11_UNORDERED_SET
++#include <unordered_set>
++#else
+ #include <tr1/unordered_set>
++#endif
+ 
+ #include <sys/types.h>
+ #include <stdlib.h>
+@@ -603,7 +612,11 @@
+ 	return *this;			// no-op
+     }
+ public:
++#ifdef HAVE_CXX11_UNORDERED_SET
++    typedef std::unordered_set<const void *> packetset;
++#else
+     typedef std::tr1::unordered_set<const void *> packetset;
++#endif
+     feature_recorder_set &fs;
+     packetset ps;
+     feature_recorder *ip_recorder;

Added: head/sysutils/bulk_extractor/files/patch-src__stand.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src__stand.cpp	Sat Nov  2 20:17:28 2013	(r332540)
@@ -0,0 +1,11 @@
+--- ./src/stand.cpp.orig	2012-12-12 15:36:14.000000000 +0000
++++ ./src/stand.cpp	2013-10-19 13:09:32.000000000 +0000
+@@ -91,7 +91,7 @@
+ 
+     if(argc!=1) usage();
+ 
+-    opt_scan_bulk_block_size = stoi(be_config["bulk_block_size"]);
++    opt_scan_bulk_block_size = be13stoi(be_config["bulk_block_size"]);
+ 
+     feature_file_names_t feature_file_names;
+     enable_feature_recorders(feature_file_names);

Added: head/sysutils/bulk_extractor/files/patch-src__word_and_context_list.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src__word_and_context_list.h	Sat Nov  2 20:17:28 2013	(r332540)
@@ -0,0 +1,40 @@
+--- ./src/word_and_context_list.h.orig	2012-12-12 15:36:14.000000000 +0000
++++ ./src/word_and_context_list.h	2013-10-19 13:09:32.000000000 +0000
+@@ -29,8 +29,18 @@
+  * Typically this is used for stop lists and alert lists. 
+  */
+ 
++#ifdef __clang__
++#if __has_include(<unordered_set>)
++#define HAVE_CXX11_UNORDERED_SET 1
++#endif
++#endif
++#ifdef HAVE_CXX11_UNORDERED_SET
++#include <unordered_map>
++#include <unordered_set>
++#else
+ #include <tr1/unordered_map>
+ #include <tr1/unordered_set>
++#endif
+ 
+ class context {
+ public:
+@@ -75,10 +85,18 @@
+  */
+ class word_and_context_list {
+ private:
++#ifdef HAVE_CXX11_UNORDERED_SET
++    typedef unordered_multimap<string,context> stopmap_t;
++#else
+     typedef tr1::unordered_multimap<string,context> stopmap_t;
++#endif
+     stopmap_t fcmap;			// maps features to contexts; for finding them
+ 
++#ifdef HAVE_CXX11_UNORDERED_SET
++    typedef unordered_set< string > stopset_t;
++#else
+     typedef tr1::unordered_set< string > stopset_t;
++#endif
+     stopset_t context_set;			// presence of a pair in fcmap
+ 
+     beregex_vector patterns;
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 4 Antoine Brodin freebsd_committer freebsd_triage 2013-11-02 20:19:35 UTC
State Changed
From-To: feedback->closed

q: Command not found.