Bug 184322

Summary: [NEW PORT] net-p2p/bitmessage: Secured messaging client
Product: Ports & Packages Reporter: yuri
Component: Individual Port(s)Assignee: Mark Felder <feld>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff
none
bitmessage.shar
none
bitmessage-new.shar none

Description yuri 2013-11-27 11:10:00 UTC
This is a port for the bitmessage client.
https://bitmessage.org

Please note that even though this is the python app, it doesn't use any python dependency modules for security reasons (to avoid external code as dependencies). Also it doesn't use python project build style (setup.py). It contains all needed dependency code.

Fix: Patch attached with submission follows:
Comment 1 Mark Felder freebsd_committer freebsd_triage 2013-12-06 14:07:43 UTC
Responsible Changed
From-To: freebsd-ports-bugs->feld

I'll take it.
Comment 2 Mark Felder freebsd_committer freebsd_triage 2013-12-06 18:15:08 UTC
Hi,

I had to make some changes so the port is compliant. It also was missing some RUN_DEPENDS  it needs py-sqlite3 and py-qt. 

Can you test and confirm if this is still OK? I was able to run it, but I dont know how to use it :-)=
Comment 3 Yuri Victorovich freebsd_committer freebsd_triage 2013-12-06 20:05:08 UTC
On 12/06/2013 10:15, Mark Felder wrote:
> Hi,
>
> I had to make some changes so the port is compliant. It also was missing some RUN_DEPENDS  it needs py-sqlite3 and py-qt.
>
> Can you test and confirm if this is still OK? I was able to run it, but I dont know how to use it :-)

Hi Mark,

Sorry for missed dependencies.
I limited PyQt dependency to PyCore and PyGui since they only use these 
two explicitly.

Thank you,
Yuri
Comment 4 dfilter service freebsd_committer freebsd_triage 2013-12-06 23:30:24 UTC
Author: feld
Date: Fri Dec  6 23:29:54 2013
New Revision: 335791
URL: http://svnweb.freebsd.org/changeset/ports/335791

Log:
  Add bitmessage 0.4.1, secure P2P communications client.
  
  PR:		ports/184322
  Submitted by:	Yuri Victorovich <yuri@tsoft.com>
  Approved by:	crees (mentor)

Added:
  head/net-p2p/bitmessage/
  head/net-p2p/bitmessage/Makefile   (contents, props changed)
  head/net-p2p/bitmessage/distinfo   (contents, props changed)
  head/net-p2p/bitmessage/files/
  head/net-p2p/bitmessage/files/patch-shared.py   (contents, props changed)
  head/net-p2p/bitmessage/pkg-descr   (contents, props changed)
  head/net-p2p/bitmessage/pkg-plist   (contents, props changed)
Modified:
  head/net-p2p/Makefile

Modified: head/net-p2p/Makefile
==============================================================================
--- head/net-p2p/Makefile	Fri Dec  6 23:24:14 2013	(r335790)
+++ head/net-p2p/Makefile	Fri Dec  6 23:29:54 2013	(r335791)
@@ -8,6 +8,7 @@
     SUBDIR += azureus2
     SUBDIR += bitcoin
     SUBDIR += bitflu
+    SUBDIR += bitmessage
     SUBDIR += bittyrant
     SUBDIR += bnbt
     SUBDIR += btpd

Added: head/net-p2p/bitmessage/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/bitmessage/Makefile	Fri Dec  6 23:29:54 2013	(r335791)
@@ -0,0 +1,33 @@
+# Created by: Yuri Victorovich <yuri@tsoft.com>
+# $FreeBSD$
+
+PORTNAME=	bitmessage
+PORTVERSION=	0.4.1
+CATEGORIES=	net-p2p
+MASTER_SITES=	GH
+
+MAINTAINER=	yuri@tsoft.com
+COMMENT=	Secure P2P communications client
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
+		${PYTHON_PKGNAMEPREFIX}qt4-core>=${PYQT4_VERSION}:${PORTSDIR}/devel/py-qt4-core \
+		${PYTHON_PKGNAMEPREFIX}qt4-gui>=${PYQT4_VERSION}:${PORTSDIR}/x11-toolkits/py-qt4-gui
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	Bitmessage
+GH_PROJECT=	PyBitmessage
+GH_COMMIT=	e21fdb4
+GH_TAGNAME=	v${PORTVERSION}
+
+USE_OPENSSL=	yes
+USE_PYTHON=	yes
+INSTALLS_ICONS=	yes
+
+do-build:
+	@(cd ${WRKSRC} && \
+	${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
+		-d ${WRKSRC} -f ${WRKSRC} && \
+	${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
+		-d ${WRKSRC} -f ${WRKSRC})
+
+.include <bsd.port.mk>

Added: head/net-p2p/bitmessage/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/bitmessage/distinfo	Fri Dec  6 23:29:54 2013	(r335791)
@@ -0,0 +1,2 @@
+SHA256 (bitmessage-0.4.1.tar.gz) = 76dfb7512404de05cad83cb06209a550daf2b960a1a8f739b4f2059d3ecb47df
+SIZE (bitmessage-0.4.1.tar.gz) = 408989

Added: head/net-p2p/bitmessage/files/patch-shared.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/bitmessage/files/patch-shared.py	Fri Dec  6 23:29:54 2013	(r335791)
@@ -0,0 +1,14 @@
+--- src/shared.py.orig
++++ src/shared.py
+@@ -347,6 +347,11 @@ def checkSensitiveFilePermissions(filename):
+         # TODO: This might deserve extra checks by someone familiar with
+         # Windows systems.
+         return True
++    elif sys.platform[:7] == 'freebsd':
++        # FreeBSD file systems are the same as major Linux file systems
++        present_permissions = os.stat(filename)[0]
++        disallowed_permissions = stat.S_IRWXG | stat.S_IRWXO
++        return present_permissions & disallowed_permissions == 0
+     else:
+         try:
+             # Skip known problems for non-Win32 filesystems without POSIX permissions.

Added: head/net-p2p/bitmessage/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/bitmessage/pkg-descr	Fri Dec  6 23:29:54 2013	(r335791)
@@ -0,0 +1,5 @@
+Bitmessage is a decentralized, encrypted, peer-to-peer, trustless
+communications protocol that can be used by one person to send encrypted
+messages to another person, or to multiple subscribers.
+
+WWW: https://bitmessage.org/

Added: head/net-p2p/bitmessage/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/bitmessage/pkg-plist	Fri Dec  6 23:29:54 2013	(r335791)
@@ -0,0 +1,217 @@
+bin/pybitmessage
+share/applications/pybitmessage.desktop
+share/icons/hicolor/24x24/apps/pybitmessage.png
+share/man/man1/pybitmessage.1.gz
+share/pybitmessage/addresses.py
+share/pybitmessage/addresses.pyc
+share/pybitmessage/addresses.pyo
+share/pybitmessage/api_client.py
+share/pybitmessage/api_client.pyc
+share/pybitmessage/api_client.pyo
+share/pybitmessage/bitmessagemain.py
+share/pybitmessage/bitmessagemain.pyc
+share/pybitmessage/bitmessagemain.pyo
+share/pybitmessage/build_osx.py
+share/pybitmessage/build_osx.pyc
+share/pybitmessage/build_osx.pyo
+share/pybitmessage/class_addressGenerator.py
+share/pybitmessage/class_addressGenerator.pyc
+share/pybitmessage/class_addressGenerator.pyo
+share/pybitmessage/class_objectHashHolder.py
+share/pybitmessage/class_objectHashHolder.pyc
+share/pybitmessage/class_objectHashHolder.pyo
+share/pybitmessage/class_outgoingSynSender.py
+share/pybitmessage/class_outgoingSynSender.pyc
+share/pybitmessage/class_outgoingSynSender.pyo
+share/pybitmessage/class_receiveDataThread.py
+share/pybitmessage/class_receiveDataThread.pyc
+share/pybitmessage/class_receiveDataThread.pyo
+share/pybitmessage/class_sendDataThread.py
+share/pybitmessage/class_sendDataThread.pyc
+share/pybitmessage/class_sendDataThread.pyo
+share/pybitmessage/class_singleCleaner.py
+share/pybitmessage/class_singleCleaner.pyc
+share/pybitmessage/class_singleCleaner.pyo
+share/pybitmessage/class_singleListener.py
+share/pybitmessage/class_singleListener.pyc
+share/pybitmessage/class_singleListener.pyo
+share/pybitmessage/class_singleWorker.py
+share/pybitmessage/class_singleWorker.pyc
+share/pybitmessage/class_singleWorker.pyo
+share/pybitmessage/class_sqlThread.py
+share/pybitmessage/class_sqlThread.pyc
+share/pybitmessage/class_sqlThread.pyo
+share/pybitmessage/debug.py
+share/pybitmessage/debug.pyc
+share/pybitmessage/debug.pyo
+share/pybitmessage/defaultKnownNodes.py
+share/pybitmessage/defaultKnownNodes.pyc
+share/pybitmessage/defaultKnownNodes.pyo
+share/pybitmessage/helper_bitcoin.py
+share/pybitmessage/helper_bitcoin.pyc
+share/pybitmessage/helper_bitcoin.pyo
+share/pybitmessage/helper_bootstrap.py
+share/pybitmessage/helper_bootstrap.pyc
+share/pybitmessage/helper_bootstrap.pyo
+share/pybitmessage/helper_generic.py
+share/pybitmessage/helper_generic.pyc
+share/pybitmessage/helper_generic.pyo
+share/pybitmessage/helper_inbox.py
+share/pybitmessage/helper_inbox.pyc
+share/pybitmessage/helper_inbox.pyo
+share/pybitmessage/helper_sent.py
+share/pybitmessage/helper_sent.pyc
+share/pybitmessage/helper_sent.pyo
+share/pybitmessage/helper_sql.py
+share/pybitmessage/helper_sql.pyc
+share/pybitmessage/helper_sql.pyo
+share/pybitmessage/helper_startup.py
+share/pybitmessage/helper_startup.pyc
+share/pybitmessage/helper_startup.pyo
+share/pybitmessage/highlevelcrypto.py
+share/pybitmessage/highlevelcrypto.pyc
+share/pybitmessage/highlevelcrypto.pyo
+share/pybitmessage/message_data_reader.py
+share/pybitmessage/message_data_reader.pyc
+share/pybitmessage/message_data_reader.pyo
+share/pybitmessage/namecoin.py
+share/pybitmessage/namecoin.pyc
+share/pybitmessage/namecoin.pyo
+share/pybitmessage/proofofwork.py
+share/pybitmessage/proofofwork.pyc
+share/pybitmessage/proofofwork.pyo
+share/pybitmessage/shared.py
+share/pybitmessage/shared.pyc
+share/pybitmessage/shared.pyo
+share/pybitmessage/singleton.py
+share/pybitmessage/singleton.pyc
+share/pybitmessage/singleton.pyo
+share/pybitmessage/tr.py
+share/pybitmessage/tr.pyc
+share/pybitmessage/tr.pyo
+share/pybitmessage/bitmessageqt/__init__.py
+share/pybitmessage/bitmessageqt/__init__.pyc
+share/pybitmessage/bitmessageqt/__init__.pyo
+share/pybitmessage/bitmessageqt/about.py
+share/pybitmessage/bitmessageqt/about.pyc
+share/pybitmessage/bitmessageqt/about.pyo
+share/pybitmessage/bitmessageqt/about.ui
+share/pybitmessage/bitmessageqt/addpeer.ui
+share/pybitmessage/bitmessageqt/bitmessage_icons.qrc
+share/pybitmessage/bitmessageqt/bitmessage_icons_rc.py
+share/pybitmessage/bitmessageqt/bitmessage_icons_rc.pyc
+share/pybitmessage/bitmessageqt/bitmessage_icons_rc.pyo
+share/pybitmessage/bitmessageqt/bitmessageui.py
+share/pybitmessage/bitmessageqt/bitmessageui.pyc
+share/pybitmessage/bitmessageqt/bitmessageui.pyo
+share/pybitmessage/bitmessageqt/bitmessageui.ui
+share/pybitmessage/bitmessageqt/connect.py
+share/pybitmessage/bitmessageqt/connect.pyc
+share/pybitmessage/bitmessageqt/connect.pyo
+share/pybitmessage/bitmessageqt/connect.ui
+share/pybitmessage/bitmessageqt/help.py
+share/pybitmessage/bitmessageqt/help.pyc
+share/pybitmessage/bitmessageqt/help.pyo
+share/pybitmessage/bitmessageqt/help.ui
+share/pybitmessage/bitmessageqt/iconglossary.py
+share/pybitmessage/bitmessageqt/iconglossary.pyc
+share/pybitmessage/bitmessageqt/iconglossary.pyo
+share/pybitmessage/bitmessageqt/iconglossary.ui
+share/pybitmessage/bitmessageqt/newaddressdialog.py
+share/pybitmessage/bitmessageqt/newaddressdialog.pyc
+share/pybitmessage/bitmessageqt/newaddressdialog.pyo
+share/pybitmessage/bitmessageqt/newaddressdialog.ui
+share/pybitmessage/bitmessageqt/newchandialog.py
+share/pybitmessage/bitmessageqt/newchandialog.pyc
+share/pybitmessage/bitmessageqt/newchandialog.pyo
+share/pybitmessage/bitmessageqt/newchandialog.ui
+share/pybitmessage/bitmessageqt/newsubscriptiondialog.py
+share/pybitmessage/bitmessageqt/newsubscriptiondialog.pyc
+share/pybitmessage/bitmessageqt/newsubscriptiondialog.pyo
+share/pybitmessage/bitmessageqt/newsubscriptiondialog.ui
+share/pybitmessage/bitmessageqt/regenerateaddresses.py
+share/pybitmessage/bitmessageqt/regenerateaddresses.pyc
+share/pybitmessage/bitmessageqt/regenerateaddresses.pyo
+share/pybitmessage/bitmessageqt/regenerateaddresses.ui
+share/pybitmessage/bitmessageqt/settings.py
+share/pybitmessage/bitmessageqt/settings.pyc
+share/pybitmessage/bitmessageqt/settings.pyo
+share/pybitmessage/bitmessageqt/settings.ui
+share/pybitmessage/bitmessageqt/specialaddressbehavior.py
+share/pybitmessage/bitmessageqt/specialaddressbehavior.pyc
+share/pybitmessage/bitmessageqt/specialaddressbehavior.pyo
+share/pybitmessage/bitmessageqt/specialaddressbehavior.ui
+share/pybitmessage/bitmessageqt/wanlan.ui
+share/pybitmessage/images/addressbook.png
+share/pybitmessage/images/bitmessage.icns
+share/pybitmessage/images/blacklist.png
+share/pybitmessage/images/can-icon-16px.png
+share/pybitmessage/images/can-icon-24px-green.png
+share/pybitmessage/images/can-icon-24px-red.png
+share/pybitmessage/images/can-icon-24px-yellow.png
+share/pybitmessage/images/can-icon-24px.png
+share/pybitmessage/images/can-icon.ico
+share/pybitmessage/images/greenicon.png
+share/pybitmessage/images/identities.png
+share/pybitmessage/images/inbox.png
+share/pybitmessage/images/networkstatus.png
+share/pybitmessage/images/redicon.png
+share/pybitmessage/images/send.png
+share/pybitmessage/images/sent.png
+share/pybitmessage/images/subscriptions.png
+share/pybitmessage/images/yellowicon.png
+share/pybitmessage/pyelliptic/LICENSE
+share/pybitmessage/pyelliptic/README.md
+share/pybitmessage/pyelliptic/__init__.py
+share/pybitmessage/pyelliptic/__init__.pyc
+share/pybitmessage/pyelliptic/__init__.pyo
+share/pybitmessage/pyelliptic/arithmetic.py
+share/pybitmessage/pyelliptic/arithmetic.pyc
+share/pybitmessage/pyelliptic/arithmetic.pyo
+share/pybitmessage/pyelliptic/cipher.py
+share/pybitmessage/pyelliptic/cipher.pyc
+share/pybitmessage/pyelliptic/cipher.pyo
+share/pybitmessage/pyelliptic/ecc.py
+share/pybitmessage/pyelliptic/ecc.pyc
+share/pybitmessage/pyelliptic/ecc.pyo
+share/pybitmessage/pyelliptic/hash.py
+share/pybitmessage/pyelliptic/hash.pyc
+share/pybitmessage/pyelliptic/hash.pyo
+share/pybitmessage/pyelliptic/openssl.py
+share/pybitmessage/pyelliptic/openssl.pyc
+share/pybitmessage/pyelliptic/openssl.pyo
+share/pybitmessage/socks/BUGS
+share/pybitmessage/socks/LICENSE
+share/pybitmessage/socks/README
+share/pybitmessage/socks/__init__.py
+share/pybitmessage/socks/__init__.pyc
+share/pybitmessage/socks/__init__.pyo
+share/pybitmessage/translations/bitmessage_de.pro
+share/pybitmessage/translations/bitmessage_de.qm
+share/pybitmessage/translations/bitmessage_de.ts
+share/pybitmessage/translations/bitmessage_en_pirate.pro
+share/pybitmessage/translations/bitmessage_en_pirate.qm
+share/pybitmessage/translations/bitmessage_en_pirate.ts
+share/pybitmessage/translations/bitmessage_eo.pro
+share/pybitmessage/translations/bitmessage_eo.qm
+share/pybitmessage/translations/bitmessage_eo.ts
+share/pybitmessage/translations/bitmessage_fr.pro
+share/pybitmessage/translations/bitmessage_fr.qm
+share/pybitmessage/translations/bitmessage_fr.ts
+share/pybitmessage/translations/bitmessage_ru.pro
+share/pybitmessage/translations/bitmessage_ru.qm
+share/pybitmessage/translations/bitmessage_ru.ts
+@dirrmtry share/pybitmessage/translations
+@dirrmtry share/pybitmessage/socks
+@dirrmtry share/pybitmessage/pyelliptic
+@dirrmtry share/pybitmessage/images
+@dirrmtry share/pybitmessage/bitmessageqt
+@dirrmtry share/pybitmessage
+@dirrmtry share/man/man1
+@dirrmtry share/man
+@dirrmtry share/icons/hicolor/scalable/apps
+@dirrmtry share/icons/hicolor/scalable
+@dirrmtry share/icons/hicolor/24x24/apps
+@dirrmtry share/icons/hicolor/24x24
+@dirrmtry share/icons/hicolor
+@dirrmtry share/icons
_______________________________________________
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 5 Mark Felder freebsd_committer freebsd_triage 2013-12-16 13:55:48 UTC
State Changed
From-To: open->closed

New port added, with minor changes. Thanks!