From 572c0f526255355139659d84f36ce2ce320baa55 Mon Sep 17 00:00:00 2001 From: Savino Jossi <3669673+sjossi@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:22:11 -0400 Subject: [PATCH 1/3] add setup.py to allow for cli installation --- setup.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 setup.py diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..0a1b366 --- /dev/null +++ b/setup.py @@ -0,0 +1,18 @@ +import setuptools + +setuptools.setup( + name="scare", + version="0.3.0", + description="scare is a multi-arch assembly REPL and emulator for your command line.", + author="netspooky", + license="GPLv2", + license_files=["LICENSE.md"], + classifiers=["License :: OSI Approved :: GNU General Public License v2 (GPLv2)"], + requires=["unicorn", "keystone", "capstone"], + py_modules=["scare"], + entry_points={ + "console_scripts": [ + "scare = scare", + ] + }, +) From 7331ab77a4b0b6ec9443c8845f2337bc959de58d Mon Sep 17 00:00:00 2001 From: Savino Jossi <3669673+sjossi@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:28:45 -0400 Subject: [PATCH 2/3] fix requirements in setup.py --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 0a1b366..4f5e281 100644 --- a/setup.py +++ b/setup.py @@ -8,11 +8,11 @@ license="GPLv2", license_files=["LICENSE.md"], classifiers=["License :: OSI Approved :: GNU General Public License v2 (GPLv2)"], - requires=["unicorn", "keystone", "capstone"], + install_requires=["unicorn", "keystone-engine", "capstone"], py_modules=["scare"], entry_points={ "console_scripts": [ - "scare = scare", + "scare = scare:main", ] }, ) From 6dfbc38fd3f6d5d7d0e3432939cfdde512b4c33e Mon Sep 17 00:00:00 2001 From: Savino Jossi <3669673+sjossi@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:32:06 -0400 Subject: [PATCH 3/3] add main guard and main() for console_script --- scare.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scare.py b/scare.py index be56064..8b7681a 100644 --- a/scare.py +++ b/scare.py @@ -183,7 +183,7 @@ def parseCmd(cmd, smu): return shouldAssemble -if __name__ == '__main__': +def main(): printSplash("cerulean") args = parser.parse_args() print("Type / for help\n") @@ -238,3 +238,6 @@ def parseCmd(cmd, smu): currentAddr = sConfig["emu/baseaddr"] except EOFError: break + +if __name__ == '__main__': + main()