Summary: | [New port] databases/levigo | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | cheffo | ||||||||||||||
Component: | Individual Port(s) | Assignee: | Kurt Jaeger <pi> | ||||||||||||||
Status: | Closed FIXED | ||||||||||||||||
Severity: | Affects Only Me | CC: | cheffo, pi | ||||||||||||||
Priority: | --- | Keywords: | patch-ready | ||||||||||||||
Version: | Latest | ||||||||||||||||
Hardware: | Any | ||||||||||||||||
OS: | Any | ||||||||||||||||
Attachments: |
|
Description
cheffo
2014-11-13 08:35:53 UTC
Created attachment 149355 [details]
poudriere testport output
Created attachment 149356 [details]
poudriere testport portlint output
regarding this: X.if ${OSVERSION} >= 900033 && exists(/usr/bin/clang) XCC= clang XCXX= clang++ XGYP_DEFINES+= clang=1 X.else XUSE_GCC?= yes XGYP_DEFINES+= gcc_version=${CXX:S/g++//} X.endif Are you aware of USES=compiler (Mk/Uses/compiler.mk)? If yes, why are you not using that? As explained in the other ports that use this: At the time of writing the port the go support what nightmare, so I looked at other ports how they do solve the issue. As redports is down now it's hard for me to test. This is/was requirement for influxdb.com. So once version 0.9 is released I'll look again at those ports. well, okay, but it needs fixing. It's not okay as it is currently. Created attachment 153438 [details]
levigo shar file
Attached new version that uses compiler.
Created attachment 153439 [details]
poudriere tesport output
same comment as your other new submission: X.if ${COMPILER_TYPE} == clang XCC= clang X.else XUSE_GCC?= yes X.endif You are trying to use USES=compiler, but I don't think you're using it correctly. If it's c++11 that you are looking for, grep other ports to see how it's done. The only way to compile this port on FreeBSD with clang is to set CC=clang The port system do not se this properly (I have no idea why) but grep other ports and you will see that this is how people address this issue. If CC=clang is not set in the environment the build faild miserably with criptic error. So what is the right way to "guess" CC and set it for GO ENV and to get the port working with clang? P.S. See https://github.com/szferi/gomdb : Build go get github.com/szferi/gomdb There is no dependency on LMDB dynamic library. On FreeBSD 10, you must explicitly set CC (otherwise it will fail with a cryptic error), for example: CC=clang go test -v As I said our go support is not great so I'm trying to workaround known issues. same response as https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194946#c11 We will have to accept this workaround because those guys don't have their act together. Created attachment 153793 [details]
updated shar file as requested.
okay, I'll promote this, it looks okay based on visual inspection. testing@work poudriere build logs are available at http://people.freebsd.org/~pi/logs/databases__levigo-* The build for 8.4i fails, because something causes /usr/local/bin/readelf to dump core, which causes a left-over. ====>> Error: Files or directories left over: /readelf.core build of databases/levigo ended at Sat Mar 28 16:50:09 CET 2015 I saw this in the past, but can't remember, where... As far as I remember, there was no obvious solution. same on 8.4a. A commit references this bug: Author: pi Date: Fri Jul 17 20:11:59 UTC 2015 New revision: 392396 URL: https://svnweb.freebsd.org/changeset/ports/392396 Log: New port: databases/levigo levigo is a Go wrapper for LevelDB. The API has been godoc'ed and is available on the web. Questions answered at golang-nuts@googlegroups.com. WWW: https://github.com/jmhodges/levigo PR: 194986 Submitted by: cheffo@freebsd-bg.org Changes: head/databases/Makefile head/databases/levigo/ head/databases/levigo/Makefile head/databases/levigo/distinfo head/databases/levigo/pkg-descr head/databases/levigo/pkg-plist Committed, thanks for your patience. |