aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2020-05-03 13:56:18 -0700
committerMicah Lee <micah@micahflee.com>2020-05-03 13:56:18 -0700
commitf34e4f986a07dc3b2af0a3a637a7c2b16837a289 (patch)
tree5117716daf22ab7f39678bd3335f92f57bcc4e88
parent40b43b66ab788c60fe3753f9c44207e360ff8fad (diff)
downloadonionshare-f34e4f986a07dc3b2af0a3a637a7c2b16837a289.tar.gz
onionshare-f34e4f986a07dc3b2af0a3a637a7c2b16837a289.zip
Begin making a snapcraft.yaml
-rw-r--r--BUILD.md1
-rw-r--r--setup.py7
-rw-r--r--snap/snapcraft.yaml83
3 files changed, 90 insertions, 1 deletions
diff --git a/BUILD.md b/BUILD.md
index 2efd251e..c38f9542 100644
--- a/BUILD.md
+++ b/BUILD.md
@@ -301,6 +301,7 @@ Before making a release, all of these should be complete:
* `share/version.txt` should have the correct version
* `pyproject.toml` should have the correct version
* `install/org.onionshare.OnionShare.appdata.xml` should have the correct version
+* `snap/snapcraft.yaml` should have the correct version
* `install/onionshare.nsi` should have the correct version, for the Windows installer
* `CHANGELOG.md` should be updated to include a list of all major changes since the last release
* There must be a PGP-signed git tag for the version, e.g. for OnionShare 2.1, the tag must be `v2.1`
diff --git a/setup.py b/setup.py
index e6953370..21e435b4 100644
--- a/setup.py
+++ b/setup.py
@@ -112,6 +112,11 @@ setup(
"onionshare_gui.tab.mode.website_mode",
],
include_package_data=True,
- scripts=["install/scripts/onionshare", "install/scripts/onionshare-gui"],
+ entry_points={
+ "console_scripts": [
+ "onionshare = onionshare:main",
+ "onionshare-gui = onionshare_gui.main",
+ ],
+ },
data_files=data_files,
)
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
new file mode 100644
index 00000000..7abf29ce
--- /dev/null
+++ b/snap/snapcraft.yaml
@@ -0,0 +1,83 @@
+name: onionshare
+base: core18
+version: '2.2'
+summary: Securely and anonymously send and receive files, and publish onion sites
+description: |
+ OnionShare is an open source tool for securely and anonymously sending and
+ receiving files and publishing websites using Tor onion services. It works by
+ starting a web server directly on your computer and making it accessible as
+ an unguessable Tor web address that others can load in Tor Browser. It
+ doesn't require setting up a separate server, using a third party service, or
+ even logging into an account.
+
+grade: devel # must be 'stable' to release into candidate/stable channels
+confinement: devmode # use 'strict' once you have the right plugs and slots
+
+apps:
+ onionshare-gui:
+ common-id: org.onionshare.OnionShareGui
+ command: onionshare-gui
+ extensions:
+ - kde-neon
+ plugs:
+ - kde-frameworks-5-plug
+ - home
+ - opengl
+ - network
+ - network-bind
+ - pulseaudio
+
+ # onionshare:
+ # common-id: org.onionshare.OnionShare
+ # command: onionshare
+ # plugs:
+ # - home
+ # - network
+ # - network-bind
+
+parts:
+ onionshare:
+ source: .
+ plugin: python
+ python-version: python3
+ python-packages:
+ - Click
+ - Flask
+ - Flask-HTTPAuth
+ - pycryptodome
+ - PySocks
+ - requests
+ - stem
+ - urllib3
+ - psutil
+ build-packages:
+ - pyqt5-dev
+ stage-packages:
+ - libatk-bridge2.0-0
+ - libatspi2.0-0
+ - libgtk-3-0
+ - python3-pyqt5
+ after: [tor, obfs4]
+
+ tor:
+ source: https://dist.torproject.org/tor-0.4.2.7.tar.gz
+ source-checksum: sha256/06a1d835ddf382f6bca40a62e8fb40b71b2f73d56f0d53523c8bd5caf9b3026d
+ source-type: tar
+ plugin: autotools
+ build-packages:
+ - libssl-dev
+ - zlib1g-dev
+ after: [libevent]
+
+ libevent:
+ source: https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz
+ source-checksum: sha256/a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d
+ source-type: tar
+ plugin: autotools
+
+ obfs4:
+ source: pass
+ plugin: go
+ go-importpath: gitlab.com/yawning/obfs4
+ source: https://gitlab.com/yawning/obfs4
+ source-type: git