From ee8926e47247653ee6e0bedbcf15817d64c5bc16 Mon Sep 17 00:00:00 2001 From: Vitalik Buterin Date: Tue, 1 Jul 2014 13:41:36 -0400 Subject: [PATCH] Added python setup for languages --- MANIFEST.in | 28 +++++++++++++++++++++++++++ setup.py | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 MANIFEST.in create mode 100644 setup.py diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000000000..129167e2e --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,28 @@ +include CMakeLists.txt +include libevmface/*.cpp +include libevmface/*.h +include libevmface/CMakeLists.txt +include libethcore/*.cpp +include libethcore/*.h +include libethcore/CMakeLists.txt +include libethential/*.cpp +include libethential/*.h +include libethential/CMakeLists.txt +include liblll/*.cpp +include liblll/*.h +include liblll/CMakeLists.txt +include libserpent/*.cpp +include libserpent/*.h +include libserpent/CMakeLists.txt +include libpyserpent/*.cpp +include libpyserpent/*.h +include libpyserpent/CMakeLists.txt +include libpyserpent/*.cpp +include libpyserpent/CMakeLists.txt +include lllc/*.cpp +include lllc/CMakeLists.txt +include sc/*.cpp +include sc/CMakeLists.txt + +include README.md +include BuildInfo.sh diff --git a/setup.py b/setup.py new file mode 100644 index 000000000..7f6991534 --- /dev/null +++ b/setup.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python + +import os +import sys +from setuptools import setup +from setuptools.command.install import install +from distutils.command.build import build +from subprocess import call + + +class build_me(build): + def run(self): + build.run(self) + # if os.uname()[0] == 'Linux' and os.geteuid() == 0: + # call(['sudo', 'apt-get', 'install', 'cmake']) + # call(['sudo', 'apt-get', 'install', 'libboost-dev']) + call(['mkdir', 'build']) + os.chdir('build') + call(['cmake', '..', '-DLANGUAGES=1']) + call(['make']) + os.chdir('..') + + +class install_me(install): + def run(self): + install.run(self) + os.chdir('build') + call(['make', 'install']) + os.chdir('..') + + +class uninstall_me(): + def run(self): + sys.stderr.write("This is currently a dummy method. " + "Nothing has been uninstalled.") + + +def read(fname): + return open(os.path.join(os.path.dirname(__file__), fname)).read() + + +setup( + name='ethereum-serpent', + version='1.4.6', + description='Serpent compiler', + maintainer='Vitalik Buterin', + maintainer_email='v@buterin.com', + license='WTFPL', + url='http://www.ethereum.org/', + long_description=read('README.md'), + cmdclass={ + 'build': build_me, + 'install': install_me, + 'uninstall': uninstall_me, + } +)