Bug 225669

Summary: [NEW PORT] devel/plasma: Interactive disassembler for x86/ARM/MIPS
Product: Ports & Packages Reporter: Kai Knoblich <kai>
Component: Individual Port(s)Assignee: Steve Wills <swills>
Status: Closed FIXED    
Severity: Affects Only Me CC: python, swills
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on: 227526    
Bug Blocks:    
Attachments:
Description Flags
devel/py-plasma: New port
none
plasma-rev2.shar / Revision 2 none

Description Kai Knoblich freebsd_committer freebsd_triage 2018-02-04 21:02:20 UTC
Created attachment 190322 [details]
devel/py-plasma: New port

This is a port that is marked as wanted in the FreeBSD wiki so I took this as an opportunity to give it a try.

A short description:
~~~~~~~~~~~~~~~~~~~~
PLASMA is an interactive disassembler. It can generate a more readable assembly (pseudo code) with a colored syntax. One can write scripts with the available Python API.

It supports :

* Architectures : x86{64}, ARM, MIPS{64} (partially for ARM and MIPS)
* Formats : ELF, PE, RAW

Notes:
~~~~~~
* If memory maps are to be viewed, Qt4 for python must also be installed, which can be set using make config. The option is off by default.

* Script "asm.py" which does assembly operations will only work when keystone is installed. Keystone is a lightweight multi-architecture & -platform assembler-framework and should not be confused with OpenStack's Keystone. See http://www.keystone-engine.org/ for more details.

* The keystone framework is currently not available in the FreeBSD ports directory yet. If there should be interest for that framework, I would take this as an opportunity to create my next port.

QA:
~~~
* portlint -> OK, one warning, that RUN_DEPENDS has to appear earlier.
* poudriere -> OK

Any ideas or suggestions?
Comment 1 Kai Knoblich freebsd_committer freebsd_triage 2018-04-15 14:53:23 UTC
Created attachment 192529 [details]
plasma-rev2.shar / Revision 2

This shar is a revised version and contains some changes:

- added devel/py-keystone-engine to RUN_DEPENDS
- removed hardcoded pathnames from files/patch-setup.py
- changed the package name from py-plasma to plasma
- option MEMMAP is now activated by default
- add a pkg-message

QA:
~~~
- poudriere (11.1-RELEASE amd64 + i386) -> OK
- portlint -> OK

Note:
Before this port can be committed now the following port must be added to the ports tree first:
- devel/py-keystone-engine (see PR #227526: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227526)
Comment 2 commit-hook freebsd_committer freebsd_triage 2018-05-14 18:43:50 UTC
A commit references this bug:

Author: swills
Date: Mon May 14 18:43:03 UTC 2018
New revision: 469947
URL: https://svnweb.freebsd.org/changeset/ports/469947

Log:
  devel/plasma: create port

  PLASMA is an interactive disassembler. It can generate a more readable assembly
   (pseudo code) with a colored syntax. One can write scripts with the available
   Python API.

  It supports :

  * Architectures : x86{64}, ARM, MIPS{64} (partially for ARM and MIPS)
  * Formats : ELF, PE, RAW

  WWW: https://www.github.com/plasma-disassembler/plasma

  PR:		225669
  Submitted by:	Kai <freebsd_ports@k-worx.org>

Changes:
  head/devel/Makefile
  head/devel/plasma/
  head/devel/plasma/Makefile
  head/devel/plasma/distinfo
  head/devel/plasma/files/
  head/devel/plasma/files/patch-setup.py
  head/devel/plasma/pkg-descr
  head/devel/plasma/pkg-message
Comment 3 Steve Wills freebsd_committer freebsd_triage 2018-05-14 18:44:32 UTC
Committed, thanks!
Comment 4 Kai Knoblich freebsd_committer freebsd_triage 2018-05-15 10:06:47 UTC
(In reply to Steve Wills from comment #3)

Hello Steve, this was my first port ever, but it failed to be first. :-) But it's nice to see it now in the ports tree and it seems that the commit/build went without any major problems.

Thanks for committing it!