Bug 231500 - [NEW PORT] devel/capnproto: Serialization/RPC system
Summary: [NEW PORT] devel/capnproto: Serialization/RPC system
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Kurt Jaeger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-20 02:07 UTC by Felix Hanley
Modified: 2018-12-01 13:29 UTC (History)
3 users (show)

See Also:


Attachments
New port diff (6.11 KB, patch)
2018-09-20 02:07 UTC, Felix Hanley
no flags Details | Diff
Updated port diff (6.09 KB, patch)
2018-09-20 03:45 UTC, Felix Hanley
no flags Details | Diff
Updated diff (6.08 KB, patch)
2018-09-23 11:36 UTC, Felix Hanley
no flags Details | Diff
New port diff (5.94 KB, patch)
2018-10-24 23:27 UTC, Felix Hanley
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Hanley 2018-09-20 02:07:07 UTC
Created attachment 197257 [details]
New port diff

Cap'n Proto serialization/RPC system
Comment 1 Nathan 2018-09-20 02:30:10 UTC
Comment on attachment 197257 [details]
New port diff

Remove : +PORTVERSION=	0.7.0
Not needed, new port and portrevision is only needed if a change is made without updating version

GH_ACCOUNT goes after USE_GITHUB
in which, since GH_ACCOUNT is also the same as portname, no need of it

put :
+WRKSRC_SUBDIR=	c++
+
+GNU_CONFIGURE=	yes
+INSTALL_TARGET=	install-strip
+TEST_TARGET=	check

Below USE_GITHUB
Comment 2 Nathan 2018-09-20 02:30:39 UTC
(In reply to Nathan from comment #1)
I meant PORTREVSION, not to remove PORTVERSION
Comment 3 Felix Hanley 2018-09-20 03:45:17 UTC
Created attachment 197258 [details]
Updated port diff

Thanks for feedback, updated.
Comment 4 Nathan 2018-09-20 04:47:46 UTC
Does not build with USES the way it is currently

Need to add libtool to USES

COMMENT= Should not start with product/application name. It is used for a short description
See: https://www.freebsd.org/doc/en/books/porters-handbook/book.html#makefile-comment 

Also will need to regenerate pkg-plist as it changed it a bit as the .la files are no longer in pkg-plist
Comment 5 Felix Hanley 2018-09-23 11:36:25 UTC
Created attachment 197395 [details]
Updated diff

Updated comment and plist
Comment 6 Kurt Jaeger freebsd_committer 2018-10-24 05:30:01 UTC
(In reply to Felix Hanley from comment #5)
fails to build in poudriere, see

http://people.freebsd.org/~pi/logs/devel__capnproto-112-1540358686.txt

Can you investigate what's missing ?
Comment 7 Kurt Jaeger freebsd_committer 2018-10-24 05:32:47 UTC
Aha, nathan wrote that it needs USES=libtool and the updated patch
did not have that. With libtool it gets over this first problem.
Comment 8 w.schwarzenfeld freebsd_triage 2018-10-24 17:17:42 UTC
Either it is need to remove  *.la from pkg-plist or use libtool:keepla instead of only libtool.
Comment 9 Felix Hanley 2018-10-24 23:27:22 UTC
Created attachment 198614 [details]
New port diff

I have add libtool to USES and removed the .la files from plist.
Comment 10 Kurt Jaeger freebsd_committer 2018-12-01 08:47:56 UTC
Testbuilds done, adding 

lib/libkj-tls-0.7.0.so
lib/libkj-tls.a
lib/libkj-tls.so

on cur/12 -- those are not needed on 11.2. I need to find a way
to only add them to the pkg-list on newer versions.
Comment 11 Nathan 2018-12-01 12:09:04 UTC
(In reply to Kurt Jaeger from comment #10)
Here’s two ways:
Use if version:
${ECHO} lib/libkj-tls-0.7.0.so lib/libkj-tls.a lib/libkj-tls.so >> ${TMPPLIST}

Other way would be the older options way
.if 
PLIST_SUB= “”
.else
PLIST_SUB= “@comment”
.endif
Comment 12 Nathan 2018-12-01 12:21:14 UTC
(In reply to Nathan from comment #11)
Also easiet way is to use ${FIND} ${STAGEDIR} -name libkj-tls-0.7.0.so -name libkj-tls.a -name libkj-tls.so | \
${SED} -e ‘s#^${STAGEDIR}${PREFIX}/##’ >> ${TMPPLIST}
Comment 13 Nathan 2018-12-01 12:21:52 UTC
(In reply to Nathan from comment #12)
Sorry forgot to add, if you use find method , no need of if statements
Comment 14 Tobias Kortkamp freebsd_committer 2018-12-01 12:42:52 UTC
We need to fix the root cause issue here instead of tacking on a
bunch of workarounds in the port for this.

I wonder what's missing on 11.2 that libkj-tls is not being build
there.

The problem seems to be:

checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
configure: WARNING: "could not find OpenSSL -- won't build libkj-tls"

and

/tmp/conftest-17c4d0.o: In function `main':
conftest.cpp:(.text+0x5): undefined reference to `OPENSSL_init_ssl'

Just skipping this check through

CONFIGURE_ARGS=	ac_cv_lib_ssl_OPENSSL_init_ssl=yes

seems to work and is probably ok since capnproto appears to
never directly call OPENSSL_init_ssl itself.
Comment 15 Kurt Jaeger freebsd_committer 2018-12-01 13:24:07 UTC
Thanks for the hint with

CONFIGURE_ARGS

Tested, works.
Comment 16 commit-hook freebsd_committer 2018-12-01 13:29:03 UTC
A commit references this bug:

Author: pi
Date: Sat Dec  1 13:28:55 UTC 2018
New revision: 486371
URL: https://svnweb.freebsd.org/changeset/ports/486371

Log:
  New port: devel/capnproto

  Cap'n Proto is an insanely fast data interchange format and capability-based
  RPC system. Think JSON, except binary. Or think Protocol Buffers, except
  faster.

  WWW: https://capnproto.org/

  PR:		231500
  Submitted by:	Felix Hanley <felix@userspace.com.au>
  Reviewed by:	tobik, w.schwarzenfeld@utanet.at, ndowens@yahoo.com

Changes:
  head/devel/Makefile
  head/devel/capnproto/
  head/devel/capnproto/Makefile
  head/devel/capnproto/distinfo
  head/devel/capnproto/pkg-descr
  head/devel/capnproto/pkg-plist
Comment 17 Kurt Jaeger freebsd_committer 2018-12-01 13:29:14 UTC
Committed, thanks!