Hi, Thanks for your reply and OK Rafael! I've updated with sthen@'s changes, however I have also updated the port to don't have the need for cmake, and it now install client application headers and the static libraries needed from i2pd to build a client app. Thus, I also removed the test he added but I think this flavor is better (less dependencies versus test). i2pd has a few unit tests but I can ensure you that Orignal the main dev will not put of time for some tests at least not this year.
Regarding the cmake and why it was there, the reason for this was that I took the "less broken" attempt to port i2pd to OpenBSD and changed it just to get started into the ports system. However, gotten far much better known with the ports system now I decided to try without it, since I recalled we had a Makefile.bsd and which was still working great. Also I noticed I didn't get my thunderbird to work with the text and line breaks in the mailing list, so this would be my first neomutt/mutt emailever. So I'll resend and fixup my mistakes like, if I for example messes up with the attachment.
Hopefully I don't bug you all with the horrible line breaks anymore :) /Mikal On 15/06/2019, 12:04, Rafael Sadowski wrote:
Please find attached a new tarball based on sthen@ work which fix the test build. Since there have been a lot of requests for this port and this one looks fine for me. OK rsadowski@ On Thu Jun 13, 2019 at 06:19:33AM +0200, Mikal Villa wrote:Hi, Thanks a lot for your reply and corrections of the port. And yea, you're probably right about giving it a small description, I was way to focused about just trying to get the port as correct as possible that it didn't even occur to me. So, what is it and why should you care? I2P is short for Invisible Internet Project and it's a mix-network with many similarities with the Tor network. However some main differences is that instead of using centralized directory servers which Tor does, I2P has it's own DHT network, and routers have to learn themself which are good relays and not. So Tor has a faster bootup, but I2P is fully decentralizd. Both project where started up ~16-17 years ago, however I2P is much less known than Tor, and while Tor has had much focus on out-proxying back to the internet, I2P has had focus on hidden services and applications inside the network which never leaves back to the internet. I2P also has a very simple naming system, so you can have addresses like planet.i2p and stats.i2p instead of something similar to ouad893ou4fj09fe0f.onion. (Yes, that was just me baning on the keyboard) Again, thanks a lot for your tip and corrections of the port Stuart! Best regards, Mikal Villa On 11/06/2019 13:42, Stuart Henderson wrote: > On 2019/06/11 10:27, Mikal Villa wrote: >> Hi, >> >> Since my first request the 2.26.0 release was done so I've also updated >> the port. >> >> Can't seem to have gotten any replies on it, is there nobody that has >> time to help me verify & import to cvs? >> >> I've attached the updated port. >> >> >> >> Best regards, >> Mikal Villa >> >> On 06/06/2019 12:00, Mikal Villa wrote: >>> Hi, >>> >>> This would be my first port, but I've actually read the documentation >>> and think I got it right. Not totally sure about the PLIST but hopefully >>> someone can point out my mistakes. >>> >>> I plan to update the i2pd source for OpenBSD so this port can lose it's >>> current patch, but since the release was made before the port was >>> written it's needed for now. This can be considered as a official port >>> from the project. >>> >>> I don't have CVS access so I would need someone here to actually submit it. >>> >>> >>> Best regards, >>> Mikal Villa / Meeh >>> > It often helps a bit to describe the port in the email so readers can > see if they might be interested in it. > > Updated tar attached with some cleanup, which I'll explain inline with the > diff below. It is in better shape like this but I don't particularly want > to run it for further tests so will leave it to someone else to pick up > if they're interested. > > > : diff --git a/Makefile b/Makefile > : index 4ac5ff7..984070d 100755 > : --- a/Makefile > : +++ b/Makefile > : @@ -1,48 +1,42 @@ > : # $OpenBSD$ > : > : -GH_ACCOUNT = PurpleI2P > : -GH_PROJECT = i2pd > : -GH_TAGNAME = 2.26.0 > : -DISTNAME = i2pd-${GH_TAGNAME} > : +COMMENT = client for the I2P anonymous network > : + > : +GH_ACCOUNT = PurpleI2P > : +GH_PROJECT = i2pd > : +GH_TAGNAME = 2.26.0 > > spaces->tabs > DISTNAME is set to $GH_PROJECT-$GH_TAGNAME by default, no need to set it separately > > : + > : CATEGORIES = net > : HOMEPAGE = https://i2pd.website > : -COMMENT = full-featured C++ inplementation of a I2P router > > move up to standard position (see Makefile.template), reword a bit > (keeping COMMENT simple, describing in DESCR) > > : > : MAINTAINER = Mikal Villa <mik...@mikalv.net> > : > : -# BSD 3-clause > : +# BSD > > standard in ports tree > > : -PERMIT_PACKAGE_CDROM = Yes > : +PERMIT_PACKAGE = Yes > > this is gradually being replaced in the ports tree > > : +WANTLIB += ${COMPILER_LIBCXX} boost_date_time-mt boost_filesystem-mt > : +WANTLIB += boost_program_options-mt boost_system-mt c crypto m > : +WANTLIB += ssl z > : > : -WANTLIB = ${COMPILER_LIBCXX} boost_date_time boost_filesystem \ > : - boost_program_options boost_system c crypto m ssl z > : +COMPILER = base-clang ports-gcc > : +MODULES = devel/cmake > > you already patch the cmake file, and it has an install target, and > installs the headers for the library, so might as well use it. > > : LIB_DEPENDS = devel/boost > : > : -COMPILER = base-clang ports-gcc base-gcc > > boost needs a c++11 compiler already so no point having base-gcc in this list > > : -USE_GMAKE = Yes > : -SUBST_VARS += VARBASE > > should use LOCALSTATEDIR which is already in SUBST_VARS > > : - > : -#FAKE_FLAGS= sysconfdir=${PREFIX}/share/examples > : - > : -# The upstream makefile has no install target. > : -do-install: > : - ${INSTALL_PROGRAM} ${WRKSRC}/i2pd ${PREFIX}/sbin > : - ${INSTALL_DATA} ${WRKSRC}/libi2pd.a ${PREFIX}/lib > : - ${INSTALL_DATA} ${WRKSRC}/libi2pdclient.a ${PREFIX}/lib > : +WRKSRC = ${WRKDIST}/build > : > : post-install: > : ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/i2pd/certificates/family > : ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/i2pd/certificates/reseed > : ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/i2pd/certificates/router > : - ${INSTALL_DATA} ${WRKSRC}/contrib/certificates/family/* \ > : + ${INSTALL_DATA} ${WRKDIST}/contrib/certificates/family/* \ > <snip> > > setting WRKSRC to a subdirectory to use the cmake infrastructure means that > these dirs need changing > > i also added a do-test target in the attached file but haven't updated the > diff; however it fails > > : .include <bsd.port.mk> > : diff --git a/patches/patch-build_CMakeLists_txt b/patches/patch-build_CMakeLists_txt > : index de3e6e1..5db3b5c 100644 > : --- a/patches/patch-build_CMakeLists_txt > : +++ b/patches/patch-build_CMakeLists_txt > : @@ -1,7 +1,8 @@ > : ---- build/CMakeLists.txt.orig Fri Nov 9 05:22:55 2018 > : -+++ build/CMakeLists.txt Tue Nov 13 21:08:17 2018 > : -@@ -471,7 +471,7 @@ > : - endif() > : +Index: build/CMakeLists.txt > : +--- build/CMakeLists.txt.orig > : ++++ build/CMakeLists.txt > : +@@ -473,7 +473,7 @@ if (WITH_BINARY) > : + target_link_libraries(libi2pd ${Boost_LIBRARIES} ${ZLIB_LIBRARY}) > : target_link_libraries( "${PROJECT_NAME}" libi2pd libi2pdclient ${DL_LIB} ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} ${ZLIB_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MINGW_EXTRA} ${DL_LIB} ${CMAKE_REQUIRED_LIBRARIES}) > : > : - install(TARGETS "${PROJECT_NAME}" RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) > : @@ -9,7 +10,7 @@ > : set (APPS "\${CMAKE_INSTALL_PREFIX}/bin/${PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}") > : set (DIRS "${Boost_LIBRARY_DIR};${OPENSSL_INCLUDE_DIR}/../bin;${ZLIB_INCLUDE_DIR}/../bin;/mingw32/bin") > : if (MSVC) > : -@@ -485,7 +485,7 @@ > : +@@ -487,7 +487,7 @@ if (WITH_BINARY) > : endif () > : > : install(FILES ../LICENSE > : @@ -18,7 +19,7 @@ > : COMPONENT Runtime > : ) > : # Take a copy on Appveyor > : -@@ -496,8 +496,8 @@ > : +@@ -498,8 +498,8 @@ install(FILES "C:/projects/openssl-$ENV{OPENSSL}/LICEN > : OPTIONAL # for local builds only! > : ) > : > : @@ -29,7 +30,7 @@ > : # install(DIRECTORY ../ DESTINATION src/ > : # # OPTIONAL > : # COMPONENT Source FILES_MATCHING > : -@@ -506,7 +506,7 @@ > : +@@ -508,7 +508,7 @@ install(FILES ${I2PD_SOURCES} DESTINATION src/ COMPONE > : # ) > : > : file(GLOB I2PD_HEADERS "../libi2pd/*.h" "../libi2pd_client/*.h" "../daemon/*.h") > > regenerated with "make update-patches" > > > : diff --git a/pkg/PLIST b/pkg/PLIST > : index b2c0ca7..2614037 100644 > : --- a/pkg/PLIST > : +++ b/pkg/PLIST > : @@ -2,101 +2,267 @@ > : @newgroup _i2pd:836 > : @newuser _i2pd:836:836:daemon:i2pd account:/var/lib/i2pd:/sbin/nologin > : @rcscript ${RCDIR}/i2pd > : +include/i2pd/ > : +include/i2pd/AddressBook.cpp > : +include/i2pd/AddressBook.h > <..snip..> > > sync from cmake build that includes the headers > > : -@sample ${VARBASE}/lib/i2pd/ > : -@sample ${VARBASE}/lib/i2pd/certificates/ > : -@sample ${VARBASE}/lib/i2pd/certificates/family/ > : -@sample ${VARBASE}/lib/i2pd/certificates/reseed/ > : -@sample ${VARBASE}/lib/i2pd/certificates/router/ > : +@sample ${LOCALSTATEDIR}/lib/i2pd/ > : +@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/ > : +@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/family/ > : +@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/reseed/ > : +@sample ${LOCALSTATEDIR}/lib/i2pd/certificates/router/ > <..snip..> > > VARBASE->LOCALSTATEDIR as described above > > : diff --git a/pkg/DESCR b/pkg/DESCR > : old mode 100755 > : new mode 100644 > : index 0e3a1d9..77deff1 > > there should be no 'x' bit in files in ports > > : --- a/pkg/DESCR > : +++ b/pkg/DESCR > : @@ -1,6 +1,7 @@ > : -Full fatured C++ implementation of the I2P client. The I2P (Invisible Internet > : -Project) is a universal anonymous network layer. All communications over I2P are > : -anonymous and end-to-end encrypted. Participants don't reveal their real IP > : -address to each other. Peer to peer (cryptocorruencies, file sharing) and > : -client-to-server applications (websites, instant messengers, chat servers) are > : -supported. > : +i2pd is a full featured client for the I2P network written in C++. > : + > : +I2P (Invisible Internet Project) is a universal anonymous network layer. > : +All communications over I2P are anonymous and end-to-end encrypted. > : +Participants don't reveal their real IP address to each other. Peer to > : +peer (cryptocorruencies, file sharing) and client-to-server applications > : +(websites, instant messengers, chat servers) are supported. > : > > tweak wording/layout/typos > > : diff --git a/pkg/i2pd.rc b/pkg/i2pd.rc > : old mode 100755 > : new mode 100644 > : index 06c8460..b9874f6 > : --- a/pkg/i2pd.rc > : +++ b/pkg/i2pd.rc > : @@ -2,9 +2,9 @@ > : # > : # $OpenBSD$ > : > : -daemon="${TRUEPREFIX}/sbin/i2pd" > : +daemon="${TRUEPREFIX}/sbin/i2pd --daemon" > : daemon_user="_i2pd" > : -daemon_flags="--service --daemon --datadir=/var/lib/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tunnelsdir=/etc/i2pd/tunnels.d" > : +daemon_flags="--service --datadir=${LOCALSTATEDIR}/lib/i2pd --conf=${SYSCONFDIR}/i2pd/i2pd.conf --tunconf=${SYSCONFDIR}/i2pd/tunnels.conf --tunnelsdir=${SYSCONFDIR}/i2pd/tunnels.d" > : > : . /etc/rc.d/rc.subr > : > > don't hardcode paths, force --daemon to avoid startup problems if > somebody sets i2pd_flags in rc.conf.local that doesn't include it. >
-- -- Best regards, Mikal Villa
ports-net_i2p-2.26.tgz
Description: ports-net_i2p-2.26.tgz