diff --git a/databases/Makefile b/databases/Makefile index 435d61a0f80f..aebe7cd05435 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -189,6 +189,7 @@ SUBDIR += mongodb40 SUBDIR += mongodb40-tools SUBDIR += mongodb42 + SUBDIR += mongodb42-tools SUBDIR += mroonga SUBDIR += mtools-mongodb SUBDIR += mtop diff --git a/databases/mongodb36-tools/Makefile b/databases/mongodb36-tools/Makefile index 728f9be1a6e1..473e6bea828e 100644 --- a/databases/mongodb36-tools/Makefile +++ b/databases/mongodb36-tools/Makefile @@ -17,7 +17,7 @@ BROKEN_SSL_REASON_openssl= variable has incomplete type 'BIO_METHOD' (aka 'struc BROKEN_SSL_REASON_libressl= could not determine kind of name for C.EVP_sha BROKEN_SSL_REASON_libressl-devel= ${BROKEN_SSL_REASON_libressl} -CONFLICTS_INSTALL= mongodb mongodb[32-34]-tools +CONFLICTS_INSTALL= mongodb mongodb4[02] mongodb4[02]-tools USES= go localbase diff --git a/databases/mongodb40-tools/Makefile b/databases/mongodb40-tools/Makefile index 899bb8647ea1..911ce622d57b 100644 --- a/databases/mongodb40-tools/Makefile +++ b/databases/mongodb40-tools/Makefile @@ -23,7 +23,7 @@ GH_PROJECT= mongo-tools GO_BUILDFLAGS= -tags "${USE_MY_TAGS}" GO_PKGNAME= github.com/${GH_ACCOUNT}/${GH_PROJECT} -CONFLICTS_INSTALL= mongodb3[46] mongodb3[46]-tools +CONFLICTS_INSTALL= mongodb3[46] mongodb42 mongodb3[46]-tools mongodb42-tools OPTIONS_DEFINE= DOCS OPTIONS_DEFAULT= MONGODUMP MONGOEXPORT MONGOFILES MONGOIMPORT \ diff --git a/databases/mongodb42-tools/Makefile b/databases/mongodb42-tools/Makefile new file mode 100644 index 000000000000..5cd1efd358ad --- /dev/null +++ b/databases/mongodb42-tools/Makefile @@ -0,0 +1,66 @@ +# $FreeBSD$ + +PORTNAME= mongodb42-tools +DISTVERSIONPREFIX= r +DISTVERSION= 4.2.7 +CATEGORIES= databases + +MAINTAINER= ronald-lists@klop.ws +COMMENT= Tools for MongoDB 4.2.x + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +ONLY_FOR_ARCHS= aarch64 amd64 armv7 i386 +ONLY_FOR_ARCHS_REASON= not yet ported to other architectures + +USES= compiler:c++14-lang go localbase +USE_GITHUB= yes +GH_ACCOUNT= mongodb +GH_PROJECT= mongo-tools + +GO_BUILDFLAGS= -tags "${USE_MY_TAGS}" +GO_PKGNAME= github.com/${GH_ACCOUNT}/${GH_PROJECT} + +CONFLICTS_INSTALL= mongodb36 mongodb40 mongodb36-tools mongodb40-tools + +OPTIONS_DEFINE= DOCS +OPTIONS_DEFAULT= MONGODUMP MONGOEXPORT MONGOFILES MONGOIMPORT \ + MONGORESTORE SASL SSL +OPTIONS_MULTI= SECURITY TOOLS +OPTIONS_MULTI_TOOLS= BSONDUMP MONGODUMP MONGOEXPORT MONGOFILES MONGOIMPORT \ + MONGOREPLAY MONGORESTORE MONGOSTAT MONGOTOP +OPTIONS_MULTI_SECURITY= SASL SSL +OPTIONS_SUB= yes + +BSONDUMP_DESC= BSON files into human-readable formats +MONGOSTAT_DESC= Status of a running mongod or mongos instance +MONGOFILES_DESC= Interface to GridFS in a MongoDB instance +MONGOEXPORT_DESC= JSON or CSV export of MongoDB instance data +MONGOIMPORT_DESC= Importing JSON, CSV, or TSV into a MongoDB instance +MONGORESTORE_DESC= BSON data to a MongoDB instance +MONGODUMP_DESC= BSON data from the contents of a MongoDB instance +MONGOTOP_DESC= Track the amount of data I/O time +MONGOREPLAY_DESC= Traffic capture and replay tool + +BSONDUMP_VARS= go_target+=./bsondump/main:bsondump +MONGOSTAT_VARS= go_target+=./mongostat/main:mongostat +MONGOFILES_VARS= go_target+=./mongofiles/main:mongofiles +MONGOEXPORT_VARS= go_target+=./mongoexport/main:mongoexport +MONGOIMPORT_VARS= go_target+=./mongoimport/main:mongoimport +MONGORESTORE_VARS= go_target+=./mongorestore/main:mongorestore +MONGODUMP_VARS= go_target+=./mongodump/main:mongodump +MONGOTOP_VARS= go_target+=./mongotop/main:mongotop +MONGOREPLAY_VARS= go_target+=./mongoreplay/main:mongoreplay +SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 +SASL_USE= my_tags=sasl +SSL_USES= ssl +SSL_USE= my_tags=ssl + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} +.for doc in README.md CONTRIBUTING.md THIRD-PARTY-NOTICES + ${INSTALL_MAN} ${WRKSRC}/${doc} ${STAGEDIR}${DOCSDIR} +.endfor + +.include <bsd.port.mk> diff --git a/databases/mongodb42-tools/distinfo b/databases/mongodb42-tools/distinfo new file mode 100644 index 000000000000..9888023002eb --- /dev/null +++ b/databases/mongodb42-tools/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1591392274 +SHA256 (mongodb-mongo-tools-r4.2.7_GH0.tar.gz) = 7ca2f9452ad757e775d344887650a0839b01fe555b0a88c05d8b8ef9cfb32c8b +SIZE (mongodb-mongo-tools-r4.2.7_GH0.tar.gz) = 15017337 diff --git a/databases/mongodb42-tools/files/patch-vendor_github.com_10gen_openssl_build.go b/databases/mongodb42-tools/files/patch-vendor_github.com_10gen_openssl_build.go new file mode 100644 index 000000000000..e0190c61259f --- /dev/null +++ b/databases/mongodb42-tools/files/patch-vendor_github.com_10gen_openssl_build.go @@ -0,0 +1,9 @@ +--- vendor/github.com/10gen/openssl/build.go.orig 2018-11-21 19:00:22 UTC ++++ vendor/github.com/10gen/openssl/build.go +@@ -20,5 +20,6 @@ + // #cgo CFLAGS: -Wno-deprecated-declarations + // #cgo windows CFLAGS: -DWIN32_LEAN_AND_MEAN -I"c:/openssl/include" + // #cgo windows LDFLAGS: -lssleay32 -llibeay32 -lcrypt32 -L "c:/openssl/bin" ++// #cgo freebsd LDFLAGS: -lssl -lcrypto + // #cgo darwin LDFLAGS: -framework CoreFoundation -framework Foundation -framework Security + import "C" diff --git a/databases/mongodb42-tools/files/patch-vendor_github.com_10gen_openssl_init__posix.go b/databases/mongodb42-tools/files/patch-vendor_github.com_10gen_openssl_init__posix.go new file mode 100644 index 000000000000..07c593cf0018 --- /dev/null +++ b/databases/mongodb42-tools/files/patch-vendor_github.com_10gen_openssl_init__posix.go @@ -0,0 +1,11 @@ +--- vendor/github.com/10gen/openssl/init_posix.go.orig 2018-11-21 17:52:58 UTC ++++ vendor/github.com/10gen/openssl/init_posix.go +@@ -12,7 +12,7 @@ + // See the License for the specific language governing permissions and + // limitations under the License. + +-// +build linux darwin cgo ++// +build linux darwin freebsd cgo + // +build !windows + + package openssl diff --git a/databases/mongodb42-tools/pkg-descr b/databases/mongodb42-tools/pkg-descr new file mode 100644 index 000000000000..f38ee90d6be4 --- /dev/null +++ b/databases/mongodb42-tools/pkg-descr @@ -0,0 +1,15 @@ +Useful utilities for managing a MongoDB instance written in Go. + +- bsondump - display BSON files in a human-readable format +- mongoimport - Convert data from JSON, TSV or CSV and insert them + into a collection +- mongoexport - Write an existing collection to CSV or JSON format +- mongodump/mongorestore - Dump MongoDB backups to disk in .BSON + format, or restore them to a live database +- mongostat - Monitor live MongoDB servers, replica sets, or sharded + clusters +- mongofiles - Read, write, delete, or update files in GridFS +- mongotop - Monitor read/write activity on a mongo server +- mongoreplay - Capture, observe, and replay traffic for MongoDB + +WWW: https://github.com/mongodb/mongo-tools diff --git a/databases/mongodb42-tools/pkg-plist b/databases/mongodb42-tools/pkg-plist new file mode 100644 index 000000000000..3d21f0470ad4 --- /dev/null +++ b/databases/mongodb42-tools/pkg-plist @@ -0,0 +1,12 @@ +%%BSONDUMP%%bin/bsondump +%%MONGODUMP%%bin/mongodump +%%MONGOEXPORT%%bin/mongoexport +%%MONGOFILES%%bin/mongofiles +%%MONGOIMPORT%%bin/mongoimport +%%MONGORESTORE%%bin/mongorestore +%%MONGOREPLAY%%bin/mongoreplay +%%MONGOSTAT%%bin/mongostat +%%MONGOTOP%%bin/mongotop +%%PORTDOCS%%%%DOCSDIR%%/README.md +%%PORTDOCS%%%%DOCSDIR%%/CONTRIBUTING.md +%%PORTDOCS%%%%DOCSDIR%%/THIRD-PARTY-NOTICES