aboutsummaryrefslogtreecommitdiff
path: root/desktop/setup.py
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2020-10-12 22:40:55 -0700
committerMicah Lee <micah@micahflee.com>2020-10-12 22:40:55 -0700
commitf4abcf1be9122a28005dc3e0949bf5952192e982 (patch)
tree0c6fdb71401ac294403fe87730ef6a73b0d7498a /desktop/setup.py
parentb81a55f546ffaf00586e43cdc279b967da096e4f (diff)
downloadonionshare-f4abcf1be9122a28005dc3e0949bf5952192e982.tar.gz
onionshare-f4abcf1be9122a28005dc3e0949bf5952192e982.zip
Add onionshare CLI to cli folder, move GUI to desktop folder, and start refactoring it to work with briefcase
Diffstat (limited to 'desktop/setup.py')
-rw-r--r--desktop/setup.py98
1 files changed, 98 insertions, 0 deletions
diff --git a/desktop/setup.py b/desktop/setup.py
new file mode 100644
index 00000000..ebecd40b
--- /dev/null
+++ b/desktop/setup.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+OnionShare | https://onionshare.org/
+
+Copyright (C) 2014-2020 Micah Lee, et al. <micah@micahflee.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+"""
+
+import os, sys, platform, tempfile
+from distutils.core import setup
+
+
+def file_list(path):
+ files = []
+ for filename in os.listdir(path):
+ if os.path.isfile(os.path.join(path, filename)):
+ files.append(os.path.join(path, filename))
+ return files
+
+
+version = open("share/version.txt").read().strip()
+description = "OnionShare is an open source tool that lets you securely and anonymously share files, host websites, and chat with friends using the Tor network."
+
+author = "Micah Lee"
+author_email = "micah@micahflee.com"
+url = "https://onionshare.org"
+license = "GPL v3"
+keywords = "onion, share, onionshare, tor, anonymous, web server"
+classifiers = [
+ "Programming Language :: Python :: 3",
+ "Framework :: Flask",
+ "Topic :: Communications :: File Sharing",
+ "Topic :: Security :: Cryptography",
+ "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
+ "Intended Audience :: End Users/Desktop",
+ "Operating System :: OS Independent",
+ "Environment :: Web Environment",
+]
+data_files = [
+ ("share/applications", ["install/org.onionshare.OnionShare.desktop"],),
+ ("share/icons/hicolor/512x512/apps", ["install/org.onionshare.OnionShare.png"],),
+ ("share/metainfo", ["install/org.onionshare.OnionShare.appdata.xml"],),
+ ("share/onionshare", file_list("share")),
+ ("share/onionshare/images", file_list("share/images")),
+ ("share/onionshare/locale", file_list("share/locale")),
+ ("share/onionshare/templates", file_list("share/templates"),),
+ ("share/onionshare/static/css", file_list("share/static/css"),),
+ ("share/onionshare/static/img", file_list("share/static/img"),),
+ ("share/onionshare/static/js", file_list("share/static/js"),),
+]
+if not platform.system().endswith("BSD") and platform.system() != "DragonFly":
+ data_files.append(
+ (
+ "share/nautilus-python/extensions/",
+ ["install/scripts/onionshare-nautilus.py"],
+ )
+ )
+
+setup(
+ name="onionshare",
+ version=version,
+ description=description,
+ author=author,
+ author_email=author_email,
+ maintainer=author,
+ maintainer_email=author_email,
+ url=url,
+ license=license,
+ keywords=keywords,
+ classifiers=classifiers,
+ packages=[
+ "onionshare",
+ "onionshare.web",
+ "onionshare_gui",
+ "onionshare_gui.tab",
+ "onionshare_gui.tab.mode",
+ "onionshare_gui.tab.mode.share_mode",
+ "onionshare_gui.tab.mode.receive_mode",
+ "onionshare_gui.tab.mode.website_mode",
+ "onionshare_gui.tab.mode.chat_mode",
+ ],
+ include_package_data=True,
+ scripts=["install/scripts/onionshare", "install/scripts/onionshare-gui"],
+ data_files=data_files,
+)