diff options
author | Jesús Eduardo <heckyel@hyperbola.info> | 2017-05-31 18:08:31 -0500 |
---|---|---|
committer | Jesús Eduardo <heckyel@hyperbola.info> | 2017-05-31 18:08:31 -0500 |
commit | e1180428ed3e7634fe1596103511fbb1da05f228 (patch) | |
tree | 13de9592bcde7050b089b9644839668024c518b3 /setup-files/linux/setup.py | |
download | librevideoconverter-e1180428ed3e7634fe1596103511fbb1da05f228.tar.lz librevideoconverter-e1180428ed3e7634fe1596103511fbb1da05f228.tar.xz librevideoconverter-e1180428ed3e7634fe1596103511fbb1da05f228.zip |
first commit
Diffstat (limited to 'setup-files/linux/setup.py')
-rw-r--r-- | setup-files/linux/setup.py | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/setup-files/linux/setup.py b/setup-files/linux/setup.py new file mode 100644 index 0000000..841e86a --- /dev/null +++ b/setup-files/linux/setup.py @@ -0,0 +1,95 @@ +import glob +import os +import shutil +import subprocess +import sys +from distutils.cmd import Command +from setuptools import setup + +if sys.version < '2.7': + raise RuntimeError('LVC requires Python 2.7') + +def icon_data_files(): + sizes = [16, 22, 32, 48] + data_files = [] + for size in sizes: + d = os.path.join("icons", "hicolor", "%sx%s" % (size, size), "apps") + source = os.path.join(SETUP_DIR, d, "librevideoconverter.png") + dest = os.path.join("/usr/share/", d) + data_files.append((dest, [source])) + + return data_files + +def application_data_files(): + return [ + ('/usr/share/applications', + [os.path.join(SETUP_DIR, 'librevideoconverter.desktop')]), + ] + +def data_files(): + return application_data_files() + icon_data_files() + +class sdist_deb(Command): + description = ("Build a debian source package.") + user_options = [ + ('dist-dir=', 'd', + "directory to put the source distribution archive(s) in " + "[default: dist]"), + ] + + def initialize_options(self): + self.dist_dir = None + + def finalize_options(self): + if self.dist_dir is None: + self.dist_dir = 'dist' + self.dist_dir = os.path.abspath(self.dist_dir) + + def run(self): + self.run_command("sdist") + self.setup_dirs() + for debian_dir in glob.glob(os.path.join(SETUP_DIR, 'debian-*')): + self.build_for_release(debian_dir) + os.chdir(self.orig_dir) + print + print "debian source build complete" + print "files are in %s" % self.work_dir + + def build_for_release(self, debian_dir): + os.chdir(self.work_dir) + source_tree = os.path.join(self.work_dir, + 'librevideoconverter-%s' % VERSION) + if os.path.exists(source_tree): + shutil.rmtree(source_tree) + self.extract_tarball() + self.copy_debian_directory(debian_dir) + os.chdir('librevideoconverter-%s' % VERSION) + subprocess.check_call(['dpkg-buildpackage', '-S']) + + def setup_dirs(self): + self.orig_dir = os.getcwd() + self.work_dir = os.path.join(self.dist_dir, 'deb') + if os.path.exists(self.work_dir): + shutil.rmtree(self.work_dir) + os.makedirs(self.work_dir) + + def extract_tarball(self): + tarball = os.path.join(self.dist_dir, + "librevideoconverter-%s.tar.gz" % VERSION) + subprocess.check_call(["tar", "zxf", tarball]) + shutil.copyfile(tarball, + "librevideoconverter_%s.orig.tar.gz" % VERSION) + + def copy_debian_directory(self, debian_dir): + dest = os.path.join(self.work_dir, + 'librevideoconverter-%s/debian' % VERSION) + shutil.copytree(debian_dir, dest) + +setup( + cmdclass={ + 'sdist_deb': sdist_deb, + }, + data_files=data_files(), + scripts=['scripts/libre-video-converter.py'], + **SETUP_ARGS +) |